Sometimes I get questions on what it’s like not working in an office, one of the perks at Automattic. So here’s how today went.
7:15 – The kids slept in, so we got a late-ish start today. Make the morning coffee, enjoy our usual breakfast of eggs and toast. I catch up on the news, mostly through our Reader, which I work on, and through our Slack channels. It’s a Monday, so it’s mostly pictures of what folks did over the weekend.
After we get the kids dressed and off to (pre)school, I head back home for my usual “start” time, 9am. Automattic is not my first remote gig; I’ve actually been a remote since 2005. My ten year no-officeversary is coming up next April. In that time, I’ve come to realize that I need a fairly structured day and a quiet place to work to be productive. That place is my home office, a spare bedroom on the second floor with a door and a different feel from the rest of the house. The wall color isn’t used anywhere else, and the cork floors are only in this room. When I cross the threshold, it’s time to work.
Today is a big day for me, as a new piece of infrastructure is heading out the door. The project sits right in the publishing pipeline for WordPress.com, so it has to handle a lot of traffic. Today is the day I push out it out, bit by bit, letting more and more traffic pass through it. By the end the day, the goal is to have all available traffic flowing through.
Once I get in, I check in on Slack and let my team (the Reader Squad, part of Triton, which is a far-ranging team) know what’s going on today. I spend most of the morning running final tests against my new code to make sure it’s doing what I expect and reporting stats correctly. I bring up a separate browser session with all of the stat pages I want to track during the releases and break for lunch. It’s about 12:30.
My wife also works from home (professional quilter), so we have lunch together and chat about what’s going. Today is a pretty crazy day for both of us, so it’s good to have a break and let things mull over some more.
After lunch, more testing, add a couple more stats, some logging and let my team know we’re starting. The new software has two parts: one that processes a queue of things to do and one that pushes things into that queue. The plan is to launch the processor first, make sure it works as expected, and then push the pusher second, ramping up how much traffic it handles over an hour or two, while watching the stats and the queue to make sure we can keep up.
1:47pm: Push the queue processor. At Automattic, every developer can push code to production, and we do, quite often. The queue processor ended up being three pushes in about 10 minutes. I decided late that I wanted another stat.
2:28pm: Push the queue insertion job, initially letting 1/1000th of traffic through the gate. Start watching stats pages, queue size, and errors on WordPress.com. Everything looks good, so I push another release to drop the percentage to 1/500th of traffic.
Over the next hour, I slowly ramped up the traffic being let through, finally allowing 100% of traffic through at 3:12pm. Keep watching stats pages, keep watching queue size, error logs. Everything looks good. If at any point things had turned sour, I could simply revert the previous change or push a new change to spin down my new system entirely.
I kept watching and in the meantime, caught up on our internal blog traffic (we call them P2 or O2s) from the weekend (we write _a lot_) and started looking at the codebase I’m going to be working with on my next project.
4:45, off with the family to get $youngest from daycare, then out to eat for dinner. Get home around six, watch some TV, relax. Get the kids ready for bed around 7:30 (starting Harry Potter over, again, for the 7yo), then notice all these #a8cday posts and decide to write one of my own.
And here it is. Time for some bourbon.