Labels for Software Practitioners
People who earn a living writing software tend to describe themselves (and be described) in myriad different ways. Whether in blog posts, job boards, business plans and discussion forums, a few distinct terms and usage patterns emerge.
All too often, names and labels end up defining, more than just denoting something. Perhaps Shakespeare was being ironic when he gave the quote about roses for Juliet to say, who then suffers so famously. Most programmers would agree that it is better to have meaningful variable names. Why then, should we not give careful considerations to how we describe ourselves?
Without further ado, here are some of the terms, and their general connotations.
- Programmer. Quaint, archaic but retro-chic. Persists in usage despite mechanistic connotations, commonly with linguistic prefix and sometimes with desirable attributes (e.g. pragmatic).
- Coder. Probable insult. Most likely used sarcastically and/or for self-denigration. Bonus points for poetic amalgamations with the rodent or primate family.
- Engineer. Putting code blocks together to meet specified tolerances and performance criteria. An Organization Man, probably, who develops mission-critical platforms.
- Developer. Bland, but with a hint of creation and coordination. Probably a more evolved specimen than a mere Programmer and more ambitious than an Engineer?
- Computer Scientist. A theoretical bent of mind, and mastery of algorithms. True sighting in the field are rare, but rumored to create whole new paradigms and fields of work for others to toil in.
- Hacker. Notions of brilliance and mental ability coupled with enthusiasm for software and systems, mostly in pulling off the unachievable. An insider's badge, since the mainstream media persists in conflating hackers and criminals.
Less common, but more fanciful are the Software Artists, Masters,
Wizards and Programmer-At-Arms.
So, how do you describe yourselves? PHP Programmer, Code Monkey, Application Developer, Senior Software Engineer or Kernel Hacker? Or perhaps you prefer being a Rockstar Programmer, Ninja Developer or Software Samurai?