100% Pure

accept no imitations
Everything here is my opinion. I do not speak for your employer.
May 2010
July 2010

2010-05-22 »

A Programmer's Code of Ethics

  1. My programs encode the rules of modern society. I will take full responsibility for the programs I write.
  2. I will not write a program that intentionally fails to operate.
  3. I will not write a program that refuses to do tomorrow what it was able to do yesterday.
  4. I will not create a single point of failure, whether technical or political.
  5. I will not encode foolish rules just because someone paid me to do it.
  6. I will not give people what they want if what they want is not good enough.
  7. I will not stop people from taking my program's ideas and making them better.
  8. I will write programs to help each person produce their best, not to help the masses produce mediocrity.
  9. I will correct those who believe my program's failure is anyone's fault but mine.
  10. I will write programs to benefit even the people who don't deserve it.


Condensed "New Testament" Version

    Don't write for others a program you wouldn't want written for you.



Do I always follow all the above rules perfectly? Certainly not. In fact, I think I've broken every single one of them.

But thinking over all those situations and knowing what I know now, I'm pretty sure that in every case, it would have been better if I'd done the right thing. The exceptions don't feel like the right move; they just feel dirty.

That's how I know I'm on the right track.

Update 2010/05/22: Based on a suggestion from Chris Frey, slightly rephrased point #3.

I'm CEO at Tailscale, where we make network problems disappear.

Why would you follow me on twitter? Use RSS.

apenwarr on gmail.com