Lately, I’ve been thinking about what actually makes a great engineer. I’ve had an intuitive sense of it, but never managed to structure it clearly.

Earlier this week, I had a 1-to-1 session with my tech lead where we discussed topics surrounding performance, feedbacks and concerns. One of the conversations that stood out to me was him defining what makes a “great” engineer — aptitude, attitude, experience & environment.

I found this framing both simple and insightful. It took something abstract and made it tangible. It also gave me some inspiration — This post is my attempt to further unpack those qualities and add my own perspective.

This post is opinionated and is far from comprehensive. But personally, this post serves as a baseline and a set guiding principle for myself throughout my career.

1. Aptitude

Aptitude is the natural ability or skill to do something, otherwise also known as “talent”. While it’s true that most skills can be trained given enough time, I don’t think that alone constitutes talent. Talented individuals pick up things fast and do it well. Aptitude shows itself most clearly when time or context is limited.

Some guiding questions to assess an engineer’s aptitude:

  • Given a short amount of time, can this engineer complete a new task in a satisfactory manner?
  • How quickly do they pick up new concepts with little to no prior knowledge?
  • How fast can they adapt to new environments?

2. Attitude

Attitude reflects how someone thinks and feels about their work. To me, an engineer with great attitude is someone who is responsible, accountable and constantly seeks to improve, not just themselves, but also processes, systems and people around them.

Some guiding questions to access the engineer’s attitude.

  • What is the engineer’s attitude towards learning?
  • How proactive are they in challenging the status quo or improving systems and processes?
  • Do they help and support the people around them?
  • Are they coachable and receptive to feedback?
  • Do they take ownership?
  • How do they react and respond to setbacks, failures or change?

3. Problem Solving

At its core, problem solving is the act of identifying a problem, and implementing a solution. In many ways, an engineer’s ability to solve problems is also reflective of their critical thinking skills.

Problems of all scale are common in the engineering. It’s not only important for an engineer to be able to devise a solution. It’s also equally important for them to also be able to correctly identify the problem at hand.

Some guiding questions to access the engineer’s ability to solve problems.

  • How accurately can the engineer identify problem at hand and its root cause?
  • How often do they ask the right questions?
  • Can they break down ambiguous or poorly defined problems?
  • Are they able to implement a well-thought-out solution?
  • Is their reasoning sound and arguments coherent?
  • How critically do they consider all relevant considerations when tackling a problem, such as assumptions, trade-offs, scale, and potential impact?

4. Quality of Work

Quality of work reflects an engineer’s precision and craftsmanship. In this case, craftsmanship refers to the engineer’s ability to deliver work that are maintainable, extensible and reliable over time. Precision refers to the engineer’s attention to correctness and completeness.

Most of the time, it’s not good enough for things to “just work”. A poorly written script that works today may silently fail a year from now. An engineer may be satisfied that the script works. A great engineer ensures it is maintainable, well-tested and documented so others can confidently build on it. The considerations a great engineer has to take go much further beyond just writing code.

Some guiding questions to access the engineer’s ability to deliver quality work.

  • Is the engineer’s work maintainable, well-tested and documented?
  • Does the engineer demonstrate their work or code is reliable over time?
  • Are decisions backed by data or proper research?
  • How strong is the engineer’s the attention to detail?
  • How easily can other engineers extend or modify their work?

5. Communication

One of the most underrated trait a great engineer is the ability to communicate clearly, concisely and effectively. Many junior engineers, including myself, fall into the trap of thinking the tech work alone is enough. Over time, I learned that effective communication is necessary to driving decisions and outcomes.

Ultimately, communication is how engineers get buy-in, explain impact and align stakeholders. At the higher levels, I noticed communication becomes even more critical as tech leads or engineering managers must communicate across teams and with multiple stakeholders. Poor communication hinders problem solving, and this effect can be magnified at scale.

Some guiding questions to assess an engineer’s communication skills:

  • How logically can the engineer structure their thoughts?
  • How clearly can they explain their thoughts, ideas and decisions?
  • How readable and understandable is their documentation?
  • How well do they work with others?
  • Can they put themselves in the shoes of different stakeholders?

6. Understanding The Business

Great engineers understand the business they are building for and that technology is a means, not an end. Due to the dynamic nature of businesses, it goes beyond just knowing requirements or systems. It takes a higher order of thinking to understand a multitude of factors such as (but not limited to) constaints, priorities, trade-offs, costs relative to the business. Understanding these help engineers build better products to solve real business problems.

Some guiding questions to assess an engineer’s business understanding:

  • How well does the engineer understand the core business?
  • Do they understand the underlying business problems?
  • How strategically can they think?
  • Can they reason about solutions within real business constraints?

7. Experience

Despite all of the above, we often hear experience triumphs all. Experience allows an engineer to build and hone the above qualities. Experience also allows an engineer to build best “intuition”. An engineer’s intuition is referred to as their ability to quickly familiarise themselves with the problem, solve them and catch potential pitfalls, all with little or no prior knowledge. This intuition allows experienced engineers to make better educated guesses, debug issues faster, and reason more holistically.

The more experience an engineer has, the more sound their engineering principles are, allowing them to form a more matured and reliable judgment.

In many ways, experience is the force multiplier that ties everything else together.

Conclusion

After exploring these traits, it’s clear that being a great engineer is about a lot more than just writing code. Traits such as soft skills, attitude, critical thinking, matter just as much, if not more, than technical skills.

As I write this, I noticed that the traits of a great engineer could apply to being great at many things. Could it be defined more specifically? Definitely. But at least now, I have a clearer answer to the question: What makes a great engineer?