What Makes a Great Engineer?

I recently stumbled upon this gem of a dissertation “What Makes a Great Software Engineer” by Paul Luo Li (2016), and it’s a treasure trove of insights about what makes a software engineer truly stand out. Li, a University of Washington Ph.D. grad, dove deep into this by interviewing 59 top-notch Microsoft engineers, surveying nearly 2,000 more, and even chatting with 46 non-engineers who work alongside them.

The big takeaway? Being a great software engineer isn’t just about coding skills — it’s a mix of technical chops, people skills, and smart decision-making. I’ve boiled it down to a top 10 list of qualities that make a software engineer absolutely stellar!

1. Crafts Clean, Awesome Code

No shocker here: great engineers write code that’s clear, efficient, and easy to follow. Li’s study highlights “elegant” code and “pays attention to coding details” as key. It’s like writing a recipe that anyone can cook from—simple, precise, and no weird surprises. Good code keeps the team moving smoothly.

2. Thinks About the Future

Stellar engineers don’t just fix today’s problems; they plan for tomorrow. Li calls this “long-termed” thinking, and it’s about building software that won’t crumble under future updates or changes. It’s like choosing durable furniture for your house—invest now, enjoy later.

3. Makes Sharp Decisions

Decision-making is huge, and Li points to traits like being “knowledgeable about their technical domain” and “customers and business.” Great engineers weigh their options, understand the product’s goals, and pick the best path. Think of them as navigators who always find the right route, no matter the terrain.

4. Teams Up Like a Pro

Nobody wants a teammate who makes life harder. Li’s research loves traits like “creates shared understanding” and “creates shared success.” Stellar engineers communicate well, keep everyone on the same page, and make sure the team’s goals align. They’re like the friend who makes group projects actually fun.

5. Keeps Learning, No Matter What

Tech never stops evolving, and neither do great engineers. Li’s “continuously improving” and “updates their decision-making knowledge” traits show they’re always picking up new skills and ditching outdated ones. It’s like being a lifelong learner, but with cooler tools and tech.

6. Stays Curious

Curiosity is a game-changer. Li’s “curious” trait means these engineers love digging into why things work (or don’t). They’re the ones who’ll take apart a gadget just to see how it ticks, then use that knowledge to solve tricky problems. It’s what sparks creativity and innovation.

7. Tackles Complexity with Ease

Software can get super complicated, but stellar engineers don’t flinch. Li’s “mentally capable of handling complexity” means they can juggle multiple layers of tech and still keep their cool. It’s like solving a puzzle while everyone else is still reading the instructions.

8. Helps the Team Grow

Great engineers aren’t just out for themselves—they lift others up. Li’s “mentoring” and “challenging others to improve” traits show they share knowledge and push teammates to level up. They’re like a coach who makes the whole team better, not just the star players.

9. Keeps It Professional

Li’s “open-minded” and “does not make it personal” traits are all about staying cool under pressure. Stellar engineers listen to feedback, stick to the facts, and don’t let emotions derail the work. It’s like being the calm voice in a heated meeting, keeping things focused and productive.

10. Plans for What’s Next

Finally, great engineers have a knack for seeing what’s coming. Li’s “anticipates needs” trait means they build software ready for future challenges, like new user demands or tech shifts. It’s like packing for a trip with extra snacks and a backup charger—just in case.

Why It Matters

Li’s research—props for all those interviews and surveys—shows that being a stellar software engineer is about blending technical skills with people smarts and forward-thinking. For me, this list is a roadmap for anyone looking to shine in tech, whether you’re coding your first app or leading a dev team. It’s a reminder that software engineering is as much about collaboration and growth as it is about writing killer code.