09 April 2009

Pavlov's Programmers

A business development manager posted the question
Programmer, Developer, Engineer --

What is the difference between them?
Responders expounded on the minutiae of perceived distinctions.

One person, likely an Engineer, portrayed a Programmer as some kind of Pavlovian dog that, given the right stimulus (e.g., excruciatingly detailed requirements), was capable of producing the desired result (e.g., a minimally functional application).

These titles are interchangeable. And, more importantly, they’re increasingly irrelevant.

Glib Response
  • A humble person says he's a Programmer or a Developer.
  • An insecure person says he's an Engineer or an Architect.

Salient Point


Successful software teams are self-organizing and behave like start-ups. Enlightened teams eschew titles; recognizing that teams are more productive, and more agile, when members wear multiple hats.

For those more secure with a highfalutin title, I urge you to accept that as software professionals in 2009, we are
The ditch diggers of the new millennium
You may quote me on that.

2 comments:

  1. " * A humble person says he's a Programmer or a Developer.
    * An insecure person says he's an Engineer or an Architect."

    This from a person who thinks Agile is something more than micromanaging for software projects.

    ReplyDelete
  2. @ Annonymous
    So, agile for you is cloaked micro-management?

    For me, agile is the bain of micromanagers because it is seeded upon and thrives in the fertile ground of self-organization.

    From Fowler and Highsmith (August 2001):
    "The best architectures, requirements and designs emerge from self-organizing teams.

    ReplyDelete