Você tem a ideia de produto de um terminal de trading, orçamento e nenhum time de engenharia. Contratar um time e contratar um parceiro para construí-lo não são dois preços para a mesma coisa: eles distribuem tempo, conhecimento e risco de formas diferentes. Aqui está o que cada caminho cobra de você, o que precisa estar no handover e o que você tem na mão no dia em que o trabalho parar.
Você tem a ideia de um terminal de trading, orçamento para ele e nenhum time de engenharia. A pergunta que vem em seguida quase sempre é enquadrada como comparação de preço: quanto custa contratar engenheiros e quanto custa uma empresa construir a coisa e entregá-la.
Esse enquadramento esconde a decisão. Os dois caminhos terminam em código que roda. A diferença é quando existe a primeira versão utilizável, quem entende o sistema um ano depois, o que acontece quando uma pessoa-chave sai e o que você tem na mão se o trabalho parar.
A resposta curta: compare os dois caminhos por quatro coisas, e não pela taxa horária - o tempo até uma versão que você pode colocar na frente de um trader, onde mora o conhecimento do sistema, o que sobrevive a uma saída e o que é seu no dia em que o trabalho parar. Um caminho que ganha na taxa e perde nas quatro é o mais caro.
Um terminal de trading não é um sistema só. É um caminho de dados de mercado, um caminho de entrada de ordens, checagens de risco pré-negociação, conectividade com venues ou corretoras, estado de posição e de conta, uma tela que precisa continuar redesenhando enquanto o book se mexe e um back office que reconcilia tudo isso depois do fechamento.
Quando você contrata, não está comprando esse sistema. Está construindo a organização que vai produzi-lo, e o conhecimento de como ele funciona começa do zero e se acumula dentro da cabeça das pessoas que você emprega. Isso é um ativo enquanto elas ficam e é todo o risco quando elas não ficam.
Quando você contrata um parceiro, está comprando um sistema mais um histórico de decisões que já existe em outro lugar. O conhecimento começa mais alto e, no primeiro dia, fica fora da sua empresa. Se ele vai entrar algum dia é cláusula de contrato e prática de trabalho, não algo que acontece sozinho.
Vale ser concreto sobre o que significa conhecimento do sistema aqui, porque não é o código-fonte:
Nada disso mora em um repositório por padrão. Mora em uma pessoa até que um processo obrigue a colocar por escrito, seja essa pessoa um funcionário seu ou um engenheiro do parceiro.
O caminho da contratação tem uma fila na frente que o orçamento não elimina. Você escreve uma vaga que consegue defender tecnicamente, busca candidatos em um mercado em que engenheiros de trading são escassos, entrevista competências que ninguém dentro da sua empresa ainda sabe avaliar, espera os avisos prévios e, depois, passa o primeiro trecho vendo um time novo discutir uma arquitetura em vez de construí-la.
O caminho do parceiro começa no escopo, e não na busca por pessoas, e é daí que vem a diferença de tempo. O que ele não elimina é o trabalho que só você pode fazer: decidir para que serve o terminal, quais instrumentos e venues importam primeiro e quem são os primeiros usuários.
E parte do cronograma não pertence a nenhum dos dois caminhos. Estes itens correm no próprio ritmo, não importa quem escreve o código:
Então a comparação honesta não é uma corrida entre duas datas de entrega. É a pergunta de qual caminho coloca menos coisas fora do seu controle na frente do trabalho, e qual deles começa mais cedo as partes que você controla.
Faça a mesma pergunta aos dois caminhos. Se o engenheiro que escreveu o handler de dados de mercado parar de trabalhar na segunda-feira, o que acontece na terça, e o que acontece no trimestre seguinte.
Em um time pequeno que você contratou, a resposta costuma depender de um nome. Times iniciais concentram conhecimento por construção: uma pessoa cuida do hot path, outra cuida da conectividade, e o roadmap se reorganiza silenciosamente em torno de quem ainda está lá. Em um arranjo com parceiro, depende de mais de um engenheiro de lá ter lido o código, e de o seu contrato dizer isso.
Nenhuma das duas estruturas é segura por si só. Um parceiro com um único engenheiro na sua conta está exposto do mesmo jeito que um time interno de duas pessoas, e a defesa é idêntica nos dois casos: conhecimento escrito enquanto é criado, em vez de reconstruído depois.
Um teste de aceitação que funciona nos dois caminhos: pegue um engenheiro que nunca viu o sistema, entregue a ele a documentação e uma máquina limpa e peça que suba o terminal em um ambiente de teste e envie uma ordem. Tudo o que ele precisar perguntar a uma pessoa é conhecimento que você ainda não tem.
A palavra handover cobre dois eventos muito diferentes. Um é a transferência de arquivos. O outro é a transferência da capacidade de seguir em frente sem as pessoas que construíram o sistema, e só o segundo vale o que se paga.
Escreva o segundo no escopo como uma lista de artefatos, cada um com um teste de aceitação. Uma lista razoável se parece com esta:
Um handover que nunca foi ensaiado é um plano, não um entregável. Ensaie no meio da construção, não depois da última fatura, e o ensaio é simples: os seus engenheiros publicam uma mudança e fazem rollback enquanto quem escreveu o sistema observa.
A propriedade é uma questão separada do handover, e se resolve no contrato antes de o trabalho começar, em vez de ser descoberta no fim. A nossa resposta cabe em uma frase, e não a encurtamos em nenhuma versão de nenhum documento.
O cliente mantém a propriedade integral do produto e do código, exceto dos nossos componentes reutilizáveis. Essa exceção é a parte para ler com atenção em qualquer parceiro, o nosso incluído: pergunte quais são os componentes reutilizáveis, em que termos você segue usando-os, se o sistema compila sem nada que você não consiga reconstruir sozinho e o que acontece com esses componentes se vocês pararem de trabalhar juntos.
A pergunta costuma ser colocada como um binário - contratar um time ou entregar tudo para outra pessoa. Na prática, a maioria dos projetos fica entre esses polos, e essa posição pode mudar conforme o sistema amadurece.
Três formatos: entrega completa, time dedicado ou engenheiros embarcados no seu time. É assim que descrevemos o nosso lado, e a diferença entre os três não é a fatura - é quem assume o plano, quem assume as prioridades e quem responde pelo resultado.
Esse último ponto dissolve boa parte da pergunta original. A versão mais forte do caminho com parceiro já planeja o seu próprio time desde o início: você contrata tendo um sistema que já existe, as suas entrevistas são guiadas pelo código que a pessoa vai manter, e a primeira coisa que alguém recém-contratado lê é um registro de decisão, e não um repositório em branco.
A comparação de taxa horária é o número menos útil desta decisão, porque os dois caminhos cobram de você em unidades diferentes. Coloque as duas listas lado a lado e faça as contas com honestidade.
O caminho da contratação cobra de você:
O caminho do parceiro cobra de você:
Depois faça as contas das saídas, porque os dois caminhos têm uma. O caminho da contratação termina reduzindo um time que você montou, e o conhecimento sai junto naquelas cabeças. O caminho do parceiro termina com um handover que você ensaiou ou não ensaiou, e a distância entre esses dois finais é o risco do caminho.
Antes de assinar qualquer coisa, passe as duas opções por uma pergunta: se isto parasse na sexta-feira, o que ainda teríamos na mão na segunda. Responda em artefatos - repositórios, ambientes reproduzíveis, documentação e pessoas capazes de reconstruir o sistema a partir deles - porque intenções não sobrevivem a uma saída e artefatos sobrevivem.
O que a amBrain pode sustentar publicamente: construímos software desde 2019 a partir de Yerevan, Armênia, com os hot paths escritos em Rust, construímos o terminal de trading Spectre Trade, e uma mini-exchange que construímos roda em produção na colocation da MOEX. Se você está pesando contratação contra parceiro para um terminal seu, leve a lista de handover acima para a primeira conversa e peça a quem estiver do outro lado da mesa, nós inclusive, que a responda linha por linha.
Traga sua arquitetura atual e o modo de falha que preocupa você, e vamos analisá-lo juntos em meia hora.