Como verificar um time dedicado de desenvolvimento antes de assinar e como manter a propriedade integral do código: contratos, escrow, bus factor, tarefas de teste em Rust.
Um time de desenvolvimento raramente some da noite para o dia. Ele vai se diluindo. O engenheiro sênior passa para uma conta maior, a única pessoa que entendia a parte mais difícil vai embora, o trabalho migra em silêncio para uma subcontratada que ninguém avisou, e a empresa que responde aos seus e-mails um ano depois não é a que escreveu o seu código.
Nada disso aparece em um site. Tudo isso aparece nas perguntas que você faz antes de assinar. Com a propriedade é igual: “o código é seu” é uma cláusula para ler, não uma promessa, e em vários países a regra padrão surpreende os compradores.
A resposta curta: um time que fica não se encontra, se verifica. Peça engenheiros nomeados, o tempo de casa de cada um e para quem mais eles trabalham. Mantenha a propriedade colocando os repositórios na sua própria organização desde o primeiro dia, obtendo uma cessão de direitos assinada por todos que escrevem código e limitando o que o fornecedor guarda para si a uma lista que você leu nome por nome. Para um sistema de tempo real, acrescente uma tarefa de teste paga, revisada por um engenheiro que não trabalha para nenhum dos dois.
Leia também
“Sumir” costuma ser um de quatro eventos comuns de negócio, nenhum deles dramático e todos previsíveis.
“Confiável” não se pesquisa de fora: é o resultado dos termos do contrato e dos fatos sobre a equipe que você pede. Dá para sobreviver a todas as falhas acima quando o trabalho está registrado por escrito e os repositórios são seus.
Você não vai encontrar um time assim procurando. Você vai encontrar candidatos, e é a verificação que decide o resultado. Os melhores vêm da indicação de uma empresa que opera o mesmo tipo de sistema e continua com aquele fornecedor depois de um ano, e do trabalho de engenharia público que você pode ler: código, textos técnicos, palestras. Diretórios ajudam quando as avaliações nomeiam quem avaliou e qual foi o projeto. Vendas inbound falam sobre marketing, não sobre engenharia.
Depois descubra o que a proposta quer dizer com “time dedicado”, porque a expressão tem dois sentidos:
Não custa nada perguntar por essa diferença, e nada prevê melhor se o time do primeiro mês será o time do décimo segundo.
Peça fatos, não promessas. Quatro deles carregam a maior parte do peso; o restante está no checklist abaixo.
Uma pergunta pesa mais que as outras: o que acontece com o meu projeto se o seu maior cliente sair no mês que vem? Um fornecedor que já pensou nisso responde com estrutura de equipe e de receita; um que não pensou responde que isso não vai acontecer.
A propriedade é decidida pela regra padrão da lei, pelo que o seu contrato diz no lugar dela e por onde o código fica. Os compradores pensam na segunda, às vezes na terceira e quase nunca na primeira, que é onde estão as surpresas.
O Instituto de Propriedade Intelectual do Reino Unido (UK Intellectual Property Office) coloca a regra padrão com clareza: “Quando você pede ou encomenda a outra pessoa ou organização a criação de uma obra protegida por direitos autorais para você, o primeiro titular legal dos direitos autorais é a pessoa ou organização que criou a obra, e não você, que encomendou, salvo se você acordar o contrário por escrito.” Pagar uma fatura não transfere direitos autorais.
“Obra por encomenda” (work made for hire) é mais estreito do que parece. O Escritório de Direitos Autorais dos Estados Unidos (US Copyright Office) nomeia duas situações: a obra que um empregado cria como parte de suas funções regulares e a obra especialmente encomendada sob um acordo expresso e por escrito. A segunda tem quatro condições que precisam valer todas, e a primeira é que a obra “deve se enquadrar em uma das nove categorias de obras listadas acima que são elegíveis para serem especialmente encomendadas ou contratadas como obras por encomenda”. Software sob medida não está entre essas nove, e o Escritório acrescenta: “Se uma obra deixa de atender a qualquer um desses requisitos, ela não é uma obra por encomenda.” Uma cláusula que chama a sua plataforma de obra por encomenda, assinada com uma empresa que não é a sua empregadora, pode não produzir efeito nenhum.
O que funciona é uma cessão, por escrito, assinada. A lei de direitos autorais dos Estados Unidos diz isso de forma direta: “A transferência da titularidade de direitos autorais, que não se dê por força de lei, não é válida a menos que um instrumento de transmissão, ou uma nota ou memorando da transferência, esteja por escrito e assinado pelo titular dos direitos transmitidos ou por seu agente devidamente autorizado.” Um fornecedor só pode ceder o que possui, então os contratos dele com empregados, prestadores de serviço e subcontratadas precisam ceder esses direitos a ele primeiro. Peça para ver essa cadeia. As regras variam de país para país, então peça a um advogado que confirme a redação. Sob uma cessão, o código é seu para modificar, para vender junto com o negócio e para entregar a outro fornecedor; sob uma licença, não é.
Todo sistema real também contém código que o fornecedor não escreveu. Peça uma lista de materiais de software (software bill of materials, SBOM), que a Agência de Segurança Cibernética e de Infraestrutura dos Estados Unidos (CISA) descreve como “um inventário aninhado, uma lista de ingredientes que compõem os componentes de software”. Para cada componente: nome, versão, licença e o que essa licença exige quando você distribui ou vende.
A maioria das empresas de engenharia reutiliza as próprias bibliotecas, e a maioria das cláusulas de propriedade deixa essas bibliotecas de fora. Essa exceção (carve-out) é normal; uma exceção sem limites não é, porque ela pode tornar o seu sistema impossível de compilar sem o fornecedor. Delimite-a antes da assinatura:
Um contrato de escrow de software é um arranjo tripartite entre o cliente do software, o fornecedor do software e um agente de escrow: o fornecedor deposita o código-fonte e os materiais de build, liberados para você se ocorrer um evento acordado. Os eventos de liberação padrão cobrem falência, recuperação judicial e descumprimento das obrigações de manutenção. Um depósito, sozinho, prova apenas que algo foi depositado; a verificação é o serviço separado que testa se aquele depósito realmente reconstrói a aplicação em funcionamento.
Pergunte a todo fornecedor, este incluído: o que continua sendo de vocês depois que o projeto termina, e posso ver essa lista, nome por nome, antes de assinar?
Em um sistema comum, lento é irritante. Em um sistema de tempo real, atrasado é errado: uma ordem que chega à bolsa depois que o preço se moveu é uma resposta errada, não uma resposta lenta, e repetir a tentativa não resolve. Por causa disso, três coisas mudam na contratação.
O contingente de engenheiros é menor. Na Stack Overflow Developer Survey de 2025, 31.771 pessoas responderam em quais linguagens tinham trabalhado extensivamente no último ano. Rust foi citada por 14,8% delas, C++ por 23,5%, C por 22% e Go por 16,4%. Isso é uma pesquisa, não um censo do mercado de trabalho, mas a proporção é o que importa: as linguagens usadas em trabalho de tempo real rígido são uma habilidade minoritária. Um fornecedor que “consegue alocar engenheiros de Rust” está descrevendo um plano de recrutamento; pergunte quantos engenheiros que já estão dentro da empresa levaram Rust à produção.
A linguagem em si já está consolidada. A pesquisa anual do projeto Rust chegou à décima edição em 2025, com 7.156 respostas coletadas entre 17 de novembro e 17 de dezembro, e a publicação dos resultados relata uma tendência contínua de contratação por organizações que procuram mais desenvolvedores Rust. Um time que você contratar depois não precisa vir do seu parceiro atual.
Afirmações sobre velocidade precisam vir com medições. Um time com trabalho de tempo real em produção conta cinco coisas sem que você precise insistir: o que foi medido, em qual percentil, sob qual carga, em qual hardware e em que data. O percentil importa mais do que a média, porque a média esconde a cauda lenta onde um sistema de tempo real falha. Um número sem esses cinco anexos é um número de marketing.
Uma tarefa de teste transforma isso em evidência: paga nas condições normais do fornecedor, cerca de duas semanas, sobre um problema real seu, com critérios de aceitação acordados antes de começar e com o resultado sendo seu, continuando a parceria ou não.
Três tipos de fornecedor respondem quando você diz que precisa de Rust. Empresas de outsourcing generalistas vão recrutar engenheiros de Rust para o seu projeto: razoável quando o seu prazo tem folga para contratar, fraco quando o sistema é a parte difícil. Empresas de engenharia especialistas já operam sistemas em Rust que os próprios engenheiros delas colocaram em produção. Engenheiros autônomos contratados individualmente podem ser excelentes, e carregam o risco de pessoa-chave na sua forma mais pura.
Quatro verificações separam afirmações de evidências:
“Vamos requalificar nosso time de C++ em Rust” é um plano legítimo, e ele pertence à proposta, com nomes e um cronograma, em vez de ser descoberto no terceiro mês. A linguagem também não é a decisão inteira: um sistema de tempo real falha no banco de dados, na rede e no caminho de deploy com a mesma frequência.
Este artigo não publica um ranking, e vale ter cuidado com quem publica. Um ranking não tem como saber o seu prazo, o seu protocolo, o seu regulador, a sua carga de pico ou quem vai operar o sistema daqui a um ano, e são esses os fatos que decidem se um fornecedor serve.
O que substitui um ranking é uma lista curta que você mesmo monta. Escreva primeiro o seu pico em números: requisições por segundo no minuto mais movimentado do seu dia mais movimentado, o prazo que cada resposta precisa cumprir e o que acontece quando ele não é cumprido. Leve essa página a três fornecedores com o mesmo briefing, a mesma tarefa de teste e a mesma minuta de contrato, e compare as respostas linha por linha.
Peça uma resposta por escrito para cada linha; “discutimos isso depois” também é uma resposta, e ela entra no registro.
Pessoas e dependência:
Propriedade:
Evidência de tempo real, teste e saída:
Entre os tipos de fornecedor descritos acima, a amBrain é uma empresa de engenharia especialista. A amBrain é uma empresa de engenharia de software de Yerevan, Armênia, que constrói plataformas de trading de baixa latência, matching engines e sistemas de real-time bidding em Rust. A amBrain constrói software desde 2019 e trabalha no mundo todo, em inglês, russo e armênio.
Sobre o time e os formatos: um time de até 40 pessoas, cerca de 75% delas sêniores, trabalhando em três formatos — entrega completa, time dedicado ou engenheiros embarcados no seu time.
Sobre propriedade, a frase tem uma linha e nunca é encurtada: o cliente mantém a propriedade integral do produto e do código, exceto dos componentes reutilizáveis da amBrain. Essa cláusula é a exceção que este artigo manda delimitar, então peça a nós a lista nome por nome antes de assinar.
Sobre trabalho em tempo real: uma mini-exchange construída pela amBrain roda em produção na colocation da MOEX. Os números medidos de latência e de volume que a amBrain publica não são repetidos aqui; eles estão nas páginas de setores, ao lado do trabalho em que foram medidos.
O que esta seção deixa de fora é proposital, e este artigo não é um estudo de caso. A amBrain não publica índice de rotatividade de pessoal, tempo de casa dos engenheiros, número de bus factor, prazo de aviso prévio, arranjo de escrow nem certificação: nada disso foi medido, e uma afirmação não medida é justamente o que este artigo manda você não aceitar de ninguém, nem desta empresa. Todo o resto descrito acima é prática de mercado, não uma descrição de como a amBrain trabalha.
Se você está no começo, o próximo passo útil não é procurar fornecedores. É uma página: o seu pico em números, o seu prazo e respostas por escrito ao checklist acima, enviada a três fornecedores, nós ou quaisquer outros.
Traga sua arquitetura atual e o modo de falha que preocupa você, e vamos analisá-lo juntos em meia hora.