The Scientist, the Artist, and the Engineer: S/W Dev Archetypes

After many years of working with, hiring and managing a wide variety of software developers, I noticed a trend that guided me in my hiring decisions. And, I often used this when giving feedback or career advice to programmers, as well as in my hiring choices.

While there are many ways to categorize and rate software engineers, I observed three primary archetypes emerge after years of interviews: the Scientist, the Artist, and the Engineer. Of course, this is a generalization and no one falls into a single bucket. These archetypes are defined primarily around motivation and core values, but I also believe that skill and talent play a factor too.

The Scientist

the Scientist

The first developer archetype is the Scientist. These are software developers that usually have a foundation in academics, research, and more formal computer science or mathematics. The Scientist worships theory, elegance, and formal proofs. Most Scientists will prefer to do the correct and long-term solution over hacky, fast, short-term, practical, or ugly solutions. Scientists can be important members of your team, and often are the deepest thinkers. But, be careful, they need to understand the reality and importance of business needs. I have worked with a wide range of Scientists developers with mixed results. In many cases, the Scientists were difficult to work since their superior intellect–which they like to assert on managers and business folks and anyone who will listen–would often blur their vision and cause them to work in the ideal world, not the real world. They often are cynical about the importance of business requirements and can be difficult to work with (since they report to a higher power, “the truth”). Of course, I have worked with several that understood and embraced business purposes and were the key develops in the team. I have noticed that experience plays a big role in the Scientist; younger Scientists, just out of school, are often the most difficult. But, given time and experience, the smart ones see that the world and business are far more complicated than they thought, and they begin to show respect for the complexity of building a successful business.

The Artist

the Artist

The second developer archetype is the Artist. Beware of this group. They are primarily motivated by `their works of art’ and see what they do as about them. They are motivated by ego, self-satisfaction, and sometimes great work. They are not in it for the customer or the company; they aspire to higher virtues such as beauty, elegance, and uncompromising perfection (usually defined by their standards). They can be very talented, prodigious, and detail-oriented, but are often the most difficult to work with. Artists are usually talented, but, their talents are often narrowed to their area of interest since they can be uncomfortable if they are not the expert. I have worked with a few Artists that were seasoned and practical. But this came after years of learning the hard way. Beware the Artist.

The Engineer

the EngineerThe third archetype is the Engineer.  The Engineer worships results. The Engineer is the most centered of the three and usually the best hire for a company. I try to build the majority of my software teams from Engineers. Of course, depending on the problem you are solving, you may vary the mix (e.g. require more Scientists). But, almost always avoid the Artists. 🙂 Engineers understand that they are problem solvers. And, the good ones recognize that the problem is rarely as simple as What Code To Write. Good engineers are interested in learning new things and solving problems for their customers. They are honest about their work, enjoy measuring their own results, and recognize that: 1) the real world is messy and complicated, 2) it’s not about them, and 3) if the customer does not benefit from their work, they’re doing something wrong.

The hard part is learning how to separate the Engineers and Scientists, from the Artists. I intend to write about hiring engineers in a future post.

Advertisements

One thought on “The Scientist, the Artist, and the Engineer: S/W Dev Archetypes

  1. I’d just like to throw in one of my thoughts on this. I’ve said for a long time that I’m more of an artist than a scientist, and that my degree should be Fine Arts rather than Computer Information Science. But I don’t think the artist generalization matches, or maybe there’s just a fourth group…

    I believe I understand the importance of business needs pretty well and I know that sometimes the job just needs to get done, but even those times, developers have to visualize solutions to problems and put them down in code as an artist would visualize a painting or a sketch and put it down on canvas.

    Just my $.02.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s