Captain's log, stardate d598.y37/AB
One of the most frightening parts of being a developer is the recurring feeling that the solution that you are building is not going to work as intended, it is going to scale poorly or some of your coworkers will dislike working on top of it.
To give the best of yourself as a developer, you need to learn how to move away from these toxic feelings.
The cause of these resides in our own insecurities. Our job as developers implies taking decisions every day that will have consequences in the long run. This is a common situation faced by thousands of professionals involved in large projects: architects, city planners, or writers, to name a few. Imagine for a moment to start a book and realise after four months working full-time on it that you have been narrating the story from the wrong angle.
Photo from Startup Stock Photos
Even when you are 100% convinced of the solution that you have taken, once the project starts and requirements start to change too, your confidence will be tested again and again until the idea of rewriting some parts and start them from scratch will pop up in your mind.
This is a very dangerous feeling for a bunch of reasons. If you don't have external pressure (eg: working on your own startup MVP) you can end up rewriting all of your code and find yourself in the same situation after a couple of months, losing invaluable time along the way. If you have external pressure (eg: time & materials contract, straight deadlines) you can feel frustrated because you believe that you could have delivered a better solution.
In both situations, you're likely to lose focus of the project and the immediate tasks that you need to do. Also, the outcome of your work will suffer from it.
If you can relate to any of my previous statements, I hope that my next recommendations will help you to avoid these concerns in the future:
- If you are facing an important decision, always ask someone else's opinion to have a second view. This will boost your confidence in the path you've taken.
- Once you have taken a decision, stick to it. Trust your past self. Be confident and believe that you were right. Perseverance is a virtue.
- Be always open to other's reviews but don't change anything based on their opinions. Only change something if they provide proven facts.
If you can't help having the feeling that you made mistakes, put on your surgeon dress and only change the part that is causing yourself most of the trouble.
One of my tasks as the MarsBased CTO is ensuring that our developer team is always motivated and feel confident about their work. This way we can guarantee they are delivering their best while enjoying their coding experience.
Don't let your insecurities win the battle!