Hiring a remote developer is often an optimal solution, providing you with the best qualitative result for your money. However, many companies are very apprehensive when it comes to hiring a remote professional.
Disappointing experiences in the past evoke the unwillingness to give it another try. But before you rule out hiring a remote developer, let’s clarify the possible reasons behind past remote onboarding failure.
First, we need to acknowledge that there are good and bad developers in this world. That applies both to the developers in your in-house team and somewhere overseas. The skill does not need to come from your country of origin. While choosing a new hire for a job, it’s always up to you to check the qualifications of the candidate. Carefully review his portfolio and code samples for every programming language he supposedly knows. Then verify previous clients’ feedback and professional platform ratings. Finally, contact him in person, establish a connection, and make sure he is really interested in the job. Only then you can make an informed decision. At this stage, being critical is, in fact, reasonable and justified.
Now, when you’re sure you’ve made the right decision, the scenario where a new person breaks your product on her first day due to incompetence is unlikely. If such or a similar situation has actually taken place, we’d better try to find an adequate explanation of how a qualified developer could cause this mess. You may be surprised, but the majority of such cases are inflicted by a poor onboarding process. It’s amazing how big companies, spending loads of money and time on improving their internal procedures and involving the best programmers, neglect the linking chain between these two areas: hiring employees and the onboarding practices.
The Disregarded Inefficiencies of Staff Onboarding
Despite the available experience of your new employee, you cannot really believe that you’d give him certain access to your product code and he’d immediately start advancing it to the new high. Every new developer needs some time to study your project, get in contact with other team members, and finally learn little a bit. The most common mistakes of the onboarding process are the following:
- Lack of clearly documented company information, such as main business objectives and goals to be reached with a product. If you do not communicate what the company is trying to achieve, what its target audience is, and what current problems/difficulties the product is facing, there is no way your new programmer can do more than merely execute her assigned tasks exactly how they’re described. No creative input or fresh ideas can be generated this way.
- Lack of a dedicated mentor for the initial period (preferably with higher qualifications than the new employee) or, on the contrary, the over-controlling supervisor suppressing the newbie’s initiative and professional development.
- Excessive informational overload, such as the company’s history, policy, rules, and much other irrelevant info, to the newcomer, only overloads the developer and distract him from specific field information. Remember, there is a limit to the new information you can put into someone’s head.
- Extremes in either theoretical learning or practical tasks significantly affecting the performance of newcomers. Field information should also be fed to the developer proportionally. If you give a person your 200-page wiki with the explanation of technical peculiarities of your product, or simply demand her to learn a book of the same volume, you can hardly expect from an employee to digest more than 20-30 of them at a time. If you throw a complicated task without prior preparation or some sort of introduction, failure is the most likely outcome you’re going to get. Only by balancing the theoretical and practical introduction of a new employee can you gain solid and positive results.
These are the most obvious and yet still occurring examples of inadequate onboarding processes and their consequences.
The bottom line is if you decided on making a new hire (both in-house or remote), you need not only find the right person but also you need to make some preparations to properly onboard that person to fit into your company’s workflow.
You can start by dividing your plan into executable parts, such as pre-onboarding, onboarding, and post-onboarding. Now let’s dig into some details about each process.
Pre-onboarding, logically, deals with the period before you officially hire a new employee and introduce him to the company. This may include the very hiring process and the preparations made within the company to streamline the introductory phase. You can learn more about hiring in our article.
Since we’re considering a remote worker, the initial stage would be simplified as opposed to hiring in-house employees since it does not entail the preparation of the office space, software, hardware, and access to the working facilities. Below are the tips on how to make the most in the period between the acceptance of a job offer and the employee’s first official day:
- Create a clear terms-of-employment contract defining the developer’s role in your company, her main objectives, schedule or hours of work, and payment details. Specify the program languages, frameworks, tools, and platforms he or she is supposed to be working with. Make sure the developer has read, understood, and agreed upon all the listed terms beforehand.
- Create all necessary accounts the newcomer will be working with, and send the log-in data and invitations to the team groups or chats, task managers, bug trackers, and any other tools you are using in your company.
- Send an employee the welcoming email with a brief overview of key contacts, a work plan for the first day, and a rough digest of tasks for a week or so.
- Work out the series of tutorials or a welcome e-journal with the most vital information about the company, its goals, and major technical procedures. Supplement this information with a directory, including the exhaustive list of all helpful documents. Be careful, though. You do not want to overload your developer on his first day. (The purpose of mentioning the company’s history, mission, and vision is in creating a sense of community and commitment to the company and camaraderie with other team members. Make sure the information is brief and inspirational, enough to motivate but not to bore or overwhelm.)
The point is that by cutting down the official introductory part, you can get a developer doing real work faster. Everything that can be done in advance should be done. Do not be afraid to deter the developers from the position, as they mostly prefer to start coding right away.
Besides, if a new hire comes to see you’ve actually spent some time preparing for her first day, she will feel valued and welcomed. By getting ready ahead of time, you not only expedite the process but also create a favorable environment with the performance tempo setup from the very beginning.
Of course, there should be a centralized constantly updated knowledge base or wiki, where all developers can go looking for an answer or a piece of advice. The data must be categorized and prioritized according to its relevance to newbies and experienced staff so that the valid information can be found as soon as it’s needed. All established company procedures, guidelines, manuals, tutorials, and step-by-step instructions should be explicitly described and available to every employee.
By creating and updating such information systematically and consistently, you not only save the time for onboarding new staff but also develop a time-saving mechanism for future organizational growth and the emergence of independent development teams.
Interestingly, remote developers normally tend to work more than 40 hours a week, sometimes much more than an in-house team. Outsource employees have to be disciplined and extremely hard working; otherwise, they won’t be able to compete with one another or office staff in the booming developers market. Often, they are driven by the need to prove they are working as hard as an office team, offering the same or greater value to the company. It may look promising at first, but working at such a pace might burn out some people. To prevent losing professionals due to the poorly structured workflow processes, you should not underestimate the importance of a smooth onboarding process and effective communication channels.
- Do not neglect the formal introduction of your new employee to the rest of the project’s staff. To ensure the joint work of all team members, you need to establish some sort of connection within a team. By involving all players in the onboarding process, you benefit all the team. This way, remote workers feel a part of something bigger; they feel the commitment to the team. The home team also gets to know the newcomer in person and determines the best ways for their cooperation.
- Available videoconferencing opportunities represent a great advantage for distant collaboration. By setting up certain routine procedures (for example, regular video/audio conferencing) and working schedules, you create productive conditions, maintaining a steady connection between home and overseas employees. This way, remote workers might be less stressed or not feeling forgotten and forsaken, and you keep up to date on the current progress of your far-off developers. For less formal conversations, tons of user-friendly tools offer opportunities for easy integration of a new team player into the company’s community.
- Make an overview of the project the developer will be working on. Make sure he understands the business objectives underlying the technical structure and the target audience he’ll be working for. Emphasize the product challenges and current problems and clarify how he can contribute to the project’s success. Dedicate some time for sharing the mistakes made in the past of the project. Explain the routines of project development (when meetings take place, what reports are involved, basic project methodology used, and other vital product formalities).
- Regardless of the skill level of your new employee, adapting in the new working environment is always challenging. To relieve a person of some stress, you’ll need to assign a mentor capable to share a piece of advice or provide some guidance to the new hire. However, do not hope that functioning relationships between mentor and mentee will come easily. Assigning all newcomers to the most senior developers or technical leaders is not always the wisest method, although it can work if you are not overusing it. In practice, senior developers can burn out with excessive supervisor duties and develop resentment to the responsibilities accompanying the leadership position. They could even resent new employees in this case. Sometimes assigning newbies to the developers slightly superior in their skill set and with some experience working in the company would be the optimal choice. A mentor will have an opportunity to try a leadership position and a mentee gets more attention and the chance to learn the company workflow faster. Below are the most important tips for a future mentor:
- Start your morning by sharing a day plan with your mentee. List the assigned tasks and clearly specify your expectation for each task.
- Give theoretical information in portions, emphasize critical moments orally, and provide oral explanations if needed.
- Provide recommended reading for every day. This way you will balance theory and practice.
- Start with assigning easy tasks to infuse some confidence and the joy of accomplishment. Besides, various tasks, including bug fixes, test coverage, and well-contained features, would help a developer to learn how to navigate your technological architecture.
- Do not solve their challenges, but give them a chance to figure them out by themselves. Provide some tips if needed. Teach them how to learn from their mistakes.
- Provide and get feedback. Straightforward communication within a mentor-mentee pair is necessary for effective collaboration.
- Exercise some regular pair coding to make sure your mentee can keep up with your pace.
Another important aspect of skillful onboarding is in the promotion of your company’s culture among its employees, even if they work remotely. Share the significant company’s or project’s achievements and prospects. Make sure every employee feels valued and appreciated. Try to ignite some interest in participating in the company’s communities and internal activities (online for remote staff). Loyalty to a company cannot ever be overestimated.
The last and probably key factor of successful onboarding lies in the consistent development environment within a company. If your workflow and development procedures remain chaotic and counter-intuitive, no good can come from that. Only by creating and maintaining solid development practices can your team actually grow both professionally and in size at no expense to quality.
Major post-onboarding activities are the mentor’s feedback and evaluation. Although many developers outgrow their mentors with time, supervised work is a highly preferable practice since it ensures a technical backing, providing for the timely correction of possible mistakes and accelerating the professional growth of the mentee.
Regular feedback on a developer’s progress can unveil the hidden problems within a team or a project. By providing periodical feedback, the mentor and mentee can be sure all working aspects are taken into account so the next general evaluation should bring no unpleasant surprises.
When the time of evaluation comes, the developer should expect the careful study of her code and the tasks she has accomplished. The ratio of tasks and time spent can be assessed considering the various tasks’ complexity and the number of additional parallel assignments. Naturally, every company dreams of multitasking and fast-paced employees who are able to do numerous tasks within fixed timeframes. Such a combo is a rarity though, and when choosing between quality or time efficiency, be sure to encourage quality. After all, bug fixing takes time too.
Establishing long-term target strategy works well for balancing the employees’ prospects with the company’s progress and creates a strong motivational basis for further improvements (not to mention the level of trust implied by the company to complement employees’ advancement).
Tips for Increased Onboarding Efficiency
Automated processes save time and effort for the team involved. Currently, a great number of human resources management systems (HRMS) undertake many mechanical duties accompanying the onboarding process. Some of them are targeted to HR teams, facilitating the hiring options. Others are focused on the integration of a new hire into a company, streamlining the adoption period and tracking and analyzing staff performance, serving as a basis for further employee evaluation. Many HRMS can be customized according to the work peculiarities and employees expectations exercised in your company.
In summary, although the addressed components of the introductory process do not pose a problem by their nature, there can be some difficulties in having them all carefully scheduled and observed without accidentally skipping any important aspect. A new hire onboarding checklist can help in organizing your onboarding practices.
Your approximate to-do list could cover such major points from a general onboarding checklist to a remote developer’s hiring.
- Send terms-of-employment contract and get it back signed.
- Define key team role and top expectations for your new employee and establish a working schedule.
- Create and share the work plan for the first day or two.
- Create the rough digest of tasks for the approbation period.
- List the required software and tools to set up and prepare the installation instructions if needed.
- Assign a mentor.
- Tell your company about the newcomer.
- Introduce a new employee to her team and mentor.
- Provide access to the corporate email, wiki, and any other sources needed.
- Provide the most valid company documents to read first and give her some time for reading.
- Share the introductory project overview.
- Discuss the current stage of the dedicated project she’s assigned to.
- Invite the newbie to your group/team/company chats and communities.
- Set up a trial training programming session with other team members.
- Invite him to your regular progress meetings and daily status calls.
- Set up regular pair programming with other team members.
- Assign small tasks for various modules of a project.
- Set target metrics the employee can focus on.
- Establish daily mentor-mentee progress talks.
- Organize a formal probation review.
- Establish regular progress evaluation and weekly progress feedback.
- Invite her to visit your office to strengthen the relationships within a team.
- Outline the employee’s prospects in your company.
- Establish some long-term targets and strategic employee objectives.
Now that you have this information, the only thing left is to wish you happy onboarding!