Inspired by a discussion with my friend and colleague ‘Dr Deadbeef’ , I’ve lately been thinking about different types of programmer’s:
Over the past almost 30 years I’ve been in the software business, I’ve seen 3 different types of programmers, with respect to the quality and problem solving ability of their programming skills:
- the type who can mechanically reproduce an existing working program, or to make a minor change to an existing program
- the type who can invent a fully new program, i.e create a solution for a problem, but are often unable to explain how it works
- the type who can invent a program, make it elegant in design, and are able to explain how it works to a novice
The first type, those who can mechanically reproduce or modify an existing program, are people who are not ‘natural problem solvers’ ,nor natural programmers, nor interested in becoming one: this type of programmers have learned the mechanics and basics of programming, of a specific language, but lack in general understanding of general problem solving, abstractions and the semantics of the languages in use, and have no interest in learning ‘the theory of computer science’: These folks are the ‘masses’ of programmers in the world.
At the next level (where I see myself being) are people who can solve any solvable (remember Turing Theorem) computing problem, but where the final solution often is far from clear to anyone else, with messy design, often not clear even to the programmer him/herself when returning to the program after some time of absence.
At the third level are people like my friends Mikael V. or Anders H. who are able not only to solve any problem given to them, but furthermore, make the solution elegant, so simple and obvious that even moron’s like me understands the solution.
Too bad that the contemporary commercial ‘shareholder value’ based economy fails to appreciate the value of people like Mikael V. and Anders H.
[Edit 140108: Anders H. suggested a fourth category:
"Can add a major feature to an existing architecture without bloating och breaking it.
Very true. Sits probably at second highest place. ]