A post mortem of a remote dev office
I lead a small software engineering team halfway across the world from HQ for nearly three years. If you've ever worked across time zones, you know that's part of the challenge, but being a small satellite team comes with its own pitfalls, which shouldn't be underestimated.
As COVID-19 hit, they pulled the plug on our team. Our team didn't have enough influence or a mission that was generating revenue. We were out.
This is a collection of thoughts on the limitations of being a satellite team i.e. there are one or more primary offices and there is you, the smaller one, a few hours away from everyone.
Challenges
Scheduling across the globe
If you need to discuss anything, ask someone a couple of questions, have a 1on1, plan… everything requires scheduling discussions and everyone will need to show some flexibility, but odds are, being the small office with less people attending, you'll be the one having calls at 7am or 11pm more often.
Remote Readiness
You need to teach video call etiquette. Mute yourself, connect individually, cancel early, turn on the video. You know, the usual. But every company goes through this awkward stage when the habits aren't there yet. Thanks to COVID-19 everyone went through a bootcamp experience. That being said, an open office layout won't suddenly be more conducive to conference calls. The other set of barriers that may feel permanent are around tooling. Choosing and adopting the right tools that enable distributed teams is hard, especially in larger organizations.
Objectives
Being colocated comes with its benefits. You can talk to people anytime, and that's hard to get around with technology. Once you don't share the space, clear roadmaps, frequent all-hands meetings and transparent online discussions become critical.
Influence
The issue with having influence from afar has a lot to do with the water cooler effect I think. Not only do people gossip in the kitchen, but important decisions are made during quick discussions while making coffee. These decisions are invisible unless they are later documented and that's a habit that isn't developed without strong leadership and discipline.
Career Advancement
I would argue, that what sets a Senior and a Staff or Principal Engineer apart is not deeper expertise. It's the scope of the work that changes dramatically. Mentoring, recruiting, architecture and roadmap discussions become critical parts of your work and they all take a talking to a lot of people all over the organization. Unless the organization is very remote friendly, I think the roles of the people in the remote office are capped to that office's mission.
What helps
Regular catch-ups
You can be super proactive, shift your work hours, whatever, it won't be sustainable. Regular catch-ups with your peer group work wonders in my experience. The downside is, you can't force people to take these calls at 10pm, so the ones with lower morale can easily dig themselves deeper by isolating themselves further.
Autonomy
We had our own project for a while. That worked very well. Before and after that morale tanked. If you have a remote team or you are thinking about building one, make sure they will be able to function on their own, without constant reviews and planning needed with the wider organization.
Make it big
When companies build R&D centers in Prague, they make them big. At least twenty engineers big and I understand why. To have sufficient influence and autonomy, you need to be able to design, plan and ship entire products on your own.
Hindsight
Three years later, I work in a startup which is not only fully remote, but encourages all forms of asynchronous communication. In this environment, those issues I listed practically don't exist. You have other challenges, but for companies, which can make the shift to accommodate fully remote work, they and the people they hire will probably be much better off than building offices around the world.