Onshoring engineering: how to swap teams without slowing down
Outcome: 25-person onshore engineering team. Zero delivery gap. Deploys jumped from every 2 months to 2x per week.
By Loren Anderson, Founder ·
Tallo built a 25-person onshore engineering team over three years. Achieved not by scaling up from scratch but by replacing an existing equal-sized offshore team while the product kept shipping. The bar was keep the product alive while you swap the engine. Innovise has been Tallo’s partner for that transition, and we’re still in it.
When I arrived at Tallo in January 2024, we needed to change how we worked to hit our goals and live our values. That meant bringing our offshore team in house and becoming a true agile product shop. Loren advised us on what we needed, embedded himself and his people directly in the work, and helped us manage the pain of growth as we hit it. He was part of our leadership team in every way that mattered and helped us build a foundation that scales to millions of users. Several of his people have since joined our permanent staff. When we spotted the market opportunity for a mobile app, he helped us staff a team to spin it up alongside the core platform without missing a beat on the rest of the work. I'd recommend Loren to anyone building something new or rebuilding something better.
— Allison Danielsen, CEO, Tallo
Why Tallo went onshore
How Tallo benefitted
A 25-person onshore engineering team, replacing an equivalent offshore footprint.
A modern software development lifecycle — deploys went from every ~2 months to 2x per week.
2 million users migrated from legacy MySQL into PostgreSQL and Okta.
No delivery gap when the offshore arrangement wound down. Release management, DevOps, and SRE coverage stepped in where needed.
An independent hiring and onboarding system Tallo runs without us today.
Tallo is an online career platform for young people in their teens and twenties. Their mission is to help young professionals find meaningful work they wouldn’t otherwise discover.
When Tallo’s leadership looked at their own engineering organization, they wanted the same thing for themselves. Their software had been built by a very capable offshore team over several years, but the next stage of Tallo’s growth required something different.
They wanted an engineering team that sat in the same time zone as product, could talk through problems in real time, and could build the kind of product intuition that only comes from sharing context with the people you’re building for. They wanted engineers who understood Tallo’s users the way Tallo wanted those users to be understood by employers.
This was not a decision against offshore work. The external teams that built Tallo’s initial product put a great foundation in place. The decision was for something specific: a tighter loop between Tallo’s product team and the engineers building Tallo’s product.
Replace, don’t scale
Most offshore-to-onshore stories describe a small team being scaled up: five engineers onshore growing to fifteen, with the outsourced team a footnote. That wasn’t Tallo’s situation. Tallo had a fully-staffed, working engineering function: roughly 25 people across development, QA, project management, and devops. The transition wasn’t adding an onshore team. It was replacing an offshore one, while the product kept shipping and customers kept using it.
What Innovise helped build: the engineering function
The transition was a true client/vendor partnership.
The most durable thing Innovise contributed wasn’t engineers. It was the engineering function those engineers worked within: infrastructure that would outlast any single hire and let Tallo’s leadership scale the team without rebuilding the operating model every time.
Loren co-led this work with Tallo’s leadership. Tallo owned the budget and the hiring decisions. Innovise brought the engineering-management experience and the bench to fill in when needed.
That work included:
Team structure and role definitions. What roles Tallo’s engineering org needed at this stage, how those roles related to each other, and the org chart Tallo required.
Job specs and hiring infrastructure. Job descriptions for each role, interview loops calibrated to what Tallo actually needed at that level, and a hiring process Tallo’s leadership could run independently after Innovise stepped back.
Onboarding. Documentation, containerized development environments, live collaboration. Developers were helping in days instead of weeks.
Development process. Code review standards, branching model, deployment cadence, how PRs got reviewed and merged, what “done” meant. The day-to-day operating system of an engineering team.
Environments and release process. How code moved from development through staging to production, how releases were coordinated, how rollbacks worked, what monitoring looked like.
Role definitions, onboarding, environments, and release process gave the new team a way to operate.
None of these artifacts are glamorous individually. Together, they’re the difference between an engineering team that runs on accidental institutional knowledge and one that runs on documented, repeatable process. Tallo’s leadership wanted the second.
What Innovise covered: the bench
Building the engineering function takes time. Tallo couldn’t wait for it to finish before the existing outsourced arrangement wound down. In parallel with the structural work, Innovise plugged operational gaps while the permanent team came together.
This took several shapes over the three years:
Contract-to-hire engineers. Innovise engineers embedded in Tallo’s product team on contracts that could convert to full-time employment. Tallo got to evaluate engineers in their actual environment, with less risk than a cold permanent hire.
Pure contractors for bursts. When Tallo had a defined initiative that needed temporary capacity, like a mobile app build, Innovise sent engineers on project-bound engagements.
Temporary stop-gaps. Senior Innovise developers were able to wear multiple hats while Tallo searched for long-term talent. Loren operated as Tallo’s sole Site Reliability Engineer (SRE) while we searched for the perfect long-term fit.
Multi-disciplinary coverage. The bench wasn’t only developers. Innovise covered devops, design, and QA roles as Tallo’s transition surfaced gaps in those functions. A complete engineering org needs more than software engineers, and the bench reflected that.
Three years in
The product is still shipping. Tallo’s leadership runs the engineering team day-to-day, and Innovise is still on the bench when Tallo needs something specific.
The differences show up in the work. Features that used to take a week of asynchronous back-and-forth ship in days. Standups, retros, demos, and release decisions happen in real time, with developers in the conversation instead of waiting for the next handoff. Engineers who joined during the transition stayed, trained the people who came after them, and built the kind of institutional knowledge that compounds over time.
Why this worked
A few things made the transition succeed that have nothing to do with technology.
Tallo decided early. Leadership saw the friction and acted before the cost of inaction had exceeded the cost of change.
Tallo + Innovise partnership. Tallo committed to the transition and took an active part. Innovise brought engineering-management judgment and worked alongside Tallo’s leadership to plan and execute.
The transition respected the work that came before. The outsourced teams that built Tallo’s original product did real engineering. Going onshore was a choice about what Tallo’s next stage required, not a verdict on what came before.
Innovise helps companies build their own engineering teams. If you’re considering a transition from an outsourced development team to a hybrid or onshore model and want to understand what it actually takes, get in touch. No sales pitch, just a real conversation about whether the move makes sense for where your company is.