There are three types of software developer…

I’ve held this belief for quite some time because of my natural, human tendency to group my fellow humans into categories that I can easily understand. Of the hundreds of people I’ve met over the years who share my passion for software, the passion falls into three distinct areas.

Innovator

I liken software innovators to theoretical physicists, though it’s not a strong comparison. These folks are the ones who identify common patterns, and develop common toolkits. Good examples would be the creators of HTML and DHTML, Java, AOP, and Groovy… the foundations of software authoring and architecture. The innovator looks at core problems, or gaps, in their particular industry of field of interest and can develop a solution to fill it in an powerful, yet elegant way.

Implementer

The implementer would, then, be akin to an applied physicist. They take the “ideas” of the theoretical physicist and apply them to create something that is usable by engineers. A good example of an implementer would be the authors of jQuery. They took the basic tool of Javascript provided by the innovator, and created a fantastic implementation that makes it more powerful, easy to use, and wrapped up in a nice package so that an integrator (see below) can use it without having to know what goes on behind the scenes.

Integrator

The integrator is at the end of the software ladder, and is usually the one who sits at that fine line between the technical and non-technical worlds. They are experienced at using many of the tools that the Implementers have created and can think at the level of an architect. They see how all the pieces fit together to produce a quality, polished end product in which the non-technical world sees value.

Like I said at the beginning, these categories are simply a reference guide and I’m sure that there are many exceptions – people who can be an innovator one day but also think like an integrator – but in general I’ve seen that people have a passion for only one of these schools of thought.