How developer teams went remote overnight
23 April 2020 | 0
As the coronavirus pandemic continues to shut down cities and offices around the globe, developers and software engineers are quickly adapting to operating in remote, distributed teams.
The good news is programmers can quite easily work wherever they have a laptop and a secure internet connection – but the cultural impacts on teams can be significant. Of course tools help, and there are more and more live collaboration features in the leading coding software. But other issues around remote work cannot be solved with tooling.
Finding flow when operating from your home office or living room, with all of the attendant distractions, can be challenging. Distributed work can also be a source of anxiety for managers who no longer get full visibility into their team’s activities and want to maintain a high level of release velocity and resiliency.
Here is how organisations of various shapes and sizes are adapting their teams and workflows to the new remote working world.
Zapier: Veterans of remote collaboration
Automation software specialist Zapier has always been a fully distributed company, with more than 300 remote employees spread across 17 time zones and 28 countries. “When you work remotely, you have to measure contributions by output and outcomes,” explained Doug Gaff, VP of engineering.
Zapier provides its employees with an abundance of resources on remote work, from its favourite communication tools and tactics to remote management strategies. One of the more useful posts from Zapier in the current climate is “How to transition to remote work in a hurry” by CEO Wade Foster.
Zapier organises its developers into “EPD trios” – made up of an engineering manager, product manager, and designer – that collectively own a distinct piece of the product. EPD trios own their relative output speed, and all outcomes align with a set of shared objectives and key results (OKRs). “They collectively own customer requests, design and UX goals, and technical architecture and debt-reduction. And most importantly, they can advocate for each other’s respective positions and interests,” Gaff added.
A key value at Zapier is to “default to transparency,” which means most communication occurs in public channels using tools such as Slack, Zoom, and the Salesforce-owned Quip, which acts as a knowledge base. This can lead to information overload, however – to the point that no one can find anything or get their work done, as the Zapier blog post “Five tips for communicating on a remote team” details. Being clear, specific, and targeted in your communications is a good way to reduce the cognitive load on your colleagues.
Gaff admits that it can be harder to build meaningful professional relationships when working remotely. “One way we facilitate this relationship building is by recreating watercooler moments on Slack. We have hundreds of Slack channels dedicated to hobbies and interests so people can discuss topics outside of their work and get to know each other. Time spent on these channels is seen as team building, and it is important for leaders to take part in them as well,” he explained.
This has to come with boundaries though. “When you work remotely, there’s always temptation to work 24/7,” he added. “This can lead to unhealthy habits and burnout. Remote workers need the discipline to walk away from work at the end of each day. It’s a manager’s job to encourage these boundaries and power down as well.”
As teams adapt to remote working, says Gaff, you need to cultivate a culture of trust. “People are experiencing a high cognitive load: managing family stresses, learning to work remotely, potentially managing illness. The best thing you can do is look for cultural anti-patterns. For example, in some office cultures, showing up at a particular time is proof that you’re working. That does not work in remote life.”
Twilio: From slightly to totally remote
Remote work is not new for communications API specialist Twilio, but the pandemic has caused a massive shift. Prior to the coronavirus outbreak, CEO Jeff Lawson told TechCrunch that around 10 percent of the company worked remotely. “For a company like us to go from partially virtual to fully virtual in a short period of time, it’s not without its hiccups, but it has worked pretty well,” he said.
Some of that 10 percent of remote workers included the team of Marcos Placona, manager for developer evangelism at Twilio. “My team has always worked on a distributed basis with direct reports in the US, UK, and across Europe,” Placona said.
The various time zones involved make it “tough to work this way,” he admits, “but we have regular check-ins with the team and individuals with weekly one-to-ones.”
Developer evangelists at Twilio still contribute code and have to track contributions, alongside writing documentation and filtering through reams of customer feedback. During the pandemic this team has shifted to holding daily remote stand-ups. Broader team-wide meet-ups by region are held weekly, as well as a virtual happy hour on Fridays.
Zoom is the go-to tool for all video conferencing, Slack is ubiquitous for text communication, and Airtable is used for task management. Then there is the private code repository GitHub, which is used to track internal projects. GitHub also offers a way to see what people are working on.
“One thing that took me by surprise is, even though I work in a distributed team, especially in week one, I noticed a lot of people were struggling to concentrate,” Placona observed. “I stressed that it was the same kind of work we have done for years but the reason was there is too much going on.
“One solution I find useful is written lists of what you need to do that day. I told people to just go and ship something, publish a blog post, write a piece of code, make a tick on that list and you will feel better.”
TravelTime: Remote by nature
Startup TravelTime offers an API that allows customers to measure distance in the time it takes to get from point A to B, used by the likes of property search platform Zoopla and the job site TotalJobs. TravelTime’s staff has always been mostly remote due to its somewhat unusual founding story.
Cofounder Charlie Davies, a self-professed “terrible developer,” was looking for some help with a KRuby library he was trying to work with. This is how he met his first employee, who was helping him from his living room in Lithuania.
Davies said his current team of 30 remains distributed across the UK, Netherlands, and Lithuania, though he does want to limit the organisation’s exposure to working across too many time zones.
“Autonomy, trust, and inclusion are how we run the team,” he added, saying he has been horrified by reports of employers remotely monitoring their employees’ productivity levels. “Working in a remote team requires trust,” he said, “to me you have to trust the people working for you and that is a two-way thing. Every one of our developers have a stake in the company and we have a share option scheme that allows us to do that and we don’t monitor the work of our developers.”
Developers fill out their own time sheets and use software like Slack for day-to-day communication, GitHub for code management, and YouTrack to manage tasks. “In a remote setting your work has to speak for itself,” he added.
Davies has one final piece of advice for anyone going through this shift now: “You can’t micromanage it. That will drive you crazy and you won’t get anything done and the team will hate you for it. That trust and autonomy creates a culture of self-governance,” he said.
Smarkets: Never remote – until now
London-based betting exchange Smarkets had a pretty strict stance against remote working before the coronavirus pandemic hit. It has shifted quickly to operating remotely, though, establishing “normal” working practices via Google Hangouts and Slack to keep everyone engaged while working from home.
“We have been steadfast against [working from home] because we find that having everyone in the office and ensuring everyone sits down for lunch creates a natural flow of ideas and a level of cross-pollination across tech teams that is hard to mimic remotely,” Robin Harrison, Smarkets CTO said.
The developer teams at Smarkets work on the devops model, with all tech teams supporting everything they build 24/7, so they know how to do things remotely, just not all of the time.
“In terms of what we have actually seen in terms of development on the ground, there hasn’t been too much of a change in metrics for core development,” Harrison said. “We track monthly codebase changes and commits and both of those are relatively unchanged, which shows the development process is still ticking along and releases of mobile apps haven’t changed.”
One thing Harrison has not been able to replicate remotely is whiteboards. “There is a reason whiteboards exist, the speed at which you can express abstract ideas is very different to the written word and the way you can collaborate with colleagues is something we are missing,” he says, adding that none of the digital alternatives have passed muster for his team.
The key tools for Smarkets are Slack and G Suite, especially Hangouts, but a private instance of GitLab as a code repository, paired with Jenkins for CI/CD, is also a key part of the remote team puzzle.
“It is all glued together by GitLab,” Harrison says, “so the notifications that drives are as important as any for developers to keep track of what is going on with the code base. Code reviews are formal and our development flow requires a different reviewer to approve the change, so that tool is good for that.”
This means Smarkets is essentially running on a GitOps model, which extends developers’ purview over the applications through production. Even when everyone is back in the office and eating lunch side by side, this new way of working is likely to prevail as developers get full visibility into their code.
IDG News Service