A few days ago, Ben published an article about the five pillars of a successful career in software:
The Five Pillars of a Successful Career in Software
Ben Halpern ・ Oct 7 '19 ・ 4 min read
After reading it, I thought something was missing. So I wrote the following comment:
Awesome list! I would add one more:
- Humility: I've met many developers who think they already know everything. In my opinion, this is one of the main reasons that lead to being outdated and not growing professionally.
Since my comment had such a great reception, I decided to share some reasons why I think being humble will help you succeed as a developer
1 - Curiosity to learn new things
As I mentioned above, you'll have a really hard time trying to learn a new language or technique if you are sure your way is better and will always be.
Humble devs know they don't have all the answers and that leads them to seek for new insights.
2 - Natural collaborators
You've been working hard to fix a bug and you finally found a solution. After submitting a PR, the code reviewer quickly rejects your PR leaving the following comment:
"Your approach sucks 💩. Please do it better the next time"
Humble people usually have low sense of entitlement. This leads them to be less judgmental and more grateful with their peers, which ultimately enables better teamwork and better relationships in general (which is vital if code review is part of your daily job)
There's nothing wrong about rejecting a bad PR, But I think we should always be emphatic with the code's author and try to be as clear as possible about the reasons why that code is being rejected.
3 - Continuous self improvement
Curiosity leads humble devs, ultimately, to find better ways to solve a problem and be more productive. Here is when good practices like clean code naturally appears:
Clean code... Why bother?
Paula Santamaría ・ Sep 28 '19 ・ 4 min read
4 - Better leadership
You cannot be a good leader if you don't recognise your own mistakes. Humble devs allow themselves to be wrong, and will take the required time to re-check what they think is true, or better, and will always be willing to acknowledge their mistake.
What other things do you think are essential to be a good developer?
Let me know in the comments 👇
Top comments (5)
I absolutely agree with this Mauro.
In my experience, humility is an essential ingredient of leadership as an engineer and in general. If you believe that you are always right, you are limiting yourself. If you are surrounded by people who you believe have nothing to teach you, then you are limiting yourself. The best entrepreneurs and senior software engineers I've worked with, approach every interaction with humility. It's crucial.
Thank you for sharing this!
It's super important to work with people who challenge you to be the best version of yourself.
Thanks John for sharing your thoughts!
Excellent points Mauro. None of those items you listed can be achieved without humility. My humble list:
Excellent points! Specially the first and the last one 😄 thanks for your contribution Ed!
U have just said it all Man....buh I would like to add consistency and u have also said curiosity which I love and conciously learning something...