Managing Remotely: Don't Worry, You've Got This!
With everything that’s going on right now, the abrupt shift to working from home has thrown a curve ball at you and your team. Even in the best of circumstances, taking a team that was co-located to fully virtual is challenging, but throw it all into a pressure cooker and you can see how things can go sideways. In this post, I’m going to share some tips and tricks that I use to keep my team on track and continuing to deliver value.
Set the Tone
First and foremost, take a deep breath and try to relax. Given the current situation, if your team is at 80% of normal capacity, take pride in that!
Keep Calm and Manage On
As a leader, it’s your responsibility to make sure that your team has everything they need to be successful and that includes keeping them calm. Even though you undoubtedly have internal pressures, it’s important to project calmness on the job even if you’re super stressed on the inside. Don’t forget to allow yourself some time to deal with your stressors so that you’re not passing them along to your team!
With that being said, it would be foolish to ignore what’s going on in the world and be oblivious to the situation. It’s perfectly normal for your teammates to have concerns and questions, so give them a place to voice them! If possible, act on their concerns but, in my experience, sometimes just giving voice to what’s on their mind can relieve the pressure.
Establish a Baseline
At the beginning, there’s going to be some confusion and ramp-up time to determine the new normal. It’s at this point where you can set the tone and help your team succeed in the new reality of being distributed by setting some expectations and reinforcing certain behaviors.
With all that’s going on, your teammates are going to appreciate some flexibility when it comes to their work schedule. Between keeping their children at home or other familial responsibilities, they’re going to be juggling a lot outside of work and it’s reasonable that some of that spills into work. The big thing here is to reassure them that you understand and that you can work with them and their schedule.
Check In More Frequently
One of the most common techniques for checking to see how a team is doing is to walk by where they’re sitting and observe how they’re acting and behaving. If the area is quiet and heads down, that generally means there’s some deep work going on. (DO NOT DISTURB!) However, if I notice a furrowed brow, some frantic typing, or other frustrated body language, that would be my cue to check in.
However, that technique doesn’t work nearly as well when everyone is in their own location. The replacement I use for the team is dropping a status check message in our team’s group communication channel (for SentryOne, we leverage Slack). It’s nothing complicated or extraordinary:
How’s everyone doing?
Does anyone need a second set of eyes on their task?
Anything I can help with?
But man, does it work wonders. For more junior members of the team, it provides a natural way for them to seek help. In addition, this provides a built-in way for more experienced engineers to pair with others, so everyone levels up, win-win!
Now that the team is distributed, you’re going to need to improve your communication skills and show some nuance in what’s needed. Most companies have a variety of communication tools and this is the time to think critically about how to use them for maximum effectiveness.
For example, if you have a question or want to share information that makes sense for the whole team, go ahead and communicate it in your team’s group Slack. By posting it in the team channel, you’re essentially saying, “Hey, when someone has a moment…” and you’re allowing your teammates more autonomy over what they’re working on.
On the other hand, if you have something that is directed at one person (i.e., you might want to get their opinion on some code), then a private message to that person is the way to go. At SentryOne, we treat direct messages as if someone stopped by your desk to ask you something, so they’re a bit more urgent than posting in a team channel.
Finally, if you have something that is time sensitive or personal to a teammate, then this is where a phone call or online meeting is necessary. In these situations, you want to make sure that both parties are engaged in the conversation and that everyone can pick up on the subtleties of the conversation (vocal tone, body language, facial expressions, etc.).
These are good practices in general and become critical with distributed teams. Make sure your team knows how to use your company’s communication channels effectively as well.
By following the suggestions above, you'll be taking a much a more proactive approach to checking in with your team, and the team in turn will be communicating more in centralized locations so that they can help each other out. Now it’s time to figure out the nuts and bolts of working effectively together.
As one of the leads in Engineering, a common technique that my team leverages is pair programming, where two people will sit next to each other to design, code, and test both bug fixes and new features. When we were co-located, it was easy to pull up a chair with a teammate and get to work on the task at hand. However, that approach won't work here, so we had to look for some tools to help us keep our process.
One tool that we've been using with great success is Microsoft's LiveShare functionality for both Visual Studio and Visual Studio Code. This free extension allows for two developers to work on the same code base at the same time with near zero latency in a way the feels like Google Docs. I've personally been using this extension for two years and it's fantastic in how quickly you can get spun up and using it for your team. Combine this with hopping on a call to get the audio/visual of your partner and it's almost as good as pairing in person. If you haven't tried it out yet, I'd highly recommend it!
By following these tips, you will quickly improve team morale by first listening to your team's concerns, acting upon them if possible, and understanding that you'll need to be more flexible in order to support them. From there, you will help the team establish new communication norms by leveraging your group communication channel, direct messages, and telecommunication effectively. Finally, you will enable your team to work together on the same task by either introducing new technology or leverage the existing technology you have.
Cameron Presley is a Lead Software Engineer for SentryOne, a speaker, a Microsoft MVP, Director of Speaker Relations for CodeStock (@CodeStock) and co-organizer of FunctionalKnox (@FunctionalKnox). Based out of Charlotte, North Carolina, Cameron has over ten years of experience working with start-ups and large enterprises (both publicly and privately held) to architect and implement solutions, as well as training developers to be better today than what they were yesterday.