A few days ago, Ben published an article about the five pillars of a successful career in software:
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
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.
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.
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:
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.
Let me know in the comments 👇