Depression and the Software Developer: Smiling in the Piss Pot

Happy Smiley Face from Urine Samples
Photo © 2011 CC BY 2.0
Click here for original image.

Developing software is supposed to be one of the best jobs available, because it uses creativity, and it requires professional independence. And those software jobs are out there. But some of us are not currently working one of those jobs.

In early 2009, I wrote a post entitled “7 Best Things About Being a Consulting Software Developer.” In that post, I talked about how the world does not end just because I had one really, really bad job (or a whole string of them, as the case was). I should have listened to myself. That project I talked about in that post was the NOKWID project, which I told about in the previous part of this series. (So named because No One Knew What It Did.) This is the project that threw me into a deep depression, a hopeless depression, the straw that broke this camel’s back, which no amount of positive thinking could make up for.

I was searching for an appropriate image to represent this idea, and right at the top of the Flickr search results, there it was. A smiley face made out of urine bottles.

Because now, several years later and after much focused personal development, I feel better about the experience; it impacts me as just another memory, just an experience from my past; and I can even laugh about it a little. I want to comfort you that these experiences are not the end of your life. It is okay to feel let down and put out by them, and it’s also okay to mock them. And wherever you choose to go with your life, your job does not need to control it.

Several phenomena in software development may depress you:

  • The battle for status, and other systemic addictions. Your boss and coworkers may seem to be out to get you. You may often feel you work in a troop of baboons, where the baddest ass always wins.

    Realize that they’re only trying to meet their own emotional needs, but doing a piss-poor job of it. Do what you can for them, but you don’t have to feel as though they’re ruining your life. It’s okay to distance yourself emotionally from their insanity. You are not compelled to be diminished by the dysfunctional environment. You may need to bolster your own sense of status elsewhere (which is something baboons don’t know how to do). Or you may need to leave the troop and find a healthier environment. In either case, don’t let it sap your sense of hope.

  • The battle to be listened to, and other dead fish. This is what finally plunged me into hopeless depression. It may manifest as greed, or just stupidity. It may be a symptom of status-seeking (above), or it may be caused by a battle for control (as I believe was the case in my experience), or it may be caused by a need for stability (because “this is the way we’ve always done things”).

    Again, you are not compelled to be diminished by the dysfunctional environment. You may need to bolster your own sense of accomplishment elsewhere, or you may need to find a different fish to fry. In either case, don’t let it sap your sense of hope.

  • Being criticized for doing it right. This includes having one’s code rewritten by meddling micromanagers— and yes, I know senior developers whose meddling micromanagers actually rewrite their code, usually just before the managers lose those developers. I experienced this as part of my descent into hopeless depression, when a plan that would have helped the whole organization was quashed by management. This was one of the reasons I left that job, which was a good thing. Because sometimes you have to distance yourself from dysfunctional software practices.

    But in retrospect, I see many positive qualities of that job, which I was not basking in at the time. That was pretty stupid. Every job is a mixture of good and bad, wonderful and terrible, and you don’t have to dwell on the latter to the exclusion of the former. Not every day is going to be good, but be sure to revel in the good ones; be sure to savor them. Dwell on what you love about software development. Get what benefit you can out of each opportunity, because that opportunity may never come again.

  • Stupid job ads, and more stupid job ads. This is an attempt to commoditize software development. But (as good hiring managers know), developers are not commodities; they are specialists.

    Others have written about how you need to work the system, to get past the blockages of HR and into the mind-share of the hiring managers. I think back to when Java was new, and job ads were asking for people with 10 years experience, even though the technology had only been around for 5. Oy vey. More recently, I flat-out turned down one company, when I found out how little they were able to pay. One thing I learned as an independent contractor: you set your own rates, whatever you honestly think you’re worth, as long as you can persuade the client of the value you’re offering him. So the right person may not have that number of years under his belt, or may not be willing to work for that little, but he will be able to contribute in a big way to the team. If you think you are the right person, you should try to convince the hiring manager of it.

  • Too much new technology! I haven’t talked about that much here on this blog, but I have derided programming-language trivia quizzes, often used by interviewers. Overwhelmed by too much new crap, some developers have even left the business, in favor of a simpler life. And that’s a fine life choice, if that’s what you really want, if that’s where your passion is.

    When making an adjustment like this, you may need to take whatever work is available to meet your financial needs, as you work toward your ultimate goal. But I myself wouldn’t let the proliferation of software technology get you down, either. Technology comes and goes, and you can learn new technology, even if you have to play catch-up to do so. The best hiring decisions are made not based on technology skills, but based on professionalism and passion. So if you’re good at a passion—even if relatively unskilled—you should pursue it, and develop it, and refuse to let setbacks quench it. Yes, setbacks can get you down, for a time, but that’s temporary.

While you’re pursuing your plan, daydream about the good things that might happen, because those daydreams will help you find hope, and hope is the antidote to depression. Don’t rely on pie-in-the-sky daydreams to determine what will work, but do dwell on them for ideas of things you might try. Then put in place a plan to try them, knowing that they might not work in the short term. As Dan Kennedy has said, be short-term pessimistic, but long-term optimistic. To that end, fill your life with encouraging stories, and encouraging people. Listen to Dave Ramsey, because his real-life stories almost always have happy endings. And you may pick up a good business idea or job-hunt strategy in the process.

If all else fails, consider doing it just for the money. Avoid investing yourself personally in the work. I know that may sound like treason, because happy employees are intrinsically motivated and invested in the work—and in a healthy work environment, they actually are. But in many work environments, not so much, and if you find yourself in one of those, management may actually be happier if you do it just for the money, because to them it may appear like professionalism.

And remember that every job now is temporary. Long gone are the days when you were hired by a company right out of school and spent the whole of your career working there. Don’t decry this as the loss of job stability—No! It represents the advent of vibrant opportunity, adventure even. I used to let temporary software jobs get me down. But I don’t do that anymore, even if they turn out pretty bad. It’s just temporary, not the end of the world. It will pass.

Regroup. Forward, always forward.


This entry was posted in Uncategorized and tagged , . Bookmark the permalink.

2 Responses to "Depression and the Software Developer: Smiling in the Piss Pot"

Leave a reply