How Potato Code Remotely
Tags: development, engineering, tools, remoteworking
Published: 2020-05-21 08:17:15

At the time of writing, we’re in the middle of the COVID-19 lockdown. As with most other companies, the lockdown has required us at [Potato](https://p.ota.to/) to rapidly change the way we work day-to-day. We’re a tech company, so that has given us a big advantage in this rapid and unsettling change of routine. But as a company, we’ve historically encouraged our engineers to travel into our central London office most of the time. Working from home has always been a perk at Potato, but never the default position.

Fortunately we’ve been unintentionally preparing for this day by making the right choice of tools. In this post I hope to give an overview of our toolset, and how it’s allowed us to continue to operate as normal.

# Cloud-First

Right from the beginning of Potato, we’ve always pushed to use tools that are hosted by others. We’ve never wanted to spend our time being sysadmins, and we’ve always resisted the urge to host anything inside our offices. We wanted all of our stuff to be available anywhere, from any platform. In the past the option of running a VPN, and hosting software internally has come up, but we’ve steadfastly refused the temptation to do so - the risk of losing access, of having to maintain it, and of a single point of failure (what if the office burned down?!) were all reasons to avoid it.

Also, we wanted to make sure that any of our Engineers could deploy any of our projects from anywhere with an Internet connection. In the past we’ve deployed from trains, planes, pubs, and on one occasion a long while back - a locked bathroom (long story!).

Finally, if anyone ever had their laptop stolen out of the back of a van while climbing (true story), nothing would be lost if everything is saved online.

For this reason, (along with our Google history) we’ve based all of our internal systems on Google’s GSuite. Potato runs on Google Docs, Sheets, Calendar and of course Gmail. This has given us access to everything from anywhere, and the decision to base everything around GSuite has allowed us to continue working seamlessly despite now all being remote.

# Slack / Google Meet

For communication, we’ve been long-time users of Slack, (although before this we were pretty sold on Hipchat). As it’s cloud-based we’ve just continued messaging as normal without disruption (though probably making a bit more use of threads to keep things organised).

For video calls we’ve always used Google Meet (previously Hangouts). The number of ad-hoc catch-ups has increased, and we hold daily drop-in sessions for people who just want a bit of socialising. On Fridays we’ve rebooted our traditional TPIF (Thank Potato It’s Friday) into a virtual mass video call, armed with beverages of choice and reams of friendly banter!

# [GitLab](https://www.gitlab.com)

A couple of years ago we moved all of our development over to GitLab. The intention was to bring all of our end-to-end product development life-cycle under one tool. Although we had the option of hosting GitLab ourselves, using GitLab.com’s hosting has saved us the overhead of managing it, and of course it means that our project management tools are available from anywhere.

Now that we’re all a bit more involved in using GitLab directly day-to-day, we’ve also [implemented a Chrome/Firefox extension](https://dev.p.ota.to/post/5631671361601536/) that makes things a little easier. 

# [Visual Studio Code - Live Share](https://visualstudio.microsoft.com/services/live-share/)

![Code editing with Visual Studio Code](https://dev.p.ota.to/images/5640825748848640/)

The ability to grab another developer to help solve a problem has always been a key part of Potato culture, and historically one that required that other dev to be in the same room. When we were forced into remote working this was one area where we needed to find a new tool to help us, and we did so by using Visual Studio Code’s “Live Share” plugin. This plugin lets you host a programming session that you can invite others to collaborate in (think Google Docs, but for code editing). Combined with a Google Meet call it makes for a great, and simple pair-programming experience.

# [Figma](https://www.figma.com/)

The final tool in our toolbox is Figma. Until recently our designers were heavily invested in using Sketch as their main design tool, but we’d noticed issues even ahead of the lockdown that made this problematic. 

Firstly, it broke the cloud-first rule. Sketch ran locally, saved files locally, and it wasn’t cross-platform which caused a load of headaches for our Linux-using developers. We came up with workarounds for these things (e.g. using the “Measure” plugin for detailed exports, teaching the designers how to use Git etc.) but it never really fitted the culture of Potato.

Then Figma came along, and not only did the designers find that it was a better tool, but it’s based in the cloud and so is platform-agnostic. 
# Honourable Mentions
In addition to our development toolset, we use a number of other web-based tools day-to-day, these include:

- [Harvest + Forecast](https://www.getharvest.com/) - for time tracking and project scheduling
- [Bamboo](https://www.bamboohr.com/) - for managing our people
- [Trello](https://www.trello.com) - For workshopping and lightweight task tracking
- [TrakStar](https://www.trakstar.com) - For managing the career progression of our people
# Summary

There we are, a complete toolset for seamless remote working - that were built up accidentally by just following the rule that our stuff should be accessible from anywhere, and we don’t want to be the ones running it!