Beau is the Head of Product Engineering of WooCommerce at Automattic, a fully remote company that is building some of the world's biggest platforms like WordPress.com, WooCommerce and Tumblr. In our interview, he talks about working on a global remote team with almost 1,200 employees and how to overcome time zones.
"Automattic is distributed all the way to the DNA"
Hey Beau, thanks for having this talk with us! You are responsible for Product Engineering of WooCommerce at Automattic, the company behind well known web products like WordPress.com and Tumblr. How would you describe your role? What is your day-to-day like?
I often say that my role is largely about being glue. Glue between the engineering managers within WooCoommerce, between the different teams internally, between our leadership team and the engineering org, between WooCommerce and the rest of Automattic. Beyond that, I work with engineering managers to make sure they are growing and improving, that their teams are growing and improving, and that everything is operating as smoothly as possible, especially when it comes to intersections between teams, and anything related to technology.
I spend a fair amount of time in 1:1s with engineering managers, and also lead our Platform Group. Through that I spend a lot of time thinking about how we can build out and expand the WooCommerce platform both for our own direct product needs, and for those of our extended ecosystem of developers, to provide value to merchants. We focus a lot on quality and velocity, so we’re always trying to figure out how to get better quality software in the hands of our users, sooner. Since by nature WordPress is self-hosted, that comes with a lot of unique challenges.
My teams are spread all over the world, but since I’m in Denver, CO I tend to have a lot of meetings early in the day. I’m normally working by about 8am, and by the afternoon I’m able to get some bigger chunks of time to focus on deeper work. I’ve preferred to work from my home office for a while now, but under normal conditions it’s also nice to relocate to a cafe for a while when I need a change of scenery.
How did you get your start at Automattic?
I first came across WordPress in about 2004, and was really interested in how flexible it seemed to be, and how relatively easy it was to use compared to other things at the time. I used it for a few projects at work, and then ended up building a startup company based on WordPress and bbPress (a companion forum software). After that I worked with some clients on large scale WordPress sites (including mashable.com), and then decided that I really wanted to try working with the flagship company in the space -- Automattic. I applied, got accepted, and started working with them in early 2009 as a developer. I’ve been here ever since, moving up through different leadership roles to now leading Product Engineering for WooCommerce.
Automattic is 100% remote and quite famous for closing their SF office in 2017. Where are people distributed nowadays? Is there someone on every continent?
We’ve actually had a series of different offices over the years, but we’ve never required anyone to go into any of them. We do have another small office in San Francisco now (in the Mission), but of course it’s empty at the moment with the COVID situation. Automattic is distributed all the way down to the DNA, and always has been -- our very first employee actually lived in a different country (Ireland) from the founder (USA). We have some auto-generated stats internally, so I just checked and we have just under 1,200 people, in 77 different countries. And yes, we have multiple people on every continent… except Antarctica (although a few different Automatticians have visited!). I believe approximately 50% of them are in the US, while the other half are spread really all over the world.
"The written word is really important to us"
Unlike many other remote companies, Automattic doesn’t just work on a single product, but several smaller companies. How does that work, organization-wise?
We’re a really organic, and fractally organized company, so if you zoom in on many parts you’ll see some similar structures, although things are generally quite autonomous, especially within different business units. Major products are represented by business units (WooCommerce, WordPress.com, WPVIP, Jetpack, Tumblr) and we have some smaller products that we roll up into a single unit. Within WooCommerce, we have our own Marketing and Data teams, but we share Finance, Accounting, HR, and Systems teams across the entire company. There’s an entirely parallel Support/Customer Service organization that mirrors all of our business units, so we have a WooCommerce Support organization (we call them Woo Happiness) that we work very closely with. In my time at the company I’ve worked on many different products, within what would now be 4 completely different business units.
How do you communicate between teams/groups/squads and time zones?
At the heart of our communication is a home-grown application called P2. It’s built on top of WordPress and allows for near-real-time communication using almost-chat-style messages through to (very) long-form, media-rich publishing. It replaces basically all email for us, and forms the central identity and “home” of most teams, projects, and operations within the company. Anyone can access and post or comment on almost any P2 within the company, even those for completely different teams/projects/businesses. The written word is really important to us, so we require everyone to have very good written English skills.
Other than P2 we use Slack for real-time chat, GitHub and Phabricator for discussing and working on code, Figma for most design, and Zoom for most meetings (although some folks use Google Meet or Slack calls as well). We use a lot of Google Docs for collaborative editing and drafting of longer posts.
We try to cluster teams around smaller time zone spreads, but it’s very common to end up with people across quite broad time zone ranges on a single team. When you combine teams (or work with multiple), then that gets even wider -- I work directly with people who live everywhere from UTC+9:30 (South Australia) to UTC-8 (West Coast US). We ask people to try to be flexible when needed, but also go out of our way to make sure that we don’t require people to be online at super strange hours for repeating meetings or things like that.
What do meetings look like at Automattic?
We try to keep meetings small (under about 7) when possible, because that just works better with video. Meetings are primarily held using Zoom (with video), and are typically scheduled using GSuite/Calendar. It’s very common for us to keep a shared Google Doc open during a meeting with an agenda and running notes (which everyone can contribute to, but we set a rotating responsibility amongst members in recurring meetings). We’ll post most notes on a P2 once we’re done (sometimes full notes, sometimes a summary) so that anyone who wasn’t there can see what was discussed, and we can all refer back to it later. If we need to juggle particularly complex attendee-lists then we might use Doodle or World Time Buddy to figure out the best time to get together.
Some teams have experimented with “asynchronous meetings” where they’ll set up the agenda as threads within Slack, and then keep the meeting “open” for 24-48 hours to give everyone a chance to participate. These work better for status-heavy meetings, rather than ones that need a lot of back and forth.
How do you carve out time for teambuilding, brainstorming and other unstructured activities?
We normally (when the planet is not locked down under a pandemic) hold a variety of physical get-togethers. The entire company spends a week together each year at what we call the Grand Meetup. Individual product teams are encouraged to do the same another ~2 times per year. Teams will fly to somewhere accessible based on the members of the team, and spend that time bonding, planning, hacking on a project, reviewing their progress, and usually having some fun being tourists or something along those lines. Now that we’re not able to actually get together, teams are experimenting with shared online gaming sessions, video happy hours, extended synchronous work sessions and other approaches. We also use Donut to schedule ad-hoc time for people to get together socially and just get to know each other better.
What are the drawbacks of being this distributed in your opinion?
I’d have to point to time zones. They’re the worst, and they’re unavoidable in a global company like ours. I think we end up (normally) with a pretty good balance of time physically together at meetups, and time to work separately, or focus, but time zones can make it really hard for teams to get synchronous time to work on hard problems together when everyone is at home on a different time zone.
I think another major challenge, although I don’t know that it’s unique to being distributed, is just clearly communicating across the entire company. That might be strategy, or policy, or just “what’s the latest thing going on”, but it becomes quite difficult to ensure that people are on the same page at our scale.
"Companies realize that they can work this way"
What does the future of remote work look like, in your opinion – especially after the past few months?
The interesting thing about remote work is that it felt like it was finally gaining some broader traction before COVID hit, and now is just hitting the accelerator everywhere. We were already seeing more and more companies go remote first, and new tools that enable working remotely. Previously I think some companies were adopting tools just because they were well-made, but now it’s critical that they embrace a remote-first mindset.
A lot of organizations are still very geographically-based, so they’re all in the US, or maybe even all in the same state, but they’re suddenly working from home, so they’re not in the same office. I think as companies adapt and realize they can continue working this way, they’ll start branching out and hiring people from other locations. Then you’ll need to see more effort going into things like remote team building, micro-communication (emoji reactions, mini feedback, comments on everything), and handling time zones. You’ll also see more tools lean towards enabling, if not being asynchronous-first.
I’m pretty bearish on things like Augmented Reality for most situations -- I think text-based communication is going to be around for a very long time. I do hope we see more adoption of visual and video media though, and suspect we’ll see more really cool use of things like speech-to-text technology for transcribing notes.
What are you most excited about for Automattic, or yourself, this year?
I’m biased by my work on WooCommerce, but I’m really excited about a lot of what we’re doing there. Commerce is a really vibrant space, and eCommerce in particular is seeing some incredibly compressed growth and change. I’m particularly excited to see the ongoing development of our WooCommerce native Payments solution, and some of the upcoming additions to our shipping service.
On the tech side, we’re investing in the APIs and infrastructure for the platform, so I’m very excited to see us be able to embrace decoupled ecommerce more, enable new and different integrations that we can’t even dream of right now, and scale up and out into some new areas.
And to wrap things up, where can people find you and learn more about you?
You can find my site at https://beau.blog, which has a few other ways to get in touch as well.