In his article about the Hazards of Hiring, Eric must have been sat at the back of one of my presentations: he describes “programmers” and “developers” in exactly the same way I do! Indeed Eric has blogged about it here. Another fine piece of writing.
When necessary, however, I do state that some tasks bring the developer down to the same level as the programmer. For example, when discussing Test-Driven Development (TDD), I believe it is the person at the coal-face who should be writing the programmer tests. Whether a developer writes them, or a programmer writes them, in my opinion is neither here nor there.
However, as for Eric’s thoughts? I agree: I was a programmer in my youth, I just churned out code.
Back then, despite my title (Library Programmer), I became a developer…because the distinction Eric and I agree on wasn’t written down back then. The team I worked with also were developers: we took an open-minded approach to challenges, in many cases turning what might have sounded almost impossible into reality.
After that, I took a position that allowed us to customise our job title to suit what we were doing at the time: enterprise development. We kept a focus on the bleeding edge – everything we did involved XML, it was so cool back then. Nowadays of course, XML has its place, but we don’t have an “XML everywhere” scenario anymore.
Since then, I’ve still kept the word ‘development’ in my title: because I believe that one shouldn’t pick a single track and follow it. It’s important to be able to lend a hand to many tasks without selling yourself as a Jack of all trades, that’s totally different from being a Developer.
Nowadays, I’m a Certified ScrumMaster, with a strong bias towards all things Agile. I can see how Agile could have helped me/us on earlier projects. Equally, somewhat prophetically, can see that Agile will bring my current project in on time and within budget. So much, so I’ve signed up to SellingAgile, Clarke‘s Yahoo group aimed at individuals and developers who need to understand how traditional approaches can be improved by adopting Agile approaches.
Lending a hand to many tasks facilitates getting the job in hand completed through team-work, drive and focus. Developers can do this, they have the mind-set – hire developers, not programmers: good advice, I’ll follow it when I set up my own shop.