What is Staff Augmentation?
A walkthrough of the benefits and challenges that come with staff augmentation for product teams, as well as tactical steps on how to prepare for staff augmentation.
With remote work rising, more and more companies are looking for alternative hiring methods to meet their tech talent needs. Staff augmentation has become an increasingly popular way for tech companies to hire experienced developers and designers.
Staff augmentation is the process of hiring temporary or contract workers to fill in for missing staff or to assist with a specific project. It can be used in a wide range of industries, but is particularly common in tech and IT companies, where there are often peaks and troughs in demand for certain skills. Staff augmentation allows businesses to avoid the costs and overhead associated with full time hires.
Benefits of Staff Augmentation
The two biggest benefits of staff augmentation are speed, cost savings, and flexibility. Finding, recruiting, and retaining competent engineers is getting more and more costly every single year.
The traditional recruiting process is costly for companies who have to build out their own elaborate tech talent acquisition function. More over, if companies make full time hires for their in house team, they may have to pay steep recruiting fees if they sourced the candidates through a recruiter. Compared to the staff augmentation model, this is a critical place where the incentives of external recruiters and companies can fall out of alignment.
Chances are that you have to source candidates from many different sources to put together a team. If you end up making a hire from a recruiter where they don't work out (in our experience this can happen as much as 50% of the time!), the recruiter will most likely offer you "store credit" towards a future hire. But what are the odds that the next engineer or designer you hire on your team comes from them? This is an easy way to end up with tens of thousands of dollars of practically unusable recruiter fee.
Speed of Scaling
Once you become familiar with how to find and work with software developers and designers via staff augmentation, you can quickly scale up your product development team. Great staff augmentation services have highly skilled, prevetted software engineers and designers, ready to hire. They'll allow you to interview candidates before you bring them onboard, and will provide any software engineers or designers you hire with ongoing support.
Over time, the speed and cost efficiency become a competitive edge because they allow you develop and maintain your product at lower cost than your competitors. Also, by freeing up precious time consumed by recruiting, you can focus more on your core business. For startups that are still figuring out things like product market fit, repeatable sales processes, internal operations, or product development, this can be a massive advantage.
If you have a remote team, you're all the more well-positioned to take advantage of the various services out there for building up your team.
Comparing Staff Augmentation to the Various Remote Work Models
Staff Augmentation vs In House Team
The most important distinction to understand is how staff augmentation difference from in house teams. In house teams are hired full time and work for the company permanently. Their employment contract is signed between them and the company, and the company is responsible for sourcing, vetting, and recruiting them.
With staff augmentation on the other hand, the employment contract is between the candidate and the company providing team augmentation services. A good staff augmentation company will limit how involved they get with your processes.
So while you may not have a direct employment relationship, the day to day coworking experience when you hire contractors via staff augmentation should feel very similar to when you hire full time employees in house.
Staff augmentation can be a great complement to an existing in house team. In particular, staff augmentation for engineering and design works great for projects that can be isolated from the regular course of the company.
The best first projects for staff augmentation are the ones where the entire project can be isolated from the regular course of the company, and the success of the project depends much more on technical expertise rather than deep familiarity with your business domain.
Staff Augmentation Vs Freelance
Freelancing is when people work for themselves and they get paid by the hour or project. With freelancers, you have to do all the vetting yourself and you have no support in case something goes wrong (and in our experience, it often does).
Staff augmentation is often more structured than freelancing because there's a firm who vets candidates before they are presented to you, and provides ongoing support to both the company and the augmented staff member to make the project a success.
Staff Augmentation vs Outsourcing
The staff augmentation business model and the classic outsourcing model are similar but have a few important differences. The biggest difference between staff augmentation and the outsourcing strategy is that you are responsible for things like team management and quality control.
In the outsourcing model, the outsourcing service will provide project managers that become a primary interface between you and the software developers.
This "middleman" problem can become a huge headache for companies looking to move fast, as it adds additional process and erases context. It also can filter out engineers who prefer to collaborate via direct communication with stakeholders.
If you're looking to build a remote team where everybody feels like a core team member, you will not want to have your product roadmap being steered by an external project manager. If that's you, rather than looking at an outsourcing team, you may want to consider an augmented team.
Individual Staff Augmentation vs Managed Staff Augmentation Services
Managed staff augmentation services will build an entire remote development team for you, including tech leads and team managers. This dedicated team will work on your project, oftentimes from a shared office space managed by a local person from the service.
If you know you'd like to stand up an entire team and have them working out of the same location, this can be an effective option. Managed services tend to prefer to work with more established companies who are looking to complete an isolated, often ongoing project that they don't want to assign to their existing team.
Key Challenges of Staff Augmentation
One potential challenge with staff augmentation can be a potential lack of fit with company culture. Staff augmentation vendors will vet candidates for the particular skills that can be assessed in an interview process, like programming and design aptitude. But they can't know what to look for in terms of matching your company's collaboration style.
Gauging Soft Skills
The soft skills that determine culture fit are inherently hard to test for during an interview process - they reveal themselves over the course of working closely together. While the staff augmentation firm can prevet a candidate's hard skills, you are still ultimately responsible for making sure they're the a good fit to become a team member.
Ideally, the staff augmentation company you work with should have a prorated trial. We at NUMI offer this for all our engagements because by far the strongest signal for what it's like to work with someone is actually working with them.
Aligning Augmented Staff with Your Business Goals
Another key concern with staff augmentation is how closely aligned the augmented staff member is with your company's business objectives.
If the developer or designer doesn't understand how their work fits into the goals of your company, this causes a cascading problem: they'll prioritize the the things they're most familiar with or curious about (oftentimes more technical work), they'll miss the context for why which will cause project delays and lots of revisions or backtracking.
At NUMI, this is something we screen for for every engineer and designer we let into our guild. It's easy to be wowed by a product builder's technical prowess and completely forget to assess whether they understand how the things they build fit into the larger goals of the team they're on. This is particularly common with remote folks who can be disconnected from the ambient osmosis about the company that happens in-person.
How to Develop a Strategy for Utilizing Staff Augmentation
Have a Clear Job Description
A clear job description is just as important when you hire augmented employees as when you hire in house. Even the most flexible team augmentation services will find it difficult to work with you if there aren't clear expectations of the skills you need communicated in writing.
A clear JD will set guidelines to help filter out candidates that get presented to you before you use your precious time evaluating them. Outlining what technical skills they need, what tools you use in your stack, and what soft skills and previous experience you expect will greatly save time for you, your vendor, and the candidates that you meet.
Choose the Right Staff Augmentation Model
Each staff augmentation provider will a slightly different model. It's important to understand the ideal customer profile of each of the augmentation services you speak with. It's likely that they will tell you "anyone from startups in a garage to publicly traded companies".
But you should dig deeper and ask what are most of the types of companies that they serve. This has a massive bearing on their pricing and other commercial terms, as well as their assessments of quality, and how they matchmake between you and their candidates.
For example, NUMI is focused on providing startups from seed to Series A+ with senior software developers and designers. Because of the segment we serve, we have to look for people who are ready to work with high autonomy, want significant responsibility, and have a demonstrated ability to deliver.
If someone doesn't have these traits, be they come to you via staff augmentation services or as full time candidates, they simply won't work out at a startup.
Have a List of Questions Ready
You should have a list of questions ready for every vendor you evaluate. Here are some questions you could use as a jump-off, but you should take time to come up with several of your own:
- At what stage (preseed, seed, Series A, corporate, etc.) are most of your customers currently?
- Do you "hot swap" developers in the middle of engagements?
- Do we get a dedicated team or engineer? Are they working on other projects at the same time?
- How long do your typical engagements last?
- What's the hiring model? How much control do I have over the candidate review process?
- What's the typical profile of your candidates? How many years of professional do they have, and how much do they cost per month?
- What timezone are your candidates in?
Do their answers sound like they're a good fit for what you're looking for? What questions would you regret not asking, and finding out the answer to only 3 months later?
Setting Expectations around Cost and Quality
Many companies get burned by staff augmentation because they think it's a silver bullet that lets them find talent with 3x the skill and 1/3rd of the cost of a local team. This is a formula for heartbreak.
They're disappointed with the inexperienced candidates they see at their unrealistically low price point, and then scoff at the costs of the highly skilled candidates they see. The irony here is that in trying to squeeze an unrealistic level of quality at an unrealistic cost, they waste a huge amount of time.
Staff augmentation will definitely yield cost savings compared to a local team (especially if you live in a high-competition area like San Francisco or New York). But it's hard to make highly skilled candidates available for hire on demand and provide support over the course of the engagement, without charging any recruiting fee. Companies that explore staff augmentation just for cost savings without considering the hiring speed and flexibility advantages will be sorely disappointed.
Getting Project Outsourcing Right
It's important generally to understand what on your engineering roadmap is core to your business domain, and what is undifferentiated--again you'll benefit from this even if you don't go with staff augmentation.
Projects for your Core Team: Business Domain-specific
The closer a teammate is to the very core of your company, the closer they should be to your customer. So your in house programmers and designers should be working as closely to the customer as possible. They will have the necessary context on the business to bridge technical requirements with the customer needs.
Your in house development team and designers should be doing software development where the requirements are still not fully fleshed out, or there's an inherent uncertainty about the requirements which will evolve as the project unfolds. Again, these are places where the business context they have becomes a superpower.
Projects for Staff Augmentation: Well Defined, Undifferentiated
There are other projects where expertise in your business domain, or context about your customer, are much less important. These can be great places to consider staff augmentation.
If a project has:
- A clearly defined outcome
- Stable, well understood requirements
- Can be "built to correctness"
Then it's is a great project to hand off to staff augmentation. Software development that involves well understood needs - such as setting up an authentication workflow, or architecting a CDN that dynamically resizes and reformats images, or improving the performance of a database cluster - is excellent work for an augmented team or augmented employee. These types of projects can have a single developer or a dedicated team that you source via staff augmentation.
These are problems that have been solved thousands of times before, with ample documentation online on how to get them right. While there may be some specific considerations for your particular case, the general shape of these projects is so rote that technical and collaborative aptitude are far more important (and hire-able for) than domain expertise in whatever your business is working on.
For design, this could be creating a component library or a brand identity. Success for projects like these depends more on technical prowess than intricate customer context.
Bounded, Project-Based Team Augmentation
The best staff augmentation engagements are ongoing, and don't feel like bringing in a mercenary to work a narrow task. But sometimes you may have a very well-isolated problem that needs to be solved correctly, and is outside of your core business. In this case you'll have to tread carefully.
Project based outsourcing like this can work, but you have to be deliberate about how you socialize the augmented team(mate)'s work to the in house team. If you end your engagement before your in house team has fully onboarded to and understood the work of the contractor, you may be left with a black box that will take time to unpack.
Software development around the augmented team's project may halt because your in house team is worried about breaking the existing code that had been written by an external dedicated team or engineer.
How to Avoid the "Black Box" Trap with the Staff Augmentation Model
You can avoid this situation by demanding (and screening for) quality documentation and maintaining regular check-ins baked into the development workflow.
A Culture of Documentation
Top-notch documentation is your first line of defense in preventing the black box trap. It's crucial that you make it clear to any augmented staff that you require detailed, thorough documentation.
If you don't have a quality documentation culture by the time augmented staff come in, it will be much, much harder to get the documentation you need. People mimic the norms of the environments they step into. So it's important that you introduce norms around properly documenting your code as part of the code review process, and even the acceptance criteria for the release of new features.
Your codebase should be well documented. Roughly, this means:
- You should be using type languages (like Typescript!).
- Your modules should have clear in-line documentation explaining the rationale of why they have been designed the way they are
- Every significant directory in your repo should have a README file
- Every significant architecture, including but not limited to: your backend systems, your frontend's authentication flows, and pub/sub architectures, AWS Step Functions, etc. should have diagrams
And importantly, every project should have README that includes the instructions for setup, the implicit software dependencies (e.g. is there a Docker compose file? If yes, what's the install process and Docker version? Does your Postgres deployment depend on PostGIS? If so, what version, and how should a developer install it?).
The Many Benefits of Documentation
This intense focus on documentation may seem overly anal. But ultimately it will pay handsome dividends. Most relevant here, great documentation makes the gap between in house developers and the staff augmentation model much, much smaller.
Much of the value of hiring "in house" comes from poor documentation cultures. This is because if you need to wind down augmented staff, the engineers you engaged will take the context with them when they leave. Great documentation cultures avoid this problem largely.
An engineer armed with great documentation can easily bump up a seniority band in terms of their productivity or stack breadth. A mid level engineer with great documentation on the technical decisions and deliberate tradeoffs made in a stack can operate as effectively as a senior engineer who has to read between the lines to get these motivations.
Similarly, team augmentation engineers can have a much greater impact on your team if the context that your team has in their heads is made _explicit _through documentation.
Recurring Daily Check-ins
Regular checkins like this are an important part of any development process. The daily standups that you do with your team should happen with any engineers you hire via a resource augmentation model. They should be part of your daily engineering standup, and should be held to the same standards as the rest of your team.
Any staff augmentation company that doesn't allow you to embed their engineers onto your team, onto your communication stack (e.g. Slack, Zoom, Notion, etc.) is likely to produce black box products for all but the most rudimentary code. The deeper they can embed within the existing communication flows and ceremonies in your company, the more impactful staff augmentation will be.
Balancing Checkins with Micromanagement
Even if you have a dedicated team, you will still want to think deeply about how to integrate their progress updates into your current reporting systems to track team productivity. This could be as elaborate as rolling out tracking software or adopting corporate project management tools. It also could be as simple as sending daily messages over chat about what each team member accomplished, and weekly updates on what they shipped.
But at the same time, you don't want to micromanage your remote engineers. Remote developers feel most empowered when they have autonomy to implement their work, but also have structure to check in with your team regularly. A lot of software development works on the "agile" model, where teams check in frequently and execute against hiring resources.
Staff augmentation can be a great model for anyone looking to move fast and get the best remote talent. It works particularly well if you put just a bit of elbow grease in. It balances both the flexibility of contracting with the embedded, close collaboration of an in house team.
You may need to think deeply about how to organize your workstreams, and get your technical culture ready for it. But doing so will benefit you far beyond just using staff augmentation to ship your software faster.