I arrive at my office. I walk next to my colleagues’ desks. I see most of them with their headphones on. The office is quiet, except if one of our teams is having a standup meeting or a mandatory discussion. Does that scene seem familiar to you too?
Software developers spend a long time thinking, experimenting, implementing and experiencing many different feelings, mostly alone. Since I started my software development journey until now, I have been witnessing this scene mostly every day and in most of the companies that I have worked for. Being a person who does that also (putting my headphones on for almost eight hours every day), I started to realize some changes happening to myself and my character over the years. Many of them affected my personality and my mental health, and this is why I wanted to write this article, to share my experience and to tell a personal story.
Software development is a very exciting field. There’s an infinite amount of opportunities and a ton of things to learn every day. Once you start learning how to code, you will be amazed by the huge amount of books, tutorials, resources and communities out there sharing knowledge and encouraging people to learn more. But on the other hand, this field is moving so fast. Every day there’s a new framework or a new technology out there to learn. And this is the first thing that you start to feel: anxiety.
I know many people (and I’m one of them) who have this feeling that they want to learn everything at the same time. I always check the new technologies out there and add them to my “To Study” list. And this list keeps getting bigger and bigger every day. A simple morning skimming through my Twitter feed can make me very anxious for the rest of the day because I read about so many technologies and new things that I have to learn. And whenever I see more people talking about those technologies, I get more anxious because I keep telling myself that I should have known these technologies by now, but my list is so big and my day is not enough to learn everything.
My second source of more anxiety and self-doubt is job interviews. To be specific, being rejected after a job interview. I still remember that for every job interview that didn’t go well I would spend at least one week trying to recover and trying to forget about my experience. Getting rejected by a company is not the end of the world, but it just makes you question yourself a lot. Am I good enough to get jobs like that? What did I do wrong? What am I doing wrong now? Is software development the right job for me? Suddenly, it feels like you will never be able to get a job or join the company of your dreams. And with more rejections, this feeling starts to get stronger and stronger. It just makes you question your performance also at your current job (even if you are good at it) and makes you feel that you don’t deserve it. Impressive, right?
Having some of your friends or your connections who work at one of the tech giants like Google, Amazon, and Facebook can add more stress too. When you check their updates and their photos from their cool offices and workplaces, you will ask yourself: why am I not there too? This question itself is enough to make you lose a significant time roaming in your thoughts and self-doubts. The constant comparison to our friends and colleagues can make us doubt our abilities and our achievements. Our network is small and we are well connected in a way that makes it hard for us to avoid reading about their updates, even if we wanted to.
All of the above points mentioned only some of the external factors for anxiety and self doubt that I feel and that most of my friends who do software development experience too. But what about mentioning some other factors like the competition inside your team? When for example you see one of your colleagues committing a huge amount of code every day, or another one finishing his tasks in no time. How do you feel at this moment? Let’s add also one more thing: if this brilliant colleague is younger than you! How many times did you get the feeling that you have wasted so much time in your life and that you should have done more to be able to keep up with these brilliant colleagues?
What about the new exciting project that you are working on now? How many days did you say that you will do just one extra hour today only but you end up leaving the office at 9:00 pm? How many weekends did you spend fixing bugs and doing more work just to feel that you are doing a great job and to make yourself feel better even if you are not paid for this extra time?
I feel also that I should mention an important point, which is the “office politics”. I don’t need to go through this term and explain it in more details, I’m sure that many of you know what does it mean. Being in a toxic work environment which is filled with politics can also make us very depressed and just hate the idea of waking up and going to the office.
All of the above is just a small part of what I have experienced and seen through many years of my software development career. But the list is very long indeed. The most important point is that because software developers spend a long time and experience many different feelings alone, this can make them transform into more silent human beings who can’t even explain their feelings or their problems at a certain point. They will not also realize that something is wrong with them. And I see that this can be very dangerous. For a long time, I felt that this is normal and that I’m fine. That I should keep up with the office politics, with my self-doubts and my anxiety. But the truth is that we shouldn’t be like that. Being a software developer should not negate the fact that you are still a human being. You should be happy with your life and you should enjoy your job. You should be excited about every line of code that you right. You shouldn’t feel that you are forced to do your job. So, when you see that this is not the case, you should know that you need to make a change. The most important change that you can make is, to be honest with yourself and to ask for help if you feel that something is wrong with you. It’s not shameful to say that you need help, and it’s not shameful to seek it.
Software development is beautiful, but we should always remember that our mental health is more important than writing the most amazing code or finishing a project in the shortest time possible.
In the end, I have to say thank you to Brainfork. I have been thinking about writing and sharing some of my feelings about anxiety, depression and mental health for a while, but after listening to this list of podcasts I became more inspired and this is why I wrote this post. I encourage you to listen to these podcasts too if you have time.