The Four Software Engineering Personality Types

The Four Software Engineering Personality Types

People are fascinated by personality types, such as the Myers-Briggs (MBTI). Psychological classifications are oversimplifications of people’s true nature, of course, but they do sometimes give insights into yourself and others around you. I am sure that a fair number of people have also thought about professional personality types, as opposed to more personal MBTI like types. As a software engineer I’ve worked and observed engineers at Facebook, Google and at least 3 other startups very closely. I’ve noticed engineers come in many shapes and sizes too. After several discussions with many of my colleagues and having read several write-ups on this topic as well, here’s my own personal experiences with these classifications. A lot of the ideas are borrowed from discussions with friends and colleagues. 

The Four Software Engineering Personality Types

We’ll cover their characteristics, strengths, weaknesses, what makes them excited, what drains them emotionally and most importantly whats going on inside their heads. I am sharing these thoughts hoping that they will help you as much as they have helped me. Finally, keep in mind no one type is better than another. No large endeavor can be successful without all four. Although the super-hero archetypes might be a bit silly and are not realistic, I hope they are helpful as a reference. And so here are the four-types. 

Iron Man (and Woman)

Robert Downey Jr has done a great portrayal of this type, right down to escaping a desert prison using a bunch of scrap metal. These are the types of engineers who think laterally and are enterprising. They are tinkerers and hackers. They might have dabbled in get rich quick schemes. They are quick in execution of products, at team sizes that could be incredibly small — many times single-handedly. Starting with little or nothing, they envision exactly what is needed to solve the problem at hand and building the solution. By “exactly what is needed,” I don’t mean the solution is precise. Rather, they get to the crux of the problem, and come up with the 90% solution fast. The need for being enterprising requires them to have a very broad set of skills — whatever that may be — technical, human factors, design, etc. They feel like nothing is outside their domain and aim to pick up any new skill fast to get the job done.

The Iron Man tends to have two weaknesses: teamwork and workmanship. All their lives, they may have executed projects in solitude. A significant ego could also prevent them from collaborating meaningfully (again, think of Robert Downey Jr as Iron Man sitting in meetings). They may say things that are blunt or seem thoughtless or offensive. Their speed in execution comes partly due to their extreme impatience. If others want to spend time discussing work, this is what is going through their head: “I am wasting time convincing this person. This is time-consuming and energy-consuming (even if in actuality it has only literally been seconds). By the time I get through discussing all this, we could have just finished most of the work.” This tends to be the source of frustration for both the Iron-men and the people around him or her.

The second issue with this type can be workmanship. While they are extremely fast and excel in resource strapped environments, they aren’t the best in quality or following established standards and lengthy processes mostly because they keep their eyes on the deliverable rather than how they get there. They can be less likely to ask for feedback or opinions to meaningfully incorporate into their execution. This is a direct result of all of the above personal qualities. But if you are in a tight, sticky situation (think middle of the desert with a bunch of scrap metal) and limited time, you turn to the Iron Man to deliver.

Captain America

Captain Americas tend to be the majority of the engineers in a growing company. They work through problems with dogged determination and low ego. They do well in large teams. When things need to get done, these are the engineers who generally volunteer for them — however dirty or painful or time consuming it maybe. They can work through more complex timelines, with multiple parallel deliverables. They roll up their sleeves and deliver the project, bit by bit. They are the easiest to manage and they also make the best managers.

When I was at Facebook, the company prided themselves in the hacker culture, closer to the Iron Man. However, a growing number of the respected engineers tended to be Captain Americas. Largely because of the fast-growing stage that the company was at. A lot of things needed to be fixed or scaled up and these engineers just get it done. They help team spirit because they complete their work, offer to help with tasks that are up for grabs, and assist others with their tasks. Most importantly, they do not have oversized egos that need to be accommodated, so they do all of this with minimal need for recognition or the limelight. So very naturally, their peers want them to succeed. Their managers and reports respect them. They are the most dependable engineers and form the backbone of every great company.

Michelangelo

I couldn’t come up with a superhero for this type, so we’ll go with a great artist. These are engineers who work on complicated, intensive, long-term projects involving deep skills, like Michelangelo working on the David. These are engineers who can spend years on a single project. They build timeless masterpieces of engineering. MapReduce, Protocol Buffers, BigTable, and Cassandra are just a few examples of the work of Michelangelos. Note that they are very different from the Iron Man. Firstly, Iron-Men are very fast in execution and build a product, while Michelangelos are work on long-time scale technical projects. A Michelangelo is also very patient (but only on their own projects) whereas the Iron Man is very impatient. The work of an Iron-Man can be a bit questionable in quality (especially if they are inexperienced) whereas the work of Michelangelos is of the highest quality. Michelangelos are also very different from Captain America. Michelangelo’s projects can be hard or complex, but projects done by Captain America can be messier, with more moving pieces, more people involved, and a lot more intermediate deliverables. Like an artistic masterpiece, the work of a Michelangelo is either all done or not useful at all, with little in between.

The key challenges with Michelangelos are between them and their manager. Suppose the manager is in a growing company where there are many priorities and a lot of firefights all the time. The projects that the Michelangelos work on look like luxuries rather than immediate priorities. The biggest question the manager needs to answer is whether the person they have is indeed Michelangelo or an off-the-street sculptor. Are they a true master, or a wannabe? This is a lot easier task if the engineer has a known track record.

Let’s assume you do have a true Michelangelo. There are two common pitfalls for their manager. The first involves trying to force them to deliver much quicker, especially when delivery times start to slip. (“Can you complete a small plywood version of the David now, and then use that to build a bigger one in marble in a few months?”) This will upset them, who will push back. The second pitfall is if the manager tries to arm-twist them into working on some other daily priorities besides this long-term monolithic masterpiece. Here’s what is going through Michelangelo’s head: “If you want to work on day-to-day priorities, get somebody else to do it, and not me.” Or, “If you want this to be delivered quickly, you are not going to get my masterpiece, the David, and I have no interest in working on anything but the David.” This is a constant issue. The project may be killed in the middle, which will leave a bad taste in everyone’s mouth. Even if it is completed, unless you are a big company, it might not receive fanfare at launch time. Everyone may be thinking, “Thank God, that project is done” rather than “Wow, what a brilliant achievement.” Many times, it is only over time that people finally appreciate the masterpiece for what it is.

Yoda

Yodas can talk. They tend to be not as heavily involved in a building capacity as the other types, but amazingly, even so, they can talk at length and in depth about everything. They encompass both breadth and depth of knowledge. If their hands are tied behind their backs, Yodas can actually work on hands-on projects and stun everyone because of their superior knowledge and clarity in technical thinking — not unlike Yoda when he goes into a true fight. However, also like Yoda, this might only happen rarely; they are reluctant to do hands-on building.  They work best in situations that demand both technical expertise and communication. They can be great in interacting with marketing, sales, customers, or across teams. Yodas earn credibility with engineers because of their knowledge, but unlike other types of engineers, they have interest in and enjoy day-to-day work and discussion with a wide variety of people.

The biggest issue Yodas encounter is that they can lose respect with parts of the team because they don’t seem to be productive enough at actually building things. A startup doesn’t need a lot of Yodas. In bigger companies, there could more. But sometimes they are the essential, secret weapon. If your company needs a technical champion who can talk and impress people with your team, your product, or your work, or if you need someone to articulate a vision, it’s time to deploy your Yoda.

How the Personality Types Work

Now let’s talk about how these types work in real companies.

Leadership and Scaling

Different skills and leadership are needed for different kinds of companies, and at different stages of a company. People often like to talk about leadership, but it may be most helpful instead to think about who has key skills — who is the “most valuable player.” Leaders can be MVPs, but MVPs do not need to be leaders in the traditional sense.

At an early stage company, you need an Iron Man, and usually only one. This is especially true if you are a product company (I’ll explain the difference in a bit). These people will help you zero-in on the product and the solution and build it all at once. Their enterprising skills will also help you start the company. However, if the company is significantly technical, for example an infrastructure startup, you can see Michelangelos start companies. They go into a cave for a year or two, work obsessively, and come out with their masterpiece. Until then there was nothing and then there it is — the brilliant creation, the core of the product.

Once there are things up and running, you will need Captain Americas, and possibly many of them, to scale. They are great in both in hands-on and management roles. The Iron Men won’t have the patience or the discipline to scale the product and company but there, are places still for the Iron Men in a larger company.

I recall something like this at Facebook. Once upon a time, Facebook had less than 100 engineers and almost everything was falling apart, because the product could not keep up with growth. During this phase, imagine needing to build Facebook mobile app from scratch. With all the team already fully busy, you just can’t afford to dedicate 20 engineers and designers and product managers to build this app. So what do you do? It makes sense to turn to your Iron Man to deliver — on a fledgling new iOS API, on a new programming language that nobody has used widely, with a lot of product and engineering complexities on translating the browser into an app, and a bunch of backend and frontend issues. This is where Facebook's hacker culture proved incredible.

The mainstay of a growing company are Captain Americas, who are needed to keep the ship running and scale operations, and manage effectively. But bringing in an Iron Man is the right choice for key moments building new products, like the beginning of a company or within a fast-expanding company like Facebook.

Companies that are growing in a big way also require Michelangelos in greater number, as they transition from hundreds of millions in valuation to the billions. Michelangelos are needed to solve key scaling challenges. Examples of this are Google’s investments in MapReduce, GFS and many other infrastructure projects. These hard, multi-year innovations may help break into billions in valuation which in turn would create the need for more Michelangelos.

Teamwork and Mentorship

Mentorship and personal growth of engineers is essential for a highly functioning engineering team. You might think that being exposed to other personality types is good for learning, but in fact, I think it’s usually best to have mentors and apprentices be the same personality type. Within each type, there is of course a hierarchy of abilities. So the best way for a junior Iron Man to grow is to work with another Iron Man who is stronger than herself or himself, and learn the ropes in the age-old style of mentor and apprentice.

Incidentally, I think Iron Man in general tend to work as unequals if there is collaboration — one mentor and one apprentice. This is in contrast with great artists like Michelangelo, where I have seen a lot more often a peer relationship (for example, Sanjay Ghemawat and Jeff Dean of Google, or the authors of Cassandra).

Matching different types as mentors can cause different kinds of friction. For example, as you can imagine, Iron Man can get impatient with Michelangelos or Yodas. Captain Americas, being good sportsmen, work well with most others, and Yodas earn respect and can teach almost all types. But in all the cases, mentoring is easiest with people of greater strength but same personality type.

All this applies mainly to mentorship. This does not mean engineers should only work with or interact with others of their own type. Diversity is great for culture. Having all the different personality types on a team is a great thing. We all benefit from seeing the styles and approaches of the best performers of each type do their work. In addition to assigning mentors, a team leader should be thinking how to encourage a strong culture that includes cross-type and cross-team interactions.

Management Style

Captain America easily form the typical organized ranks that you see in most companies. They’re the backbone, and they’re good at it.

The Iron Man tends either to avoid management altogether (Robert Downey Jr style), doing everything themselves, or they manage top-down heavily. In the latter case, it is can be a very efficient organization, but one where one mind controls everything and everybody else is moving pieces in one large grand orchestra of perfect execution.

Michelangelos, as we’ve mentioned, tend to work by themselves or more often in pairs and sometimes in very small teams. They don’t seek to run empires and prefer the equal responsibility of shared respect. Organization among them can be easy and lateral because the competence is assured once you are in the inner circle.

Yodas use their communication to their advantage by managing through communication. Since the other types talk less, Yodas take it upon themselves to be the communicator-in-chief, talking up, down, and laterally putting themselves in the center of the information flow. This is unlike classic Captain America management style, which is management through work and project execution, as opposed to management through flow of information.

Finding Yourself

There are no better or worse types. Each is different. I think one of the biggest sources of agony for people in many companies comes from not recognizing their own type. You might not realize your type at all, especially early in your career. Or you might become emotional and refuse to acknowledge your type.

If you honestly assess, determine, and accept your (predominant) type, then I think you might be a lot happier working on your skills. People typically work on their weaknesses rather than their strengths, because the weaknesses show the greatest room for improvement. But it’s often much more useful to the company, and you will be happier, if you really focus on and enhance your strengths. So for that reason, once you find your niche, it will likely tell you what your personality type is. Once you know that, go for it and build on that strength:

  • If you are an Iron Man, instead of worrying at length about your workmanship or teamwork, just build things.
  • If you are a Captain America, instead of wanting a long-term project, just be the problem solver and the go-to person the entire company goes to. Be the solid manager (with a management style focussed on getting things done) the team needs.
  • If you’re a Michelangelo, instead of getting frustrated you’re not getting cool projects, build enough credibility by building solid pieces of engineering that others trust you with the hardest, long-term problems.
  • If you’re a Yoda, instead of being bored at your desk coding, focus on communication and adding value to the organization as a whole through the effective sharing of information. Or in some cases be a manager (with a management style focussed on being in the information flow).

Of course, in reality these types aren’t assigned at birth. Just as with popular psychological personality tests, types are reference points, not perfect or fixed. You are not in fact 100% one type, and 0% the other three. Changes in work often can create new perspectives and new latent types that move you in directions you did not anticipate. But having an undercurrent of an awareness of these tendencies in ourselves and others can be helpful, and allow us to get the most out of ourselves, others, and our teams.

Brian Hatano

Every person an entrepreneur

11 个月

Ah, someone who understands...

回复
Mark Lacdao

Principal Software Engineer at Deltek

3 年

Resharing

回复
Jesse DeRose

Project manager making work more purposeful by removing friction and building social emotional learning.

5 年

Can you share some of the write-ups you referenced in the opening paragraph? I’d love to read more on this topic.

回复
Kyle Prifogle

Senior Software Architect - Big Data

5 年

This is really great, I think if you were to generalize it a bit more there are generally "facilitators" (michealangelo and yoda) and "implementors" (ironman, and captain america) and evaluating a facilitator on the same rubrik as an implementor is a huge management mistake that I see often.? Personally I think i'm naturally more of a implementor, but I also have a tendency to fill whatever gap is missing or needed in a company.

Alexey Simonov

R&D Lead | Space | AI | ML | autonomy | computer vision | robotics | edge computing | RISC-V

6 年

Brilliant!

回复

要查看或添加评论,请登录

Srinath Sridhar的更多文章

社区洞察

其他会员也浏览了