One of things I struggle with as a member of a distributed team is that a lot of feedback on my work in text form. For instance, code reviews generally state what was good and what was could be improved, specific to the code you submitted in a patch. There is often a lot of emotion associated with that patch, because you have spent a lot of time working understanding the how the existing code base works, the problem definition, iterating on patches for the best solution and then implementing tests to ensure your code works. So if the code review that your colleague gives you only concentrates on the negative, it can be often difficult to process. Text often lacks nuance and emotion. This is even more difficult if the code reviewer doesn’t work in a timezone that overlaps with your working hours, because it’s difficult to discuss the review in person.
On a recent bug, I noticed a simple statement that my colleague Joel made that explicitly states positive intent on code reviews. “Looking forward to this landing”. With all the back and forth on code reviews, this statement is a way to center that you are happy that this problem will be solved soon. In the case of this bug, it was one I had shifted to another coworker because I had too much on my plate with the 56 release, so I also tried to convey enthusiasm and gratitude in the comments for Alin’s work. Thanks Alin!
The other thing that I would mention with code reviews if that if you have a lot of changes to discuss with the person, or as a reviewer you feel that the they should take a different approach, the best path forward is probably to discuss face to face in a video call. Again, you can convey thanks for their work, but it will probably save time if you communicate in a manner that allows any misunderstandings to be cleared up immediately versus back and forth in text.
I recently watched a talk by Mathias Meyer, who is the CEO of Travis CI from the Lead Developer conference. (Side note: All the talks from the Lead Dev conference are fantastic and worth watching)
It’s an excellent talk about how the the culture of Travis CI has evolved over the years to be more remote friendly, sensitive to the timezones people work in, and incorporate continuous learning. Around the 19 minute mark, he talks about how the entire team has an online all hands every month, where they have shout outs where a person can thank an individual or entire person for their work, celebrate achievements and discuss what they plan to ship over the next couple of months. This is a great idea! I really like the idea of thanking people on a regular basis.
I recently read a post by Cate Huston, Automattic’s mobile lead, about showing appreciation for her distributed team. She asks her engineers to write something they are happy about that they accomplished in the last month, and something that one of their teammates did that they really appreciate. She then summarized the list in a post for the team. My idea is that this could probably be extended to a weekly meeting: shoutout to a team member for their work, and a mention of where you are looking for help.
On our team, we tend to thank people in irc/slack whenever they do something awesome. This was after an all hands on deck day of various problems crossing multiple timezones as well as AWS S3 experiencing a downtime.
There are other ways to say thanks, like a spot award but the thing that makes the most impact is very simple. An email to the person you are thanking, cc’ing their manager, which describes the work they have done, the impact it had, and why you are so happy. Managers love to hear about the good work that their employees are doing. If the manager has several emails about the great work this person is doing from team members or other teams, this can be very helpful for them at performance review time.
One note giving regarding thanks is that some people feel very uncomfortable receiving public feedback. If you are a manager, Lara Hogan, VP of Engineering at Kickstarter, has great post about conducting your first 1×1 with a new employee that includes explicitly asking for how they prefer to receive feedback.
How do you express appreciation for the work of your team members on distributed teams?