Yet Another Take on Software Developer Archetypes
In this post we take a lighthearted look at some different types of developers. Which one best matches your personality?
Join the DZone community and get the full member experience.Join For Free
If you search for Software Developer Archetypes you'll find a large number of perspectives on this ranging from serious and helpful to lighthearted to frankly kinda mean. I'm going to give a lighthearted example of core Archetypes I find when dealing with software developers.
These developers are happy to jump between frameworks, languages, and design patterns willy-nilly, and will be running 1,000 miles per hour toward a "Haskell event processing framework to render static HTML files" and after 3 weeks/months, suddenly pivot, turn 135 degrees, and implement the remaining 10% (which will only take a couple days) in Ruby on Rails. By the end of a project, there are so many frameworks, dead ends, and partially done solutions that no matter what the original design was their immediate solution to all problems is to "rewrite it in...something else."
These are almost diametrically opposed to squirrels, they often know "one thing" (though not always), but the defining feature is that it takes 3 weeks to implement "Hello World" in a language explicitly designed to produce "Hello World" apps. You can immediately spot these folks because the "remaining estimate" tends to either stay at "two weeks" (or some other random time amount), or you have to pad their estimates by the factorial of their original one.
These developers are a middle ground in velocity and direction change between the first two, but are characterized by always having a "go to solution." If they're a "Java developer," coding something in Groovy will "blow their mind" and they'll insist this new arcane "dynamic mumbo jumbo" is completely useless. They are often religious defenders of "their way of doing things" and often have "anything you can do in 'A' I can do (maybe better, maybe not) in 'B.'"
The Duck-Billed Platypus
While interesting creatures, these developers are easily spotted when you look at their code and you spend most of the time scratching your head thinking, "WTF?" They are often adept at stringing together inappropriate design patterns and tools to produce solutions that just don't make sense from any reasonable perspective. At the end of the day, their code may "work," but it is a nonsensical assortment of odd parts glued together seemingly ad-hoc.
Published at DZone with permission of Michael Mainguy, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.