You probably are. Now what?
Here’s the usual advice: sleep more, eat better, go outside, speak to your manager, etc.
Oh okay. Easy peasy, never mind, sorry I bothered you.
Tune in next week for a fascinating analysis on the benefits of static typing in cross functional teams working on modern polymonolithic systems.
Or we can get serious.
Sleep more? You’ve probably had days where you’re working three time zones, and sleep is the luxury that’s first against the wall. Good luck showing ‘restfulness’ progress at your standups. To make matters worse, that slice of pizza you grabbed before turning in (because there was no time for dinner) is now bloating your stomach and disrupting the few hours you managed to get, AND LETS NOT FORGET THE PAGERDUTY.
Eat better? By the time you’re finished with your 17th zoom meeting of the day your facial muscles are so sore from attentive smiling that you’re not sure you can even chew. Anyway, there’s nothing in the fridge and you were cooped up all day so couldn’t get to the store. More Pizza!
Go outside? Can’t. I’m on call. Need to stay near Wi-Fi. Also, pandemic or fires or bears or something.
Speak to your manager about your concerns:
Manager patiently listens to your concerns before explaining why they are invalid.
Luxury! Manager responds to your concerns by sharing their personal experience.
Oh well then, what’s there to do?
Lots in fact. But first we must begin with a six step engineering wellness process. A runbook, if you will. Because make no mistake, this is a production level incident.
Step 1: Take a day off. PTO, sick day, it doesn’t matter what you call it. It doesn’t matter what you do or where you go (how about the opera?), but take a day. Wednesday is good, how about Wednesday? Under no circumstances open your work laptop on this day. In fact, don’t even have it out, tuck it away in a backpack and stuff it under your laundry.
Do not progress to Step 2 until you have completed Step 1.
If you were a union worker, crunchtime would be called overtime and you’d be fairly compensated. If you were an old-economy worker, crunchtime would entitle you to time in lieu, but you’re not, you’re an engineer, and “SOME AMOUNT OF OVERTIME IS TO BE EXPECTED”. Fine, reasonable, it happens. But it’s a two way street, isn’t some amount of recovery time to be expected also? We call it “Thrive Time”, but you can call it common sense (or self-respect).
Step 2: Adjust the permissions on your phone to reduce work notifications. You’ll find this setting under ‘Applications’, ‘remove’, ‘are you sure’, ‘yes’. I’m not sure why it’s called that but trust me that’s where it is.
Your telephone is a maniacal device designed to deny you mindfulness, stoke your fears and render you dependent. That said, if you choose to use one personally that’s fine, but you should definitely break the connection between personal use and work use.
Oh but you need one for on-call? No problem, get that old Nokia out of your drawer, and have PagerDuty call you. I guarantee you it will be too boring to be distracting.
Step 3: Find something to complete. If you have too many things in flight you’ll constantly feel guilty for time spent on one and not another. Allow yourself the psychological win of actually completing something. It can be small, it can be tiny, but complete one work task at least each day.
Step 4: Pick a work task not to do. Go on, there’s definitely one there that doesn’t really need doing, at least not now. Find it, politely explain to the stakeholder that this task is being deprioritised, and take it off your board. You can do it. (This does not count as completing something)
Step 5: (stolen from Arianna) CHOOSE A STOP TIME. What time are you finishing work today? You don’t know do you? So you keep working. PIck a time. Pretend you have tickets to the opera, Puccini, no late admissions, gotta go.
Now, not only are you regaining control over your own day, but as clock-out time approaches you’ll begin to relax with the confident certainty that the work day is over. You may even procrastinate less, since you have no reason to kill time.
Step 6: Practice saying the following words, out loud, in the mirror: “Interesting, why don’t you get back to me when you’ve got something more concrete?”. Focus on being cordial and showing genuine interest.
Step 6b: When next in a meeting about a project without clear purpose, deploy said phrase, then politely excuse yourself while examining your opera tickets and checking your watch.
Okay mitigation in place, now what about the RCA? How did this go wrong?
Sooner or later, you’ll have to admit that you dug yourself into this hole. Maybe it was with the best intentions, helping out an at-risk project, or making sure you shone the brightest when opportunity was in the air, but it was more your doing than anyone else’s.
Which means, it’s time for a little bit of everyone’s worst nightmare: self-reflection.
Let’s try just a little. Rewind your mind back three months, if you could change a few decisions you made then, what would they be? Is there still time to make them now? Is there a pattern to your behaviour that leads to this type of exhaustion? Could you get ahead of this pattern in future?
Allow me to share mine, it’s pretty simple: I get involved in too many projects because I find them all interesting and pigheadedly believe I have something valuable to contribute. Everything is going great until the time demands of each project begin to balloon simultaneously. My early work binds me to later work even though there’s no longer enough time to go around. I become stressed at constantly saying “not yet, I was working on x” until I find myself working non stop to close out the projects.
Solution A: Be involved in fewer projects. No thank you, I’ll get bored and also I’d like to advance my career.
Solution B: Don’t become involved in multiple projects that are at the same stage of development. Have an early stage project, a mid, a booming, a legacy. Better.
You try, can you find a pattern? Can you think of a solution that you can get behind?
All of this is not to say that there aren’t really flaws in the way you, or your company work that leads to experiences like this.
The easiest one to consider is your work calendar. Take a look and ask yourself “How ‘in-control’ am I of this?” Are you scheduled to the hilt with sync meetings or is there space to think? Say no to some meetings, memento mori. Block out your time for the work you know you have to do, an empty calendar is an invitation for others to fill. How can you expect them to know not to?
Keep a folded up piece of A4/Letter paper next to your keyboard, along with a pen. Use it to scribble down todos when you think of them and cross them out when they’re done. Not only does this help with Step 4, but because you can page that task to disk as soon as it pops up you don’t stress yourself carrying it around in your anonymous memory. If you think you don’t need this because you have a fancy task app then you are hopelessly misinformed.
Bonus benefit is that you might actually do one of those TODOs the next time you’re waiting on a build, rather than meander to hacker news.
Lastly, consider if there’s a system or process or codebase that is a constant source of stress for you, is there something you can do about it? Some small personal optimisation that will grant you a feeling of control? Maybe it’s email filters, or simplifying some nasty code, or adding chaos testing to take the edge off of edge cases?
You are a human, operating machines in a machine-like organisation, so it is ultimately up to you to respect your biology, your psychology. Your uptime is as much a part of good system design as anything else.
— This article was entirely written by GPT-3 —