How to Integrate Freelance Software Developers Into Your Current Team

how to integrate freelance developers with the regular team and company
Summary:

You hired a freelance developer, now you need to know how to integrate them into your current engineering team seamlessly. Here’s how.

Bringing a new freelance developer to your team is a significant investment. When it works, your team moves faster, achieves more, gains new skills, and may even discover better ways of working. When it doesn’t work, the team slows down, conflict simmers, projects fail, and code quality decreases.

Most hiring managers take the approach that a skilled, professional freelancer will succeed, regardless of the circumstances. This simply isn’t true.

There are a lot of things you and your team can do to dramatically increase the chances that your new freelance developer, along with your team, will thrive. These things are simple but they can be the difference between home-run success and abject failure, no matter if you’re bringing on a freelancer for 2 weeks or 2 years.

Note that we use the term “freelancer” here, but this can refer to any person who joins your team as a developer for a limited time period, including contractors and consultants.

Looking to hire the best remote talent? See how Arc can help you:

⚡️ Find the world’s top developers, designers, and marketers
⚡️ Hire 4x faster with fully vetted candidates

⚡️ Save up to 58% with global hires

Hire top talent with Arc risk-free →

Before Freelance Developers Start

1. Plan ahead for the onboarding process

I’ve worked as a consultant developer for several years. Many of my friends are also consultant software developers. If we had to describe the most common onboarding process for consultants, contractors, and freelancers, it’s this: there isn’t one!

Onboarding is a makeshift, improvisational exercise most times. Your first few days are a whirlwind of battling with out-of-date readmes, missing access credentials, environment setup issues, and unexplained jargon.

The team forgets to tell you about a critical legacy service that nobody ever touches but everything relies on. You’ve been notified that you need to talk to Sam in IT about getting VPN access, but where is IT and who is Sam?

Building a welcoming onboarding process is unpleasant, sure, but here’s why this matters: I estimate that, for most freelance developers, a better onboarding process would add days, or even weeks, worth of additional productivity to every engagement. The penalties of a bad onboarding process are subtle but very real, evidenced by too-slow delivery, needless diversions, frustration, and poor decisions caused by lack of context.

In just an hour or two, you can put together a better onboarding process than 90% of what freelance developers (and developers in general) get to experience. For every hour you put into developing an onboarding process, you’ll get days to weeks’ worth of additional productivity from new developers on your team. There are a few actions you can undertake as a leader that have a higher return on investment.

2. Have a clear purpose for the freelancer

It seems like a no-brainer, but you should have a specific reason for including a freelance developer on your team. 

Specific is the keyword here.

Sure, you need an extra pair of hands, or you need more seniority on your team, but why? And what else do you need? Fleshing out your reasons for bringing on a freelancer will help you create the right conditions for success.

Here are some example ‘purposes’ at the ideal level of specificity:

  • To help the entire team to run as a modern, integrated DevOps team rather than operate as old-school “sysadmins in the corner.”
  • To provide a strong React experience and bring best practices and structure to our existing React projects.
  • To slot into the team’s current workflow and processes with minimal fuss.

Read More: How to Be an Engineering Manager Your Company & Team Respects

3. Prepare an onboarding checklist and document

This is a living document that will equip the freelancer with everything they need to hit the ground running. This document can usually be repurposed to work for any new team member, including permanent hires.

Some of the most effective onboarding documents I’ve seen include the following:

  • A brief overview of the team. What it does, what it’s responsible for, and key stakeholders.
  • A brief timeline of the team and key milestones in the team’s history.
  • Current team goals. The vision the team is working towards and the steps to get there.
  • Overview of team processes and rituals, and the purpose behind these practices (e.g. retrospectives on Friday)
  • List of necessary accounts and credentials.
  • List of apps and services the team uses, and their URLs.
  • List of GitHub repos that the team uses and their purpose. Instructions on which repos should be installed and configured as part of onboarding.
  • Overview of how to get changes deployed.
  • A glossary of commonly used industry, company, or team jargon.

Even though many of these things would be covered in conversation when the freelance developer starts, having everything in one place provides extra context and gives them something they can refer to in their own time. This will also prevent information overload, which is a real problem.

4. Update Readmes and make sure they cover the purpose of the repo

Freelancers are too often left to stumble through (and often asked to update) readmes that haven’t been touched in months or years, and no longer reflect the current state of the codebase. The result will be an installation process that takes much longer, not to mention much more frustrating than it needs to be.

While freelancers can certainly make valuable contributions to readmes by covering “gotchas” from the new user perspective, the basics of keeping a readme up to date should be handled by those who have experience with the project.

A simple improvement you can make to your readmes is to make sure they start with the purpose or aim of the project. Too many private repos have readmes that only include installation info without giving context on the project. This leaves new team members trying to reverse-engineer what the repo does without context.

Finally, list any internal dependencies in the readme, including other services or repos required to use it.

Read More: Managing a Distributed Software Development Team: 5 Lessons Learned

5. Prepare access to key services and tools ahead of time

I’ll start this section with a brief horror story.

A friend of mine landed a software development contracting gig at a bank. She spent her first month unable to use a computer on her own because the hiring manager forgot to lodge a request for her user account with IT, a process that took 30 days!

Non-company laptops were not allowed into the building and user accounts couldn’t be shared. While this is an extreme example, it shows how access delays can hinder freelancers.

Don’t wait until the developer’s first day to organize access. Where possible, have it organized before they start.

6. Use a password manager or secrets management tool to provide (and revoke) access

A good practice generally, but particularly useful when working with freelancers who may need access provided and then revoked when their contract has concluded weeks or months later.

Integration on the Freelance Dev’s First Day

The first day sets the tone for the rest of the freelance developer’s time with you. Therefore, it’s important to get it right. Putting in prep time before the freelancer starts is the single best way to ensure a successful Day One.

The most common mistake is waiting until the freelancer’s first day to finally get organized and think about how to integrate them into the team, leaving the developer unable to be productive during this time.

7. Try to free up your calendar

If you can’t be available, enlist help. Freelancers don’t have the context to be effective on their first day without someone taking them under their wing. If you won’t be able to do this, assign this responsibility to someone else.

Read More: Understanding Remote Team Personalities Gets Your Messages Heard

8. Introduce them to anyone they might need to interact with

If you’re not sure whether they’ll need to interact with someone, introduce them anyway. Why? Because they will almost surely need to work with people outside the team at some point. It also allows other staff to get familiar with the freelancer and not just see them as “the new person.”

It’s not essential that names, or job titles, are remembered. Instead, it’s about integrating the person into the company as a whole. For freelance developers, this formal introduction gives them status and respect within the company and will help them form relationships with stakeholders more easily in the future.

9. Have them set up their tools

If you’re confident in the quality of your Readmes and onboarding document, you can leave them (mostly) alone to get their tools set up. But if you know your Readmes are patchy and the freelancer is going to struggle to have a dev environment setup, have someone intermittently pair with them.

Either way, make sure you assign someone to help with any questions the freelancer has while getting their environment ready.

10. Make it fun for the rest of your team and create positive associations

Create positive associations by making the freelancer’s first-day fun for the whole team. You (or better yet, the company) could buy the team coffee to celebrate, go out for lunch, or play a quick game instead of having your regular stand-up.

If your freelancer is remote, there are still lots of fun things you can do on their first day. You could play a game over video chat, such as Password, or play one of these games for Slack.

Read More: How to Transition to a Remote Engineering Team: The CTO’s Cheat Sheet

Integration in the First Few Weeks

Once you’ve made it through Day One, here’s how to ensure the rest of the engagement is successful.

11. Have the freelancer pair with someone else on your team

This can be for a few hours every day, and will allow them to gain context about the team’s work, technical decisions, and the idiosyncrasies of the system.

12. Identify knowledge gaps and assign mentors to address them

Freelance developers will not always be familiar with your product development workflow, particularly if you’ve departed from ‘vanilla’ Agile. Often, a quick whiteboard session to explain the basics can prevent the freelance developer from getting lost in aspects of your workflow they aren’t familiar with.

These developers may also lack experience with some of the tools and technologies used by your team. If your team uses a technology that the freelancer has never worked with, you might consider allowing them an hour every day to get up to speed with the new tool or language. This small investment will usually pay off by helping your freelancer be more productive, more quickly.

13. Leverage their fresh perspective

Get them involved in your team’s rituals and processes, such as any meetings your team regularly has, or any daily rituals that everyone participates in. Once the freelancer is familiar with those, have them run a session on their own.

Freelancers bring new perspectives and ways of doing things that can be refreshing for your team. For example, in teams I’ve worked on in the past, freelancers have been able to bring a novel approach to the weekly retrospective, a meeting format that can become repetitive if always run in the same way.

14. Take the freelancer for a coffee catchup

In general, the things that do and don’t work out become apparent early on. Take the time to have a coffee and mutual feedback session with the freelance developer to praise what’s been good for the team and correct anything that isn’t working well.

A few things to evaluate:

  • Do you see any negative habits forming?
  • Is the freelancer working well with the team or are they isolating themselves?
  • Are they working on the right things?
  • For freelance senior developers, are they helping to uplift and upskill the rest of the team?
  • For freelance junior developers, are they learning and improving?
  • Has the freelancer brought any new ideas or innovations to the team?
  • Do they have good working relationships with everyone on the team?
  • Are they making good progress and picking up context at the expected rate?

Read More: 5 Reasons Why Your Engineering Management Style Isn’t Working

15. Treat them the same as everyone else

For example, if you have 1-on-1s with your permanent employees, you should also have 1-on-1s with the freelancer. Right now, they are just as much a part of your team as the permanent employees. Freelancers will feel more buy-in and ownership if you treat them like it.

If your freelancer will only be with you for a short time, your 1-on-1s can be shorter and more informal. However, these sessions still provide a valuable opportunity to stay connected and to give and receive feedback if necessary.

16. Give them opportunities to bond with the team on a personal level

Most teams will quickly treat freelancers as one of their own, bonding with them just as quickly as a new permanent employee. But on teams that regularly have freelancers come and go, there can be a sense that it isn’t worth the investment. If you sense this is happening, there are some things you can do to combat this attitude, such as letting the freelancer contribute to team gatherings.

Even better, schedule something fun for the team to do together for an hour during the workday if you’re working with an on-site contractor, such as playing a modern board game together, or playing cards.

If your company’s office culture would look poorly on this, take the team to a café instead, away from prying eyes. If your freelancer is remote, playing trivia is a fun activity that can include all team members regardless of their location.

17. Get their feedback

Freelancers may experience upwards of 5 different workplaces in a single year and often within the same industry. They’re able to rapidly see what works and what doesn’t across many different companies and teams. For this reason, your freelance developers can provide a valuable outside perspective on you as a leader, your team, and the company as a whole.

Here are some questions that can yield valuable insights from your freelancer, possibly as part of an exit interview when the engagement has finished:

  • What are some things we do better than other places you’ve worked at?
  • What are some things we could learn from other places you’ve worked at?
  • How could the new starter experience have been smoother for you?
  • If we bring any other freelancers onto the team, what should we keep doing and what should we do differently?

Read More: Are Personal User Manuals Useful for Managing Remote Teams?

18. Take stock

If you followed this guide, you have given some thought to the purpose of bringing a freelance developer to your team. At the end of the engagement, it’s worth taking stock of whether the engagement can be considered a success based on these goals.

If it was successful, what helped to make it successful? And if your goals weren’t met, why?

This is an exercise you can do alone or with your team after the freelancer has finished. It’ll help increase your chances of success with the next person who joins your team, whether they’re a freelancer or a permanent developer.

The Onboarding & Integration Checklist for Freelance Software Developers

Below is a quick overview of the action items mentioned in this post.

engineering manager checklist for integrating freelance developers with regular team and other stakeholders

Read More: How to Write a Product Requirements Document (PRD) Devs Understand

Wrapping Up

This list represents the best possible onboarding and integration experience for a freelance developer augmenting your engineering team.

In reality, time pressure and a lack of resources may mean that you’re only able to do a few things from this list. In that case, focus on putting together a simple onboarding document and assigning someone (or yourself) to buddy up with the freelancer on their first day.

These two things alone will put your developer onboarding process a head above the competition and help the freelancer to seamlessly integrate into your team. Remember that many companies put very little thought into the onboarding process. It doesn’t take a lot of work to craft a comparatively excellent onboarding experience.

Freelancers, contractors, and consultants: we’d love to hear your suggestions for how teams you’re joining can make the experience better for you. Tech leads and managers: we’d love to hear what other strategies you use to make onboarding a success.

Leave any questions, comments, or other feedback below, and thanks for reading!

You can also try Arc, your shortcut to the world’s best remote talent:

⚡️ Access 350,000 top developers, designers, and marketers
⚡️ Vetted and ready to interview
⚡️ Freelance or full-time

Try Arc and hire top talent now →

This post was originally written by Tash Postolovski, a software developer and psychology student.

Written by
Arc Team
Join the discussion