Tacos, the Key to Remote Software Engineer Productivity
Not that simple, but recognition builds esprit de corps.
Remote work — in one form or another — is here to stay. Many had doubts about how well that would work for software developers and their employers. We’ve learned a lot along the way and want to share some best practices from our experience that help motivate software engineers and make them happier, while maximizing productivity. (We’ll save the biggest surprise about tacos for the end.)
Let’s start with the basic question that always comes up, especially when it comes to productivity of software engineers and remote work. Should developers have everything on their local machine or work from the cloud? We’ve found that with developer workspaces hosted in the cloud, teams have the flexibility to connect from wherever they are physically located.
Cloud IDEs allow developers to work as securely as they would from the office, with the necessary security precautions put into place by the infrastructure team. Developers aren’t reliant on just their local machines, which means that they spend less time focusing on security and simply working from the locations of their choice.
Also, because of the compute-intensive work like compilation and testing that is being done in the cloud, developers can basically use any device (even an iPad) to access their workspaces. This can significantly reduce costs for companies since developer workstations tend to be pricey. It also makes “bring your own device” (BYOD) an option, which, depending upon the location of the developer, we’ve found may be the only option because of regulations governing shipping technologies to certain countries.
Recipients can redeem their tacos for rewards such as Uber Eats, a bottle of wine, company swag, video game credits, or a massage.
Another big topic that always comes up with software engineers and remote work is the concern a lot of companies have with regard to control over source code. In many cases, the source code can never leave the security of the company’s cloud infrastructure. How can that get reconciled with developers working remotely?
First, remote workspaces means that source code is centralized on company servers, rather than stored on individual workspaces. Second, built-in security tools means that developers can be prohibited from downloading files or copying and pasting code to be saved elsewhere. There is also the option to air-gap your deployment, which further restricts access from your workspaces, providing additional protection against the unauthorized removal of source code.
We’ve found that having team members located in vastly different time zones is an opportunity to improve workflow. Pull requests submitted at the end of one developer’s work day can be reviewed and worked on by others so that when the developer returns to work, they can immediately progress to the next step.
We were worried about losing camaraderie when people don’t frequently see each other in person. At Coder we’ve found great success with a Slack integration that allows team members to give each other digital tacos to recognize others 🌮🌮🌮.
Everyone is allowed to give away five tacos per day, and the things we recognize others for is wide-ranging. We often give thanks for assistance with day-to-day tasks; though these are things we expect from our colleagues, we hope to never take them for granted:
Sometimes, our co-workers challenge us to grow:
Other times, we hear about useful tools that make our work days easier:
And, not all taco thanks are specifically work-related (whom amongst us has not had an inconveniently scheduled flight?):
Recipients can redeem their tacos for rewards such as Uber Eats, a bottle of wine, company swag, video game credits, or a massage. Each taco ends up being worth ~$5, and our highest earners get ~$700 in rewards per month. While valuable, we’ve found those rewards are less important than other benefits, such as the rapport created among team members, the genuine feeling of appreciation from peers and leadership, as well as visibility to what people are working on across the company.
Remote work in different forms is here to stay so we all need to learn best practices to maximize the productivity of software engineering talent while satisfying the needs of the employer. We’re very happy with how this is going at our company and am sure we have more to learn, too, going forward.