The Startup
Published in

The Startup

Roundtable: What Makes a Great Engineer?

Recently I had a roundtable discussion with my engineers on what makes a great engineer. What are the traits that you would like to see in yourself or your peers? What was interesting is that there is no standard accepted definition or trait. Everyone had their own unique perspective and thoughts on who they would like to work with.

The following are some of the skills that we discussed engineers need. These are not in any order, and if you notice, most of them are soft-skills. We’re not talking about languages or frameworks. Being an engineer is much more than your technical skills!

Understand the impact

An engineer should be able to understand what is the impact of the problem they are solving. They should understand who they are solving this for and what makes this problem so special. An engineer should also understand the business impact of the problem. What does the company gain from solving this right now?


How do you respond to what your colleagues say? An engineer should be able to listen to ideas and keep an open mind. How do you know your idea is the right one? Engineers should take in all perspectives and all data to help make their decisions. There’s not only one path to success.

Ability to problem solve

This is probably one of the best skills for an engineer to have. Especially because most of our days are spent thinking about problems and how to solve them.

Ability to learn

Our profession is changing all the time. Twenty years ago, there was no iOS and Android. You’d be writing code for a Nokia phone or creating a website in Geocities. Our industry is evolving so much faster than many others that the ability to learn is the single biggest skill you’ll need to have a long career as a Software Engineer.

Understand the problem

An engineer should dig through the sales speak of a Product Manager and figure out what the true problem we’re trying to solve is. This will help you find the ideal solution rather than one that is just a patch.

Ability to break it down

Sometimes the problems we get are large and will take many weeks, months, or years to complete. The ability to break down a problem into manageable and deliverable chunks will help make you a great engineer.


I recently read that creativity is the most in-demand skill of 2020. Being creative will help you develop unique approaches to the problems and help you put on your designer/UX/documenter hat to help the end-user.

Not being afraid to fail

As an engineer, we need to be able to fail fast and learn from those failures. Whether that is in a system design failure, a bug, an incident, or an MVP. We need to try those new languages and write some bad code before we write good code. If you’re afraid to fail, you’re afraid to grow.

Accept feedback

Being the mature people we are, we should receive feedback from our peers, managers, and stakeholders. Code reviews are the most common way we receive feedback. However, there might be some soft skills that you can learn from your managers or some deadlines you missed because of the decisions you made.

Have empathy

We need to understand that not all engineers think alike. We also need to understand that product and design might not understand our technical jargon. We should make sure we know what others’ limitations or situations are before giving them feedback or saying unthoughtful things.


A great engineer is someone who can work in a team. One of those on my teams quoted the following.

If you want to go fast, go alone. If you want to go far, go together.

African Proverb

Engineers are not lone-wolves. We generally work in teams, and to do that; you need to have great teamwork and others’ trust. Your team is in it for the long haul, are you?


Finally, we have communication. Everyone knows of the stereotypical image of a software engineer. This is a man in his 30s wearing a conference t-shift who lives in a basement. Fortunately, the world is a more diverse place, and we don’t all hide in basements. In fact, some of us need to be able to communicate well with our business partners. If we can’t communicate how we’re solving the problem, how can people trust us?

So, while you might be technically awesome and be the 10x engineer in your company if you don’t have these skills, are you a great engineer? I would be curious to see what others think out there in the world. What are the skills you think makes an engineer great?

Originally published at on October 16, 2020.




Get smarter at building your thing. Follow to join The Startup’s +8 million monthly readers & +756K followers.

Recommended from Medium

Building Engineering Careers at NerdWallet

Building your own Design Pattern

4 Software Development Techniques to Level up Your Data Science Project

Learn how your Kubernetes clusters respond to failure using Gremlin and Grafana

What’s wrong with software development? I am technical debt

Laravel 5.8 Passport oAuth 2.0 Usage and Implementation

Core Foundation: 2 Useful Memory Management Functions

Cloud Build is everywhere

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Alex Aitken

Alex Aitken

Writer and engineering manager @ Traveloka //

More from Medium

Sharesies #2: Document Effectively

Build vs buy: Asking the right questions

How to become a Technical Recruiter with a background in Software Engineering

FX risk 101: How to deal with it?