Hoje a gente vai falar de um assunto super sério, que eu dei o nome de “as 4 miopias do mercado de TI”. Primeiro eu vou falar de experiência própria o que é miopia, para vocês conseguirem entender: Eu sou míope, eu tenho problema de visão, então eu tenho dificuldade para enxergar de longe. Quando você começa a sentir os efeitos da miopia, meio que ignora, força a vista, consegue focar mais ou menos, mas a miopia vai aumentando, vai piorando, até o momento que você realmente não consegue ver muito bem, mesmo forçando o seu olho, e aí você tem que começar a usar óculos ou lente. E por que é que eu estou usando essa analogia para falar sobre tecnologia? Porque às vezes a gente demora a perceber que tem um problema bem diante dos nossos olhos dentro da própria empresa. Eu vou falar das 4 miopias que, no meu ponto de vista, o mercado de tecnologia tem, é generalizado e eu vou explicar cada uma delas. Para ficar claro, esse é um assunto super sério, vestido com essa brincadeira da miopia.
Miopia da capacidade
O que eu quero dizer com miopia da capacidade? Os programadores de uma forma geral, e nisso se incluem Tech Leads e gerentes, tendem a ser míopes com relação à capacidade que eles têm de fazer as coisas. Obviamente eu não estou falando isso direcionado específico para quem está lendo, mas de uma forma geral: muito provavelmente você não é tão bom quanto acha que é. Se você não tem humildade suficiente para entender isso, é porque você não deve conhecer gente realmente muito boa. Eu conheço gente muito boa, muito melhor do que eu, e eu tenho humildade suficiente para saber que aquela pessoa é absurdamente boa. Eu também sei que eu sou bom, mas isso eu aprendi com o tempo, com feedbacks, com as entregas. Se você não tem o feedback de pessoas realmente relevantes do quanto você é bom, se você não tem entregas consistentes, se você nunca trabalhou em produtos extremamente grandes, é muito difícil que você seja bom do tanto que você pensa que é e você precisa ter humildade para procurar melhorar sempre. Acho que é um autoconhecimento extremamente necessário.
O que essa miopia acaba causando no mercado? Primeiro um efeito que, a primeira vista, não é tão grave assim, que é programador sair de uma empresa para ocupar cargos maiores porque ele acha que já passou de junior para pleno ou de pleno para sênior. Como o mercado está precisando de gente, acaba tendo essa “escada rolante” de profissionais que ainda não passaram por certas experiências alcançando cargos teoricamente altos, com salários grandes. Mas, novamente, você está sendo míope. Se você tem um salário de R$15.000,00 e acha que isso é muita coisa, esse é o começo da sua trajetória, hoje em dia esse é o salário de um pleno caminhando para um sênior. Um cara muito bom mesmo, um engenheiro do Google, está ganhando seus 200 mil dólares por ano. O salário também é um parâmetro se você está caminhando para alcançar um nível de excelência no que você está fazendo. Pra conseguir alcançar cargos maiores, de gerente, de CTO, até mais que isso (se bem que acima do CTO, só se você virar o CEO da empresa), não basta competência em programação, você tem que gerar confiança, você tem que entender do negócio, você tem que ter muitos mais atributos do que simplesmente as questões técnicas, competência vai muito além de simplesmente você ser um bom codificador. Se você é simplesmente um bom codificador, você vai continuar sendo um bom codificador pelo resto da sua vida e pode nunca passar disso.
Então essa é a primeira miopia que eu vejo nos profissionais do mercado de TI, eles estão muito preocupados em aprender framework, linguagem e tudo mais, mas não querem aprender o restante das coisas que são extremamente importantes na vida profissional. E aí, quando é passada para você a função de contratar pessoas, você corre o risco de cometer o mesmo erro, de contratar apenas profissionais que são bons programadores, que escrevem códigos bonitinhos, mas que não têm nenhuma competência além disso, e se uma empresa quer desenvolver bons produtos e quer ter uma excelente qualidade, ela não pode ter simplesmente capacidade técnica de digitar linhas de código, ela precisa ter muitos mais que isso.
Miopia da operabilidade.
Operacionalizar, criar um software grande, que vai ter milhares de usuários, que vai ter centenas de milhões de dados trafegando requer muito mais do que simplesmente um bom codificador. Eu conheço muita gente boa que não conseguiria fazer um bom produto, porque faltam várias coisas nesse enredo pro negócio virar um produto comercial, ou para virar alguma coisa maior do que simplesmente linhas de código. Linhas de código resolvem até certo nível de problema, mas UX, design, funcionalidades em si, demandam outros tipos de conhecimento, principalmente de mercado. Se você é simplesmente um bom codificador, muito provavelmente não vai ser um bom gestor de produto, nem um bom gestor de equipe, são raras as exceções que fogem dessa regra. Você precisa lidar com pessoas, geralmente programadores lidam bem com máquinas: vai pro computador num canto, bota o fone, fica lá programando e é isso, não quer ter responsabilidade, só quer entregar o projeto que foi determinado e não pensar mais nisso no final das contas. Na grande maioria das vezes é isso.
Por isso que, no meu entendimento, ser um bom programador só vai te levar até determinado nível, se você for excelente, vai ser um programador sênior, talvez. Agora, para virar um Tech Lead, um gestor de produto ou um gestor de tecnologia, até chegar num cargo de diretoria, você precisa passar por outras experiências que normalmente os programadores não querem passar, que é lidar com gente, gerenciar equipes, gerenciar produtos, é uma tarefa muito mais difícil do que só codificar um programa. Tem muitos outros elementos em volta, estratégia é fundamental para fazer um bom produto, se você não tem uma estratégia sólida de como operacionalizar aquele software, de como fazer o projeto sair do papel, corre o risco de falir a sua empresa.
Miopia dos custos envolvidos em um software
Recentemente eu tive uma reunião com uma empresa com a qual eu estou cogitando uma parceria de trabalho, uma grande empresa, com um projeto super ambicioso, bacana, a história por trás do produto é legal, mas eles têm zero de experiência para operacionalizar aquele produto. E isso leva diretamente à miopia dos custos: eles não estão levando em consideração quanto tempo e quanto de dinheiro vai demandar para fazer o software. Software nunca param de evoluir, eles vão expandindo e você tem que controlar essa expansão, porque senão vai acabar precisando de mais gente, de mais dinheiro e às vezes a empresa não está preparada financeiramente para essa expansão. Esse é um erro muito comum que eu vejo acontecer, começa o projeto de um jeito, pequeno, com 2 ou 3 programadores, dali a pouco tem uma equipe de 200 pessoas, uma folha de meio milhão de Reais, e a empresa quebra porque expandiu demais, rápido demais, sem ter foco nos custos da operação e sem saber como gerar receita para pagar esses custos.
Miopia da responsabilidade
Esse problema envolve a equipe como um todo, a miopia da responsabilidade. A equipe técnica normalmente não se responsabiliza e nem sequer se preocupa com os custos da operação, porque não é ela que vai pagar os custos no final do processo. Ela vai te demandar designers, ela vai te demandar mais desenvolvedores, ela vai te demandar uma infraestrutura cada vez mais cara porque, no final, não é responsabilidade dela arrumar o dinheiro para pagar essa conta.
No final da historia, quando a gente junta essas quatro miopias, capacidade, operabilidade, custo e responsabilidade, você tem uma bomba relógio. Se você está tendo uma dessas quatro miopias, precisa urgentemente focar seus olhos e começar a ver, se não você pode explodir a sua empresa. Se você não tomar conta e aparar as arestas, pode gerar uma sangria e fazer a sua empresa e o seu projeto irem por água a baixo. O equilíbrio para se ter uma boa empresa de tecnologia é conseguir balancear as contas e criar softwares com responsabilidade. Seus colaboradores têm que entender o custo de cada elemento que se traz para dentro da equipe, para contratar um freelancer, para conseguir enxugar os custos de infraestrutura, entender a empresa como um todo, não só a função que eles estão exercendo. Se focar só na função que está exercendo e não entender o contexto geral, você vai com certeza ter problema.
Em minha opinião, o ideal é que toda a equipe esteja alinhada com essas diretrizes e tenha muita responsabilidade na hora de criar novas featrures, na hora do planejamento. Precisa ficar muito claro os custos envolvidos, todo mundo precisa ser um pouco responsável por essa estrutura pra não fazer ela ruir, e é preciso ter humildade para entender a capacidade de cada profissional que está dentro da equipe, se ele consegue de fato entregar ou não o resultado que está sendo demandado. A cada vez que a gente deixa de entregar numa deadline, a cada vez que a gente cria funcionalidades que não são necessárias, que não foram pedidas, a gente está gastando dinheiro da empresa, que poderia estar sendo investido em outras coisas, que poderia estar contratando profissionais que estariam fazendo o que tem que ser feito.
Então a somatória desses quatro fatores, pra mim, são os determinantes para um negocio dar certo.
Eu já tratei diversas vezes de temas similares aqui no blog. Vou listar algumas das postagens sobre programação e tecnologia:
O conteúdo deste post foi retirado do vídeo “4 Miopias do Mercado de TI”: