A recent post from StatusPage.io about their remote working experience got all of us on the DNSimple team thinking. We had some discussion on Slack and we decided to try something different for this blog post. Instead of one of us writing about remote working, all of us are going to contribute.
I consider remote working to be a core part of the DNSimple culture, so much so that I included the following in our core values:
Work when and where you want
Personally, being around my wife and children is one of the greatest benefits of remote working, if not the key benefit. Having ability to step away from my computer and spend time playing a game of Magic the Gathering with my son, or taking the kids to basketball, or simply sitting down to have a coffee with my wife, are all things that I can do because I'm right here at home, ready on a whim.
One of the biggest challenges of working together remotely is building emotional connections with the rest of the team. One of the ways we address this is to meet up for a week long team retreat at least 3 times per year. We try to have each meetup in a different location so we can experience something new together. For example, in December we met in Madrid and this year, in April, we're meeting in Chicago. During these meetups we spend time working together but also joking and laughing together. We spend time focusing on bigger strategic ideas instead of just implementation details. We also have one event each year where families are there with us as well, which brings a completely different dynamic.
Low ceremonies, more freedom
Almost all of our work happens around GitHub issues. We don't enforce a particular methodology of working together. We don't have a daily call or stand-up to check on progress, because code commits, issue's comments, and Slack history has almost everything you need to know. In this low ceremony environment, where plenty of communications are asynchronous, you have the freedom to organize your day and decide on what and where to work.
This liberty of organization trickles down to the personal tooling that we use to organize our tasks. In my short time, I have seen Trello, org-mode, Wunderlist to name a few. It all comes back to GitHub issues eventually. We even use GitHub issues to log business ideas and discuss them.
Switch rooms, space, moods
I personally like to switch rooms while working during the day. I usually stand up during the morning in my kitchen, move to the living room table after lunch and stretch my legs from the sofa at the last hour of the day. Changing rooms, adopting different postures helps me focus during my day. I also vary positions depending on the work for the day. Programming makes me stand up, thinking and illustrating pushes me to the sofa. Email support is better answered from the table of my living room.
Getting complete autonomy over my schedule and work location provides me a lot of flexibility. I'm not stressing out over not making it to the office on time due to commuting issues (just do a quick search on Twitter for 'CTA' and 'sucks' to find out about Chicago's public transit feelings) or potentially personal issues that happen. Scheduling personal appointments to the doctor, dentist, etc all become much easier when you are trusted to do your work wherever it works for you. When I need to take a break and think, I'll walk outside or take a quick bike ride to de-stress. Not all coffee shops are quiet bastions of work productivity for me and I also try to visit nearby company offices or co-working spaces. This has the benefit of giving me a little bit of the office feel without the commuting pressure while also keeping the local businesses aware of our presence.
One of the newer things we've started to do is a bi-monthly group call of no longer than an hour to bring up any issues that may not have gotten everyone's attention or to discuss strategy. Everything we do is generally done via chat or github issues, but with 7 people working at once, the noise it generates can be distracting. If we really want someone's opinion, we'll mention them to grab their attention to weigh in on an issue. The video calls also help keep us visually connected to one another beyond our quarterly meetups, at least until we have bandwidth issues and have to shut off video. For me personally, this has gone a long way to keep me in the loop as the team ships multiple updates per day and keeping track while working can be a chore in of itself. It's also an opportunity for me and my co-workers to showcase big proposals or give virtual high fives for accomplishments.
Overall I see remote working as a big strength for us. Remotely working doesn't have to feel like a silo and you can use some strategy to alleviate it's drawbacks. It forces us to be better communicators, which has direct benefits to our customers because everyone does support here. I've been to larger offices before and genuinely find them distracting with lots of activities happening from random shouting in the sales team to the constant clacking sound of ping pong. If we get to the size that warrants a physical office, I would want it to be 24 hour access so you could come and go when it feels right.
I started working remotely a couple years before joining DNSimple. I can't stress enough what being able to plan your workday does to productivity and life quality. Working where, when and how you think is best is an amazing feeling. I can combine the good things of being at home: good coffee, enjoying my cat's company, quietness, etc… with my job. I can visit family any day of week and work from there. I feel lucky.
Hire talent from around the world
The StatusPage post highlights the bigger hiring pool as being the most important benefit of going remote for a company. I think many people miss that this works both ways: it also benefits your team. You are giving your employees the opportunity of working with people from all over the world. Different countries, different languages, different cultures, different points of view… Your company culture is going to be richer and more diverse that it could likely be if you only hire people that can be at a certain point in the globe. DNSimple is better thanks to that.
Being involved in many things besides web operations (I DJ, produce music and promote parties) requires a great amount of time and flexibility. Working remotely in an open schedule is key for all my different enterprises and is the most valuable thing I find for working at DNSimple. Second, having different members of the operations team in different timezones is a big gain in terms of "sleeping well". Finally, I live 4h hours far away from my sentimental partner, working remotely allows me to visit her and stay a few more days than the weekend and that's a huge benefit for us.
Of course there are challenges, coordinating actions with members of the team in the other side of the Atlantic ocean is one of them. This is alleviated by putting emphasys on comunication, specially through heavy use of Github issues. Sometimes we need to schedule a pairing session and time may not suite everyone well. Sometimes I spent too much time at working alone at home, so I moved to a coworking space where I go whenever I feel like.
One of the things I love most about working on a distributed team is the freedom and flexibility it provides. I'm able to live in a city that I love, despite the fact that there aren't many tech companies based here. I get to spend a ton of time with my family and can even modify my work schedule to fit around various events in our daily life. I've found that since I work from home, largely, I'm generally forced by that fact to adopt good work-life integration, which usually means I get to join my family for all sorts of things I didn't get to when I was based out of an office and still get plenty of work done when everyone else is otherwise occupied.
Working with DNSimple has also given me a chance to hone my communication skills to be more explicit about what I'm working on and where I need help, while also gaining a better handle on my own productivity rather than trying to squeeze it into the company's pre-defined schedule of when I should be an effective contributor. The freedom I have also allows me to pursue my own hobbies and interests even if something I'd like to do is scheduled during the "work day" (which can happen regularly if you live near a university like I do).
Since we're all located in different places, meeting with everyone in DNSimple is a treat on its own. So far, it's allowed me to visit Spain for the first time, and I know it will mean more new locations in the future.
Entering the remote working culture is not simple. I can remember my first days, it was really awful and it required some commitment before I could consider my days as productive. However, once you get into it, you will likely never come back.
Remote working can be beneficial for both the company and the workers.
Leverage team communication and collaboration habits
Remote working encourages habits of communication and collaboration that can make a team objectively better. Most of communication will happen async and using a written form, that creates a searchable history of the project.
Live your life, work from where you want
The biggest benefit to me, as a remote worker, is to be able to work from where I want. I'm a very frequent traveller, I love to spend a couple of months in a country and work from there. But without going too far away, the ability to re-arrange your time to accommodate your passions is something priceless.
Better teams through remote working
If you want to learn more about how we do remote working at DNSimple, have a look at this talk.