22
Dec

The Two Types of Programmer

There are Technicians and there are Engineers. I have never found anyone who could be both, since they require totally different types of people. Engineers used to be more common than Technicians but now it's the other way round. In any software project you're going to need both, though the exact mixture depends on the project

Technicians love technology. They like to find out how things work - anything from chipsets to graphical interfaces to miriad applications which can be glued together and leveraged in order to build their final systems. Technicians in a project work at the interface between that project and the outside world. They can build prototypes to exercise whatever sits at the other side of that interface in as rigorous a manner as you like. Once a technician has found out everything there is to know about some piece of technology they like to move on to something else. These kind of people are vibrant and energetic, always up on the latest *everything*, and are generally at the more youthful end of your programming workforce.

Engineers have more of a love/hate relationship with technology. Engineers like to build ever more complex systems once the hassle of the technology interface has been sorted out. Engineers will be up on the latest programming techniques, but these move with geological slowness compared to the latest flavour of spreadsheet, editor or what have you. An engineer is only interested in learning something if it is *truly* new. An engineer is much more interested in developing ways to write software of increasing sophistication whilst maintaining a sure grip on it so that it doesn't start running away with bugs. These kind of people are careful and meticulous, always thinking about what they're currently working on, and are likely to be at the more experienced end of your workforce.

There are also two "swindled" versions - one of each:

A Pretend Technologist only ever learns enough about technology to know more than his employer or client in order to sound knowledgeable when he actually isn't. This sort of person moves *very* rapidly from one technology to the next, not only because he cannot get a grip on anything beyond the headline level but also to keep running away from anyone who might be following along trying to expose the swindle.

A Pretend Engineer works and re-works the same code endlessly, adding more and more levels of documentation and "safeguard". He never wants to finish what he's actually doing because he is actually incapable of writing working code.

Richard

(an engineer)

free b2evolution skin

Feedback awaiting moderation

This post has 2 feedbacks awaiting moderation...

Leave a comment


Your email address will not be revealed on this site.

Your URL will be displayed.
(Line breaks become <br />)
(Name, email & website)
(Allow users to contact you through a message form (your email will not be revealed.)
Free Blog Themes/Templates