How Finding Balance Will Make You a Better Developer

‘Improvement’ for a developer is a complicated term; developers are always learning, upskilling and refining their craft. There’s an expectation that you’re always on, and it can burn people out. If you’re an aspiring developer sitting their in a caffeine-induced frenzy wondering how successful developers seem to consistently complete amazing work, get adequate sleep and maintain a healthy social life, the following piece has got what you need.

Overworking versus Consistency

Junior developers are vulnerable to overextending themselves. They are keen to make an impression, take on challenging projects and are willing to do the necessary overtime to meet unrealistic deadlines. It’s laudable, but it’s important not to conflate longer hours with more productivity. It’s unsustainable. Whenever you’re working more than you should be, your performance goes down. People tend to overextend themselves because they think it’s bad for them but good for the company (and so good for promotions, pay increases etc for them), but it’s bad for them and the company. A stressed, tired, unhappy employee is not a productive employee. Of course, everyone may feel overworked from time to time, but managing it and recognizing that you feel tired will help you schedule meaningful down time.

As an employer, when a developer’s quality is constantly fluctuating it makes it difficult to know what tasks to assign them. I’d much rather hire a developer who consistently provides great work, rather than one who sometimes produces outstanding work and at other times is well below the mark.

So how do you leave the burnout cycle? A good place to start is to only accept realistic deadlines—learn to push back if something isn’t doable in the given time. Having realistic deadlines means you’re much less likely to be put in a position where you need to do overtime. It’ll also improve your outlook towards developing—if you know exactly what you need to accomplish and know that you are capable of reaching it, your cognitive power that was being consumed by stress can now be invested in the work itself.

Selective Learning

Technology is always changing and developers are constantly being bombarded with the next “revolutionary” technology or development tool. This will usually come from dev blogs or the like. Although many of these updates, tools or techniques are great ideas in theory, they won’t gain significant traction. Every evangelist wants you to believe that their new JavaScript framework is going to turn the world on its head, but relatively few do. It’s good to be aware of such technology, but learning a technology that has no financial, marketing or community backing will likely end up being a waste of time.

Where should you invest most of your energy then? It’s in your best interest to pay attention to new tools or frameworks created by large companies. Here’s why:

  • The technology and updates will be documented clearly
  • Financial backing will increase a new technology’s chance of gaining traction
  • There’s a larger surrounding community to bounce questions off

Once you build better instincts, you’re going to be more equipped to experiment with bleeding-edge tech and be on the forefront of new developments, but it’s recommended that—for a few years at least, until you’re capable of handling it—you stick with the safer roads.

Furthermore, developers with communication skills are highly sought-after. Generally developers don’t grow these skills because they’re not directly related to developing, but they’ll greatly increase your likelihood of being hired, promoted or chosen to take on large projects. Soft skills are critical for teamwork and creating a good company culture, and HR managers are sick of candidates who think an excellent CV means they don’t need to work well with others. Learning to work as part of a team will make you happier, healthier and more productive.

Learning to relax

It sounds odd to say that relaxing is a skill—we usually think of skills as things you do, but knowing what to not-do and when to not-to-it is critical to staying sane. With deadlines constantly lingering above your head, new technology to learn in your spare time and the overpowering tendency for workaholic developers to never let their mind rest. Relaxation is something that many developers don’t get enough of or don’t truly let themselves have. Relaxing can take many forms and will be different for each person depending on their life situation.

It’s nowhere near limited to meditating in an Instagrammably-perfect forest—it can be as simple as baking, or spending time with your family, or watching your favourite TV show. It also can be a largely varying period of time whether it be one minute sitting back in your chair, stretching and looking out the window, one hour during your daily break, an afternoon or day where you’ve cut off all possible connections to developing, a week or two spent investing in other important parts of your life.

For people who like to do things in blocks, scheduling time off may help you relax. For others, they might like to work until they feel they’re beginning to lack concentration and will take a break then. Unless you’re self employed, taking regular breaks probably isn’t a reality, so you need to learn to relax outside of work. Here’s some advice: don’t let yourself get sucked into social media! You’ll click on one post, then the next one, then two hours pass before you realise you’ve been stuck in the echo chamber, it’s pitch black outside and you’re starving. This isn’t relaxing, this is a grey area where you’re neither learning nor relieving your mind.

Acknowledging that relaxing is productive can be a game-changer for many developers. Finding a healthy balance will make your time spent developing more enjoyable and will also stop you from needing so much down time that it negatively impacts your work schedule. Only take on work you’re able to handle, and look for work at places like CodeClouds or Zapier that allow developers good jobs with freedom and flexibility. Burnout is real, and—if you want to be the best developer you can be—it’s important to take time for yourself.