I’m regularly asked for my advice on 𝗼𝘂𝘁𝘀𝗼𝘂𝗿𝗰𝗶𝗻𝗴 𝗮𝗻𝗱 𝗼𝗳𝗳𝘀𝗵𝗼𝗿𝗶𝗻𝗴 𝗲𝗻𝗴𝗶𝗻𝗲𝗲𝗿𝗶𝗻𝗴, for both start-ups and established orgs, so here you go👇
Early stage start-ups
For 𝗲𝗮𝗿𝗹𝘆-𝘀𝘁𝗮𝗴𝗲 𝘀𝘁𝗮𝗿𝘁-𝘂𝗽𝘀 unless you’re well funded, I typically recommend outsourcing, as hiring permanent engineers at this stage is a significant cost and commitment. However, big caveats here: I rarely come across founders who’ve had a good experience. If you’re not an experienced technical founder, I’d advise getting a fractional CTO or similar to support you. While an additional expense, it’ll save you money in the long run (a lot of my talk “Navigating the Tech Galaxy for Early Stage Start-ups” covers how to avoid common pitfalls).
Established organisations
The following advice is for everyone else, from later stage start-ups/scale-ups to large enterprise organisations
Account for management overhead
For 𝗲𝘀𝘁𝗮𝗯𝗹𝗶𝘀𝗵𝗲𝗱 𝗼𝗿𝗴𝗮𝗻𝗶𝘀𝗮𝘁𝗶𝗼𝗻𝘀 considering outsourcing – either for perceived cost savings or due to a lack of internal capability – the management overhead is often underestimated. To work effectively, it requires more oversight than an internal team, especially if they’re working in a different timezone. Organisations often pendulum swing from “expensive” internal capability to outsourced/offshore, only to find things take longer, objectives aren’t met, cost savings aren’t realised, and then swing back the other way.
Outsourcing projects
If you’re thinking about 𝗼𝘂𝘁𝘀𝗼𝘂𝗿𝗰𝗶𝗻𝗴 𝗮 𝗽𝗿𝗼𝗷𝗲𝗰𝘁, make sure to factor in for a ramp up period for new engineers to get familiar with the code and architecture (typically around a month) and, for what even might be considered “stand alone” projects, not insignificant impact on the existing team required to support (and notwithstanding whether your architecture effectively supports another team working in the codebase). For these reasons I advise a minimum 3 month engagement and the most beneficial impact over a medium to long term period and an ongoing relationship.
Insourcing
My best experience has been with “𝗶𝗻𝘀𝗼𝘂𝗿𝗰𝗶𝗻𝗴” or 𝘁𝗲𝗮𝗺 𝗮𝘂𝗴𝗺𝗲𝗻𝘁𝗮𝘁𝗶𝗼𝗻 – bolstering internal teams with people from external partners, meaning lower management overhead, allowing you to flex capacity based on demand and retain knowledge internally, avoiding dependency on a partner. It won’t work if the supplier is working in a significantly different timezone.
True partner relationship
In all cases, it works best when it’s a 𝘁𝗿𝘂𝗲 𝗽𝗮𝗿𝘁𝗻𝗲𝗿 𝗿𝗲𝗹𝗮𝘁𝗶𝗼𝗻𝘀𝗵𝗶𝗽, not a customer/supplier one. It should feel like you’re all part of the same team. Your contracts and commercial relationships can incentivise this – ensure quality and operational requirements are shared responsibilities, and define mutual obligations to enable effective collaboration.
In-house teams
Overall, my best experience – both in terms of cost and outcomes – has been with 𝗳𝘂𝗹𝗹𝘆 𝗶𝗻-𝗵𝗼𝘂𝘀𝗲 𝘁𝗲𝗮𝗺𝘀, using independent contractors sparingly to flex where needed or fill short-term capability gaps. This approach works best with a broadly even and predictable pattern of demand.
Important footnote: UK R&D Tax Relief Changes
If you’re using or thinking of using nearshore/offshore engineering partners and intending to claim tax credits under the UK R&D Tax Relief scheme, note that since April 2024 overseas expenditure is no longer eligible under the scheme, except for very limited circumstances.