A desigualdade silenciosa criada pela IA
Por que a IA impacta desproporcionalmente programadores juniores e seniores?
Desde que a programação assistida pela IA começou a dar os primeiros sinais de que sim, é possível que o computador escreva código de qualidade, iniciou-se uma avalanche de especulações sobre o futuro da carreira. “Será que a Inteligência Artificial irá substituir os programadores?” Esse assunto já está batido e elimino qualquer suspense adiantando que não acredito nisso. Outro tema, no entanto, me interessa mais: quem se beneficia mais com a evolução da IA, o programador júnior ou o sênior?
Falei sobre isso no YouTube, e hoje continuaremos discorrendo sobre o assunto.
O conceito de senioridade
Antes de mais nada, é preciso definir o que entendo por esses dois adjetivos. Tradicionalmente, muitas carreiras dependem de uma progressão temporal para qualificar o profissional. Ou seja, o nível de senioridade é definido basicamente pelo tempo exercendo a atividade. Isso é comum em áreas como medicina, onde a experiência conta desproporcionalmente mais que em outras profissões.
Já outras carreiras definem o nível de senioridade como a capacidade do profissional de resolver os problemas mais complexos. Note que existe uma alta correlação com o tempo de exercício da profissão aqui também, embora esse tipicamente não seja o fator definidor.
Na área de tecnologia, é bem mais comum que senioridade seja definido mais por competência do que por tempo. Essa é inclusive a régua que utilizo na qualidade de diretor de um time de engenharia. Na prática, o que muda é minha expectativa em relação ao profissional.
Portanto, senioridade na tecnologia é um espectro. À medida que você progride na carreira, aumenta-se a quantidade de problemas que você consegue resolver, sua complexidade, e por fim sua autonomia. O programador mais sênior é aquele que tem o maior grau de autonomia dentro do conjunto mais complexo de problemas. Cabe à empresa fomentar uma cultura onde, com o tempo (e daí a correlação de senioridade com tempo), cada indivíduo dentro da equipe vá progredindo em relação à ponta do espectro.
É importante ressaltar que, embora eu julgue essa visão comum dentro das empresas de tecnologia mais modernas, não necessariamente é assim em todo lugar. Algumas empresas tem uma progressão de carreira mais tradicional, orientada mais ao tempo de casa (tenure). Não é a definição que será utilizada nesse texto.
O impacto da IA baseado na senioridade
Muito bem, então de um lado temos programadores cuja autonomia e complexidade das tarefas é menor, e de outro, programadores cuja autonomia e complexidade das tarefas é maior. Ao primeiro grupo chamamos de juniores, e ao segundo, seniores.
Voltemos ao ponto de partida. Com o surgimento das ferramentas de IA, e descartando as previsões apocalípticas de que o programador seria totalmente substituído, podemos estabelecer duas linhas de raciocínio:
A primeira, é que os programadores considerados júnior, de posse da Inteligência Artificial, seriam elevados ao nível de sênior, pois seriam capazes de aumentar o escopo dos projetos onde eles trabalham, e realizá-los de forma mais autônoma.
A segunda, é que os programadores considerados sênior, de posse da Inteligência Artificial, aumentariam tanto sua produtividade que a demanda por profissionais júnior diminuiria: uma vez que valeria mais a pena ter alguns poucos seniores muito capacitados, do que uma quantidade maior de juniores.
O ponto de partida para essa discussão foi um artigo1 escrito por Can Elma e que, apesar de um tanto pessimista em relação à utilidade atual da IA, sugeriu que é a segunda tese que tem sido observada na prática. E eu concordo.
Existem vantagens de se ter um time enxuto: menos de camadas de comunicação, maior agilidade na execução, maior entrosamento entre os companheiros, menos overhead de gestão, etc. É bem verdade que também há pontos negativos, do qual a falta de redundância me parece o maior deles (muitas vezes retratado como bus factor, ou seja, quanto de informação seria perdida caso algum dos membros fosse atropelado pro um ônibus).
Além disso, se pensarmos que um programador sênior é uma evolução natural do júnior, então todo sênior é esperado ser capaz de resolver os problemas que o júnior resolve, embora o contrário não seja verdade. Sendo assim, o sênior é restrito pela falta de recursos (no caso, tempo). Se a IA aumenta sua eficiência, ele estaria mais bem posicionado para resolver as tarefas que tipicamente seriam delegadas ao júnior.
O contrário já é bem mais difícil. Por mais que um júnior equipado com a IA consiga resolver um problema mais complexo, ainda falta-lhe a experiência para julgar se a solução é adequada. Além disso, pela própria natureza do problema ser mais difícil, a IA terá menores taxas de acerto, por melhor que seja o modelo.
Em outras palavras, é muito mais fácil que a IA proporcione um ganho quantitativo para um sênior do que qualitativo para um júnior.
A matemática da IA
Podemos pensar de outra forma. Suponha que o output de um júnior seja x, e que o de um sênior seja 3x. Munido da IA, o júnior consegue um excelente ganho de produtividade, agora entregando o dobro (2x). O sênior, mesmo sendo naturalmente mais produtivo, também consegue entregar o dobro (6x). Ou seja: o júnior equipado da IA ainda entrega menos que um sênior, mas o sênior equipado da IA entrega adicionalmente o mesmo que 3 juniores.
Evidentemente meu exemplo é enviesado. E se o output do júnior fosse originalmente 2x? Nesse caso, assumindo também que a IA dobraria sua capacidade, ele já entregaria mais do que o sênior sem a IA. E aí está a grande oportunidade para o programador júnior: aumentar o output basal enquanto amplia o buff recebido da IA.
Note que os exemplos assumem que a IA impacta linearmente cada profissional. Na prática, porém, isso não é verdade. Cabe a cada um extrair o melhor da IA e se capacitar nessa área (aliás, esse é o propósito do meu canal do YouTube). O programador que aliar seu desenvolvimento técnico (output basal) com o modificador da IA será desproporcionalmente separado do resto.
Paul Graham tem alertado constantemente para esse efeito. Na comparação acima feita no Twitter, ele prevê que programadores “medíocres” terão seus empregos absorvidos por bons programadores que não se importam de utilizar a Inteligência Artificial.

Graham também argumenta que o fenômeno onde a tecnologia aumenta a variância dos salários (capturada na distinção entre júnior e sênior) também não é nova. Profissionais que conseguem aumentar sua eficiência com tecnologia tendem a ser muito mais procurados, o que aumenta a disparidade de salários.
O estado atual das coisas
Podemos tirar conclusões bem interessantes desse fato. O primeiro é que o júnior capacitado consegue sim aumentar sua eficiência, e embora num ambiente profissional e competitivo isso possa não ser suficiente, nem todo programador precisa ser profissional. Portanto, ferramentas de low/no code como Lovable, Mocha, v0, n8n, etc, continuam tendo valor e capturam tanto as necessidades dos hobbystas quanto de projetos que demandem menor complexidade.
O segundo é que esse talvez seja o melhor momento da história se você for apaixonado por tecnologia2. A vontade de aprender sobre o que gosta irá aumentar o seu output basal, e o interesse pela IA irá multiplicar os resultados. Assim, o que antes demoraria mais tempo, hoje pode ser feito bem mais rápido.
Por fim, não se esqueça que o uso da IA deve ser proporcional ao entendimento. É natural que a aceleração proposta pela IA vá aumentando à medida que se progrida na escala da senioridade. Por isso não é possível descartar completamente o efeito temporal: saiba dar tempo ao tempo. Àquele que sobreviver aos primeiros anos, dedicar-se ao estudo e entendimento da tecnologia, e receber de bom grado o impulso da Inteligência Artificial, estará reservado o posto de sênior que nem cinco juniores irão retirar.


