You Are Not Your Code
Programming can be an emotional roller-coaster. But we should remember that we are more than the code we produce.
Programming is hard. And learning to program is even harder.
And it seems to me that the more experienced you become, the harder the problems get.
Since I started to learn to program, I’ve found it hard to separate professional successes and failures from my own self worth. When something goes right I feel fabulous. When I get stuck on something for days or weeks (hello timezones), then I begin to question whether or not I am ‘cut out’ for it, or if I’m really ‘smart’ enough.
The Myth of the ‘Rockstar’ Developer
Sometimes it’s easy to assume that there is an elite group of developers - the job ads call them rockstars or ninjas - that have been coding since birth. They’ve mastered 15 languages and can code in in their sleep.
But the more I read about this - the more I’ve realised this is a myth. Geniuses are few and far between and most successful people get to where they are with a combination of hard work and a lot of good luck.
Redefining Success - A Reminder to Myself
Comparing yourself to this myth is damaging. Demanding perfection in your code is even worse. Learning to be a great software developer is a journey and there are many things you can bring to the table that don’t require being a ‘rockstar’:
If you are truly enthusiastic about being the best you can be, you’re already half way there. Curiosity, professionalism, courtesy, honesty, and integrity are essential.
Your ‘Soft Skills’
I really dislike this phrase. What’s ‘soft’ about being able to communicate your ideas effectively? What’s ‘soft’ about being able to resolve conflict? What’s ‘soft’ about being a great leader? As technology and projects change, chances are your soft skills will continue to be of value.
Your Capacity (and Flexibility) to Learn New Things
Technologies change. Requirements change. You are going to face many, many problems that you have little to no idea how to solve. Having a ‘can do’ attitude is essential. So is the humility to know that you don’t have the best answer but are willing to look for it.
Have you delivered something that is important to yourself, others, society? This is infinitely more valuable than perfection in your code or anything else.
That’s not to say you shouldn’t strive to be a professional. To deliver clean, maintainable code. You should. But remember that you are not your code. You are so much more.