A long, long time ago in a corporate universe far, far away... I was admitted to an elite group. A group where the members each had a manifesto. Chris was a founding member of the group, and has since published his manifesto on his blog. I don't quite know how I was deemed worthy for membership. My manifesto was unpublished, it was mostly unfinished, and it was unseen by all but me. Regardless, I was admitted. A fraud. Living a lie. For years I have lived with this shame.
At last all can be revealed, for here is my manifesto. Or as I originally called it, my List of Skills and Knowledge That All Developers Should Have. There are 9 items in no particular order, so I guess that makes it a set rather than a list for all you pedants in the audience (and I know you're there).
The idea is to document a set of skills that every developer should have. That's everyone who develops software professionally. Doesn't matter what type of position or company or industry; this is my stab at a body of knowledge that every serious developer should have. Essentials, essentially.
It's partly based on experience; specifically the experience of surprise I felt when a colleage, or random stranger on the internet, expressed ignorance at one of the items on this list. Other items on the list have come from an exacting process of posterior extraction. I'll leave it to you to guess which is which, and who is who. Or at least skim the headings. Read on.
[Read more →]