VW’s rogue software developers

So Michael Horn has thrown a couple of software developers under the proverbial bus by blaming them for the defeat device at the centre of the emissions scandal. Now, it is clearly ridiculous to suggest that a couple of rogue individuals single-handedly saved VW’s clean diesel engine program and nobody else had any idea what was going on. However, I think it is fair to say that a couple of software developers did know what was going on and did nothing.

Unless VW is unlike every other organisation I’ve ever know it is inconceivable that nobody outside the dev team would have known what was going on. It’s a pretty rare organisation that leaves software developers to just bash away at the keyboard and dream up some cool stuff. Almost everywhere programmers are managed, project managed and product managed to make sure they keep churning out the good stuff. Developers aren’t given free reign to just make up emissions test defeating software for fun. What was this, VW’s equivalent of 10% time?

Let’s cut the developers some slack then – they were probably just doing what they had been told to. I’ve worked in large organisations that sailed pretty close to regulatory lines and I can well imagine that this was just one change in amongst hundreds that were in what might generously be called a “grey area”. However, did they know that the software was going to be used to cheat emissions tests? Did they know this would leave their product in breach of the law in some countries? Or were they just ignorant fools?

Maybe they didn’t know what they were doing. Maybe the exact details of the goals of the software were kept secret from them – this is entirely possible. If we assume some people in management were aware of what was being done, and the legal implications of what they were doing: every effort would be made not to commit any details to paper and to limit the number of people who have the full picture. Where possible, the developers would be given a very specific set of requirements which would lead them to implement the right thing, without them necessarily understanding the eventual impact. With an unquestioning workforce an amazing amount can be achieved while only a handful of people understand the full story.

However, this is not to excuse the developers: we are not mindless automatons, we are intelligent creatures. We are capable of questioning why. In fact, as a professional developer, I think it is my duty to ask why. If I don’t understand how a requirement fits into the environment, how can I possibly be sure I’m building it right? I think it is up to each of us to ensure we know how our software will be used. This is not to make us the world’s social conscience – but to make us better developers.

Now if they did know what the software was to be used for: they are complicit in this law-breaking. They understood what they were doing, understood it would be against the law. And yet they did it anyway. It is not sufficient to argue that they were just “following orders”. Many people throughout history were “just following orders” and through their hands great evils were perpetrated. Now a breach of the clean air act is no holocaust, but the individuals involved must bear some of the responsibility for what they have done.

But we take no responsibility in this industry. We happily churn out rubbish code that is full of bugs “because management told us to”. We will happily churn out law-breaking software “because management told us to”. When will we start taking some responsibility for our actions? When will we show some professional standards? This doesn’t mean that we should be held accountable for every single defect in every line of code. But if I’ve not followed best practices and my code has an issue which costs my customer money, am I liable? If I’d done a better job would the code have had the same issue? Maybe, maybe not. Who takes responsibility for standards in software? Is it the customer’s responsibility? Or is it about time we took responsibility? About time we showed some pride in our work. About time we showed some professionalism.

4 thoughts on “VW’s rogue software developers

  1. Bert

    Good read!

    I’m a software developer myself, and although I’ve never had to write ‘illegal’ code (that I know), I’m not quit sure how I would react if I myself was one of these VW developers.

    Did they know? I think probably they did, but it’s how management “sold” it to them. Maybe it was explained in such a way that at the time it didn’t seem like such a big deal.

    After all: A hardware supplier of washing machines, don’t they calculate their parts so that it should break in X years ? A car sails-man, doesn’t he neglect to tell you if the airco doesn’t work if you’re buying a used car?

    I just believe that although this is on a different scale, ripoff is more common than just this case. I think it’s very likely that everybody knew what they were doing at the time, but they didn’t know the scale or severity.

    1. Thanks – I think you’re right that it would be very easy to be ignorant of the severity. And yet, maybe we shouldn’t use that as an excuse. Just because management have sold us a line doesn’t mean we have to believe it.

  2. AngeloD

    Not to play the devil’s advocate, I think the developers implemented just the code to optimize the emissions under certain conditions that could be specified as “adaptation parameters”, parameters that somebody else has crafted to match the test conditions.
    Given the amount of money at stake, for sure the developers (and I mean coders, testers etc) were kept outside the plot, a secret is not a secret any longer if more than a handful of people know it….

    If then the engineers involved in the development had “strange” car accidents… well I hope was not the case 😀

    1. Oh I can well believe that the precise details were obfuscated if not outright hidden. But… where was the professional curiosity? Or did they just blindly implement what they were told to do?

      I’ve no doubt they didn’t really know or understand what was going on. And as others have said, is it their job? Officially, no. And yet… we allow great evil to be perpetrated by our hands. We allow sub-standard software to be built because we just do what we’re told instead of questioning the motives and underlying aims. Are we just mindless code monkeys churning out code for bananas? Or are we professionals who take pride in our work?

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.