You have the product idea for a trading terminal, a budget, and no engineering team. Hiring one and contracting a partner to build it are not two prices for the same thing: they distribute time, knowledge and risk differently. Here is what each path charges you, what has to be in the handover, and what you are holding on the day the work stops.
You have the idea for a trading terminal, a budget for it, and no engineering team. The question that follows is almost always framed as a price comparison: what does it cost to hire engineers, and what does it cost to have a firm build the thing and hand it over.
That framing hides the decision. Both paths end with code that runs. They differ in when the first usable version exists, who understands the system a year later, what happens when a key person leaves, and what you are holding if the work stops.
The short answer: compare the two paths on four things rather than on a rate - time to a version you can put in front of a trader, where the knowledge of the system lives, what survives a departure, and what you own on the day the work stops. A path that wins on rate and loses on all four is the more expensive one.
A trading terminal is not one system. It is a market data path, an order entry path, pre-trade risk checks, connectivity to venues or brokers, position and account state, a screen that has to keep redrawing while the book moves, and a back office that reconciles all of it after the close.
When you hire, you are not buying that system. You are building the organisation that will produce it, and the knowledge of how it works starts at zero and accumulates inside the heads of people you employ. That is an asset while they stay and it is the entire risk when they do not.
When you contract a partner, you are buying a system plus a decision history that already exists somewhere else. The knowledge starts higher and sits outside your company on day one. Whether it ever moves inside is a contract term and a working practice, not something that happens on its own.
It helps to be concrete about what knowledge of the system means here, because it is not the source code:
None of that lives in a repository by default. It lives in a person until a process forces it into writing, whether that person is your employee or a partner engineer.
The hiring path has a queue in front of it that budget does not remove. You write a role you can defend technically, source in a market where trading engineers are scarce, interview for skills nobody inside your company can yet evaluate, wait out notice periods, and then spend the first stretch watching a new team argue about an architecture rather than build one.
The partner path starts at scope instead of sourcing, which is where the time difference comes from. What it does not remove is the work only you can do: deciding what the terminal is for, which instruments and venues matter first, and who the first users are.
And some of the schedule belongs to neither path. These items run at their own pace no matter who is writing the code:
So the honest comparison is not a race between two delivery dates. It is a question of which path puts fewer things you cannot influence in front of the work, and which one starts the parts you can influence sooner.
Put the same question to both paths. If the engineer who wrote the market data handler stops working on Monday, what happens on Tuesday, and what happens in the quarter after that.
In a small team you have hired, the answer usually depends on one name. Early teams concentrate knowledge by design: one person owns the hot path, another owns connectivity, and the roadmap quietly reorganises itself around whoever is still there. In a partner arrangement it depends on whether more than one engineer there has read the code, and on whether your contract says so.
Neither structure is safe by itself. A partner with a single engineer on your account is exposed the same way a two-person in-house team is, and the defence is identical in both cases: knowledge written down while it is being created rather than reconstructed after the fact.
An acceptance test that works on either path: take an engineer who has never seen the system, hand them the documentation and a clean machine, and ask them to bring the terminal up in a test environment and place an order. Everything they have to ask a human being is knowledge you do not own yet.
The word handover covers two very different events. One is a transfer of files. The other is a transfer of the ability to keep going without the people who built it, and only the second one is worth paying for.
Write the second one into the scope as a list of artefacts with an acceptance test attached to each. A reasonable list looks like this:
A handover that has never been rehearsed is a plan, not a deliverable. Rehearse it in the middle of the build, not after the final invoice, and the rehearsal is simple: your engineers deploy a change and roll it back while the people who wrote the system watch.
Ownership is a separate question from handover, and it is settled in the contract before the work starts rather than discovered at the end. Our own answer is one sentence, and we do not shorten it in any version of any document.
The client keeps full ownership of the product and the code, except our reusable components. That exception is the part to read closely with any partner, ours included: ask what the reusable components are, on what terms you keep using them, whether the system builds without anything you cannot rebuild yourself, and what happens to those components if the two of you stop working together.
The question is usually posed as a binary - hire a team or hand the whole thing to someone else. In practice most builds sit between those poles, and the position is allowed to change as the system matures.
Three formats: full delivery, a dedicated team, or engineers embedded in your team. That is how we describe our own side of it, and the difference between the three is not the invoice - it is who holds the plan, who holds the priorities, and who is accountable for the result.
That last point dissolves most of the original question. The strongest version of the partner path plans for your own team from the beginning: you hire against a system that already exists, your interviews are informed by the code the candidate will maintain, and the first thing a new hire reads is a decision record instead of a blank repository.
A rate comparison is the least useful number in this decision, because the two paths bill you in different units. Put both lists side by side and cost them honestly.
The hiring path charges you for:
The partner path charges you for:
Then cost the exits, because both paths have one. The hiring path ends by reducing a team you built, and the knowledge walks out in those heads. The partner path ends with a handover you either rehearsed or did not, and the distance between those two endings is the risk of the path.
Before you sign anything, run both options through one question: if this stopped on Friday, what would we still hold on Monday. Answer it in artefacts - repositories, reproducible environments, documentation, and people who can rebuild the system from them - because intentions do not survive a departure and artefacts do.
What amBrain can substantiate publicly: we have been building software since 2019 from Yerevan, Armenia, with hot paths written in Rust, we built the Spectre Trade trading terminal, and a mini-exchange we built runs in production on MOEX colocation. If you are weighing a hire against a partner for a terminal of your own, take the handover list above into the first conversation and ask whoever is across the table, ourselves included, to answer it line by line.
Bring your current architecture and the failure mode that worries you, and we will go through it together in half an hour.