Remote work has been all the rage lately. People have often wanted more flexibility, less time wasted commuting even before the global pandemic, which was quite understandable.
Still, even during the global pandemic, despite examples provided by Facebook or Spotify, many businesses are still skeptical about hiring remotely. Plus, there are a lot of misconceptions and stereotypes particularly related to remote software development. Outsourcing is thought to be designed for small tasks and MVPs rather than a way to build great products.
We at YouTeam know it firsthand. Helping our clients extend their development teams, we often deal with skepticism and lack of trust surrounding remote workers which, however, changes as soon as they give it a try.
Tips from startup CEOs and CTOs managing distributed teams on how to run a remote development team
Despite certain risks involved, there are multiple examples of successful tech startups and great products built entirely or partially by the distributed tech teams. To prove this, we’ve decided to reach out to some of such companies, including Zapier, Doist, Toggl, Hubstaff, Buffer, Wistia, Product Hunt, TMetric, and ask them about their best practices for hiring and managing remote development teams.
I. Why do companies go remote?
Companies decide to go remote for a number of reasons: to be able to tap into the global talent pool and hire the best specialists (including remote developers), regardless of their location; to optimize operation costs by running a virtual office for virtual business address instead of a physical one, or to get a competitive edge as an employer by offering more workplace flexibility to the staff. Still, what is the company’s main motivation when hiring remote developers? Learn more about the benefits of running a distributed team in Part I.
II. Where to find developers for a remote team?
Where companies that want to hire a remote development team can find tech talent? There are dozens of hiring platforms focused on remote work, e.g. RemoteOK, FlexJobs, WeWorkRemotely, etc. And there are even more job search websites that also feature remote job opportunities, e.g. Hired.com and Indeed.com. However, the demand for workplace flexibility is remarkably high among the candidates, so it is not always so easy to find and hire remote developers.
It is essential for the company to find someone who will perfectly match the team and will help the business grow. Here are 5 essential tips to avoid confusion no matter where your remote software engineers are based: in Eastern Europe or Subcontinent Asia, or wherever.
1. Meet with your assigned developers at least online, but in person if possible
For this measure, it is important to talk not only to business development managers who tend to be better communicators but to the individuals who will be assigned to your team. It is important to understand how communicative these individuals are, what their level of English is, whether they are capable of solving complicated problems and offering solutions, etc.
Particularly if you have a larger project, it makes sense to jump on a flight and visit your prospective software partners onsite & in-situ. Try to meet with the senior executives and individual developers (not just the Business Development Manager or Project Manager) and to observe their body language and how they communicate to prove to yourself that these are trustworthy people.
However, still take guard, because it is sometimes the case that companies can have good sales skills but not the integrity to back it up. This is the reason for the measures to be taken when choosing your new software development partner.
Become Acquainted. YouTeam recognizes that it is important for clients to interact with team members as soon in the process as possible and has created a means of booking time directly with remote software developers of interest.
2. Ensure you have someone technical on the Client-Side (i.e. CTO or Head of Tech)
It is always good to have someone technical on the client-side, such as a CTO who can observe the quality of the code being developed and also assist with the technical decisions being made. Even if you are fairly experienced as a project or product manager, for instance, you still can’t read the code, as well as a lead developer does.
It is also possible that the software development firm will try to cut corners because they might have larger projects, which they deem to be more important and hence put less effort into your product. To ensure these aspects of the offshore or nearshore development process and operate correctly and efficiently, you will need a CTO.
Tip: If you don’t know anyone suitable to act as your CTO, some development companies on the YouTeam platform offer CTO-as-a-Service. All you need to do is search for the right Tech Stack and filter for some ‘Super Senior’ in that technology.
3. Provide top-notch product documentation to avoid confusion
If you don’t have the necessary product documentation, you can rush into the development phase with an unclear product vision and build the wrong thing! So it is important that you work through a rigorous design process to clearly define the scope of works.
Most of the design documents need to be developed on the client’s side so that you have more control over the process. In some cases, this can be used as a trial period to experience how the design/development firm and its employees operate, how quick they work, and what their true resource commitment to your project is.
4. Set suitable working hours
Remote work can be a great challenge if all of your developers are from different countries and so live in different time zones. Setting suitable working time for the team or each house developer personally will help not only to organize members well but will also allow them to work on their most productive hours either at night or during the day.
If you plan meetings or any other calls, make it during some hours during the day but not elongate them for the whole day to let your developers have their time.
5. Adapt and be ready for unexpected situations
Remote workers have a lot more flexibility compared to those who work from the office and who have a micromanaging style of work, which means you should also be ready to get flexible. Team management, in this case, shouldn’t be very strict – it needs to be provided in the way that every member feels comfortable and knows that if something goes wrong, there are people who can help.
For example, if the developer can’t finish his task, you should find out what the problem is, adapt to it, and provide all the necessary tools or documentation for their success.
Learn more about the key sources of remote tech talent in Part II.
III. The geography of the remote work
What are the best locations to hire remote software developers? Many US companies hire developers in Eastern Europe, Asia, or Latin America. The locations have been quite popular lately due to the growing talent pool and more affordable rates. Yet, most companies don’t consider time difference, language, or culture as a barrier and are open to hiring remote developers regardless of their location. Learn more about geographical preferences for hiring remote developers in Part III.
IV. Best practices for running a remote team
How not to fail with transitioning to remote? Despite multiple evidence proving the positive effect remote work has on employee performance and overall happiness, workplace productivity is still considered one of the top concerns when hiring remotely. This is especially important for remote developers whose work requires minimum distractions. How companies that hire remote development teams can prepare for the onboarding of new employees? What are the common challenges when working with remote developers and how to overcome them? Should the company use remote employee monitoring software? How to manage developers?
8 tips on how to manage a remote software team
When managing remote teams, you might find yourself asking thousands of questions: What are the common challenges when working with remote developers, and how to overcome them? Should the company use remote employee monitoring software? How to manage developers? These and many other questions are valid to consider since on-site and remote work are completely different experiences. With these differences in mind, we have come up with a bunch of tips for you and your remote team to stay productive even if everyone is from different parts of the world.
Take your time to vet the right candidate
Before vetting a developer, it is important to set specific requirements for the candidates as after the hiring, they will be a part of the team. If they aren’t skilled enough for the project, you will lose time and money for nothing. Once you are done with the requirement, you can either do the vet manually or try out one of the automated tools (HackerEarth, Hatchways, or Woven)
Build and increase trust among team members
This tip is easy but still is one of the most important if the engineering team is fully remote. The best way of achieving trust among the members is to make regular calls, online meetings. It would also be a good idea to provide members with some tools where they can share their thoughts with each other.
A project communication plan can also be helpful to ensure that crucial information doesn’t fall through the cracks. Among some of the popular communication tools that are used for better managing remote teams and used by many development teams are the following:
Slack
This application is popular among development teams as it helps to create a comfortable space where developers can create channels, and communicate not only in group chats but also can send direct messages, share thoughts and ideas, etc. Such an application is a good choice if your team has external developers as it helps them to be up to date about all the things which happen in the company.
Zoom
Being a video conferencing app, it had become very popular, especially due to the pandemic when most of the companies went remote. This app allows you to connect to the video calls of up to 10,000 members, which can help to fill team needs in communication, help a lot in making stand-up meetings, and in knowledge sharing through the call.
Github
Being one of the most popular and the most essential work environments for developers, its functionality provides version control, managing projects, hosting, and review codes.
Trello
This is one of the best and most commonly used project management tools and collaboration tools around development teams with a good user experience. This application helps to create dashboards with different topics and share thoughts and ideas via commentaries which surely helps to increase teamwork.
Make team goals
It is important for the company to manage goals that can be achieved if every member works together with others. It will help not only focus on how many hours each member works but also on how productive this time goes.
Increase communication
As well as trust, this tip will also help members to discuss everything they want about the working process, share ideas and thoughts about projects, or simply share some good moments from life and get a live reaction to it.
Different time zones
If your teammates live in different time zones, it can be either an advantage or a disadvantage. It depends on how you want to work: if you feel better being in a team where everyone works at the same time as you, you can create such an environment by discussing the best time with other people from the team.
However it is also a good opportunity to work different hours as it may help you to check or finish some parts of the project if the other person has already finished their part working some hours before you.
Tips to build trust inside the remote development team
When deciding on managing techniques, don’t forget about such an essential part of teamwork as trust. Remote work might be more difficult since managing a person you have never seen in real life can be a challenge for some. Lucky to you, there are some techniques that work just fine with remote employees that were already tested and proved to be effective. Here we will talk about some that you can implement in your work as well.
Better schedule the processes
If your company has developers who work remotely from different countries, it is better to let them work any time a day they want but it is also needed to plan some calls, meetings, and other things for some hours during the day and then let the developers run their working hours.
Create the ability for the team to provide feedback
If you, as a team lead, want your team to have trust and better deal with problems it is essential to let your developers provide feedback on the work. It will help to see problems and questions your members may have and help to solve it as quickly as possible.
Make annual events for the team
This is not only entertaining but also a good chance for the team to get together and chat in real-time situations. Such meetings and events are quite important for raising company culture and team building as during these events, the whole team is gathered to celebrate. They can talk about projects or other stuff but it all will be a lot better for the team as it can be done with some activities or other types of events.
To read more about running the remote team, you can explore Part IV.