Going Remote: Entering New Territory as a Company and a Developer
Over the past year, Olio Apps has made a commitment to changing our company culture around working remotely. We’d seen other teams enjoy success by going fully or partially remote, but for us, working outside the office felt like an inconvenience. We wanted to change that, and we knew that we had the technology to make it a reality.
Because of the nature of our industry, most of the issues with remote working are easily solved through proper planning, team management, and tools. And for a team like ours, the benefits greatly outweigh any drawbacks.
Benefits of Remote Working
Providing the option to work remotely has a number of benefits. Here are a few that have stood out to us over the past year.
Fewer Sick Days
For most of us, it’s hard to justify taking off an entire day of work because we woke up with a scratchy throat or stuffy nose, but for the health of the team, staying home on days like this should be a no-brainer. Allowing employees to work from home while they are well enough to work but potentially contagious means fewer sick days taken and less germ spreading to your team members and their families. It goes without saying that a healthy team is a productive one.
Improved Communication and Organization
When remote working becomes a regular part of company culture, communication hiccups start to diminish. It may seem inconvenient at first, but once you adjust and refine your process, remote working can be just as natural as in-office working and can even improve communication and organization across the board. Because you don’t have a coworker sitting next to you who you can turn to and ask, “Hey, where’s that file? What time is the meeting?” centralizing information and keeping projects more organized becomes a higher priority.
After ramping up our remote working routine, we created “face pages” for all of our projects that included project overviews, contact information, links to tech designs, meeting times, etc. to centralize project information. We made a greater effort to create calendar events with Zoom chat links to all of our meetings. We also set up routine, cross-team check-in times to report our statuses, which alleviated some stress for our project managers and kept projects moving in the right direction. These tweaks improved our remote working as well as our overall workflow.
Attracting and Maintaining Diverse Talent
A major argument for any company to make remote work available is that it allows teams to hire diverse talent who might not be able to relocate or regularly commute. It also allows teams like ours to accommodate the changing lives of our current employees as their families grow, they buy homes outside of the city center, or their spouses accept jobs elsewhere. This year, we were able to add a fully remote project manager to our team, which previously wouldn’t have been possible.
Overall Developer Happiness
Being able to work from home means different things to different employees, but the bottom line is: having the option makes us happier. Knowing I have the option to work from my couch or my favorite coffee shop gives me peace of mind, even if I don’t take the opportunity. Having the flexibility to work remotely makes midday doctors’ appointments easier, alleviates the number of long commutes each week, and allows us to spend more time with our pets or families.
How We Became a Remote-Friendly Company
We took an “easing-in” approach to integrating remote working into our company culture. We started by working remotely one day a week. This required us to set up an online meeting space using Zoom or our daily scrum standup, become more familiar with VS Code Live Share, and set up a Slackbot reminder for regular check-ins to keep the whole team up to date on our individual progress.
For the first few weeks, preparing for remote day required ample planning, but it wasn’t long before it became a natural part of the routine.
After we became comfortable with working remotely once a week, we added another remote day, working remotely every Tuesday and Thursday. During our team’s weekly retrospective, we discussed pain points and ways to improve our remote days and made the appropriate adjustments the following week.
Right now, we’ve decided to keep Mondays and Fridays as in-real-life as possible to efficiently facilitate our weekly planning meeting, retrospective, and one-on-ones. It’s also nice to maintain the face-to-face social relationships in our workplace. Some of us choose to come in on work-from-home days anyway to get a change of scenery from our home offices or have in-person pair programming or working sessions.
A goal to strive for when transitioning into a semi-remote team is to try to make sure anyone working remotely has the same quality of experience as the in-office team members. Nobody should feel like they are less able to participate because of their remote working status. Pain points like poor audio quality during remote meetings or people being unresponsive in chat channels will reveal themselves early on. Thankfully, as problem-solvers by nature, a team of software engineers (or other technically minded or creative people) can usually find a solution.
One of the most impactful changes that we made to accommodate regular remote working included always having a Zoom number set up for every standup or meeting, so it’s ready and available for anyone who isn’t physically present. We also purchased a quality table microphone, so remote meeting attendees can easily hear all of the conversations in the room.
With the help of this technology and some tweaks to our organization, remote working has become second nature, and special circumstances that were previously burdensome—such as inclement weather, emergencies, or extended vacations—are simply taken in stride.
Coding on Different Continents
While writing this blog post, I’m on a two week vacation in Europe. Thanks to the efforts of my team to be more remote-friendly, I’m able to stay in touch, keep my project moving forward, and conserve some of my PTO while abroad. Working while thousands of miles and nine time zones away from the office has had its own set of challenges, so I wanted to share my experience and some tips that might help you in a similar situation.
Preparation and Planning
Weeks before the trip began, we started planning what the team and I would be working on while I was traveling. Some compromises had to be made to make sure my workload was appropriate for working remotely in a situation where I wouldn’t necessarily be able to communicate with the team in real time or have reliable access to the internet. For the feature I was working on, a thorough tech design was completed and agreed upon before I left, so there would be no need for high-level questions while I worked from various planes, trains, and automobiles.
Communication is key in situations like this. Even though I wasn’t able to join the team’s daily scrum standup, I did my own standup in Slack every time I checked in to do work. I reported what I had completed during the last working session, what I planned to do next, and any blockers I had (thankfully, none so far, due to good planning). My team was good about providing clear feedback via Slack and Github as prompt as they could, considering the time difference.
Time Tracking with Shoutbase
Shoutbase is a time tracking tool that I use to record and report my work time to my team. It definitely came in handy for this trip. During my two weeks abroad, I planned to work a total of three business days. But these “three days” looked nothing like my usual 9-5. My work time was chopped up between several stints during train, bus, and plane rides, and some relaxed morning and evenings at cafes and Airbnbs. The short stints allowed me to get work done while still maintaining happy vacation vibes.
Shoutbase made it easy for me to communicate how much time I had worked during my remote sessions, so there was no confusion about how much time I had left to complete my tasks or where I was at in terms of meeting my goals. It also made it easy for me to see my team’s progress while I was away, and I could conveniently track my own progress to make sure I hit my benchmark (without going too far over).
Expecting the Unexpected
Especially when traveling abroad, something unexpected is bound to happen. One major factor is your access to the internet. I experienced a traveling developer’s worst nightmare: the wifi was down on both of my nine hour international flights. Thanks to some mindful planning (and some Netflix downloads), I was still able to stay productive. As stated earlier, technical designing beforehand will keep you from relying on Google and Stack Overflow or your distant team members. If you anticipate this issue and your project requires data from a remote source, creating a mock API to supply fake data ahead of time can be really helpful. And if regular connection to the internet is a necessity, consider getting a mobile data plan for your laptop, rather than relying on wifi.
Create a Time Buffer
Don’t plan for every available “downtime” moment to be a remote working hour. I was previously considering doing a lot more remote work during my trip to be conservative with my vacation time, and I’m glad I didn’t. There will be unexpected times when you won’t be able to work effectively because the bus will be too cramped to pull out your laptop, your external battery will die, you might hit an unexpected blocker, or you’ll simply need a break. The buffer will alleviate the stress of working remotely and keep you from worrying about work while you’re vacationing.
Remote working isn’t for everyone, but having the option to work remotely can open you or your company up to new possibilities. It might seem like a burden at first, but once you employ the right technology and practices, the benefits will become abundantly obvious. If you have any questions about making remote working a reality in your workplace, please reach out to your friends at Olio Apps.
What did we miss?
Please let us know by tweeting to @shoutbase on Twitter.
Thanks for reading!