5 Strategies for retaining and managing remote teams of ReactJS Developers
- Kevin Oskow
- January 13, 2022
- 8 Minute Read
The grass always seems greener on the other side. We’ve all read about how hiring remotely is super beneficial for companies—what with access to a global talent pool and cost savings upwards of 40%—but everything in life has a caveat. What if managing remote teams you’ve hired isn’t meshing together quite as well as you’d hoped?
Worry not: a few simple changes to your team’s workflow can often provide some much-needed productivity boosts,
Before we get into the details, here’s what you learn from this article:
- Schedule frequent check-ins with your developers to monitor progress.
- Offer multiple methods of communication.
- Provide spaces and opportunities for “remote social interaction.”
- Use dedicated project management software.
- Put all shared code in a place accessible to everyone.
Right, with that out of the way, let’s get right into it.
1. Communicate effectively
The expansion of the remote job market is the cause of a communication revolution comparable to the invention of the printing press.
Effective communication is the key to success, even more than usual when managing remote teams.
Analyze the communication channels between you and your developers and judge whether or not you need to change something.
|Can you power on your computer and know what each team member is working on? (A general idea is fine; no need to micromanage).||Hannah is currently working on functional testing, James is proofreading all DOM() tags, and Janet is adding loaders to webpack components for CSS.|
|Do you have designated hours to communicate with your devs?||I call Hannah every Tuesday and Friday at 1 PM because she is the lead developer to discuss progress.|
|Do your devs keep you in the loop about any new developments or hiccups?||This morning, Hannah told me about some bloat code she wants to remove. I should run it by the team.|
|Is your team able to keep up a steady flow of information between themselves?||James didn’t tell Hannah that he was working on DOM() tags, so She assumed he was free and overburdened him with more work.|
|Do you hold scheduled video meetings with your team for progress updates?||We meet every Wednesday at 11:00 AM to make out the week’s schedule.|
Don’t rely on email (alone)— it’s just way too formal. Plus, people may not check it all that often/can just say that they “must have missed it.”
Instead, use an all-in-one tool such as Slack for all communication and leave the official contact for emails.
Such a tool allows you to have separate “channels” within the larger group, allowing for better overall management without any distracting “fluff.”
Have a dedicated informal space — Water-cooler banter is still pretty important and noted analytics firm Statista says that the biggest problem remote workers face is “not being able to unplug.”
Your team should have a space/group/chat-room for celebrations, informal talk, jokes, wishes, and the like.
Establish a few set rules of engagement — Having a clear-cut manual on proper conduct goes a really long way in avoiding miscommunication.
This differs from team to team and could be as simple as acknowledging every message, even with a simple emoji.
Free tools you can use:
- Slack (Limits message search history)
- Chanty (Only ten free members per team)
- Microsoft Teams (Needs tech-savvy admin to deploy)
Takeaway: Keeping communication lines open (and closed—it’s vital to give devs their personal space) is mission-critical if you plan on working remotely, whether long-term or short.
2. Proper task allocation and project management
From what I’ve seen, remote communication is currently rather haphazard, and until that’s sorted, task management will suffer.
Most React devs that I know rely on Whatsapp or email to get their weekly task assignment and then burn themselves out to meet the deadline they totally didn’t forget about.
This strategy is pretty unviable, but many tools can make your life easier.
|Does each dev know what they’re supposed to be doing?||Hannah knows that she needs to line edit some past code, and Y knows he has to cross-check it.|
|Do you have a system where your devs can “check” or “tick” what they’ve done?||James has ticked some of his tasks in the master list; he must be done with them. Time to review!|
|If you collaborate with other companies or departments, do you devs have access to their communication details?||We’re having some trouble with our externally managed CMS in the middle of a shift to headless but can’t do anything until the weekly meeting because we don’t know who to ask.|
Use dedicated project management software — I’m not exaggerating when I say that project management software is a remote developer teams’ best friend.
Using a tool like Trello that is mobile optimized and has an excellent database search is perfect for remote collaboration.
You can also see changes being made to the common whiteboard in real-time as an added plus.
Hold one-on-one meetings often — it adds that personal touch and lets you grasp what is happening with your team and be kept in the loop about task progress.
Also, if anyone seems to be falling behind, you can help them figure out a solution.
Follow up on assigned tasks — If you’ve posted a set of tasks to your team to be completed by, say, Friday, follow up on Wednesday to see if everyone is on track.
Have dedicated POCs — A POC is a “point of contact,” basically a fancy name for project coordinators.
Even if you don’t outsource any work, each subsection of your dev team should have a subsection head developer who (preferably) has experience or specialized knowledge for the part they handle.
Free tools you can use:
Takeaway: Something is better than nothing; even a simple “assigned tasks” and “Completed – Yes/ No” list in excel is still better than having no task tracking system.
3. Standardized Documentation and code sharing
When any software team works together, they need to share their code with each other sooner or later.
Now, when one dev’s code is reviewed by another, things like made-up acronyms, documentation, and README/ CONTRIBUTING files can be a major headache.
Keeping your in-code documentation was hard enough before, but when working online, it’s like that final unbeatable video game boss.
Consider this situation: Jane is a ReactJS team lead at a company.
She shares her team’s code with Russell, a new developer who just joined the team and had never seen that code before.
Russell will likely face dependency issues galore and will probably not know the full potential impact when making changes to a component, library, package, or module.
Aside from that, Russell would also have to learn the team’s branching strategy and understand every aspect of the code’s external dependencies — from scratch.
Organize logically: Ask your React devs to have a single folder with subfolders for all the code they need to reuse.
For example, the parent folder could be named “WhateverYouWant.Common” and have subfolders for MVVM, ESB interactions, String manipulation, Networking, Logging systems, etc.
I like to think of this as my remote team’s swiss army knife — all the main tools they need in one place.
Remember to use Pascal case when naming the thing.
Onboard new members properly — An experienced member of your team needs to sit with new developers and explain the following to them:
- Publishing Overheads
- Dependency Trees
- Company-specific acronyms (if any)
- The folder and document management system
Trust me, the initial time investment pays off, especially when a deadline is looming.
Free tools you can use:
- Lerna (Requires code refactoring into several monorepos)
- Codeshare (Allows simultaneous real-time code sharing and video calls)
In addition to the above, many code editors like Atom, VisualStudio, and Sublime Text have a “live sharing” option that you can use.
Takeaway: Codesharing is a hassle for every team, but there are ways around it.
Don’t let yourself be infected with the curse of knowledge: what seems mundane to you may be entirely new for the next person.
That is why it is crucial to explain even what seems obvious about your code to new team members. Have all shared resources in a common location for better collaboration.
4. Engage in activities as a team
That same Statista article mentioned earlier also lists “loneliness” as a significant cause of unproductivity while working with remote teams.
This is likely because of the lack of having a social connection like your team has when in a brick-and-mortar office.
Team-building — Engage in team-building activities with your developers — it adds a personal touch and indicates that you care about their emotional wellbeing.
Over-professionalism — On those weekly/ daily check-in calls we talked about, reserve the first or last five minutes to banter a bit with the dev.
After all, there is such a thing as being too professional.
Don’t forget to unwind. While the team may not be able to go out and grab a movie, there’s no reason the group can’t get together for a Facebook watch party.
Takeaway: Remote workers in general and developers in particular face isolation even in traditional offices due to their “bubble” workflows, so you must make your team feel at home while they’re at home.
Also read: Best Team-Building Exercises for Your Remote Teams
5. Miscellaneous tricks, tools, and tips for managing remote teams
Use a timer app: While working remotely, it is essential to have a time and attendance tracking tool. Attendance management tool lets you know the working hours and productivity of the employees and makes the payroll process smooth and easy.
Version Management: Maintain detailed README files for each version released on your software like Git or Github. Your future team will t hank you.
Documentation: React is pretty flexible when it comes to structuring code. This is why it is imperative to maintain clear-cut documentation for others to follow.
Tools like Atlassian come in handy here.
Conflict Resolution: Even when working remotely, teams can have disagreements.
Have predefined protocol and policy in place before such a thing occurs (it’s an eventuality) so that it can be speedily taken care of.
Micro-groups: Splitting up your team into smaller workforces, each with a specific task, is an excellent move 99% of the time.
The productivity increase your developers see will be immense — too many cooks tend to spoil the broth.
Set metrics for your developers: These could be daily, weekly, or monthly metrics (e.g., attach two”onclick” events to HTML elements).
When setting these metrics (goals), it’s best to be as specific as possible.
If you go with the weekly or monthly targets, make sure you touch base with the devs every once in a while to ensure that they’re on track.
I know from (painful) experience that leading remote teams is a gargantuan task, even more so with super-specialty workforces like ReactJS developers.
Here are a few tried and tested methods to boost your remote React team’s productivity (that I can personally vouch for).
I have tried to cover all the major problems that I faced when starting out in the remote development game and what I would have liked to see done differently.
That said, I’ll bid you adieu, and wish you success with your next project. May your renders be snappy and your automation smooth.
Get Informative & Insightful Articles delivered to You Monthly
Thank you for submitting the details!
We will keep your information safe. Feel free to contact us with any questions at firstname.lastname@example.org
Please check your email for next steps shared by Robert.