Fixing Your Work Life Balance
Being a workaholic is one thing (and over-diagnosed by internet “bro science” experts, but whatever), but work/life is something that many people struggle with. We value our work and we often enjoy it. Furthermore, we often feel a sense of loyalty to our teammates. We also are often concerned that if we don’t work more than expected, that we’ll be first on the chopping block when the inevitable round of layoffs occurs. This is especially true for older developers who have been around the block a few times.
When we talk about overwork, the first and most important thing to know is that the typical suggestion of “just work less, man” doesn’t actually fix anything. It’s a complex phenomenon arising out of a number of issues, such as insufficient staffing, poor planning, fear of losing your job, comradrie with teammates (and a desire not to disappoint them), or even a misunderstanding of what constitutes a “good enough” work ethic all play a role. Further, because overwork produces short-term gain at the expense of long-term mistakes, it often establishes a feedback loop that causes you to have to overwork even more. Once you make a habit of working too much, the problems you create become reasons to stay a little later to get things done. Adding to the madness, more than likely your manager is aware of at least some of these problems, increasing your fear of getting fired if you were to cut back to a reasonable number of hours. If you don’t want to quit your job to get away from being overworked, you need a strategy that takes these things into account.
Fortunately, many bad work situations with inherent feedback loops would solve themselves if the feedback loop wasn’t present. Overworking is one of those work situations that relies on a positive feedback loop. If you can get rid of the inputs to the feedback loop, the actual problems start to become tractable. If instead, you decide to try to simply work your way out of being overworked, you’ll be in an even worse situation afterward. The key to it all is very similar to much of the debugging we do every day – you determine which of the inputs to the system is causing a problem and then you either keep the input out of the system or you modify the system to be tolerant of the input.
Poor work/life balance is corrosive to your quality of life. Not only does it chew up time and attention for the things that matter, but it destroys your health and your enjoyment of life. Even more insidious, it often contains a feedback loop that causes it to perpetuate itself. This can stymie any effort you make to fix the problem. However, if you understand that you are dealing with a feedback loop instead of a linear system, it can become easier to fix. Provided, of course, that you acknowledge the feedback loop and do things to reduce its power until you can fix the problem.
Start tracking your time and tasks accurately.
While your intuition about where your time is going may be right, you can’t really prove that things are better until they are measurable. The goal here is to fix your work/life balance, not to constantly be trying to test out different ways to do it. Measurement also has another interesting side effect in that it changes behavior. Everyone has a couple of recurring tasks that they despise – you’ll often find that you become more efficient at these tasks, simply because you realize how miserable they make you and for how long.
Time spent on various tasks is proof of their actual priority. You can tell a lot about someone’s financial priorities by looking at their bank statement. You can do the same with their priorities in general by looking at where they spend their time. The other reason you want to do this is that you may be able to correlate how you feel on certain days with the activities you did those days. While this doesn’t fix your work/life balance, it does give you the opportunity to choose more fulfilling work, which can make it easier for you to deal with a poorly balanced life when you must.
Start making your boss prioritize.
If everything is a priority, nothing is a priority. A lot of people in management positions are in constant “firefighting” mode and spend their time (and their employee’s time) reacting to stimuli. This is a remarkably ineffective way of doing anything and tends to result in overwork, burnout, and eventual company failure. While you can guess at what your priorities should be, if you are in a situation where you are overworked, it may be because you aren’t working on the right things. Part of management’s role should be the determination of priorities, so it’s worth asking them.
It’s also important to do this so that management understands how much of a workload you are under. It’s easy in a management position (at some companies) to be blissfully unaware of how many hours your direct reports are working. Be sure when discussing this to remember that the prioritization is about which business tasks are more important than other business tasks, not about whether your personal life is set aside for business tasks after hours. Managers who have poor work/life balance are often confused on this point.
Handle the time vampires
As you start tracking your time and trying to prioritize your tasks, you’ll start noticing that there are low priority tasks, or situations with other people that chew up an exorbitant amount of time. If you are working a crazy number of hours, you may also find that you are spending a lot of time on things that aren’t work related. One of the consequences of working too much is that necessary “life stuff” ends up happening during work hours.
Low priority tasks that “sneak in” also have a tendency to expand to fill whatever time you give to them. This is partially due to a lack of accountability, and partially due to frequent context switching, but a half hour task that you didn’t plan for can easily take 4 or 5 hours if circumstances are pathological enough. You’ll also find that people with poor work ethics (or poor boundaries) will also either directly interrupt you during work, or will create distractions that make it more difficult to get things done. You’ll want to start setting boundaries here, because the cost of these interruptions is the loss of your peace of mind.
Focus on your work while at work, and turn it off when you leave.
Before attempting to fix your work/life balance, you need to fix your efficiency while you are working. Counter-intuitively, one of the best ways to make this happen is to completely disconnect from work when you aren’t there. This only works well if you force yourself to stay focused on work while at work – otherwise you will have an observable decrease in your productivity. You may want to consider trying out productivity techniques, such as the pomodoro technique in order to help avoid this problem.
Sometimes things will break after hours if you aren’t there to manage those things. More than likely, your poor work/life balance has enabled things that should have never been allowed in the first place. Fixing these permanently is your path to freedom. Alternatively, if you find that nothing breaks when you disconnect from work, then your reason for a poor work/life balance is emotionally based, rather than being a workload issue.
Stop working extra (or too much extra)
Many people take a lot of pride in their ability to work long hours. However, that tendency to overwork is actually a risk, to both yourself and your employer. While the health risks of working too much are fairly obvious, the business risk of overwork tend to be more subtle. Human beings and businesses respond to incentives. Maybe not immediately, but eventually they have to. Working an excessive number of hours as a salaried employee means that the business suffers no consequences for inefficiencies – you are the one eating the cost.
The practice of overworking also throws off any estimates that management makes on previous data, especially if they don’t realize that you work too much. If you are in the habit of covering for missed deadlines using your personal time, it just makes the next estimate worse. The previous suggestions also imply that you let management know how much you are working, and that you do so for a while before making any changes.
Take time for maintenance activities, training, and breaks.
During work, you need to stop working on critical things periodically and take time to actually handle “maintenance” activities. These include things like biological necessities, learning new technologies, or simply taking a few minutes to think about something else. Failing to deal effectively with maintenance activities will make you less effective over time. Even just failing to clean and organize your workspace will often cost you an increasing amount of your precious time, over time.
Similarly, training (on the right things) will pay off over time, making you more efficient. You may, however, elect not to tell management that you are more efficient now. Any extra productivity you have should be leveraged to either free up your time until you have a sane work schedule, or should be put towards training to further improve your efficiency. The point of the exercise is not to make you more efficient at work, it’s to give you enough efficiency so that your output doesn’t drop while you are making your schedule sane again. If there is surplus capacity left over afterward, then they get the benefit of it, but you need to take care of yourself first.
Start playing to your strengths at work.
Many developers feel like they have to be good at everything and knowledgeable at everything. Nobody actually is good at everything. A lot of efficiency is lost by working on things that you aren’t good at. While we do typically suggest that you make periodic forays outside of your comfort zone, doing so excessively probably won’t help you very much. In particular, this is a bad idea when you are already overloaded with work, because the stress keeps you from learning much.
If you instead play to your strengths, you can improve your efficiency and deepen your knowledge of the areas where you are an expert, while allowing others to do the same in THEIR areas. This lessens the pressure on the whole team, slowing the feedback loop that leads to overwork. If management makes the assumption that everyone is equally skilled at everything (or that you are), it also throws off resource allocation. Which makes it more likely that you and your team will get overloaded in the future.
Clean up your workspace(s)
While cleaning your desk is the most obvious example of this, it’s not the only one or even the best one. Lingering, nagging problems are often ignored when people are overloaded. Those small problems add up and make the overloading worse. This is one of the reasons we suggest doing things that lighten your workload and free up your time while not being so obvious. It gives you time to fix this stuff, rather than having management immediately use the extra time to roll more features.
This also applies directly to your codebase. There are probably recurring things that you’ve noticed that slow you down regularly. Now is a good time to fix those. Don’t ask, just do it. As long as you are getting your critical tasks done, quiet process improvements will help you shift the overwork feedback loop in the opposite direction. It goes without saying that if your management won’t allow you to spend any time at all on process improvements, that processes are going to continue to get worse. Pull the cord on the parachute before impact.
Understand your chronotype and your peaks and troughs
You should spend time trying to figure out when your optimal work times are and more importantly, when they aren’t. If you are trying to do your best work at an inopportune time, it won’t be your best work and it will take you longer. This can take some effort.
In short though, you can figure this out by monitoring your energy levels and desire to work during the day for a few days and compare that to what times you THINK you are best suited to work. Oftentimes people are wrong about this and adjusting it will change your life. You should be doing your top priority, most difficult, and most impactful work during your optimum working time (peaks). Lower priority work, meetings (where possible), and the like should happen when you are at a lower level of focus and energy (troughs).
Improve the way you estimate.
Bad estimation will get you every time. In general, when you give estimates, you need to pad them. 3X is generally reasonable, to deal with scope creep, unknowns, and interruptions. You may also find that management ignores your estimates (or alters them to mean what they want to hear). If so, then you have an entirely different problem on your hands.
Be especially careful about anything unknown at the time of making an estimate and do not allow other people to force you into committing to an estimate that is insufficiently detailed. Otherwise, you’ll likely feel an obligation to overwork to get things done in time. As soon as you start realizing that you aren’t going to hit a deadline no matter what you do (or without overworking), you need to let management know. Waiting until the last minute has worse consequences and is likely to make you accept bad ideas like crunch time.
Tricks of the Trade
Work isn’t the only place where you can find yourself over extended. School, friends, family, church, hobbies, etc…podcasting… can slowly take up more and more of your time. If you aren’t careful you’ll end up having a good work balance but be overwhelmed when you aren’t working. It’s perfectly fine to be busy and have a lot going on, however you need to be able to take time for yourself and get some rest. It takes a little bit of effort, and over doing it once or twice, to determine where you limits exist. Once you know them try to stay well below because that will allow you space to change or if anything unexpected happens you are able to accommodate it.