Remote Work At Stack Overflow, Engineering
New York, NY
David Fullerton, VP of Engineering
Stack Overflow is the largest online community of developers. We provide resources that help more than 40 million professional and aspiring developers learn, share their knowledge and advance their careers. Since 2008, more than 10 million programming questions have been asked on our site.
The company started out entirely remote. Joel Spolsky was in NYC, Jeff Atwood was in California, and our first two developers Geoff Dalgas and Jarrod Dixon were in Oregon and North Carolina respectively.
Remote work is vital to the success of our product and engineering teams. It allows us to hire the best people wherever they are in the world and makes our team more productive.
It keeps our hiring and retention numbers strong. I also think it allows some people to be more productive, and it’s better for me as a manager to focus on my team’s work instead of their hours.
We didn’t integrate remote work. We chose it. It lets us hire great people who can’t move, and ensures we can keep people if they have to move.
We use Google Hangouts for all of our coding interviews. Even developers who would be working out of an office are interviewed over Google Hangouts to give everyone a consistent and fair experience.
Candidates have the chance to meet with a variety of people from parts of the engineering team and talk to them about how they work. Since we use Google Hangouts every day for work and conduct the interviews over Hangouts, the interview is very similar to what it would be like working here.
We look for the same thing in all of our hires, but it is especially important for remote workers to be self-motivating, proactive and strong communicators.
We take onboarding very seriously. Every new hire in the company goes through a series of orientation calls with each member of the executive team, where they hear about our company history, culture, goals and structure. Within the engineering team, all new hires are assigned a mentor who guides them through a six-week onboarding process where they meet people from different parts of the engineering team and learn about our culture and processes.
For a remote team, the main focus is actually just to spend time together face-to-face, so plan everything around that. We find a yearly all-team meetup is a good time to have year-in-review discussions about our culture and practices, with less focus on specific current projects. We specifically do not use our yearly meetup to plan an agenda for the year or make big decisions. We want it to be a more casual meetup where people can surface concerns openly and get to know their coworkers.
Every year we do a large meetup that the entire engineering team attends, and as necessary smaller sub-teams have their own meetups at our headquarters in New York.
Building rapport with new coworkers can be difficult when you don’t get the casual social interactions you often get for free when everyone is in an office. You have to make an extra effort to reach out to new people and make them feel like they know you personally, not just as their boss.
20+ vacation days, with unlimited sick days. We also have generous parental leave and benefits.
It started organically, but we have formalized things along the way. Mostly we expect people to be effective communicators and get stuff done.
We have remote social hangouts every Friday. Everyone is invited to hop onto a video call to hang out with their coworkers with a beverage of their choice. We also have a program Stack Roulette that matches you with 2 people from different locations and departments in the company to get to know coworkers you otherwise wouldn’t.
You have to commit to it as a team (and a company). There’s no half-way in a distributed team. If even one person on the team is remote, every single person has to start communicating online.
Time zones are hard. I always say it’s the one problem you can’t solve when working remotely. The best you can do is be understanding of different people’s schedules and try to find times that work, and have as few meetings as possible.
Persistent chat in our internal company chat rooms, Google Hangouts for video calls, email, Google Docs, and Trello.
Smart and Gets Things Done by Joel Spolsky, and Thinking Fast and Slow by Daniel Kahneman (not exactly a business book but I reference it constantly)
Our guiding management philosophy is: “Hire smart people and get out of their way.” I am also partial to a quote one of our developers says, which is “Failure is always an option.”