2 ms·
I hadn't thought about it in these terms until this post, and then your comment, but I also see three classes that already fit these terms in my mind. Mine are
by momerath 13y ago
I hadn't thought about it in these terms until this post, and then your comment, but I also see three classes that already fit these terms in my mind. Mine are a bit different, though:
Hacker: explorer, exploiter, duct-taper, as you say.
Engineer: has a strong grasp of algorithms and "the metal". Often a good architect, but won't tend to come up with great new designs. May have trouble reading and working with non-engineers' code, or with nebulous 'specs'.
Developer: if the Hacker is motivated by exploring the clever creations of others, the Developer is motivated by a vision of creating new things (cleverly if possible, but the realization of the vision is more important than the cleverness of the solution). Can be a good architect (and UX designer) if they can learn to control their impulses to innovate, rewrite, and adopt bleeding-edge languages and libraries.
In this taxonomy, "trustworthy and can sit down from 9-5 to do boring code work" applies at least as often to Engineers as Developers; my archetype Hacker will start out with schedule/focus difficulties, but improve with age. I think as each of the 'classes' gains experience, especially in the presence of good examples of the other classes, they make progress in the other classes' areas of strength. The Hackers and Developers get better at writing code the Engineers can stand to work with; the Engineers and Developers accumulate arcane knowledge; and the Hackers and Engineers see more of the space of possibility that their tools give them access to.