Mobile Infra Wrangler
Joined March 2020
Working While My Colleagues Sleep
– A day in the life of a distributed software engineer
I sit at my desk, have a sip of coffee, log in to the work chat, and type “Hello everyone ☕️.”
Shortly after, someone else replies “I’m off for the day 👋. “
My colleague didn’t do an all-nighter, nor am I a night owl. It so just happens that I live in Australia while they are on the East Coast.
I work for Automattic, a distributed company with team members all across the globe, and in this post, I want to share an insight into the life of a distributed software engineer.
First of all, let me make a distinction between distributed and remote.
The word remote comes with a sense of isolation. A remote cabin in the woods. Being stranded on a remote island.
Working remotely can feel lonely, but there is no isolation at Automattic, and this is why we are a distributed, not remote, company.
It’s possible not to feel lonely even though you don’t share an office, or a timezone, with your teammates. Over the years, we built an environment that makes collaboration and comradery possible even when people are not in the same room five days a week.
After saying “hi”, I check my pings across GitHub and P2, the tool we built to manage our projects and communications. Since most people work while I’m offline, there’s often something noteworthy that happened since I logged out the day before.
Catching up with my inboxes gives me all the information I need to plan my work for the day.
Working with a distributed company allows you to be strategic with your time. You can craft your days and weeks’ schedule to achieve a genuine work/life balance.
Nothing stops you from taking time off in the middle of the day to get to the shops when there’s no queue, or catch up with a friend in the morning and make up for it by finishing later. I also get to share meals with my children, take them to kindergarten, and do morning sport activities together.
Nobody judges you for the time you start or finish working. When you strip away the busyness and other social signals of the office environment, the only remaining metric is the quality of your work. There’s nowhere to hide. It sounds harsh, but it’s actually incredibly empowering.
I plan for my day to coordinate my personal and working commitments and do the best job that I can.
Usually, the first time-block in my daily plan is for code reviews.
We care deeply about helping and unblocking each other. When your team is spread across timezones, it can be you have to wait until the next day to get feedback on a pull request. Staying on top of code reviews is critical to avoid other people becoming blocked and to keep up the momentum.
By the time I’m done with code reviews and other feedback requests, it’s usually lunchtime.
In the afternoon, I focus on making progress on my projects. Mostly that means coding, but I might spend a whole afternoon researching and writing a P2 post to share a software design proposal.
Before wrapping up, I write down all the information my teammates might need to continue working on our shared projects. In a distributed company, communication is oxygen.
Once or twice a week, I may end up doing some work in the evenings because I spent time away from keyboard during the day. Sometimes, I may also end up working late or starting early because of a video-call with people whose online time overlaps with mine only in those hours. When that happens, I offset by shifting my start or end time accordingly.
The life of a distributed knowledge worker doesn’t have to feel lonely or inefficient because you don’t have immediate face-to-face access to your colleagues.
At Automattic, we invested, and keep investing, in crafting good processes for asynchronous and decentralized collaboration, such as how we use GitHub labels and milestones in our release process. We compensate for the slower feedback time with thoughtfulness in our communications and an environment conducive to deep work. The result is better decision-making and higher quality work in the long run.
Being distributed doesn’t have to feel lonely either. In fact, having access to people from all over the world means you’re likely to find someone with similar interests to chat with. You can also discover new perspectives thanks to someone with a different background.
I hope my experience shows you that work can be enjoyable and effective even when you have only a few hours of overlap with your teammates. So don’t let time zone differences dissuade you from working for a distributed company.