A day in the life of a work-from-home software engineer

7 min read Original article ↗

Jimmy Postwick

a frantic saunter

7am — 9:30am

I wake up exhausted from a lack of sleep. I walk the dogs, eat breakfast, and stress out about the work I’m behind on.

9:30am — 10:25am

I sit down at my desk and pop some Strattera. I’m probably behind on something that I committed to doing the day before, but there’s only an hour until standup, so I feel a rush of pressure to keep my head down and hack out as much as I can. I’m locked in and focused for 55 minutes.

10:25am — 10:30am

I like to spend 5 minutes before standup writing down what I’m going to say.

Crafting a standup message is an art because I can either admit that I didn’t get much work done or I can craft a beautiful story about the progress I haven’t made that makes it sound like I’ve been exploring many promising routes on my way to having not yet figured out the problem (rather than just avoiding my work by surfing the Internet).

10:30am–10:45am

This is our “daily standup” where we discuss what we’ve done in the past 24 hours. I read the statement I’ve been preparing over the past 5 minutes.

Compared to my teammates who actually like coding and are doing work (rather than workshopping standup messages), I come across as having a cohesive story to the work I’ve been doing, so Manager thinks I’m doing a good job and tells me to keep going.

These other engineers on my team have actually produced code, but have less of a story to tell about it (or stumble with poor verbal communication/language barrier) so Manager thinks less of them, even though I see how much more/better code they (some of them) are producing.

I usually finish my standup with an estimate on my future work that is roughly quadruple the time I think it would actually take me to do the work if I could muster any focus throughout the day and 16x as long as it would take another engineer who is both focused and has even the smallest amounts of fucks to give about the work.

The huge buffer I give myself makes me on the somewhat more predictable side of software engineering estimates, so again, Manager likes this and thinks I’m doing a good job since they have too many people to manage and meetings to attend to really understand if the work I’m doing should actually take as long as I’m saying it will.

My teammates are either too non-confrontational or too wrapped up in their own work to ever comment on my absurd estimates, most likely some combination of both.

10:45am — 5pm

So begins my day of anxiety-induced avoidance from any actual coding.

I have set goals for the day, and tell myself that if I can even make a little headway on them, I should be able to wrap up by 5 and have time to work out from 5–6.

I usually begin by opening up my text editor and articulating the immediate problem that I’m trying to solve. I go down a couple of routes that I think will provide clarity, and then get stuck and give up.

Inevitably, within the first 5 minutes, I hit a wall and don’t know where to go. I then begin to think how hopelessly complicated this code is, how little of it I actually understand, and how much I hate programming.

The easiest way to ease this anxiety is to pop open another browser and start surfing the web.

My usual haunts are hacker news, the garbage on the front page of Reddit, NPR/AP News/Reuters, and occasionally some longer form stuff like Naked Capitalism or Matt Levine’s daily money stuff article.

I browse around until lunchtime, speed through lunch so that I can get back to the work I’m already feeling behind on, and then hurry back to my desk.

Throughout the afternoon, my anxiety begins to rise as I’m falling further and further behind on my goals for the day.

If I’m lucky, I might have a meeting or two peppered in throughout the day. Good coders hate meetings. I love them. They are the only time I get to be present at work “in the moment,” not thinking about some task I’m behind on or why my code isn’t working.

I reminisce fondly about when I used to work retail and stock shelves in high school. Every minute of work was all about living “in the moment,” no worries about ambiguously deadlined projects in the far future. My body didn’t atrophy and I was actually in pretty good shape from hauling heavy boxes (but not so heavy or frequent that I could do any actual damage). No need to take ADHD pills every day.

People say the hardest part of retail is shitty customers and power-trippy managers; maybe I just got lucky but the few shitty customers I dealt with added some spice to the day and as long as you remain calm I felt it was easy to diffuse them or at least make it clear to everyone observing that they were clearly the ones being a jackass.

I tell myself I should go back and work retail, maybe open up a store of my own. Or maybe, go train for a bit to work in a field that pays slightly more than retail but still lets you live in the moment (I dunno — fly helicopters? nursing?)

Who am I kidding, I get paid 275k a year to work for a couple of hours, lie to my team about what I’m doing, and get praised by Manager, who honestly was probably a similar engineer to me and now makes 500k a year to tell stories to their manager.

5pm — 6pm

My anxiety is at peak levels; no time to work out today because I’m too far behind. I spend this last hour with severe hypertension, furiously jumping from browser tab to browser tab, trying to find some content, any content, to help distract me from the work I’m not doing.

6pm — 11pm

Clock strikes 6. I still haven’t done anything today, but I know that I must stop trying to work because it will only tear my mental health down further to keep trying. The minute I close my computer, the anxiety leaves me as I’ve transformed from innie to outie and know that regardless of how badly I’m doing, I’m done at least for the rest of the night.

I spend the evening doing normal people things — eating dinner, doing chores, and hanging out with my partner.

11pm — 11:05pm

Lie down for bed.

11:05pm — 1:01am

Get flooded with a wave of anxiety as the reality of how far behind I am sinks in. Hop up and spring to my desk. When I get to my computer, this anxiety transforms into pure adrenaline.

I’m locked in, baby. The next two hours or so are a mad rush of coding. As I begin to approach some form of a goal (such as getting a piece of code working), my body begins to tell me how little energy is left in the tank.

At this point, I’m taking every shortcut in the book to wrap things up and get some sleep. I’m skimping on tests, duplicating code everywhere, forgetting to delete print statements I’ve peppered in random places, but I don’t care, I’ve solved the core problem and if I have time in the morning I will try to clean it up before standup. Otherwise, I’ll push out this garbage and use “waiting for review” as my line in standup to make it seem like I’ve done my part in a timely fashion and not just pushed up crap that will take three times as long to review as code that was written by someone with even an ounce of attention to detail.

1:01am — 7am

Get in bed exhausted. Begin to fall asleep when the thought of only having five hours and fifty-nine minutes left until my alarm goes off keeps me up and restless for a little while longer.

Press enter or click to view image in full size