<p><pre><code> I suppose you could make the argument that these programmers did not
know what they were doing. That they were simply given some specs, and
they implemented those specs, and didn't know that they were
accomplices in a case of massive fraud.
I think that argument is even more asinine than Michael Horn's. They
knew. And if they didn't know, they should have known. They had a
responsibility to know.
</code></pre>
I agree with all the points in the article except for the point that the programmers should have known.<p>For me it is a plausible scenario that the programmers have been told that his feature is needed for <i>some good reason</i> (probably testing).<p>When I was a young engineer I had a mentor. He was a war baby and a strict pacifist. He was also very good and his advice was much sought after so he could afford to refuse all offers from the defense industry.<p>He once told me that for his whole life he manged to never designed anything that could be used to harm people - except for one thing. When he was young he was hired to design a gear rim for a crane. He told me, he was given the load specifications but never saw a drawing of the actual crane. That was a bit unusual but nothing he worried about.<p>It turned out that the gear rim was actually for a Howitzer. He never worked for that client again.<p>There are all kinds of reasons why a car has to behave differently while on a dynamometer and there are all kinds of special code branches that are executed only during test. For the programmers it probably was just another special case among many.<p>Don't be evil and don't be a fool, but you can't be expected to do a full ethics check for every feature you are supposed to implement.<p>EDIT: Spelling, style and removal of some superfluous chatter.