Dealing With Depression in Programming
Dealing With Depression in Programming

In this post I want to share with you my 5 tips, how to deal with depression and stress in programming.

And just a disclaimer here it is not a medical advice, but only my point of view. If you think, that you have some depression problems, it might be a good idea to seek some professional help from the doctor. Especially if all people around you are saying "you are kidding, you don’t have any depression" or "Just go somewhere and relax" or maybe "Just keep pushing".

Knowledge problem

So, problem number one, that I see in a lot of people is knowledge problem. When you start your working career as a programmer, you don't have a lot of knowledge. This is why you are constantly under stress, that you will be fired, especially with your first job. So, you are constantly pushing yourself because you have this fear of getting fired. You are trying to do features faster, implement everything faster, understand better, but it is not possible, because you are simply a beginner.

Your brain still needs to adjust to programming. This is why it may be difficult for you to grasp some concepts, to build things fast. And this is completely normal. What can you do about it? Sure it can happen, that you will be fired in your first job, but typically everybody understands that you are a junior. Junior is a guy, who will make mistakes and he won't deliver a lot. And actually junior developer is typically quite cheap, which means company doesn't spend a lot of money on this programmer. And typically they know, that they are getting a junior in their company, which actually means if you trying your best and you are doing your features and people see, that you are learning, everything will be fine and you won't be fired. And putting yourself everyday under stress, just because you don't have enough knowledge is not healthy in a long run.

Stuck in the problem

The next problem, that I see people are often stressed, when they are stuck in the problem for hours or maybe even days. And actually this is completely normal, this is what we are doing every single day in programming, because we are learning new things, we are trying new frameworks, languages, operational systems and we can't know everything.

Which means it is completely normal to be stuck.

And actually, especially at the beginning you are just coding from the problem to the problem and typically not a long time. So, here is the best solution for you, you must have a mentor inside your company, where you are working. And if you don’t have any and you are a junior, you can typically ask "Ok, whom can I bother with questions in the company"? And you really must ask this guy your questions, because actually if you are a beginner and your questions will be quite simple. This is why you will get an answer almost immediately.

It will help you tremendously to progress. Sure it also help you if you will fix the problem on your own, but it may be difficult for you, when you are a beginner. Also you shouldn't think, that being stuck in the problem is really bad or you will be fired, because of this or because you can't really do some feature. This is completely normal, it can happen and you may just ask for some help and continue to do this feature.

Confidence problem

The next problem I see really often between all developers, even with experience. And this is confidence problem. Just imagine that you are working in the company, you are doing your stuff, you have some experience, everything is fine. But then you see a programmer in your team, who can do every single feature twice as fast as you or maybe 5 times faster. And he can grasp everything, he understands everything, his code is perfect and you start comparing yourself with him.

And you are often depressed, because you are not good enough. I can understand that, but it is completely wrong approach. Actually, you shouldn't care at all about skills of other people. Sure you might not be the fastest developer in the company, but some other developers are also not faster. This is completely fine. You should just have enough knowledge for your position and you need to deliver stuff on time, like it was promised. This is it. If you fulfill these requirements then you are fine. It doesn't really matter, that somebody is coding faster, than you. There are always people like this. For you it is important to compare yourself today with yourself yesterday and see your progress, and actually you need to know, that you are doing your job, you are doing it fine and you won't be asked any questions.

Environment problems

The next problem I think is the most popular. This is company problems, overtimes and team problems. And actually I grouped all this stuff together because actually if you have a bad company or a bad team, then you will have stress and depression. So you can get in the toxic environment or maybe in a team with some difficult people, it may happen and you can't really avoid. And there is no other solution, than change the company. Yes you can work there, you can be under stress until certain point, but it doesn't make that much sense.

You can just change your job. Sure if you don’t have a lot of experience, you might want to stay there and suffer for some time, but you must look for the new job as soon as possible, because your mental health is important. The same I can say about overtimes and bad management. In some companies, you simply have constant overtimes and constant pressure from the management. They want features as fast as possible, they want to deliver stuff and they don't listen to the real estimations from development. You can't really change that on any level. This is why you shouldn't wait and should simply quit such company.

Bonus

And here is my bonus recommendation – you must have a life work balance because work is not everything that you should have. Sure, a lot of people (especially younger people) are working constantly 24/7, they can overtime, they can stay longer. This is completely fine, especially if you don't have a lot of knowledge and you want to improve your skills, but only until a certain point. Having focus only on the work is not healthy. You need to have some social interaction outside of your work, you need some time for yourself, maybe sport, playing games or whatever you like to do.

Focusing only on the work is not healthy in a long run.

And here is one more important point, you should start carrying about your job less. And, yes it sounds disgusting, because I know, that you care a lot about code, that you are writing in the company. But just imagine, that in one month you will leave this company and you will never see this code. And then you will start working in another company with completely new code, that you will also care about. Which actually means it doesn't make any sense to focus to much on work. Yes, you should do it on a good level, but it shouldn't be the goal of your life.

I hope, that my tips will help you to avoid stress and depression. And actually if you are interested to know, how to avoid bad company or bad team, make sure to check this post also.