When I joined SAP Concur in 2015, I realized I would have an opportunity to grow my skills working with geo-distributed teams. Both SAP and Concur have engineering offices around the world, which was a new experience for me. I had dabbled in remote work over the years but I’d never been immersed in it. I hoped to learn how to successfully foster this culture at a large company.

Our UI team was small in 2015 but it was already distributed. The first 10 members were from offices in Bellevue, WA; Vienna, VA; Minneapolis, MN; and from homes in New York, Chicago, and San Diego.

Nowadays, our group includes teams in Bellevue and Prague, Czech Republic. We also have team members who work from home in Oregon; Minnesota; Virginia; and Nova Scotia, Canada. We partner with other teams in California; Texas; Virginia; Maidenhead, UK; Prague; and Frankfurt, Germany. We span 9 time zones. I won’t lie, it’s a challenge.

An Attempt at Microsoft

While at Microsoft, I got to collaborate with folks across a few cities, but the majority of product teams were in Redmond. The campus is huge and I often had meetings in other buildings. Everyone attended in person despite having RoundTable devices and Skype at our disposal–the shuttles can get you around pretty quickly. I had very few video calls during my 7 years there, and when I did, cameras were usually turned off.

A few months before I left Microsoft, I had the pleasure of hiring a pair of developers from Belgium. I tried my best to include them, but it was an uphill battle. I put a RoundTable in our standup space; I included dial-in instructions on meetings; I taught dozens of coworkers how to connect audio and turn on their cameras; and I emphasized that these remote team members were online late at night, so we should do our best to engage with them. It was terribly frustrating when I couldn’t get anyone to cooperate.

Small-Scale Success with Home-Based Startups

I had some experience with remote work earlier in my career. I joined a company in the late ’90s that operated out of the owner’s apartment 35 miles from my own. We were building a dot-com as a side project after hours, and there were only a handful of us. For the first few months, I spent 90 minutes per day in the car getting there and back, working until 2:00am, getting to bed around 3:00am, and showing up at my day job by 9:00am. Once we had enough momentum behind us, the owner sprang for an ISDN to his apartment and he bought high-speed DSL for me and the other developer. We began working from home.

I maintained a home office for several years. After leaving that startup, the other developer and I started our own business. In the early 2000s, we were consulting to companies of all sizes and rarely working on-site. Most of our customers had no idea what was involved in building and deploying a web app, so as long as the project was delivered, they didn’t care where we were. I’m sure some customers thought we worked from our company’s mailing address though.

My business partner and I worked together for several years on a couple hundred projects. We continuously refined our communication tools. For a long while, we employed techniques that included:

  • Enterprise-grade desk phones and a second phone line in each of our homes
  • Dual graphics cards with 4 monitors and 1 monitor dedicated to full-screen chat
  • Sending an IM when we started our work day
  • Calling each other on the phone, putting it on speaker, and leaving the line open all day
  • Sharing a stream of thoughts with one another throughout the day, never hesitating to ask questions, share ideas, or demo accomplishments using voice, chat, and screen shots

We maintained this routine for a couple years and it felt like we were sitting next to each other. We eventually hired 8 more people into our company though, and we found our approaches didn’t scale. We got an office.

Sustainable Success at SAP Concur

With the experiences I had at my own small company as well as at Microsoft, I knew success wouldn’t come easy for a distributed team. Our UI Engineering group at SAP Concur is more than 3 years into it and I’m proud to say we have a sustainably successful remote work culture.

Shared Determination

The first thing we needed was an understanding and agreement that fostering remote work was important to our group. We would try different video call and screen sharing tools until we found solutions that worked for everyone. We would tweak our ceremony schedules until we found a rhythm that worked in all time zones. We would talk about what was working and what wasn’t.

Video Calls with Zoom

We started with WebEx. Only one person could own and start the meeting though, and when they were absent, we would scramble to figure out how to get connected. No one ever turned on their cameras, so it was really just a convoluted conference call. I blame the lack of video mirroring for that–it’s uncomfortable seeing yourself on camera without your own camera being mirrored.

We tried Google Hangouts. About once per meeting, someone would go into “robot voice,” and they’d have to hang up and reconnect. We tolerated the annoyance but we eventually outgrew the participant limit anyway.

We briefly tried Lync. It never worked very well on our Macs though, especially when we tried to talk, use cameras, and share screens all at once–one of those streams would inevitably freeze.

Appear.in was handy for quick one-on-one chats, but its participant limit was a blocker for further adoption.

Once we tried Zoom, it was game over. Zoom works for quick one-on-one chats, for standups, for recorded demos, and for large team meetings. Zoom rarely has any sort of streaming troubles, it’s easy to install, and it works on every device. Zoom stays out of the way and it works flawlessly darn near 100% of the time.

We give a lot of credit to Zoom for our group succeeding with remote work. Thank you, Zoom!

Ceremonies

standup meeting with everyone connected to Zoom Daily standups are a staple within our teams. Some teams span 3 or 4 time zones, which can be a challenge. Every team talks about what times work best for standups, reviews, and sprint planning ceremonies. Teams occassionally rearrange ceremonies to accommodate changes in team members’ personal schedules. Not every meeting time is perfect for everyone, but teams have found times that work well enough for them.

Meeting Culture

Our Scrum Masters guide all of our teams to create working agreements. Since most of our teams have at least one remote team member, it’s common for those working agreements to include statements about catering to remote members.

Here are some common practices that we use for our meetings:

  • Establish a Zoom room for the team; everyone bookmarks it
  • Use that team Zoom room for all ceremonies
  • Assume there will be at least one remote attendee and include a Zoom link for all meetings
  • When joining a meeting in a conference room, connect Zoom to the phone if it isn’t already connected
  • Gain knowledge of which conference room phones don’t hear all corners of the table, and use our Blue Yeti USB Microphone and TV speakers in those rooms
  • Always turn on your camera!
  • Try to face the camera even when you’re talking to someone else in the same physical room as you

We follow these practices so religiously that even on the rare occassion when everyone is in the same room for standup, we find ourselves on Zoom anyway. As a result, we often don’t even connect the room’s TV because everyone in the room has their own laptop connected. This makes it easier to share your screen during any meeting because everyone is ready for it.

Slack

While our meeting culture is a huge part of how we foster remote work, Slack definitely plays a part too. Every team has a private team channel as well as a public team channel. The private team channel is used heavily for design decisions, logistics discussions, and more. The public channel is where partner teams engage. The pairing of private and public channels maintains a good signal-to-noise ratio for partner teams while removing any hesitation a team member might have in starting a team conversation in Slack.

Breaking the Seal

All it takes is one remote team member. Once a team assumes every meeting will have at least one remote attendee, then becoming that remote attendee is frictionless. Need to work from home for the day? No problem. Need to work from home one or two days per week? Not an issue. Need to leave the office for an appointment and work from a Starbucks for a couple hours? That’s quite all right. One of our teams recently became fully local, but the habit of catering to remote work was already in place and they’ve maintained it, allowing each of them to keep working from home on a regular basis.

Room to Grow

There’s still one area where our group can improve, and that’s with hiring remote employees. We haven’t yet gained the confidence to either hire someone as their first remote employer or to hire an entry-level remote employee. I’ll chalk this up to fear, uncertainty, and doubt; we’ll overcome that eventually.

Our group is happy with our remote work culture overall though. Working hard to include remote employees paved the way for our teams to find the freedom to work from home when needed. Once we were all comfortable working from home occasionally, it then became easier to work across time zones–there’s no need to rush to the office in the morning for a 7am call; just take it from home. We are now in a place where our work schedules are flexible and able to accommodate life easily.