The Build, Buy, or Borrow Read for a Capability Gap
You can take one named capability gap and produce a scored, defensible build/buy/borrow recommendation backed by supply, time, and cost evidence.
Key takeaways
- In Refolk's index there are about 10,542 Machine Learning Engineers in the United States versus about 1,260 in Germany, an 8.4x gap that flips buy viability on geography alone.
- Rust profiles are roughly 40x rarer than Kubernetes in the US (3,422 versus 138,726), so hiring velocity collapses for the scarcer skill and the borrow premium becomes the rational cost of speed.
- At an adjacency score of 0.6 or higher, reskilling takes 2 to 3 months, faster than a 48 to 89 day tech hire plus a 6 to 12 month senior ramp, so build can win on time, not just cost.
- The borrow-versus-buy call is an hours calculation: the contractor premium only loses to loaded FTE cost past 1,500 to 1,800 hours per year, so duration of the gap decides the cheaper move.
- A large pool count is not hireable supply; tech's 0.7% offer rate shows a deep pool can still be hard to convert, so segment time-to-fill by role before scoring buy.
You have a named capability gap and three ways to close it: build the skill internally, buy it on the open market, or borrow it through contractors and consultants. This guide is for strategy, research, and talent-intelligence teams who have to make that call and defend it. It gives you a scoring instrument that converts six dimensions into supply, time, and cost evidence, so one gap resolves to one move you can put in front of a leadership review.
Most public writeups on this decision are HR essays. They describe the three options and then hand you back to your gut. That is not enough when you are staffing a roadmap or sizing a capability build. Below, each dimension gets a score, and each score names the number it rests on.
What build, buy, and borrow actually mean here
Build means developing current staff through training, job rotation, and stretch assignments. Buy means recruiting the skill externally as a full-time hire. Borrow means renting it from freelancers, consultants, or vendors outside the organization. That operational split comes from SHRM's HR framing; the underlying model traces to Laurence Capron and Will Mitchell's book "Build, Borrow, or Buy: Solving the Growth Dilemma."
The problem is that none of these sources tell you how to weigh the three against the talent market for the case in front of you. This guide scores six dimensions:
| Dimension | What it decides | Primary evidence |
|---|---|---|
| External supply depth | Whether buy is even possible | Pool count by skill and market |
| Hiring velocity | Whether buy beats your deadline | Time-to-fill, offer rate |
| Internal adjacency | Whether build is fast enough | Skill overlap of current staff |
| Time-to-productivity | How long build actually takes | Ramp benchmarks by adjacency |
| Cost delta | Which move is cheapest at your volume | Loading, premiums, break-even |
| Strategic ownership | Whether you should own it at all | Core versus peripheral judgement |
The first five are market questions with numbers behind them. The sixth is a judgement, but you make it last, after the evidence is on the table.
External supply depth: the dimension that flips buy viability
Supply depth is the addressable pool for your exact skill in your exact market, and it is market-specific by nearly an order of magnitude. The same skill can be a plausible buy in one country and a build or borrow in another, on geography alone.
The evidence is stark. In Refolk's index of professional profiles, there are about 10,542 Machine Learning Engineers in the United States against about 1,260 in Germany. That is 8.4x more supply for an identical role, driven by concentration in hubs. If your gap statement says Germany, "buy an ML engineer" is a much weaker move than the same sentence in the US, and no amount of framework theory tells you that. The pool count does.
Scarcity is also skill-specific inside a single market. In Refolk's index there are about 3,422 profiles listing Rust against about 138,726 listing Kubernetes in the United States. Rust is roughly 40x rarer. When the skill graph is that thin, hiring velocity collapses and borrowing becomes the rational cost of speed rather than a failure of nerve.
Dataset A - External supply depth by market
| Role / skill | Market | Addressable pool | Ratio |
|---|---|---|---|
| Machine Learning Engineer | United States | 10,542 | 8.4x deeper than Germany |
| Machine Learning Engineer | Germany | 1,260 | baseline |
| Rust (skill) | United States | 3,422 | 1x |
| Kubernetes (skill) | United States | 138,726 | 40.5x deeper than Rust |
Pool counts are a single pull from Refolk's index; ratios are derived by division. No public source names a hard "not viable" pool-size threshold, so score supply as a relative signal: compare your pool to a deeper adjacent skill in the same market, then confirm it with velocity. A big number is a green light for buy only if the market also converts.
Hiring velocity: does the market clear before your deadline
Hiring velocity is the gap between how long the market takes to fill your role and how long you have. Published time-to-fill is the clearest public proxy for whether buy is realistic, and in tech that proxy runs long.
The US average time-to-fill across all positions is 44 days, but tech-specific searches run 48 to 89 days depending on role and seniority. One benchmark dataset put the average at 63.5 days in 2025, down slightly from 67.7 the year before. If your deadline is inside those windows, buy is already losing on time before you count cost.
Depth does not guarantee conversion. Tech candidates face a 0.7% offer rate, 45% below the all-industry average. A deep pool that almost never converts to an accepted offer is a slow, competitive buy no matter how large the count. That is why supply depth and velocity are separate dimensions: one measures how many exist, the other measures how many you can actually land in time.
There is a structural signal too. Tech fills 16% of roles through referrals, 129% above the global average, and uses internal hires 25% more than average. When a market leans that hard on referrals and internal moves, the open market is a weak buy channel, and the data is quietly telling you that build and borrow already dominate there.
Internal adjacency and time-to-productivity: whether build is fast enough
Adjacency is the degree of skill overlap between your current staff and the target role, and it is the lever that makes build competitive on time rather than just on cost. Two roles are adjacent when they share core competencies even if the titles suggest otherwise.
You can estimate adjacency without HRIS access. Gartner analyzed billions of job postings and found a company needing a natural-language-processing expert can look to employees with machine learning, Python, or TensorFlow experience, because those skills are closely related. Public skill tags, project histories, and certifications are the observable proxies. Illustratively, a data analyst may already hold 70% of the capabilities needed to move into a business intelligence role.
Adjacency converts directly into a ramp estimate, which is your time-to-productivity dimension.
Dataset B - Build timeline by adjacency and role band
| Scenario | Time to productivity |
|---|---|
| Adjacency score 0.6 or higher (reskill) | 2 to 3 months |
| Adjacency score 0.4 to 0.6 (reskill) | 4 to 6 months |
| Mid-level hire (Gallup median) | 8.2 months |
| Senior / highly technical from scratch | 6 to 12 months |
Read the table against velocity. A reskill at 0.6 overlap or higher finishes in 2 to 3 months. A tech hire takes 48 to 89 days to fill and then a mid-level ramp runs to a Gallup median of 8.2 months, or 6 to 12 months for a senior technical role. So a high-adjacency internal pool can beat buy on time-to-productivity, not only on cost. That is the finding most essays miss.
Supply depth against internal adjacency
Adjacency scoring behavior is a competitive habit, not a nice-to-have: 46% of high-performing organizations actively identify adjacent skill sets versus only 26% of others. If you are not scoring adjacency, you are leaving your cheapest, fastest option unmeasured.
Finding Refolk profiles with the adjacent skills already listed is what turns adjacency from a guess into a count. Instead of asking a line manager who "might be close," you pull the people whose public skill tags prove the overlap.
Cost delta: the borrow-versus-buy call is an hours calculation
Cost is where borrow and buy get compared wrongly most often. The decisive number is not the headline hourly rate; it is the number of hours the gap actually consumes in a year.
Start by loading the full-time hire correctly. The standard employer multiplier is 1.25 to 1.40x base salary, so a $100,000 employee actually costs $125,000 to $140,000 once taxes, benefits, and insurance are counted. If you source through an agency, add a one-time fee of 15 to 25% of first-year salary. Cost-per-hire itself runs about $5,475 for non-executive roles and $35,879 for executive roles.
Now the contractor. Contractors charge 25 to 100% more per hour than the equivalent employee rate, because they cover self-employment tax, health insurance, retirement, unpaid time off, equipment, and income variability. In one worked example, matching a $130K salaried package with full benefits landed at roughly a 47% premium over the full-time hourly equivalent.
Dataset C - Cost multipliers across the three moves
| Move | Cost basis | Multiplier / fee |
|---|---|---|
| Buy (FTE, loaded) | base salary | 1.25 to 1.40x |
| Buy (agency-sourced) | first-year salary | +15 to 25% one-time |
| Borrow (contractor) | equivalent hourly | +25 to 100% per hour |
| Borrow break-even | annual hours | 1,500 to 1,800 hrs |
The break-even is the whole game. Below roughly 1,500 to 1,800 hours per year, contractors are often cheaper because you avoid benefits overhead. Above it, the loaded FTE wins. So a short, bursty, or uncertain gap favors borrow, and a durable full-time-equivalent need favors buy. Duration decides, not rate.
The borrow-versus-buy decision is an hours calculation, not a rate calculation.
The common error is comparing a contractor's hourly rate straight to an employee's base salary. That overstates the borrow premium every time, because the employee's real cost is 1.25 to 1.40x that base. Load the FTE first, then compare.
The scoring procedure end to end
Run these eight steps in order. Each produces one input, and the final step totals them into a single move with its evidence attached. Budget about five working days across an analyst, a line manager, finance, and a strategy lead.
Scoring one capability gap to a move
- Define the capability gap preciselyName the specific skill, market, seniority, and productivity threshold. Done when you can state "I need X people who can do Y in market Z by date D," with the threshold set as quota attainment, independent feature delivery, or caseload capacity.
- Measure external supply depthPull the addressable pool size and top employers for the skill and market from Refolk's index, plus published time-to-fill for that role family. Done when you have a pool count and a days-to-fill figure.
- Score hiring velocityCompare the market's time-to-fill against your deadline. Tech medians of 48 to 89 days and offer rates near 0.7% mark a slow, competitive buy; a faster market with a shallow deadline gap favors buy.
- Assess internal adjacencyMap current-staff skills against the target using public skill overlap, not job titles. Done when you have an adjacency estimate expressed as the share of staff at 0.6 overlap or higher.
- Estimate build timelineConvert adjacency to a ramp estimate using role-band and adjacency benchmarks: 2 to 3 months at 0.6 overlap or higher, 6 to 12 months for a senior or technical role from scratch. Done when build has a defensible weeks-to-productivity figure.
- Compute the cost delta across all threeLoad FTE at 1.25 to 1.40x base, add agency fees of 15 to 25% where used, apply the contractor premium of 25 to 100%, and check hours against the 1,500 to 1,800 hour break-even. Done when build, buy, and borrow each carry an annualized number.
- Score strategic ownershipJudge whether the capability is core, favoring build or buy, or peripheral and temporary, favoring borrow. Done when the ownership call is written down with its reason.
- Resolve to one move and document evidenceTotal the dimension scores; the highest resolves to build, buy, or borrow. Done when each score cites the supply, time, and cost figure it rests on.
One point of honest disagreement in the sources: order of operations on step 4. SHRM-style guidance says start from an internal skills inventory; market-first practitioners score external supply first. I score supply first because it is the cheapest dimension to measure and the fastest to eliminate a move. If external supply is deep and fast, you may not need a full adjacency study at all. If it is thin, adjacency is where the answer lives, and you invest there.
Dimension | Build | Buy | Borrow | Evidence cited External supply depth | _ | _ | _ | pool count (market) Hiring velocity | _ | _ | _ | time-to-fill vs deadline Internal adjacency | _ | _ | _ | share of staff at >=0.6 overlap Time-to-productivity | _ | _ | _ | ramp weeks from Dataset B Cost delta | _ | _ | _ | annualized cost, hours vs break-even Strategic ownership | _ | _ | _ | core / peripheral call TOTAL | _ | _ | _ | highest total = the move
Score each move on each dimension, sum the columns, and take the highest. Write the source figure in the notes column for every score.
How this read goes wrong
The scoring instrument fails in predictable ways, and every failure is a specific number misread. Screen for these before you present a recommendation.
- Pool count mistaken for hireable supply. A large index count includes people not open to moving. Check it against offer-acceptance and time-to-fill; tech's 0.7% offer rate proves a deep pool can still be hard to convert. The count sizes the opportunity, velocity sizes the reality.
- Time-to-fill blended across role types. A 44-day company average makes hourly roles look fine while specialized roles are actually slow. Segment by role family before scoring buy, or you will greenlight a hire the market cannot deliver on your deadline.
- Adjacency inferred from title, not skills. A "Marketing Analyst" at one company may spend 80% of their time on data visualization; the same title elsewhere is mostly copywriting. Two identical titles doing different work is the classic false positive. Verify against actual skill tags and project histories.
- Contractor rate compared to base salary directly. This inflates the borrow premium every time. Load the FTE at 1.25 to 1.40x first, then compare like with like.
- Ignoring the hours break-even. Borrow scored "cheaper" for a full-time-equivalent need is simply wrong past 1,500 to 1,800 hours per year. Recheck against expected utilization before you trust a borrow recommendation.
- Build timeline guessed, not anchored. Assuming a 3-month ramp for a senior technical hire is a false positive; role-band data says 6 to 12 months. Anchor every timeline to the adjacency score and Dataset B.
- Stale internal skills data. Knowing which employees have adjacent skills gives a running start only if the documentation is current. Confirm the skill records are fresh before you trust an adjacency estimate.
The single most valuable check: when supply is deep but velocity and offer rate are poor, the market is telling you buy is theoretically possible but practically slow. That is exactly the case where a high-adjacency build or a fast borrow quietly wins, and the essay-level frameworks will still say "just hire."
Verify before you call the read done
Before the recommendation leaves your desk, confirm the evidence chain holds. This is the last gate.
Ready-to-present gate
- The gap statement names skill, market, seniority, deadline, and a concrete productivity threshold.
- Supply depth is pulled for the exact market in the gap statement, not the skill in the abstract.
- Time-to-fill is segmented to the role family, not a companywide blended average.
- Adjacency is estimated from skill tags and projects, and the underlying skills data is confirmed current.
- Every build timeline is anchored to an adjacency score and Dataset B, not guessed.
- FTE cost is loaded at 1.25 to 1.40x before any comparison to a contractor rate.
- The borrow case is checked against the 1,500 to 1,800 hour break-even at expected utilization.
- The strategic ownership call is written down with its reason.
- Each of the six dimension scores cites the supply, time, or cost figure it rests on.
Keeping the read current
A build, buy, or borrow read has a short shelf life because its inputs move. Supply counts shift as markets grow, time-to-fill drifts with the hiring cycle, and internal adjacency changes as staff learn and leave. Treat the recommendation as accurate on the date you ran it, and note that date on the sheet.
Re-pull the pool count and time-to-fill whenever the deadline shifts or the market changes, since those two dimensions decide buy viability and they are the fastest to go stale. Re-check adjacency whenever the skills documentation is updated or the team composition changes. For an emerging skill like Rust, where the pool is roughly 40x thinner than a mainstream skill in the same market, re-check supply more often, because thin markets swing faster in relative terms. The instrument stays defensible only as long as the numbers under each score are the current ones.
The refresh loop
- Deadline or market shiftsRe-pull supply depth and time-to-fill for the exact market
- Skills data updatedRe-estimate internal adjacency from current tags
- Rescore affected dimensionsUpdate the scoring sheet and re-total
- Re-resolve the moveConfirm the highest column still holds, or switch moves with fresh evidence
Questions practitioners ask
How is this different from the classic build, borrow, or buy framework?
The canonical framework, from Laurence Capron and Will Mitchell's book, and the SHRM HR framing both describe the three moves well but stop at description. Neither converts the choice into a talent-market score. This guide adds the missing instrument: six dimensions, each scored against supply, time, and cost evidence for the specific gap in front of you, so the choice resolves to one move rather than a debate.
Can I score build, buy, or borrow without HRIS access to internal skills data?
Yes, for adjacency you can use public proxies: skill tags, project histories, and certifications on employee profiles. Gartner found that a company needing an NLP expert can look to staff with machine learning, Python, or TensorFlow experience because those skills are adjacent. The risk is stale data, so confirm the skill documentation is current before you trust an adjacency score.
When is a contractor genuinely cheaper than a full-time hire?
Below roughly 1,500 to 1,800 hours per year. Contractors charge 25 to 100% more per hour than the equivalent employee rate, about a 47% premium in one worked $130K case, because they cover their own tax, benefits, and downtime. That premium only loses to a fully loaded FTE past the break-even, so short or intermittent gaps favor borrow and full-time-equivalent needs favor buy.
What pool size means a skill is not viable to hire?
No public source names a hard threshold, so treat absolute counts as relative signals rather than pass/fail lines. In Refolk's index, Rust profiles are about 40x rarer than Kubernetes in the US (3,422 versus 138,726). Compare your pool against a deeper adjacent skill in the same market, then confirm with time-to-fill and offer rates, since a large count can still convert poorly.
Why does the same skill get a different recommendation in two countries?
Because supply depth is market-specific by nearly an order of magnitude. Refolk's index shows about 8.4x more Machine Learning Engineers in the US than in Germany. The same role is a plausible buy where the pool is deep and a build or borrow where it is thin, so always score supply for the exact market in your gap statement, not the skill in the abstract.
Try it on your own search
Stop building boolean strings. Just describe the person.
Type one sentence and I plan the search, read GitHub, public LinkedIn and Crunchbase records, and the open web live, then hand back a ranked shortlist with the reasoning behind every name. No filters to learn, no export to clean up, no sales call to sit through.
- One sentence in, a ranked shortlist out. No boolean, no filters, no seat to buy.
- Read live at search time, not from a database that went stale last quarter.
- Watch every step as it runs, and see why each name made the list.
- Staff backend engineers in NYC who shipped Rust in production
- Series A fintechs in SF under 50 people, growing headcount this year
- Maintainers of fast-growing Rust web frameworks on GitHub
500 free credits on sign-up. No card, no demo call. See real searches.