· 5 min read
Good Software Engineers.
This post outlines six essential traits of exceptional software engineers consistent delivery, influential collaboration, upward management, pragmatic decision-making, complexity reduction, and growth mindset. Moving beyond technical skills, these characteristics form the foundation of engineering excellence and can be developed through conscious practice.
During my 18+ years in Engineering Management positions, I have been lucky to work with hundreds of engineers of varying levels, experience, and nationalities.
One of a manager’s key challenges when someone joins a team is aligning organizational expectations with the new hire. Since there’s no universal guidance on this topic, this post aims to provide a simple definition to help managers frame what they should expect from engineers.
Similar to the post on Good Engineer Manager / Bad Engineer Manager. My goal is to describe the general traits I’ve observed in all good engineers, regardless of their company, industry, or modus operandi. Serving as guidance for new managers and as food for thought for engineers.
Good software engineers know how to drive work forward consistently
A good software engineer is someone I can trust—as their manager or peer— to drive and deliver, high-quality work while collaborating effectively with their team, time after time.
This consistency is crucial - it’s not enough to deliver great work occasionally or shine in specific projects. Good engineers maintain a steady rhythm of delivery, making them reliable pillars of their teams.
Consistency manifests in several ways:
- Meeting commitments and deadlines reliably
- Maintaining code quality standards across all contributions
- Being dependably present and engaged in team activities
- Following through on tasks and responsibilities without constant oversight
This reliable performance builds trust with both managers and teammates, creating a foundation for increased responsibility and career growth. When engineers demonstrate consistency, it allows their teams to plan more effectively and creates a more stable, predictable development environment.
Good software engineers know how to influence others
Most of Engineering work inherently requires collaboration. Collaboration through code reviews, pair programming, RFCs, ADRs, feedback, and more. Effective collaboration relies on clear communication, giving and receiving feedback, and listening with empathy.
Through all those interactions a a good engineer is able to influence others to achieve was is expected. Good engineers understand processes and guidelines deeply enough to know when flexibility is appropriate. Beyond that, they invest time in understanding how the entire organization works.
They are role modeling good engineering practices and coach other engineers on a consistent basis.
Good software engineers know how to manage up.
Good engineers communicate effectively not only with their peers, but also with their managers. As Wes Kao explains in her blog post 15 principles for managing up. Managing up means being a competent operator who follows through, communicates appropriately, and drives toward business goals.
- They are great at providing sufficient context to prevent back-and-forth follow-ups.
- They consistently show their work.
- They proactively identify potential issues and propose solutions, serving as valuable blind spot checkers for their managers.
- They bring solutions, not complaints. “This sucks, so here’s what I’m thinking we can do…”
- They are great at keeping everyone in the loop.
- They proactively assert what to do and suggest next steps.
Good software engineers are pragmatic
The Pragmatic Programmer it’s a great book on the subject. Good engineers understand that perfection is often the enemy of progress. They make pragmatic decisions that balance technical excellence with business needs, timeline constraints, and team capacity. They recognize when “good enough” truly is good enough, while maintaining high standards for critical system components. They don’t become overly attached to any framework or programming language, understanding that these are simply tools that serve a purpose. And often, that the best code is no code at all.
Good software engineers relentlessly reduce complexity to maintain high quality
They strive for modular design and separate concerns at every level while maintaining appropriate cohesion. They establish effective testing strategies and know how to adjust these quality controls based on their organization’s needs, current situation, and team dynamics. Since the same implementation and delivery approaches don’t always work, good engineers maintain a learning mindset and adapt their methods continuously.
Good software engineers embrace discomfort
They have a growth mindset and seek to learn at every opportunity, even when it means facing uncomfortable situations like publicly admitting mistakes, holding themselves accountable, and looking for ways to prevent the same mistakes from happening again.When good engineers encounter problems they don’t know how to solve, they don’t shy away—they dive in.They join projects specifically to learn, for example, volunteering to on-call rotations, because they can be surrounded by knowledge engineers, even if they have no clue of how to deal with an incident.
A great software engineer does all of the above proactively
When they spot a broken process, they don’t ignore it or wait for permission to fix it. Being a good software engineer has very little todo with their technical skills. It’s about consistently delivering quality work, effectively influencing others, managing relationships with leadership, making pragmatic decisions, reducing complexity, and embracing continuous growth. These traits form the foundation of engineering excellence and create lasting impact within organizations.
The best part? These traits can be developed and improved over time through conscious effort and practice. Whether you’re a new engineer starting your career or an experienced professional looking to grow, focusing on these areas will help you become not just a good engineer, but a great one.