Developing Programmers .com

Local Search:


SyncUp8 is rethinking research. Find out more.


This site is optimized for standards so you can use any standards compliant browser:

Valid XHTML 1.0 Transitional
Valid CSS!
(RSS) RSS Feed

Web Search:
Google


Tuesday, 3 January, 2006

The Difference Between Programmer and Developer  

Eric Sink is a software developer (as distinct from his idea of a “programmer”) at SourceGear. His company sells source control tools (defined in a previous article) for Windows developers.

Eric has written on a few topics for software developers; and one that is a good starting point for readers of this site is called “Small ISVs (Independent Software Vendors): You Need Developers, not Programmers“.

The gap that I discuss between a “coder” and a “professional programmer” is roughly the same gap that Eric describes as existing between “programmers” and “developers”. He chooses slightly different words to me:

For the purpose of this article, a “programmer” is someone who does nothing but code new features and (if you’re lucky) fix bugs. They don’t write specs. They don’t write automated test cases. They don’t help keep the automated build system up to date. They don’t help customers work out tough problems. They don’t help write documentation. They don’t help with testing. They don’t even read code. All they do is write new code. In a small ISV, you don’t want any of these people in your company.

Eric goes on to talk about how people who just write code are only really needed in large companies where there is room to specialize. He points out that smaller companies need a wider range of skills, hence “developers not programmers”.

I would argue that many of these skills should not be completely alien even to a specialist programmer. Knowing a little about system design, even if you’re not personally designing a system, does help things to run smoothly. It means you know what’s going on and you’re following the spirit of the law set by developers and not just the letter of the law. It also gives you good opportunities for moving up (or across) in companies.

Specifically, Eric says that developers are aware of:

  • Spec documents
  • Configuration management
  • Code reviews
  • Testing
  • Automated tests
  • Documentation
  • Solving tough customer problems

Do any of these sound familiar? If you’ve been reading this site regularly you’ll know that what I consider to be a “professional programmer” and not just a code jock is roughly the same thing Eric calls a developer.

While you’re there make sure you drop in on Eric’s “Make More Mistakes” article; where he discusses the mistakes he’s made along the way and what he’s learnt from them. Eric says:

I often share the following advice with other entrepreneurs: “Make all the non-fatal mistakes that you can–don’t make any of the fatal ones.” Given that guideline, so far I’m rather happy with the mistakes I’ve chosen. As you are about to see, I’ve done some truly dumb things, but SourceGear is still in business today.

Eric also has a great article aimed at people who are hiring developers, which would be worth a read by any readers that are looking to be hired as well.

Anyway; go check out his articles. I’ll have more for you here in a few days.

Posted by sarah at 1:26 am in: Employment , Plugs (8389 views)

1 Comment

  1. Fat Penguin liked this article:

    [...] http://www.developingprogrammers.com/index.php/2006/01/03/the-difference-between-programmer-and-develope [...]

    Pingback by What’s the difference between Programmer and Developer? :: Fat Penguin — On 13-1-2006 at 1:31:58 AM

Please use the DP Forums for further discussion of this topic.