Skip to main content
Test Double company logo
Services
Services Overview
Holistic software investment consulting
Software Delivery
Accelerate quality software development
Product Management
Launch modern product orgs
Legacy Modernization
Renovate legacy software systems
DevOps
Scale infrastructure smoothly
Upgrade Rails
Update Rails versions seamlessly
Technical Recruitment
Build tech & product teams
Technical Assessments
Uncover root causes & improvements
Case Studies
Solutions
Accelerate Quality Software
Software Delivery, DevOps, & Product Delivery
Maximize Software Investments
Product Performance, Product Scaling, & Technical Assessments
Future-Proof Innovative Software
Legacy Modernization, Product Transformation, Upgrade Rails, Technical Recruitment
About
About
What's a test double?
Approach
Meeting you where you are
Founder's Story
The origin of our mission
Culture
Culture & Careers
Double Agents decoded
Great Causes
Great code for great causes
EDI
Equity, diversity & inclusion
Insights
All Insights
Hot takes and tips for all things software
Leadership
Bold opinions and insights for tech leaders
Developer
Essential coding tutorials and tools
Product Manager
Practical advice for real-world challenges
Say Hello
Test Double logo
Menu
Services
BackGrid of dots icon
Services Overview
Holistic software investment consulting
Software Delivery
Accelerate quality software development
Product Management
Launch modern product orgs
Legacy Modernization
Renovate legacy software systems
Cycle icon
DevOps
Scale infrastructure smoothly
Upgrade Rails
Update Rails versions seamlessly
Technical Recruitment
Build tech & product teams
Technical Assessments
Uncover root causes & improvements
Case Studies
Solutions
Solutions
Accelerate Quality Software
Software Delivery, DevOps, & Product Delivery
Maximize Software Investments
Product Performance, Product Scaling, & Technical Assessments
Future-Proof Innovative Software
Legacy Modernization, Product Transformation, Upgrade Rails, Technical Recruitment
About
About
About
What's a test double?
Approach
Meeting you where you are
Founder's Story
The origin of our mission
Culture
Culture
Culture & Careers
Double Agents decoded
Great Causes
Great code for great causes
EDI
Equity, diversity & inclusion
Insights
Insights
All Insights
Hot takes and tips for all things software
Leadership
Bold opinions and insights for tech leaders
Developer
Essential coding tutorials and tools
Product Manager
Practical advice for real-world challenges
Say hello
Communication & teams

Developing humility: How to find balance as a developer and a leader

Learn how finding the right balance of humility can improve your skills as a software engineer and leader. Embrace the power of being average.
Pam-Marie Guzzo
|
May 3, 2022
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

While the irony of trying to present myself like an expert on humility isn’t lost on me, I feel that humility is an important enough skill for all software engineers and leaders that I’m going to try anyway.

I’ll preface this with: humility, like communication, is one of those skills that requires constant attention and balance. For communication, if you talk too much you can be perceived as a rambler, too little and you’re uncooperative or cold. Humility is similar – too much and you lose trust for being too self-deprecating, too little and you come across as rude and arrogant.

So! First things first – how do we get to the perfect balance?

The humility balancing act

A person with a stick pointing near the middle of a bell chart, demonstrating the vast majority of people fall within a range.
   You Are Here-ish. (Photo by SimpLine)

‍

Where you currently are on the humility scale will depend a lot on your background, personality, and other factors (shout out to my fellow neurodiverse friends with RSD!).

That said, my advice for everyone is generally the same regardless of your current humility level. Acknowledge, internalize, and accept that on the bell curves of intelligence and capability you are probably somewhere in the middle.

If you take a step back and think about this logically, it makes sense, right?

While most of us like to believe we’re top-of-the-class awesome, realistically and statistically we probably fall somewhere in the majority. I find this perspective especially useful around performance review time.

If I get a low evaluation, that’s okay. Probably like 40% of people were evaluated lower! If I get a great evaluation? Awesome, but it’s likely at least 20% of people got even higher, so don’t get too big a head about it!

The “I’m probably average” mindset also helps me with imposter syndrome.

Maybe I’m awful and don’t know what I’m doing, but it’s wildly unlikely I’m the lowest performer in the room. I’m also probably not the smartest person in the room which is great! Lots of people to answer my questions and help me out!

So, how does this mindset help you as a software developer?

Not the worst idea

A woman in front of a laptop with a huge smile and arms raised exuding success.
   I'm the best at being mediocre! (Photo by BullRun)

Approaching software development with a good balance of humility can feel like a cheat code.

Embracing my averageness, I offer up basically any idea I have in planning sessions or PR discussions on how to do things. Knowing I’m not the worst means that I can assume other people might have that idea, or that there are other options that are definitely worse than whatever I’m suggesting.

Knowing I’m not the best means that if my idea isn’t accepted it’s probably because there’s a better option. After all, if I’m not the absolute best person in the world, my ideas certainly won’t be.

This balance of humility is also great when it comes to PRs or demos. I’m generally unafraid to ask questions because I can pretty safely assume that around half the group present needs them asked.

If something seems too complicated to me, I’ll ask for comments or simplification because it’s probably too complicated for other people who need to look at it. I also can accept comments more easily knowing that there are definitely people smarter than me on my team.

Sometimes I’ll push back, sometimes I’ll meet them halfway, and sometimes I bang my head against a wall feeling I should have thought of the suggestion sooner. No matter what the feedback is, though, humility helps me appreciate and learn from the discussions.

When coding, the humility balance comes full force. I do my best to write boring, easy-to-read code (preferably with an ADR to give more context and get ideas from others). I avoid cleverness as much as possible and generally don’t waste time looking for the most “elegant” solution.

When you perceive yourself as not the most clever, it’s not an ego hit to write code this way. Showing off is pointless when you know that around half the world could do it better. On the other side, I also want to write for the other half of the world – the ones who need more clarity and less complexity. I want to write code that is kind to the person coming next, and that person might be me with a cold or after a bad night’s sleep.

Being humble also makes me more willing to do the coding tasks many find painful or delegate to co-ops or junior engineers. If I’m not the best, there’s nothing I’m “too good” to do. My time isn’t inherently more valuable than anyone else’s, so yeah, I’ll spend a month playing test catch-up or updating documentation. If spending my time that way helps the other developers on my team it’s worth it, since at least half of them are better coders than I am. This attitude really helps with drudge work, since you can always remind yourself that you’re enabling someone better than you!

About that leadership thing

Maybe you’re reading this and you aren’t a developer! Maybe you’re a leader-type person, like a manager or CEO or something! Well, boss, humility is a pretty important skill for you to keep in mind too. The fact is, you likely got to your position by being really good at what you do. It’s common for top-level contributors to be the people that get those promotions, so you know you are probably not average, right?

Maybe. Who cares!

The fact is, once you get to the higher rungs of the career ladder it’s likely that your time will be far more dedicated to admin, mentoring, and big-picture thinking than keeping up with all the latest and greatest technical knowledge. While you might have been the best at one point, embracing that you probably aren’t the best now will keep you from dictating approaches (accidentally or on purpose) and help you embrace delegating the vast majority of hands-on work that needs to get done.

As a leader, trusting your team is critical. Assuming that at least half of them are smarter and more capable than you makes that trust a natural thing. Of course, they can do whatever is asked of them. You could, and you aren’t even the best! There’s no reason to doubt them at all!

Really, whether you’re a leader or a developer there’s another big benefit to practicing humility.

Accepting and giving feedback

We talk a lot in engineering and leadership circles about the importance of continuous feedback. Without humility on both sides, feedback conversations are an exercise in frustration.

If you think you’re the best, how can you internalize and adjust when you get criticism? How do you approach others with compassion and understanding? How do you give advice or mentor when you think your success is just because you’re naturally better than everyone?

If you think you’re the worst, how do you stay motivated through tough conversations? How do you feel comfortable offering advice to people you think are better than you? How do you give advice or mentor when you think you have the least to offer?

Whether you’re giving or receiving feedback, practicing humility during those conversations enables a greater level of honesty and openness. By accepting that you are average, you can take feedback knowing you have room to improve without being crushed by the negative. As an average leader, you can guide others with patience, knowing that you likely don’t have the right answers or perfect advice for each individual. Instead of directing, you can lean into empowering your people to find the answers themselves – an excellent growth opportunity for both you and them!

In my experience, humility breeds compassion for ourselves and the people we interact with daily. By finding the right balance, we can accept both our strengths and our flaws, as well as the strengths and flaws of others. Humility may be a difficult skill to master, the perfect balance always elusive, but it is so worth the effort.

In my humble opinion.

Related Insights

🔗
How to improve empathy: Practical steps and insights
🔗
Why our hiring process is focused on value alignment and empathy
🔗
Speaking human: Engineers who communicate effectively with empathy

Explore our insights

See all insights
Leadership
Leadership
Leadership
The business of AI: Solve real problems for real people

After participating in the Perplexity AI Business Fellowship, one thing became clear: the AI hype cycle is missing the business fundamentals. Here are 3 evidence-based insights from practitioners actually building or investing in AI solutions that solve real problems.

by
Cathy Colliver
Leadership
Leadership
Leadership
Pragmatic approaches to agentic coding for engineering leaders

Discover essential practices for AI agentic coding to enhance your team’s AI development learning and adoption, while avoiding common pitfalls of vibe coding.

by
A.J. Hekman
by
Aaron Gough
by
Alex Martin
by
Dave Mosher
by
David Lewis
Developers
Developers
Developers
16 things software developers believe, per a Justin Searls survey

Ruby on Rails developer Justin Searls made a personality quiz, and more than 7,000 software developers filled it out. Here's what it revealed.

by
Justin Searls
Letter art spelling out NEAT

Join the conversation

Technology is a means to an end: answers to very human questions. That’s why we created a community for developers and product managers.

Explore the community
Test Double Executive Leadership Team

Learn about our team

Like what we have to say about building great software and great teams?

Get to know us
Test Double company logo
Improving the way the world builds software.
What we do
Services OverviewSoftware DeliveryProduct ManagementLegacy ModernizationDevOpsUpgrade RailsTechnical RecruitmentTechnical Assessments
Who WE ARE
About UsCulture & CareersGreat CausesEDIOur TeamContact UsNews & AwardsN.E.A.T.
Resources
Case StudiesAll InsightsLeadership InsightsDeveloper InsightsProduct InsightsPairing & Office Hours
NEWSLETTER
Sign up hear about our latest innovations.
Your email has been added!
Oops! Something went wrong while submitting the form.
Standard Ruby badge
614.349.4279hello@testdouble.com
Privacy Policy
© 2020 Test Double. All Rights Reserved.