Programmers and Mental Health
Its been said that after years of developing software, programmers begin to dream in code.
Quite literally, most of us who have been serious long-term coders have developed a sort of half-human half-computer subconscious mind that speaks to us in the form of the programming language we live and breathe throughout the day.
Last night, I had a familiar “nerd dream” pop into my head:
IF ManyErrors=True AND Deadline=OverDue THEN Panic!() ;
Loop Until Forever
I woke up in a cold sweat. Was I behind on any projects? Stuck on any bugs? After a few minutes I realized it was just a dream and fell comfortably back asleep.
The life of a software developer can be very rewarding. Great pay, interesting projects, constant learning, and a sense of pride in doing something that few others can do–these are often listed as the perks of being a coder. Developing software is both challenging and fun, requiring a unique combination of creativity, logic, and problem solving skills.
Like any job though, there can be good and bad days.
I was recently having lunch with a few of my fellow Nashville coders when a seemingly casual conversation about work morphed into a deeper conversation about what we decided to term “nerd-life balance”.
It seems like my recurring programmer’s dream about software requirements, deadlines, and bugs, although weird, was not uncommon amongst the other developers at the table. At some point in our coding careers, each of us had experienced concerns about both our own and our co-workers’ mental health.
Software developers are generally very bright people (myself not withstanding) who work with a passion. By and large we love our jobs and feel lucky to be making a living working at something that many of us would consider a fun hobby. Nevertheless, there have been more and more stories over the past few years of coders suffering from anxiety disorders, depression, and even diagnosed nervous break-downs.
At one level, the risk of mental health issues amongst techies makes total sense. Projects that involve complex work, aggressive deadlines, tight budgets, and ever-changing requirements are more the norm than the exception in the software development world. Combine that with constant inter-dependencies between other developers, project managers, business analysts, designers, and business owners- all of the ingredients for a stress/anxiety cocktail are there.
I dare say that anyone who has ever been close to a software development project has witnessed at least a bit of insanity. Some of us enjoy the chaos, but there are others who understandably get burned out. Pulling all-nighters coding, responding to emergencies, and saving the day can be intoxicating, but at the same time can also be risky.
These stress-inducing characteristics of techie life are of course not all that different from those of many other fields. But what is different is that the stressors have gone almost completely unaddressed by either developers themselves or by companies that employee developers.
As computers have come to dominate every aspect of our lives both at work and at home, web developers, mobile app developers, database specialists, and coders of all types are busier than ever. Hard work can be a good thing. But if hard work can be balanced with happiness it is a great thing that will benefit both developers and employers alike.
JJ Rosen is the founder of Atiba, a Nashville IT consulting, programming, networking, web design, and web development firm.