Blog developing

Avatar

Programmers vs developers

While chatting with Josh Hart - he of Live Brum fame - we both hit upon the idea of programmers being different from developers. This has been discussed elsewhere, but I felt it worthwhile to look at this angle, two years on from the original article that prompted the post in that link.

WARNING: Grotesque instance of management speak following in later paragraphs.

It’s easy to think about the difference between developers and programmers as one that is based on knowledge: a programmer has a deep knowledge of the languages and frameworks he uses, and a developer has a broader but consequently less holistic understanding of them but has the ability to plan, talk to clients and manage a project. There are elements of truth in that statement, but it’s not wholly accurate.

I for example have a foot in both camps. I learned VB by sitting in my room, playing with my custom-built Windows 98 PC and not kissing girls. I got a job fixing computers then went on to develop desktop applications for large companies. I now develop Websites for a living, and I code for the fun of it: the results of which are currently TweetPaste.

But I also blog, work with and build WordPress plugins, collaborate on different projects like The Big Picture and Rhubarb Radio, all of which have come from an active social life. I work on open source and “closed” systems alike because I’ve got the end in mind, not the means. I can do the handshaking, business-card swapping, coffee meeting thing, and I really enjoy it when it’s with people who are there to revel in the exchange of ideas.

Josh told me he doesn’t consider himself a developer, but when presented with the code for Live Brum which he’d written almost entirely single-handed - and was able to thoroughly explain - I balked at that claim. He corrected me however, saying that he was a developer, not a programmer (not to be difficult: simply to draw a distinction).

It may come down to a difference in brain types: some people are logical, others are creative. You can have elements of both of course, but I think one will always outweigh the other.

I’ve had similar conversations with my friends David North who runs Digital Rant and Kevin “DigiKev” Rapley, a programmer and designer respectively; both people with an appreciative eye of the other’s discipline, but a firm understanding of their own strengths. Currently they’re both either engaging in or undertaking projects that will see them finding a middle ground, but having approached it from opposite directions, so perhaps these titles are defined, but not set in stone.

Given the right framework a developer can build very powerful Websites, but can you then take that knowledge and learn a new language from scratch, thus becoming a “real” programmer? Similarly can a “hard-core” programmer take the helicopter view and acquire time management and client-facing skills? Yes, probably, but what’s more important is the question of whether either wants to.

Some are very happy being given a problem and figuring out how to solve it, whilst others like to be given an idea and told to run with it or wait for inspiration to strike. There are opportunities for both, unfortunately there are also frameworks for both. ASP.NET is seen as the programmer’s language whereas Ruby on Rails is for creative types. This is partly because creative people embrace the ideals that open source licensing embodies, but also because of the reputation of the likes of Microsoft, as a stuffy, almost archaic organisation.

Or is it just about mindsets? MySpace is (now) built in ASP.NET, and Facebook which is programmed in PHP is under constant criticism for creating a walled garden (a closed space, far from the ideals of the open source ethos).

So therefore the technology - and even the ideals behind them - are not what makes a programmer or developer what they are: it’s what they do with those technologies that makes a difference.

There’s a whole bunch more I could say on the subject but I think I’ve gone on long enough, so if you fancy telling me which camp you think you belong in - or whether there’s room for a third...or more - please comment away!