Hello, I am a developer and I have suffered from depression for a few years now.
I have been reading a lot of posts on the internet about depression and burn out, and most of them focus on the symptoms of depression and how to deal with it, but I have yet to see one that talks about how it affects us as programmers. This blog post is going to be about that. I will go through a few of the symptoms that I have experienced as a programmer, and I will share some thoughts about it.
I also want to say that I am not a doctor or a psychologist, and this is not a medical advice. I am just sharing what I have experienced with depression, so if you suffer from it and think that my suggestions could be harmful for you, then don't follow them. I will also try to keep this blog post as objective as possible, but it will probably be hard since I am the one writing it. I will try to avoid using "I" as much as possible, and try to use "we" instead.
So, let's start.
Depression is often characterized by fatigue, lack of motivation or interest, changes in appetite and sleeping patterns, feelings of guilt or worthlessness, difficulty concentrating or thinking, feelings of being slowed down, and physical aches and pains.
A lot of these things are also common during a long hard period of work. It is not uncommon for programmers to work for long periods of time without taking time away to rest, or even just to take a break. We are used to working hard for long periods of time, and we are aware of productivity diminishing with time, so we try to avoid the diminishing by working even harder.
The problem with this is that we are not machines. We can't work at maximum capacity for months or years without taking time off. When we finally stop working, we deserve some rest. But when you feel like you can't rest, and that you are slowing down, you feel like you can't take a break. You feel like you are slowing down the team and your project. You feel guilty and worthless, and this makes you feel even worse. I have felt this way before many times in my life.
The first time I felt this way was when I was working on a web application project for a big company in Mexico City. We were three people in charge of the whole project, and we had to deal with a company that had their own set of standards, their own way of doing things, and their own way of communicating things. I felt guilty because I could feel that they were not happy with our progress, and because I felt like they were expecting too much from us, given the time we had. It felt like they wanted us to deliver them the moon in less than three months. This was the first time I experienced depression as a programmer. The symptoms hit me really hard because I didn't understand them.
We had never worked with this company before, so they had no idea how we work. We were used to working in big teams, and they weren't. My boss and I tried to adapt to their way of doing things, but it was just too much for us. We were getting depressed from the stress of trying to adapt to everything they wanted us to do. I felt guilty because the project was behind schedule, and because we didn't deliver what we were supposed to deliver in time (but we did deliver something). This made me feel worthless.
The symptoms went away after a few months once the project was over, but they came back again when I started working on another project for them a few months later. It was the same situation: they had their own set of standards, they communicated things in a completely different way than they did before, they wanted things from us that we could not deliver in time given our experience with the product, etc.
The second time it was less intense than the first time, but it still hit me hard enough to make me quit programming for a while. I decided to do something else because I didn't want to go through that again. This was just one example of how depression can affect us as programmers.
There are many other ways in which our work can affect us in such a way that it causes us to be depressed.
If you have never experienced depression as a programmer before, then now you know how it feels like when it happens the first time. If you have experienced it before, then this will sound familiar to you.
So what do we do? What can we learn from this? How can we avoid being depressed again?
Well, one obvious thing is that we need to rest when we feel tired. It is very simple: if you feel tired, then rest. Don't try to push yourself through it, because if you try to push yourself through it for too long, then it will get worse. Take some time off to rest and recover, and when you're rested again then you can go back to work.
We need to avoid feeling guilty or worthless when things don't go as planned or when we feel like we are slowing down everyone else around us. We need to understand that our work is not a reflection of our self-worth. We need to understand that our work is not an obligation; instead it is something that we choose to do because we want to do it.
We need to understand that there is no right or wrong in what we do; there is only what works best for us at a given moment. There is no point in being ashamed of what we do or how we do it; we should be proud of who we are and what we do as programmers. So what do you do if you feel like you are slowing down everyone else? What if you feel like you are taking more time than you should? What if you feel like you are not doing anything useful anymore?
First of all, don't be hard on yourself. You are not wasting your time. You are working on something that you enjoy, and that you are good at. You are not useless. You are not just slowing everyone else down. You are human, and humans have flaws. Yours is just that you take time to do things properly. Maybe not as much as everyone else, but it's okay. Everyone takes time to do things properly. You don't need to feel guilty or worthless just because you take more time to do things than others do.
Second, if you feel like you are not doing anything useful anymore, then maybe you need to change something about the way you work. Maybe you need to change the project that you are working on. Maybe you need to change the team that you are working with. Maybe you need to change your expectations. Maybe you need to change the way you communicate with other people.
Third, don't feel ashamed of taking more time than others do. Don't feel guilty or worthless for wanting to do things properly, for wanting to do things the right way. What you do and how you do it is a reflection of your values and personality, and that is something that makes you unique and valuable to others. Don't be ashamed of it; be proud of it. So, what can we learn from all of this?
We can learn that as a programmer we need to take care of ourselves in order to keep working. We need to understand that we are not machines, and that our work is not an obligation; instead it is something we choose to do, so we need to take time off to rest when we feel tired, and when we feel like we are slowing down other team members or the project.
We need to take time off to rest even when we feel like we are slowing down the project and team; we need to understand that our work is not an obligation, and that we are not worthless because we take more time than others do to do things properly. We need to be proud of who we are and what we do as programmers. We need to understand that our work is a reflection of our values and personality, and that this is something that makes us unique and
valuable to others. We should be proud of who we are and what we do as programmers.