CTRL+ALT+HUMBLE: Intellectual Humility as a Developer Superpower

A statue thinking

Did you hear? Deno 1.46 now supports multi-threaded web servers. And Node.js v22.7.0 now has a --experimental-transform-types flag so you can transform TypeScript-only syntax into JavaScript. And Bun v1.1.25 now supports the node:cluster API. Oh, you weren't aware?

Let's face it, it's impossible to stay updated with everything that's going on in tech. There's just too much. The above examples were taken just from the JavaScript ecosystem, and even that's too much news to keep up-to-date with.

It's impossible for any one developer to know everything about everything. You could be a seasoned React developer and find yourself at a complete loss trying to figure out the differences between React Hooks and Vue's Composition API. 

And that's okay.

What Is Intellectual Humility?

Intellectual humility is about recognizing the limits of your knowledge and acknowledging that you may be wrong about stuff. It's a willingness to admit that you don't know. That your understanding of a particular technology or concept could be incomplete or even incorrect.

For example, you may be confident in your ability to write efficient SQL queries, but also humble enough to admit that you sometimes come across complex join clauses that stump you.

The Benefits of Intellectual Humility

  • More Learning Opportunities: When you're not afraid to admit what you don't know, you open yourself to learning opportunities. Imagine you're working on a project using Docker, and a colleague suggests using Kubernetes for orchestration, which you're not very familiar with. Instead of pretending to know about Kubernetes, telling the truth could turn into a valuable learning experience.
  • Better Collaboration: Intellectual humility creates better team dynamics. You're more open to feedback and alternative approaches. You're willing to listen to a colleague who suggests using Redis over Memcached as a caching solution, even if you were the one who suggested Memcached. Such an attitude leads to better software.
  • Higher Curiosity: As an intellectually humble developer, you're more curious and less dogmatic. You're not tied to the idea of being right and more likely to try something new. For instance, you'd be more willing to experiment with another state management solution than the one you're used to if it makes sense for the application. 
  • Higher Bar for Evidence: Intellectual humility makes you pay more attention to the quality of evidence. Instead of accepting one particular technology or approach as superior, you're going to look for concrete evidence or benchmarks before making a decision. This leads to more informed and appropriate technological decisions.

Each of the above points is scientifically supported. For example, the link in the last point leads to a study that surveyed 50,000 people, which found that those who are more open-minded were less likely to believe conspiracy theories about COVID-19. Because they're more careful about the quality of evidence.

The Difficulty with Intellectual Humility

Despite these benefits, it's not always easy to be intellectually humble. The tech industry still glorifies the concept of the 10x developer or the tech guru, creating pressure to know everything about everything. It's what leads to impostor syndrome.

But intellectual humility doesn't mean downplaying your skills or lacking confidence. It's about maintaining a balance between confidence in your abilities and openness to new ideas.

How to Cultivate Intellectual Humility

  1. Embrace a Growth Mindset: View challenges as opportunities to learn. When faced with a technology like GraphQL when you're used to REST APIs, approach it with curiosity rather than apprehension.
  2. Practice Active Listening: In technical discussions, focus on understanding others' perspectives before you say something. You might learn something new about system design principles or cloud architecture patterns.
  3. Normalize "I Don't Know": Make it a habit to admit when you're not sure about something. "I'm not familiar with that AWS service. Could you tell me more about it?" is a powerful statement that opens the door to more knowledge.
  4. Seek Diverse Perspectives: Engage with developers from different backgrounds and specialties. A frontend developer can learn a lot about performance optimization from a backend colleague's perspective, and vice versa.
  5. Reflect on Your Biases: Regularly question your assumptions. You might prefer object-oriented programming, but being open to functional programming paradigms will make you a better software engineer.

Balance Humility with Expertise

Embracing intellectual humility in your software engineering career isn't about diminishing your expertise. It's about recognizing that there's always opportunity to learn. By being open about what you don't know, you create opportunities for growth, collaboration, and innovation. It's not a weakness. It's a superpower.

KEEP MOVING FORWARD

Thomas De Moor / growth