Software development is a continuous learning experience. Even if you have been working on the same project for 10 years, new challenges will require new skills or knowledge. The realisation that you do not have certain knowledge or skills can be immensely unpleasant, making you feel insecure. Trying out new a new IDE, new languages, or frameworks can make you feel awfully uncomfortable, as you find yourself struggling to accomplish even basic tasks. Effective software developers embrace that discomfort as they know, it helps them grow.
“You can only grow if you are willing to feel awkward and uncomfortable when you try something new.” — Brian Tracy, Motivational Speaker
Think about all you learned from developing that new complicated feature that you did not know how to implement when you started. Or the pride you felt when your first application ran without errors after struggling for days. Looking back, why did you persevere through the struggle? Probably because you enjoyed learning new things, fixing small parts of the puzzle with each step you took.
But I can’t…
If you are blessed with a hint of perfectionism, getting out of your comfort zone might seem impossible. It helps to focus on things within your control. In my opinion, it helps to focus on the process instead of the result. For instance, if you want to write perfect code, the best way to improve to that level is to:
- Write a lot of code.
- Get feedback: submit your code to a strict reviewer who will point out all the errors and missed opportunities to you.
- Fix all the remarks.
Repeat those steps A LOT of times and you will probably write flawless code. Next time you find yourself deflated because your pull request is rejected, please consider you are actually perfectly executing the process of becoming an excellent coder!