For software developers, as with all kinds of newly remote workers, the adjustment to working from home comes in phases. The first phase is making sure that everyone has the right computers, apps, and programs to complete the functions of their job and to communicate with one another. Then comes a whole new set of questions. How do you know what you and your colleagues are supposed to be doing? How do you feel connected to your colleagues? How do you update your infrastructure to be cloud-based rather than dependent on a physical server?
Shawn Anderson, Fractured Atlas’s Chief Technical Officer, has been working at least partially remotely for years. At Fractured Atlas, he helped guide the dev team as well as the full team in the transition to becoming fully distributed. We wanted to know what he had to say about how the switch to working from home impacts dev teams.
We were expecting him to provide technical tips about workflow, tools, and data. He did. But he also stressed that keeping in mind the human part of development work: connection, collaboration, communication.
The answer to this is non-technical in nature, everyone needs to be thinking about the personal well-being of everyone involved. This is an unprecedented situation that we are all living through, and each of us will have some seriously bad days. How we go about promoting self-care and providing space for employees to support each other is more critical than ever.
Keeping up morale and team cohesion takes a bit of intentionality in a fully virtual environment. It’s time to consider setting up regular video check-ins with everyone on your team: how often is up to you, but at the beginning, it might be best to start with a weekly scheduled meeting. At Fractured Atlas, the developer—not the manager—sets the agenda for these meetings. This creates space for the individual to discuss any struggles they may be experiencing. [If you’re having a hard time adjusting to video meetings, check out these suggestions to make video calls better.]
Encourage team members to engage with each other in whatever chat service you are using. Work topics are great, but a smattering of personal stuff keeps people feeling connected. Discussions about pets, family, or favorite video games helps everyone know that we are more than avatars on a screen.
In the office environment, it is likely that your team will find opportunities to hang out outside of work; when we go virtual (with teammates potentially spread out all over the place) it is easy to lose empathy and a sense of humanity. Try scheduling a non-work focused meeting time, a virtual water cooler.
If you have been waiting to move your infrastructure into the cloud this may be just the excuse you need to get it done. There are numerous cloud providers out there but, more often than not, your best bet will be to start your search with Amazon Web Services. In general, they provide the best pricing, but there are plenty of other providers available.
The current situation highlights the fact that (wherever possible) having some remote infrastructure and staff flexibility supports operations in uncertain times.
The workflow for virtual teams is not all that different, but it does require some intentionality.
If your team was doing in-person daily standups, planning meetings, retrospectives, etc. find a way to keep them going over video and try to keep the same schedule.
There are tons of tools out there for managing project workflow. If you were using a whiteboard it is time to switch (we use Trello for its flexibility).
Pairing sessions can now be accomplished using screen-sharing apps.
Early on in my career, I did a blend of on-location and virtual work so working from home has been part of my life from the beginning.
The biggest difference for me was setting boundaries. My on-site gigs had a clean 9-5 schedule; I knew when my day was done. It sounds simple, but learning to call it a day at a specific time was critical to avoiding burnout and retaining any sense of home being a place of rest.
There is no one size fits all solution, but building a virtual engineering team has a couple of clear advantages. First and foremost, you can draw from a larger pool of talent. In an office setting, you are limited to a single metro area. When you move beyond the office, you gain access to a whole world of developers.
Hiring quality people is always a challenge and this is certainly true when it comes to finding talented software developers. This is an opportunity to open up your hiring process beyond the boundaries of your local community.
Hybrid teams, those with some on-site and some off-site team members, have always had some significant challenges. Sharing information equally and the ability to act as a single team being some of the most difficult to handle. [For fully virtual teams], the experience for the team will become more homogeneous.
Removing the daily commute can contribute to a healthier work/life balance, Instead of spending an hour (or more) a day in a car or bus, that time can be spent on self-care (exercise, meditation, etc.).
Take time to celebrate the work of your team and the people on it. Announce accomplishments (big and small) in your public chat spaces and during video conferences. When you are in one-on-ones, remember to express your appreciation. This is a moment where retaining our sense of humanity and connection is more important than ever.
Ultimately, while the transition to virtual work will be challenging, we hope that it helps dev teams (and all teams!) will become more flexible, intentional, and resilient.
We can’t know what the future holds for work, for technology, or for our lives. But we can know that being open, communicative, and adaptable are all going to be crucial for us to build together into an uncertain world.