A maldição de trabalhar com o que se ama
Para muitos, o clichê "Trabalhe com o que você ama e nunca mais precisará trabalhar na vida" é uma busca constante a ser realizada. Mas há sempre de se ter cuidado com o que deseja.
Confesso que acho esse clichê muito bom e que faz sentido em muitos contextos. No meu caso, por exemplo, eu trabalho profissionalmente com programação desde de 2018 e sempre gostei do dia-a-dia do trabalho. Óbvio que há momentos e momentos. Mas os momentos "não tão satisfatórios assim", nunca tinham relação com a programação em si, mas sim ao ambiente ou questão externas.
A programação não é tudo
Após anos trabalhando na área, atuando em diversos projetos e em diferentes papéis, aprendi que a programação não é o que importa para o sucesso de um projeto. Há diversos casos, onde o sucesso passa longe do quesito técnico.
Penso ser obrigatório que um profissional experiente tenha um repertório amplo para identificar aquilo que é importante para o projeto, e não estar focado apenas no seu mundinho técnico. Estar apto a mudar os rumos do projeto, sempre que for necessário para atingir o seu objetivo. E muitas vezes, essas mudanças nos jogam para longe do que consideramos "tecnicamente certo".
Saber transitar entre a "excelência e o aceitável" tecnicamente, durante o desenvolvimento de um produto de software, é algo extremante difícil. Não há fórmula mágica, nem um guia prático a se seguir.
É como andar de bicicleta. Quem sabe, executa com facilidade, mas é difícil de explicar como se faz em palavras. Mesmo conhecendo todos os passos necessários, haverá muita queda no caminho.
Programador x Empreendedor
Quem é da área, sabe muito bem que é difícil desenvolver um produto bom tecnicamente. E muitas vezes vem o "diabinho" ao nosso ouvido dizendo:
Você tem tudo que é necessário para desenvolver um produto sozinho e ficar rico. Vai lá! É só programar!
Como pai da mentira, o diabo é extremamente sábio em manipular as palavras, usando sempre de um fundo de verdade para nos enganar (quem nunca caiu nessa?!?)
Tecnicamente, programadores são capazes de desenvolver um produto de ponta-a-ponta sozinhos. Planejamento, modelagem, desenvolvimento, hospedar e manter o sistema no ar. É tudo muito "fácil" para um programador.
Mas quem disse que isso é importante para o sucesso do projeto?
É aí que muitos caem na lábia do belzebu/tinhoso/coisa ruim. Ter um produto funcional é apenas uma das partes importantes para o sucesso de um projeto.
E o resto? Estratégia de venda? Estratégia de marketing?
O cara do comercial não era só uma “papudo"? O cara do marketing não era só um apertador de botões no painel de gestão das campanhas?
Se vira ai dev bonzão!
A maldição
Eu me considero um jovem senhor, com total condições de aprender e me desenrolar em muita coisa. Então, por que motivo vendas e marketing seria diferente, certo?
Mas assim como Midas, que foi ingênuo (ou burro) ao fazer o seu pedido para Baco, o programador que tem o seu desejo de trabalhar com o que ama realizado, também sofre das consequências daquilo que desejou.
Pessoas técnicas, que iniciam a sua jornada de empreender com software sofrem com isso. Deleitam-se ao aprender e executar o trabalho técnico, e sofrem ao não faze-lo e ter de executar outros trabalhos que nada tem a ver com tecnologia.
Não é todo mundo que consegue "virar a chave" e deixar de ser programador. Admiro quem consegue por isso de lado, para realizar outras tarefas relacionadas marketing, vendas, etc. Tarefas essas que muitas das vezes são tediosas e chatas para pessoa com perfil técnico.
E cada dia que passa, noto em mim essa dificuldade de fazer a mudança de papel. Tenho trabalho constantemente para melhorar, pois sei da importância das outras funções. Mas ainda dificuldade de deixar de lado o técnico para focar no que realmente importa no momento.
Há solução para essa maldição?
Nesses últimos meses, tenho trabalhado em uma empresa com uma equipe enxuta e estamos enfrentando as dores do crescimento. E, modéstia à parte, estamos superando cada um dos desafios com maestria. 😎
Trabalhando próximo do CEO e CTO (ambos são excelentes programadores e amigos), tenho notado algo muito interessante, que só recentemente ficou claro para mim.
Consigo me ver nitidamente no papel do CTO, do que do CEO.
É meio óbvio, eu sei. Mas ser CTO não é só programar, há diversas outras responsabilidades que há muito mais afinidade com meu perfil, do que aquilo que é exigido de um CEO.
Quando estamos construindo um microsaas, é comum precisar vestirmos o chapéu de CTO, CEO, CFO, etc. Tudo ao mesmo tempo!
Porém nem todo microsaas precisar ser um produto de uma pessoa só. Ser Company of one tem suas vantagens, mas o desafio aumenta. Ter um "ombro amigo" para dividir o peso de desenvolver um produto, é extremamente importante. E pode ser a chave do sucesso da sua jornada.
Então depois de toda essa reflexão, entendi que meus projetos são órfãs de um CEO. Meus projetos tem um CTO foda (não é auto-glorificação, eu sei que dou conta disso)! Entendo perfeitamente como a tecnologia vai alavancar o negócio, sei realizar priorização técnica pensando no melhor para o negócio e consigo executar/coordenar o trabalho prático.
Mas isso não é tudo.
Termino por aqui, esperando ter gerado algum insight com esse texto. Se gostou, ou discordou disso do que leu, deixa-me saber comentando aqui ou me contatando diretamente no privado.
Ótimas reflexões. Permita-me adicionar a minha.
Acredito que a grande dificuldade do programador que deseja ir além da programação é enxergar que tecnologia é meio, e não fim. Justamente por conta do programador só ter vivência técnica, ele não consegue entender o porquê do seu código.
Uma startup (ou qualquer outra empresa) é constituída por pequenas "máquinas" que tem como objetivo atrair ou reter um cliente. O programador está no time da retenção, só que loooonge do cliente, principalmente quando ele se posiciona como um prestador de serviços para o time de produto.
Acho que o caminho mais simples para o programador evoluir sua capacidade estratégica é começar a estudar sobre produto. Produto é o entregável final de um time de tecnologia. É o próximo passo que vai te colocar um pouco mais próximo ao cliente. É algo bem menos técnico, mas ainda sim muito próximo da tecnologia. É quando você começa a entender os porquês do seu código.