I recently got to thinking about writing code. Ok, so as a “Software Engineer” that should be what I do most days, but I mean I was thinking about how we go about writing code. I know people who are great at producing working software, but when you look at the supporting documentation… it’s bollocks. And then there are people who are all about the Engineering side of things, but wouldn’t recognise a decent piece of code if they were bludgeoned repeatedly about the head with it. So I’ve created a list of what I think are the four kinds of software developers in the software developing, uhm… arena.
- Software Engineer – these are the people who are very much process-oriented. They’re sticklers for doing things “by-the-book”, and often allow paperwork to get in the way of real work.
- Programmer – like the Software Engineer, the programmer is process-oriented, but not to a point that they allow it to interfere with the fun task of writing software. Produced software is well-written and adequately tested, but mainly for the benefit of the developer themself rather than boards of reviewers.
- Coder – sit at computer, write code. Very little testing or debugging is required by the coder because “my code is rarely, if ever, at fault.”
- 1337 H4xx0r – pretty much the same as a coder, but with appalling spelling.
For those who are wondering, I consider myself to be a Programmer. Tho’ if the Software Engineering job description facilitates better pay… well, I’m sure I can be swayed.