Developer Stress #1: Decision Fatigue
Developers have to make dozens of choices, both small and large, every day. These can range from setting up a new product's tech stack to naming a function. All of these small little actions take time and mental energy. They eventually wear on your brain's ability to make decisions, leading to burnout. This stress further cripples your ability to make decisions, and you can get caught in a downward spiral of decision fatigue. How can we overcome this particular stress?
Stress Solution: Reduce Options
Consider this comic from xkcd.
In many cases this chart is an exaggeration, but consider what happens when you add a Strategy C to the Time Cost. You have to compare Strategy C to both Strategy A and Strategy B. If you consider a Strategy D then you have to compare it to the three previous strategies. Clearly, comparing a large number of strategies is not a winning strategy.
Consequently, our first tip is to reduce the number of options or variables you are considering in your decision-making process. For each option you eliminate, you save yourself the effort of comparing that option to each of the remaining options.
Developer Stress #2: Disagreements
A second major source of stress is disagreement. Most developers don’t work alone. There are weeks where we spend more time with our coworkers than with our families. This constant interaction may result (intentionally or not) in reduced professionalism. This and other factors result in disagreements. Some tips for overcoming this stress include:
Solution: Choose Your Battles Wisely
It's easy to find yourself arguing semantics. Does it really matter if the function is called 'getUserId' or 'getUserID'? Probably not. But too often, people become wrapped up in these tiny details (there's a term for this too: bikeshedding!). The discussion becomes counter-productive and time gets more wasted than college kids on St. Patrick’s Day. Even if your idea or choice is more correct, it won't always win. Make peace with it. Sometimes you have to cut your losses in order to keep going.
Developer Stress #3: Overloaded
Working nights and weekends? This third stress is a bummer. Check out these savvy solutions to save your personal life from the black hole of time that work can sometimes be.
Solution: Know Before You Go
A developer should never be caught by surprise by the expectations of the workplace they’ve chosen. Have the foresight to ask those questions during the interview phase and make sure that expectations match up to the work-life balance you want to have. Don't just ask about a "typical day" either. Specifically ask how often crunch times happen and whether there is an on-call rotation.
If you're already at a job and struggling with spending too much time at work and not enough time living the rest of your life, talk to your manager! You might be surprised to discover that your boss doesn't want you burning out either.
Developer Stress #4: Feeling Stagnant or Bored
There will be times in your career when you won't always get to work on what you enjoy most. That's the job part of it. These tips will help you power through those phases.
Solution: Get Involved
Look at this problem from a career perspective: we chose software development because we love it right? Often enough, the most enjoyable aspect of my career is something I'm doing for fun, not money. Writing a tech blog, attending/presenting at a meetup, or coding a fun side project is a great way to get involved with something new. Mixing fun extracurricular items in with the dull makes those dull tasks more tolerable.
You might even get the opportunity to incorporate something new in at work. Trying new things outside of your day job is a great source of creativity and inspiration. Bringing that to work is a good way to get noticed and start working on newer or more rewarding projects.
Regardless of what the problem is, you are not the first person to have it. Do your due diligence and try to figure it out, but don't bang your head on the keyboard all day. Talk to another developer or your manager to get help! No one likes a workplace martyr (“look how hard I’m trying to find a solution on my own!”) – do your best to find a solution, but call for help when too much time is passing.
Now that we've covered some common developers challenges, remember to step back and try to tackle the cause of a problem. We covered some tips that have worked for us, but if you have a tip that helps you manage stress and focus on productivity, be sure to let us know in the comments!
This article was originally featured on AirPair and can be viewed here.