The Programmer’s Oath Revised

Recently Robert C. Martin posted The Programmer’s Oath, to which I came up with my own version and posted on the Code Project.  It seems I hit a nerve–I don’t usually get so many up-votes for a post.  Here’s my version (slightly less harsh than my original post!)

  1. I will work not work with Ruby or other duck-typed, runtime-typed, or “script kiddie” languages (the exception being Javascript because there just isn’t an alternative–yes, typescript, etc., but still, you end up debugging Javascript.)
  2. I will not work with people that work with #1.
  3. I will code when my brain feels like coding, I will not code on YOUR time frame.  I will however work as much as it takes to ensure that agreed upon deadlines are met.
  4. I will not work in a cubicle.
  5. I will not put up with sh***y equipment and stupid management decisions.
  6. I will write code that is maintainable, extensible, commented, and documented, no matter what management says.
  7. I will spend time testing my code, but YOU damn well better have a people, resources, and the commitment to test my code independent of me.
  8. I will write code using my own well thought out architecture, not some fly-by-the-seat-of-your-pants Agile methodology bullsh*t.
  9. I will not waste my valuable time learning some half-ass open source latest rage just because every other idiot says it’s the latest rage.
  10. I will always make time to work on my own stuff because frankly, it’s usually more interesting (but not always!) than the project I’m working on that actually pays the bills.

Given the number of up-votes, I think this speaks volumes to the issues developers are constantly dealing with and to the perceived problems with software development, the burgeoning of open-source frameworks, and the constant issues with management and work environment.

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s