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!)
- I will not work with people that work with #1.
- 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.
- I will not work in a cubicle.
- I will not put up with sh***y equipment and stupid management decisions.
- I will write code that is maintainable, extensible, commented, and documented, no matter what management says.
- 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.
- I will write code using my own well thought out architecture, not some fly-by-the-seat-of-your-pants Agile methodology bullsh*t.
- 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.
- 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.