There are a lot of different types and kinds of programmers: the newbie, the oldie, the money follower, the passionate blah blah blah. And there's a lot of reasons every programmer codes.
One question I'd like you to ask yourself is, why do you even code?
- It's your job, you need money.
- You love programming, so you just code.
- You had friends doing CS in Uni so you just followed them.
I want to manifest my thought on how I went, my battle, depression and where I stand now.
I started out early (at 9 years old to be exact). I loved it! It was a whole world of unknown possibilities. There's being god, having the power of a whole creating in your hands. There's being the cool kid in school who just knows stuff. There's hacking your crush's computer so you top the league in stalking.
These things inspired me to become a programmer. As time turned out, I learnt more and more. Just when I thought I'm done, there was more to learn. After several years of learning and putting it into practice, life hit me. I had to get a job, feed myself, make a life out me. I was a stubborn kid and didn't want to get into any other profession rather than programming. It turned out really really hard for me.
Then I started thinking things. Why do I even program? With all this tension on getting a "programming" job, earning money, and becoming the best of what I was; all these things started killing me from inside.
Every time I sat down to code, there was just this thing on my mind, why am I doing this? Is there a need to do this? Can't I move on to do a completely different thing than what I'm doing now? I had no interest in programming at all. I was completely stuck on an infinite loop.
What had caught me has caught many other programmers in some point of their lives. What started out as my passion was completely ruined because I had to do this as an compulsion now because of the money I needed and treated programming more of a job that I hated rather than the passion I had that I loved.
Well, the good thing? It fades out! The job part and your passion part are like two sets in an intersection. They sometimes collide and sometimes are completely different. I think the main thing to do is to separate your work life with your personal life completely. This way you have your passion on one hand and your whole work load on the other.
Also another thing to note is: the work you do does not define you and is NOT in any way your identity. The more you start identifying yourself with the work you do, the more frustrations you'll have to face. So the best thing to do is to have your work and your personal life completely different from each other. This way I slowly got the coding charm back and now have mostly got rid of it. Organizing my personal projects and my work projects have been easier.
Hope it sheds light on anyone's life that's going through the same process and know that you're not alone. But rather every programmer has a "frustration" phase to go through and it passes out eventually.