amBrain
FinTechSep 29, 202610 min de leitura

Um time de desenvolvimento para a sua startup: que tipo contratar e como escolher

Time de startupQuem constróiVerificação do parceiroPropriedade do código
Erro ao carregar a imagem

Escolha o tipo de time antes da empresa, conforme o estágio em que você está e o quanto do produto é engenharia complexa. Depois, verifique três candidatos e pague por um teste.

Ninguém consegue apontar com honestidade a empresa certa para a sua startup sem saber o que você está construindo. Duas coisas decidem a escolha: o quanto do seu produto depende de engenharia complexa e em que estágio você está. Para um produto web ou mobile comum, um pequeno estúdio de produto ou dois freelancers sêniores costumam dar conta, com um consultor técnico experiente do seu lado se você não tem perfil técnico. Alguns produtos só funcionam quando algo difícil funciona, por exemplo uma plataforma de trading ou um modelo que toma decisões enquanto o usuário espera. Para esses, procure uma empresa que já opere esse tipo de sistema em produção.

A resposta curta: decida de que tipo de time você precisa antes de procurar uma empresa. Envie o mesmo briefing de uma página para três candidatos desse tipo e ligue para dois clientes de cada um cujo produto já esteja no ar. Pague os dois mais convincentes para fazer uma tarefa de teste curta. Mantenha o código e as contas de nuvem no nome da sua empresa desde o primeiro dia.

Que tipos de time de desenvolvimento uma startup pode contratar?

Uma startup pode contratar seis tipos de time. A taxa horária importa menos do que outras duas coisas: quem planeja o trabalho e onde mora o conhecimento do seu produto quando o trabalho para.

Um freelancer é um engenheiro que você contrata diretamente, pago por hora ou por tarefa. Freelancers servem para um protótipo ou para um único trabalho bem definido, como uma landing page ou uma tela de administração. Você mesmo gerencia esses profissionais, e quando um deles sai, o que ele sabia sobre o seu produto vai embora junto.

Uma agência ou estúdio de produto constrói a primeira versão inteira, design incluído, normalmente por um preço fechado ou uma mensalidade. Um bom estúdio já lançou muitos produtos como o seu e conhece bem as partes comuns, como cadastro e pagamentos. O ponto fraco aparece quando a parte difícil do seu produto foge do comum. Pergunte se as pessoas que vendem o projeto para você também vão construí-lo.

Uma empresa de engenharia especializada trabalha com uma classe restrita de sistemas difíceis, por exemplo plataformas de trading ou leilões de anúncios que precisam responder em uma fração de segundo. Ela consegue mostrar um deles rodando em produção. É paga como um estúdio ou um time dedicado, por projeto ou por mês. Para um app comum, é a escolha errada, porque você pagaria por uma profundidade que não usa, e uma boa empresa desse tipo vai dizer isso a você.

Um time dedicado é um grupo de engenheiros de uma empresa externa que trabalham só no seu produto e são pagos por mês. Ele serve para a fase em que o plano muda com frequência demais para um preço fechado. Alguém do seu lado precisa decidir toda semana o que vem a seguir.

Engenheiros internos são funcionários seus, então o conhecimento do produto fica na sua empresa. Isso pesa mais quando o produto passa a ser o próprio negócio. O custo continua todo mês, esteja o plano claro ou não.

Um CTO fracionado é um líder de engenharia experiente que trabalha para você em meio período, por exemplo um ou dois dias por semana. Ele escreve o briefing, entrevista candidatos, revisa o trabalho e avisa cedo quando algo está dando errado, enquanto o time que você contrata escreve o código. Se você não tem perfil técnico, acrescente um ao time que você escolher, seja qual for, e pergunte logo no início se ele recebe comissões das empresas que recomenda.

Que tipo de time serve para a minha startup?

Quanto do seu produto depende de engenharia complexa? Pergunte o que acontece se ele ficar lento ou errar durante um minuto. Se os usuários esperam e reclamam, a engenharia é comum, e um bom time generalista consegue construí-la. Se esse minuto custa dinheiro, por uma operação a um preço errado ou por um leilão de anúncio perdido, você precisa de pessoas que já construíram esse tipo de sistema.

Em que estágio você está, e quanto dinheiro já está no banco? O dinheiro captado em uma rodada permite que você se comprometa com um time mensal. Antes da captação, gaste para provar que as pessoas querem o produto e mantenha a engenharia enxuta.

  • Se você ainda não captou dinheiro e o produto é comum, construa um protótipo clicável ou contrate um freelancer, e passe o seu próprio tempo com os clientes.
  • Se você captou uma rodada e precisa da primeira versão de um produto comum, contrate um estúdio de produto ou dois freelancers sêniores, com um CTO fracionado conferindo o trabalho.
  • Se você captou uma rodada e o núcleo do produto é engenharia complexa, contrate uma empresa de engenharia especializada e coloque do seu lado um líder técnico, do seu quadro ou fracionado.
  • Se a primeira versão está no ar e os usuários pagam por ela, comece a contratar os seus próprios engenheiros, primeiro um líder técnico. Mantenha o time externo até que o seu pessoal consiga operar o produto sem ele.
  • Se o que você vende é a engenharia, planeje o seu próprio time desde o início, mesmo quando uma empresa externa construir a primeira versão.

Se a parte difícil do seu produto é uma plataforma de trading ou um sistema de IA, estes artigos vão mais fundo:

Quem você recomendaria para a minha startup?

Responder a esta pergunta com um único nome seria um palpite, e este artigo não faz ranking de empresas. O que ele pode recomendar é o tipo de time da seção anterior e um jeito de transformar esse tipo em três nomes que você mesmo verificou.

Candidatos que valem uma ligação vêm de alguns lugares:

  • Encontre fundadores cujos produtos sejam parecidos com o seu e já estejam no ar. Pergunte quem os construiu e se eles contratariam as mesmas pessoas de novo.
  • Pergunte aos seus investidores quais times as outras empresas deles usaram e como foi.
  • Procure trabalhos que você mesmo possa verificar: produtos que dá para abrir e usar, e código ou artigos assinados pelos engenheiros do time.
  • Em diretórios de avaliações, leia só as avaliações que citam a pessoa e o projeto, para que você possa entrar em contato com quem avaliou.

Depois escreva uma página: o que o produto faz e para quem, a única coisa que precisa funcionar no primeiro dia, o que já existe, o seu prazo e quem toma as decisões do seu lado. Envie a mesma página para três candidatos. As perguntas deles dizem tanto quanto as propostas: um time que já construiu algo parecido pergunta sobre os seus usuários e os seus riscos antes de falar de tecnologia.

Não tenho perfil técnico. Como posso avaliar um time de desenvolvimento?

Em 2006, Paul Graham, um dos fundadores da Y Combinator, escreveu que o que matou a maioria das startups de e-commerce dos anos 1990 foram os maus programadores. Segundo o relato dele, os fundadores dessas startups não conseguiam distinguir os bons programadores dos ruins. Sobre como escolher bons programadores quando você não é programador, ele escreveu: “Não acho que exista uma resposta.”

Mas você não precisa ler código para avaliar um time. Comece pelo software funcionando, que você consegue ver. Um dos princípios por trás do Manifesto Ágil, de 2001, diz: “Software funcionando é a medida primária de progresso.” Se uma empresa diz que trabalha de forma ágil, cobre dela essa frase e peça algo em que você possa clicar toda semana.

Para o que você não consegue ver, pague alguém que consiga. Um CTO fracionado ou um engenheiro independente, pago por você e sem vínculo com a empresa, pode ler o código uma vez por mês e dizer em palavras simples o que o preocupa.

Como verifico um time de desenvolvimento antes de assinar?

Quatro verificações não exigem conhecimento técnico.

Comece pelos clientes deles. Peça o contato de dois clientes cujos produtos já estejam no ar e que tenham trabalhado com a empresa nos últimos dois anos, e ligue para eles você mesmo. Pergunte a eles:

  • Quem da empresa trabalhou no produto de vocês, e essas pessoas ainda estão lá?
  • O que deu errado durante o projeto, e o que a empresa fez a respeito?
  • Com que frequência vocês viam software funcionando?
  • Vocês contratariam o mesmo time para a próxima versão?

Depois descubra quem vai construir o seu produto. Peça o nome e a função de cada pessoa, e quanto da semana dela é dedicado a você. Pergunte se alguém da reunião de vendas vai escrever código. Conheça o líder técnico antes de assinar e coloque os nomes no contrato, não só na proposta.

Pague por um teste. Dê a dois candidatos o mesmo trabalho real e pequeno, pago pelas taxas normais deles, com critérios de aceitação por escrito acordados antes do início. Uma a duas semanas bastam. O resultado é seu, seja qual for o time escolhido, e você vê como cada um faz perguntas e reporta problemas antes de se comprometer com meses de trabalho.

Combine demos semanais antes de assinar. A partir da segunda semana, você deve ver software funcionando toda semana, em um link que você mesmo consegue abrir. Slides e relatórios de status em porcentagens não contam. Se passar um mês sem nada em que você possa clicar, pare e pergunte por quê antes de pagar a próxima fatura.

O que deve ser da minha startup desde o primeiro dia?

Registre no nome da sua empresa tudo aquilo de que o produto precisa para rodar e dê ao time externo um acesso mais restrito do que o do seu próprio pessoal.

  • O código fica na conta da sua empresa, por exemplo em uma organização do GitHub que você criou. A documentação do GitHub diz que os proprietários da organização “têm acesso administrativo completo à sua organização” e que a função deve ser limitada, “mas a no mínimo duas pessoas”. Dê essa função a duas pessoas da sua empresa.
  • As contas de nuvem são abertas com um endereço de e-mail da empresa. Na Amazon Web Services, o e-mail e a senha usados para criar uma conta servem para entrar em uma identidade com “acesso completo a todos os serviços e recursos da AWS na conta”. Esse endereço deve pertencer à sua empresa.
  • Se você tem um app para iPhone, inscreva-se no programa de desenvolvedores da Apple como empresa. Quem faz a inscrição se torna o titular da conta (Account Holder), a pessoa que, nas palavras da Apple, precisa “aceitar acordos legais em nome da sua organização” e “aprovar alterações bancárias na sua conta”.
  • O nome de domínio, o e-mail da empresa e as contas de analytics e do provedor de pagamentos seguem a mesma regra.

O contrato deve ceder o código e o produto à sua empresa por escrito. Se a empresa contratada mantiver direitos sobre os próprios componentes reutilizáveis, peça a lista nome por nome e uma licença para continuar usando esses componentes se a parceria terminar. O artigo sobre times dedicados indicado acima trata do contrato em detalhes.

Quais são os sinais de alerta ao contratar um time de desenvolvimento?

  • Você recebe um preço fechado pelo produto inteiro depois de uma única ligação, antes de alguém perguntar o que poderia ficar para depois.
  • A empresa quer manter o código ou alguma das suas contas no próprio nome.
  • Não há nenhum cliente para quem você possa ligar, só capturas de tela e logos.
  • Recusam um teste pago, mas esperam um adiantamento alto antes de você ver qualquer coisa funcionando.
  • Passa um mês sem nada em que você possa clicar, e o progresso chega em forma de porcentagens.
  • Toda funcionalidade e todo prazo são aceitos sem uma única pergunta sobre o que importa mais.
  • O produto rodaria na plataforma própria da empresa, sob licença, e ninguém explica o que acontece se você sair.

Onde a amBrain se encaixa?

Entre os seis tipos de time acima, a amBrain é uma empresa de engenharia especializada. Ela constrói e conserta sistemas de tempo real para trading, FinTech e AdTech, e aceita projetos de IA de qualquer setor. Fora de IA, ela não aceita trabalho além dessas áreas. Se a sua startup é um produto web ou mobile comum, sem IA no centro, um estúdio de produto ou freelancers sêniores vão atender você melhor.

A amBrain constrói software desde 2019. As formas de trabalho dela cabem em uma frase: “Três formatos: entrega completa, time dedicado ou engenheiros embarcados no seu time.” As condições de propriedade também cabem em uma frase: “O cliente mantém a propriedade integral do produto e do código, exceto dos nossos componentes reutilizáveis.” Como com qualquer empresa, peça a lista desses componentes, nome por nome, antes de assinar.

Se a sua startup está em uma dessas áreas, a amBrain pode ser um dos três candidatos que recebem o seu briefing de uma página.

Perguntas comuns

  • Preciso de um cofundador técnico em vez de um time de desenvolvimento? Depende dos seus investidores e do que você vende. O FAQ da Y Combinator responde assim a um fundador sem perfil técnico: “É importante que o time fundador tenha as habilidades para construir o próprio produto, em vez de terceirizá-lo para outra pessoa. Para a maioria dos negócios, isso geralmente significa que você precisa de um cofundador técnico.” Se você pretende captar com investidores que pensam assim, comece a procurar essa pessoa agora, mesmo que um time externo construa a primeira versão.
  • Devo pagar um preço fechado ou uma mensalidade? Um preço fechado serve para uma primeira versão pequena que você consegue descrever por completo no papel. Se o plano vai mudar conforme você aprende com os usuários, um time mensal com demos semanais dá mais controle a você. Nos dois casos, escreva o que “pronto” significa para cada parte antes de o trabalho começar.
  • Posso trocar de time depois? Sim, se o código e as contas já são seus e o produto pode ser construído a partir de instruções escritas. Teste isso antes de precisar: peça a um engenheiro de fora do time que monte o produto em uma máquina limpa usando só a documentação.

Tem um projeto assim na mesa?

Traga sua arquitetura atual e o modo de falha que preocupa você, e vamos analisá-lo juntos em meia hora.