Want to get the most from your outsourced developer? Focus on getting them completely onboarded in a systematic way to make it easy for them to contribute quality code.
When any developer’s onboarding is unstructured, they end up slowing down development velocity and the whole team. It might be by unnecessary questions. Or getting constantly blocked. Or writing low-quality code that’s unreadable.
These are frequent issues with outsourced deves who are not part of your team. New dev team members working remotely struggle more with onboarding and communication than those in office.
Consider for a moment how a structured onboarding process reduces these issues. Without constant check-ins and course corrections, miscommunications will keep building up. By setting expectations and processes upfront, you can save yourself hundreds of development days.
Learn from my mistake
Picture this, we were in a rush to get a minimum viable product of a mobile app out as soon as possible. To reduce costs we hired an outsourced developer to build it and let them manage their own process.
Before we knew it this MVP ended up becoming a several-year-long project with hundreds of thousands of users. The outsourced team grew to match our new features. All the builds were passing QA and customers seemed happy. Life was good, and outsourced development let us focus our attention and development on other products.
Eventually, our internal team took over. The first change we wanted to make involved a function that was thousands of lines long. It was clear the code was so bad no one on our team could understand it. For hundreds of pull requests, the outsourced developers were still in the mindset of getting an MVP out. It was clear that maintainability and code quality weren’t a priority. They had never moved on from the original priorities we set forth during the MVP phase with that first developer.
After weeks of digging into their code, we decided it would take less time to rewrite the entire project from scratch than to keep working with it. This rewrite was hundreds of days of development time wasted. This might have been prevented with a formal onboarding for every outsourced developer.
Don’t let this happen to you
Take the time to write a list of goals for onboarding your new outsourced developer and use it to create an onboarding plan. Maybe it’s a small engagement or a short project and you think you can rush to them submitting a pull request. Before you skip a complete onboarding, consider the impact on your time and the overall quality of your codebase.
Set onboarding goals
As part of the formalizing your contract developer onboarding process I recommend you set your own goals. You can use these goals to make an onboarding plan and checklist. I also use the goals as a checklist at 30 days, 60 days, and 90 days of working with them. Reviewing them reminds me to keep reinforcing my expectations and to address their weak areas.
Obviously, your goals will vary depending on your team, project, and the outsourced developer. Speed may be your number one goal, that’s fine.
For me, I typically focus on collaboration and process. The three goals that I personally use are:
Prioritize the long-term: Set the foundation for outsourced developers to contribute high-quality code that’s maintainable and documented.
Integrate into our team: Integrate the outsourced developer as part of our daily, weekly, and monthly processes. It may be different to our internal development team process, but still complementary.
Overly Communicate: Communicate vision, goals, expectations, and open communication channels. Keep reinforcing these in the early days.
You may notice that my goals are all focused on getting everyone working together. My list comes from an attempt to avoid the most prevalent issues I’ve found from outsourcing software development. In any development team, it only takes one team member to throw off a whole development team’s velocity. In my experience, the problems are discovered long after the code was merged.
After you’ve come up with your goals you’ll be able to make a checklist for onboarding outsourced software developers.