Startup e CTO: As soluções para um bom casamento

Marcelio Leal
Marcelio Leal
Published in
10 min readJun 20, 2016

Este é o terceiro artigo da série Startup e CTO. Você pode ler o primeiro aqui e o segundo aqui.

https://www.flickr.com/photos/wocintechchat/25900650882/

A primeira pergunta que eu sempre faço quando uma Startup está buscando um CTO é:

"Por que vocês precisam de um CTO ?"

Isto por que, muitas vezes, existem motivações equivocadas relacionadas à esta decisão. Por exemplo, uma delas é contratar um "CTO" pra ter um desenvolvimento mais barato. Normalmente isso é ruim pros dois lados.

Com as motivações definidas pode-se derivar as principais características do CTO que vão gerar mais resultados em curto/médio prazo. Desta forma, ter uma base pra uma boa seleção.

O ideal seria que os fundadores já se conhecessem, tivessem noção de como é o modo de trabalho de cada um. Além de uma confiança prévia. Com esse alinhamento, eles só precisariam estar num momento de vida/trabalho semelhantes e então a mágica aconteceria.

Porém sabemos como é difícil a solução ideal acontecer, principalmente quando não temos uma comunidade de startups madura. Então, é normal vermos projetos sairem do papel sem o CTO ou bem distantes da situação ideal.

Aspectos Importantes para a contratação de um CTO

A procura do entrosamento ideal. http://taroba.fm.br/wp-content/uploads/2013/12/victoreleo.jpg

Conheça pessoas que complementam suas habilidades

Se você não é um técnico e claramente não vai se tornar um, vá à eventos onde você possa conhecer pessoas que vão te ajudar nisso, te esclarecer e te apresentar aspectos importantes nesse contexto.

Conhecendo diferentes pessoas com essa característica você vai ser capaz de identificar qual o estilo que mais se encaixa com o seu, quais são as métricas e padrões de mercado, e quais problemas comuns acontecem nessa área.

Contrate considerando os pontos fortes, não a falta de pontos fracos

É muito difícil encontrar alguém com todos os conhecimentos necessários pra o desafio que vai assumir. Assim, um abordagem comum é trazer o cara mais parecido com o job description que você publicou, ou seja, tendo o máximo de características presentes na descrição. Mas nem sempre isso é bom se o objetivo é forma uma equipe de alto nível.

Você deve trazer sempre alguém que vai atender as suas principais necessidades com alta qualidade, elevando o patamar da empresa. Por exemplo, Ben Horowitz no Hard Things About Hard Things cita que você não deve contratar alguém pela falta de fraquezas, mas pelos seus pontos fortes:

Everybody has weaknesses; they are just easier to find in some people. Hiring for lack of weakness just means that you’ll optimize for pleasantness. Rather, you must figure out the strengths you require and find someone who is world class in those areas despite their weaknesses in other, less important domains.

Além da certeza que ninguém sabe tudo, nós também já sabemos que todos terão que aprender como se tonar alto nível trabalhando juntos. Mindset de equipe é importante nesse sentido.

Paul Graham cita que um dos 18 erros que matam startups é contratar desenvolvedores ruins. O que corrobora com o que Mark Suster com o "Contrate somente A players" citado neste artigo.

Outros pontos que também considero muito importantes estão descritos nesse artigo do Ben Yoskovitz. Dentre eles: Experiência prévia em startup e pequenas empresas; querer ser um fundador; e projetos pessoais.

Não tenha pressa

Sinceramente, um ou dois meses não vão fazer um impacto surreal no seu plano. Em contrapartida, escolher um bom CTO vai. Então, pare com esse negócio de perder um cara bom por conta de alguns meses. Existem várias formas de ir integrando uma nova contratação e ver se as coisas fluem como desejado. Mark Suster, no mesmo artigo já citado anteriormente, diz:

So if you’re trying to scale your team be focused on quality. Don’t sacrifice. Don’t hire too quickly just because you raised money or because you feel pressure to make things happen. The minute you compromise on quality you’ve already begun the descent.

Algumas práticas ajudam a descobrir se realmente os trabalhos se encaixam. Pois há expectativas de ambos os lados e muitos dos alinhamentos no processo seletivo não deixam claro como é de fato o trabalho. Então se você pode, tente fazer uma ou mais práticas abaixo. Isso diminui bastante o risco da incompatibilidade, além de adiantar o tratamento de problemas da startup:

  • Trabalhar uma semana 2 horas por dia;
  • Trabalhar dois a quatro dias presencialmente;
  • Participar das reuniões mais importantes e planejamentos;

Se não há disponibilidade imediata, tente fazer um plano de integração. Por exemplo: um dia de trabalho por semana; 10 horas por semana; participação de algumas reuniões; resolução de problemas específicos; etc.

Tenha mentores/conselheiros técnicos desde o começo

Startup é um jogo de exceções, portanto, muitas vezes o que podemos fazer é diminuir o risco utilizando experiência/conhecimento. Utilizar o networking e a comunidade de startups é essencial se você não quer recair nos mesmo problemas. E nesse contexto, uma das coisas mais importantes é ter mentores.

O Startup Genoma, um relatório que compara os ecossistemas de startups, tem como um dos seus índices de análise o "Support Index", que inclui o número de mentores por startups. E sobre São Paulo(2012) há a seguinte afirmação:

São Paulo startups have 37% less support from mentors than SV startups. On average, startups in São Paulo have 2.51 mentors and SV startups have 4 mentors.

Com exceção de startups em aceleradoras, de fato nós vemos poucos mentores formais desde o começo. Naturalmente isso tem um impacto grande na evolução de uma empresa.

Desta forma, tente fazer conexões que façam sentido para sua empresa. Eu gosto muito desse post sobre como conseguir grandes mentores.

E nesse caso, eu acho que ter mentores, mesmo que não sejam os mais compatíveis com o seu negócio ou mais experientes, é muito melhor do que não ter. Então arrume um jeito e traga gente boa e sincera pra conversa, sem desculpas.

Como botar no ar o meu negócio da forma correta ?

O negócio não pode parar, portanto se você não achou o CTO antes do seu plano começar a rodar é hora de ver alguma solução. Neste momento, decisões erradas podem gerar muitos problemas de médio prazo. Alguns comumente encontrados são:

  • Refazer o software (completamente) com menos de 2 anos de vida;
  • Problemas de escala antes de você ter realmente um número "preocupante" de usuários;
  • Muitos bugs em produção afetando a experiência do usuário;
  • Problemas com o metabolismo do produto, fazendo o negócio evoluir de forma lenta.

Focar em diminuir o risco e evitar débitos gerenciais críticos em médio prazo é muito importante, desta forma você pode evitar o desperdício de muito dinheiro e tempo. Você tem várias formas de colocar seu projeto no ar e evoluí-lo até que você encontre o líder do seu time técnico e de produto. Cada contexto leva pra uma solução, aqui cito algumas e tento listar alguns riscos relativos a cada uma, bem como algumas boas práticas pra que se tenha sucesso com elas.

O primeiro ponto pra todas estas soluções é ter um consultor ou mentor que vai lhe auxiliar diretamente no plano e na validação do produto final. É muito importante uma terceira parte fazendo isso. Eu falo mais desse papel dentro do contexto de cada solução. Pode ser que aceleradoras proporcionem isso, desde que de fato vocês tenham um apoio formal e prático de pessoas que tenham experiência.

Como pré-requisitos você deve ter pelo menos o mínimo do seu negócio estruturado. Ou seja, um Business Model Canvas, as estratégias iniciais definidas e uma ideia de time mínimo inicial. E isso não deve estar na sua cabeça, deve estar escrito. Se não tem ideia de como fazer isso, uma das opções que mais gosto é o Lean Stack.

Com ou sem um CTO, no começo você deve ter bastante cuidado com: MVP; Requisitos não-funcionais; Escolhas tecnológicas; Qualidade de software; e Sustentabilidade.

Acredito que MVP e requisitos não-funcionais são conceitos bem definidos. Quanto as escolhas tecnológicas, qualidade de software e sustentabilidade explico um pouco mais.

Todas as tecnologias que você adiciona no seu produto e processo não só impactam na performance e outros aspectos, mas também nas suas contratações. Por exemplo, se você escolher uma tecnologia legal pra o seu negócio mas que tem poucos desenvolvedores bons disponíveis no mercado, você provavelmente terá um problema maior que escolhesse uma tecnologia "pior" mas que tem desenvolvedores no mercado. Por isso aqui escolher uma tecnologia somente pensando em longo prazo não é uma boa.

A qualidade de software pra startups é algo mais complexo de explicar de forma simples. São vários aspectos que devem ser levados em consideração. De maneira simplificada isso vai se refletir em dois outros aspectos: o número de bugs que o seu software vai ter; e a velocidade que você vai conseguir evoluir o seu projeto. Além de afastar ou atrair gente pra trabalhar no projeto.

A sustentabilidade aqui neste contexto se reflete em três outros aspectos: governança; a curva de aprendizado que o software tem pra outro desenvolvedor assumir; e a facilidade de atualização do mesmo. Além de um relacionamento com outros aspectos, isso também envolve alguns aspectos de infra-estrutura e devops.

Agora vamos as soluções.

Terceirização com empresas no Brasil

Hoje temos ótimas empresas, principalmente pequenas, que desenvolvem em alto nível e tem um custo muito bom comparado em se contratar e montar um time. Em geral, acho que esta é uma solução muito boa pra começar.

Neste ponto, o principal aspecto de atenção é a definição do MVP. Embora existam algumas empresas que te ajudam nesta definição, o ideal é trazer um terceiro pra auxiliar no planejamento e definição do projeto.

Em geral, até projetos médios têm risco razoavelmente controláveis. Por exemplo, se você tem 60 mil pra investir no software, você pode dividir em 35 + 15 + 10. 3 fases de projeto vão aumentar a probabilidade de chegar em um produto mais próximo ao seu objetivo.

Se você não tem alguém pra lhe ajudar na definição do MVP, diminua mais seu escopo e quebre mais o seu projeto. Por exemplo: entregas de 10 mil. Sempre cada entrega tem que ser utilizável pelo seu cliente final e testar alguma proposta de valor sua.

Em geral, boas empresas vão entregar software de qualidade e sustentável. A questão dos requisitos não funcionais e das escolhas tecnológicas eles podem ajudar, mas você deve pedir uma terceira opinião (mentor, consultor, etc.).

Peça indicações de boas empresas pra pessoas de confiança em sua rede. Em geral, elas terão conhecimento de algumas ou pelo menos lhes indicarão gente pra conversar sobre.

Contratar um bom desenvolvedor

Achar um bom desenvolvedor full-stack também é uma solução interessante. Mas pra isso é recomendável ter: uma definição avançada do MVP, requisitos não funcionais e das tecnologias que podem servir pra você.

De forma a criar um ambiente sustentável, o mentor tem um papel importante nessa situação. Além de um acompanhamento em alto nível, o apoio ao desenvolvedor é algo importante para que se tenha o suporte necessário na execução do plano.

O que é complexo é achar o bom desenvolvedor e conseguir convencer o mesmo a ser o número 1 da empresa. Em geral, eu procuraria um bom executor, alinhado com o projeto e com as decisões tecnológicas previamente tomadas. O fator confiança é essencial aqui, você deve confiar no desenvolvedor.

O outro ponto é, no começo não contrate especialistas e mantenha as coisas o mais simples possível. Se precisa de um trabalho de Designer ou de Frontend por exemplo, ache outra pessoa que faça isso com freelancer. Naturalmente o risco do projeto aumenta o quanto mais gente neste modelo for adicionada, mas é algo que mantém enxuto o time.

Sustentabilidade e qualidade do software é algo a se preocupar desde o começo. Traga alguém que possa lhe auxiliar nesse contexto e dar dicas importantes para o desenvolvedor.

Uma forma de conhecer gente boa e contratar é ir nos meetups de grupos de usuários da tecnologia, por exemplo em São Paulo: PHP, Python, Ruby, JavaScript, etc.

Terceirização em países mais baratos ou contratar um freelancer

Aqui o seu risco vai lá pra cima, mas eventualmente você pode não ter dinheiro e não ter outra opção. Então eu recomendaria diminuir o máximo possível o escopo do projeto e ter um consultor de produto/desenvolvimento além do mentor. Contratar alguém que lhe ajude na gestão do projeto e na definição do MVP é essencial.

O risco relacionado é, por exemplo, você ter que jogar fora seu software depois de alguns meses. Isso pode acontecer por decisões tecnológicas erradas ou por má execução mesmo. E isso acontece muito nesse tipo de projeto. Dos que eu já vi, aconteceu em mais da metade, então não brinque com isso.

Por outro lado, temos alguns casos de terceirização bastante focada que gera um ótimo custo-benefício. Por exemplo, construção das interfaces básicas seguindo um padrão pré-definido. Ou criação de APIs simples seguindo um framework e tecnologias padrões.

Às vezes, se você quer testar algo muito pequeno, ou somente um aspecto do seu negócio, essa solução é interessante. Por exemplo, um site onde você cadastra seus early adopters e que você sabe que vai jogar fora depois de 3 meses. Só tome cuidado pra não querer evoluir projetos sem a mínima condição.

Alguns sites que facilitam isso são: Upwork, Freelancer, Workana e Guru.

Espero que esta série de artigos o ajude a tomar as melhores decisões na hora de escolher um CTO e começar seu projeto.

Caso você queira discutir mais sobre isso ou precisa de uma ajuda neste contexto, você pode falar comigo por alguma rede social: about.me/marcelioleal.

Leia aqui os outros artigos desta série:

Startup e o CTO: procurando o CTO na visão da Startup

Startup e o CTO: a visão do CTO

--

--

Marcelio Leal
Marcelio Leal

Tech Leadership. Former Nu, Amazon, Bhub, GetYourGuide, Dafiti/Rocket Internet, etc.