Pânico no mercado de empregos
(matt.sh)- O mercado de empregos em tecnologia está mudando em uma direção desfavorável para desenvolvedores, com a combinação de alta dos juros, redução do financiamento de VCs, retração dos gastos dos clientes e processos de contratação padronizados
- A remuneração e a estabilidade variam conforme o estágio de financiamento, receita e crescimento da empresa; em um ambiente de juros altos, quanto maior a dependência de VC, mais a empresa tende a quebrar ou encolher para modo de sobrevivência
- A contratação moderna em tecnologia se concentra mais em testes de programação e entrevistas comportamentais do que na experiência real de trabalho, com startups pequenas e grandes empresas de tecnologia copiando processos parecidos
- Vagas no estilo “Everything Bagel” juntam trabalhos de vários departamentos em uma única função: desenvolvimento de aplicações, infraestrutura, segurança, suporte ao cliente, plantão, otimização de custos e documentação
- As funções de tecnologia estão deixando de melhorar produto e organização ao mesmo tempo e virando um papel de executor com pouca autonomia, que cumpre prioridades de terceiros, sem refletir adequadamente a experiência e o julgamento de desenvolvedores qualificados
A conexão entre juros e empregos em tecnologia
- Com o fim do ambiente de juros baixos, próximo de “dinheiro grátis”, e a alta dos juros para níveis acima de 5%, parte-se da premissa de que o próprio custo do dinheiro ficou mais caro
- Quando os juros sobem, organizações com caixa podem deixar o dinheiro em lugares mais seguros, como produtos de renda com garantia do governo, em vez de investir em empresas incertas
- Investimentos em empresas de tecnologia são tratados como ativos de risco baseados em um futuro incerto; em períodos de juros altos, empresas fracas quebram e até empresas fortes reduzem pessoal sob o pretexto de “clean house”
- Como resultado, surge a observação de que centenas de milhares de trabalhadores de tecnologia bem remunerados passam a enfrentar, por 2 a 4 anos, um mercado com escassez de vagas
- Em períodos de alta de juros, podem aumentar empregos de meio período com salário mínimo ou na construção, mas empregos em tecnologia estão muito mais ligados ao financiamento de VCs e aos gastos dos clientes
Tipos de empresa e estrutura de remuneração
- Empresas de tecnologia podem ser divididas em quatro tipos conforme seu financiamento e estágio de crescimento
- nepo company: empresa que consegue criar produtos irreais com dinheiro afastado da validação da realidade, como recursos de família ou de contatos pessoais
- speculation company: empresa que recebe financiamento para experimentar uma ideia sem validação de produto, clientes ou mercado
- initial growth company: empresa que, após surgir uma demanda inicial, recebe capital de crescimento para tentar expandir a receita
- stable era company: empresa estável, com caminho repetível de entrada no mercado, acesso a clientes e receita recorrente
- Em um ambiente de juros altos, quanto menos bem-sucedida é a empresa, mais ela depende de capital de VC e mais sofre quando o fluxo de dinheiro desacelera ou desaparece
- Clientes também têm condições de gasto mais restritas, então pode haver perda de clientes ou redução de gastos ao mesmo tempo
- A speculation company é descrita como um lugar que paga de 50% a 80% do valor de mercado e espera 200% a 500% mais trabalho
- A initial growth company pode se tornar uma combinação de alto risco e baixa remuneração, e empresas de crescimento que fracassam podem ficar presas a baixa remuneração e demissões recorrentes
- A stable era company se divide novamente em três tipos
- Empresas que crescem de forma estável e dão lucro
- Empresas que alternam entre crescimento e encolhimento conforme a inclinação de um CEO famoso
- Empresas que dominam um ou mais setores econômicos e não quebram facilmente
- Grandes empresas modernas em crescimento podem pagar a funcionários experientes o equivalente a US$ 10 mil a US$ 50 mil por dia, incluindo remuneração anual em ações, enquanto outras empresas podem passar 10 anos sem crescimento real de salários ou sem remuneração efetiva em ações
O problema dos processos seletivos que não distinguem a capacidade real
- Três contradições se repetem na contratação em tecnologia
- Os requisitos estão quebrados
- O processo de entrevista está quebrado
- A maioria das empresas segue os mesmos requisitos e o mesmo modelo de entrevista
- Entrevistadores podem não ser capazes de avaliar de forma confiável candidatos que dão respostas melhores do que as que eles esperavam
- Entrevistas modernas de tecnologia exigem a execução improvisada de tarefas sem relação com o trabalho real; se o candidato falha, é tratado como pouco capaz, mas o processo pode não distinguir pessoas com experiência de nível mais alto
- Testes de programação ao estilo Google e entrevistas comportamentais ao estilo Amazon foram copiados por toda a indústria, e desde pequenas startups até grandes empresas exigem processos parecidos
- Entrevistas comportamentais repetem perguntas como “como você resolveu um conflito?” e “qual foi uma experiência em que você errou e pediu desculpas?”, sendo interpretadas, na prática, como um processo para observar como o candidato equilibra avanço e gentileza
- Quando o ajuste cultural é codificado em formato de pergunta e resposta, isso pode levar a uma homogeneização de personalidade, filtrando pessoas que se afastam da personalidade média da empresa
- Se a empresa continua adicionando etapas de entrevista e se distancia do trabalho real, da experiência, da capacidade e do insight, toda a indústria de tecnologia pode se tornar ineficiente
Vagas “Everything Bagel”
- Uma vaga “Everything Bagel” é um formato que exige responsabilidades demais ao mesmo tempo de um único Software Development Engineer
- Exemplos de requisitos incluem
- Escrever aplicações com React, Vue, TypeScript, Node, Python, Rust, Go etc.
- Manter aplicações legadas em PHP, Ruby e C
- Fazer deploy de infraestrutura com AWS, Docker, Kubernetes, Terraform, Lambda, EventBridge, Step Functions etc.
- Otimizar custos na AWS, CI/CD, plantão 24/7 e garantir logs, monitoramento, alertas e observabilidade
- Segurança de aplicações, segurança de dependências e segurança de infraestrutura relacionada a SOC-2
- Suporte ao cliente, suporte a funcionários internos, revisão de código, mentoria e documentação
- Manter 37 plugins SaaS em JavaScript e scripts adicionais de rastreamento
- Esses requisitos para uma única função, na prática, se aproximam do trabalho de 5 departamentos e uma equipe de 20 pessoas
- Parte da indústria parece ter desistido da ideia de que tecnólogos devem ter especialização e, no estilo “devops means DEVS DO OPS”, empurra operações para desenvolvedores sem experiência operacional
- Em uma estrutura em que desenvolvedores de aplicação também atuam como arquitetos AWS em meio período, é difícil esperar bons resultados; a posição é que essas competências normalmente exigem 5 anos ou mais de construção focada
- Requisitos excessivos tornam o trabalho fisicamente impossível, e cada item pode virar uma tarefa de vários dias por semana, fazendo a pessoa já começar atrasada no primeiro dia
Problemas organizacionais e de infraestrutura vistos pela experiência em campo
- Várias empresas diziam que “o site está lento”, mas, na prática, casos em que problemas ficaram abandonados por não se olhar para métricas básicas da AWS e administração de sistemas se repetiram
- Uma empresa operava todo o serviço em um único MySQL de 2 cores e 16 GB de RAM; o banco de dados cresceu até 3 TB, e o estado de CPU a 99,99% persistiu por 2 anos
- Após a troca para um servidor ARM de 64 GB com reserved IOPS, o tempo de transformação de dados em batch caiu de 16 horas para 20 minutos, e o atraso de replicação passou de 4 a 6 semanas para nível sub-second em tempo real
- Outra empresa gastava US$ 5.000 por mês em um cluster de pesquisa sem uso, enquanto usava apenas cerca de US$ 500 por mês em recursos no cluster de produção real
- Ao mover os recursos para o cluster de produção e migrar para ARM, o tempo de resposta para usuários caiu de 7 segundos para 200 ms
- Em uma empresa onde uma API interna de processamento de dados rodava nos mesmos dois EC2 de 2 cores que os servidores web de clientes, o processamento em batch levava 20 horas
- Depois da migração para contêineres com autoscaling baseados em ECS-on-EC2, 20 a 50 contêineres processavam simultaneamente, e o tempo de processamento caiu para 30 minutos
- Uma empresa cuja ferramenta para mover dados do MySQL para o Redshift levava 80 horas executava primeiro
SELECT COUNT(*)em uma tabela de 3 bilhões de linhas e depois percorria a tabela inteira comLIMIT/OFFSET- Com a introdução de cursores de banco de dados, escrita em streaming para S3 e compressão em memória, o tempo de extração caiu de 80 horas para 40 minutos
- Quando se desvaloriza experiência em administração de sistemas e arquitetura sob o argumento de ser “cloud native”, pode não haver sequer alguém capaz de detectar o problema, e o mesmo problema pode ficar abandonado por longos períodos
- Mesmo em situações em que clientes estavam indo embora, VCs exigiam “mais vendedores”, gerando casos com 5 desenvolvedores e 50 pessoas em vendas e marketing
- Quando uma empresa com queda de receita insiste na ideia existente e em uma estratégia centrada em vendas, em vez de transição ou melhoria de produto, desenvolvedores não conseguem criar o produto desejado, levando ao fracasso da empresa
Experiência e entregas reais ignoradas no mercado de contratação
- Há a percepção de que, nos últimos 10 a 20 anos, a forma de contratar em tecnologia mudou de uma avaliação simples de “sabe mexer bem com computadores” para uma estrutura centrada em status social e no jogo das entrevistas
- O processo de resolver problemas e falar de improviso passou a ter mais peso do que o trabalho real, a experiência e a capacidade
- Projetos pessoais e entregas reais também são considerados pouco refletidos na avaliação de entrevistas
- mpreg: sistema distribuído de processamento de dados com resolução automática de dependências por ordenação topológica hierárquica
- Melhoria no processamento de CRC: mencionado como código usado em formatos globais de arquivo e na verificação de informações da estação espacial
- icli: CLI para negociação manual e automática de ações
- Há uma preocupação de que a indústria tenha se aproximado mais de status e poder social e político do que da capacidade real, e de que a contratação deveria caminhar na direção de criar mais “us”
- Funções de tecnologia colocam trabalho amplo demais em uma só pessoa e, ao mesmo tempo, a contratação não observa suficientemente a experiência real, criando uma estrutura difícil para candidatos suportarem
Autonomia de desenvolvedores e protagonismo no produto
- A conclusão é que empregos na indústria de tecnologia ficaram ligados a financiamento especulativo excessivo e, quando dinheiro e clientes diminuíram, os empregos também desapareceram
- Muitas funções de tecnologia teriam se transformado em uma estrutura de “software servant”, executando tarefas e prioridades definidas por equipes de produto não técnicas
- Em Engineering-led management, quem faz o trabalho define o produto, conversa com usuários, estabelece requisitos e implementa funcionalidades
- O papel de desenvolvedor já foi resolver problemas do ponto de vista do negócio como um todo, mas hoje é visto como mais próximo de um executor de gestão de projetos, que cumpre ideias e prioridades de outras pessoas
- Mesmo com a mesma função e o mesmo esforço, a diferença de remuneração cresceu: em uma empresa se recebe US$ 400 por dia, em outra US$ 20 mil por dia, e essa comparação aumenta a sensação de impotência de quem procura emprego
- Criar bons produtos, bons sistemas, produtos em crescimento e uma economia em crescimento continua sendo a direção que tecnólogos devem perseguir
1 comentários
Opiniões no Hacker News
Não é um problema apenas da engenharia de software ou de setores adjacentes. Conhecidos na Europa também estão tentando mudar de emprego ou conseguir promoções verticais ou laterais em setores completamente diferentes, de finanças a moda, mas estão fracassando de forma bem séria.
Hoje em dia, a maioria dos processos seletivos não olha para o histórico da pessoa nem para sua possível contribuição; é só uma sequência de portões a atravessar. O currículo enviado a portais de emprego fica mais como sedimento afundado no fundo da pilha, então é melhor usar redes de contato e conhecidos sempre que possível.
Eu também fui atingido pela queda nas vagas de tecnologia e, ao tentar entrar em uma consultoria de software, fiquei 8 meses no banco. No fim, saí e voltei a trabalhar com avaliação empresarial e tributária; mesmo o subemprego é melhor do que nada, especialmente para a saúde mental.
A fonte original também contém uma pequena frase: “escorreguei nesta banana como um macaco preguiçoso”.
Mesmo assim, reagiram como se meus 10 anos de experiência em software e áreas relacionadas tivessem sido subitamente invalidados. É estranho tratar alguém que aprendeu e usou várias linguagens como se fosse incapaz de usar C++ só porque usou C++ implicitamente apenas um pouco.
Uma empresa dizia no anúncio que experiência em Python não era necessária, mas na primeira entrevista por telefone despejou perguntas de implementação de baixo nível em Python. Se é assim, não sei por que fazem a entrevista; é desperdício de tempo para todo mundo.
No fim, as empresas simplesmente não sabem contratar e, pelo mesmo motivo, também não sabem fazer mentoria nem treinamento. Mas, do ponto de vista do candidato, isso também pode servir como um filtro natural: um lugar que não sabe contratar provavelmente não é um bom lugar para trabalhar.
Também há muitas reclamações de que o processo de entrevista é longo demais, mas, quando se escuta em detalhes, com frequência dá algo em torno de 4 a 5 horas no total. O padrão da época, alguns anos atrás, em que se contratava alguém com entrevistas curtas, distorceu as expectativas, e os jovens engenheiros que entraram naquela época agora parecem achar qualquer volume de entrevistas irracional.
Como no Reddit dizem para recusar todas as tarefas, muitas vezes é preciso convencer pessoas que recusam até tarefas simples de 60 minutos ou menos. É frustrante ver alguém desempregado há meses “corajosamente” recusar de novo uma tarefa que poderia fazer a candidatura avançar com um investimento mínimo de tempo.
Outro problema são as pessoas que param de procurar emprego assim que uma empresa responde. É preciso repetir o tempo todo que busca de emprego não é processamento sequencial, é processamento paralelo. Entrevistar com uma empresa lenta e esperar meses por uma resposta coloca o candidato em grande desvantagem.
Loops de entrevista excessivos certamente existem, mas acho que, na média, a situação não é tão ruim quanto se lê na internet.
A saída de exemplo, dizendo resumir “Panic! at the Tech Job Market”, criou uma frase como
LIKE SLUGS THROUGH THE HOURGLASS, THESE ARE THE DAYS OF OUR TECH TRIUMPHSe organizou juros, contratações em tecnologia e tipos de empresa, mas parece não ter reagido direito à instrução dos Minions.O que realmente precisa de explicação é por que, apesar de o mercado de trabalho dos EUA como um todo ter estado excepcionalmente forte por alguns anos, apenas o setor de tecnologia americano passou por demissões e congelamento de contratações. A resposta parece ser juros, mas é preciso explicar melhor por que o setor de tecnologia é mais afetado do que setores como viagens e lazer.
Pessoalmente, acho que os juros têm um papel periférico, mas não foi uma boa escolha o autor usar fevereiro de 2020 como ponto de referência para contratações em tecnologia. Janeiro de 2020 e o período anterior eram relativamente normais, mas a pandemia fez as contratações em tecnologia dispararem, levando o gráfico de 70 para 220.
Se você faz três anos de contratações em um ano, em algum momento precisa parar, e a alta dos juros virou esse sinal de parada. Como isso coincidiu com um período em que todos os outros setores estavam, na prática, em licença por ordem do governo, isso também explica por que o setor de tecnologia parece diferente dos demais em 2024.
Quando perguntei por que estava errado, depois de ter acabado de dizer que fez o resumo, respondeu que na verdade não podia resumir páginas da web. Eu disse que isso não fazia sentido; então ele apagou a mensagem e apareceu um aviso de violação da política de conteúdo do ChatGPT.
No fim, foi como se o computador tivesse mentido uma vez, mentido de novo e depois censurado a reação por medo de desagradar o computador. Não sei como as pessoas usam esse lixo.
Testei no Gemini, e ele deu um resumo sobre juros e demissões, o que ficou mais perto do resultado esperado.
Às vezes fico deprimido pensando que recebo menos da metade da remuneração do Google, mas, quando abro os olhos, vejo as professoras da pré-escola da minha filha cuidando de 30 crianças pequenas e trabalhando ganhando menos da metade do que eu ganho. Enfermeiros e médicos trabalham em condições em que é difícil aguentar até alguns meses, e o mesmo vale para supermercados, postos de gasolina, polícia, bombeiros, assistência social e professores.
Então não sei do que deveríamos reclamar. Seja a remuneração “baixa” de uma startup de 3 pessoas ou qualquer outra coisa, nós passamos o dia inteiro resolvendo quebra-cabeças de código e recebendo muito dinheiro por isso.
É melhor parar de se comparar com amigos que trabalham no Google e aprender a cultivar uma mente tranquila e feliz.
Cuidar de crianças pequenas parece, mesmo à primeira vista, um rumo melhor para gastar a única vida que nos foi dada.
Acho que continuaria fazendo este trabalho mesmo que não precisasse de dinheiro. Posso fazer algo de que realmente gosto, usar minhas habilidades para ser útil e deixar outras pessoas felizes. Além disso, ganho cerca de 3 vezes mais do que meu pai e minha esposa.
Muitas pessoas do HN estão dentro de uma bolha. Não têm a menor ideia de como é o mundo lá fora. Isso porque, na prática, foram tratadas como realeza. As pessoas, onde quer que estejam, não querem que tirem o que têm nem querem dar passos para trás. Mesmo que tenham começado mais à frente do que o ponto de chegada de outra pessoa.
Você acha que programação é inútil? Acha que não há negócios que precisem de tecnologia? Você simplesmente vai trabalhar em negócios úteis que de fato contribuem para a sociedade, e não em empresas de tecnologia que criam coisas viciantes para vender anúncios.
Todos deveriam ter o direito de viver sem serem submetidos a essas condições terríveis, mas continuamos permitindo isso porque, socialmente, não os vemos como iguais. Se nós, pessoalmente, conseguimos aguentar, fica fácil ignorar o sofrimento que os outros suportam.
Eu aceitaria viver com menos se todos pudessem ter uma vida melhor. Na prática, a escala de acumulação de riqueza é tão grande que nem seria preciso sacrificar tanto assim. Bastaria redistribuir essa riqueza.
Não devemos tentar resolver problemas sistêmicos com soluções individualistas. Não sei como ter uma mente tranquila e feliz quando todos fora da nossa pequena bolha estão sofrendo.
A atitude de “a nossa bolha é menos ruim do que outras bolhas, então vamos ficar felizes” é uma tragédia. Precisamos lembrar que estamos todos no mesmo barco.
Mas trabalhar na indústria de games também significa, desde o começo, abrir mão em certa medida da ideia de ter uma “mente tranquila e feliz”.
Antes eu achava que entrevistas de programação eram um rito de passagem sem nenhuma relação com o trabalho do dia a dia, mas agora, como engenheiro sênior/staff voltando ao mercado de trabalho depois de muito tempo, estou relutantemente me inclinando para a ideia de que talvez elas não sejam tão ruins assim.
Tenho a sensação de que estou passando graças às habilidades que acumulei nos últimos anos; se for assim, talvez as entrevistas de programação capturem algum sinal. Quanto mais sênior fico, mais me afasto da ideia de que entrevistas de programação são completamente sem sentido.
Mas fazer a pessoa resolver na hora, com limite de tempo, problemas extremamente obscuros sem nenhuma relação com o trabalho diário, e eliminá-la se a resposta estiver errada ou não for ótima, parece mais um processo para filtrar juniores baratos.
O primeiro grupo costuma achar que a fluência teórica não é importante, mas, quando é preciso resolver problemas reais, é o segundo grupo que você procura. Uma equipe que só sabe escrever código e não consegue teorizar sobre ele tende a empilhar uma montanha de lixo que outra pessoa terá de reconstruir depois.
Claro que há pessoas que não conseguem teorizar rapidamente, ou não conseguem fazer isso diante dos outros, ou não conseguem em uma entrevista de alta pressão. Esses problemas de formato precisam ser resolvidos. Perguntas obscuras de conhecimento enciclopédico também não fazem sentido.
Ainda assim, a objeção básica de que “testes de programação não avaliam habilidades necessárias no trabalho diário” é estranha. Não é uma habilidade que você usa todos os dias, mas é uma habilidade que precisa ser acionada quando necessário e que sustenta o trabalho de todos os dias. É como um mecânico: ele pode não usar teoria de motores todos os dias, mas eu não gostaria de deixar meu carro por muito tempo com um mecânico que não entende como um motor funciona.
Já recebi muitas soluções absurdas de candidatos. Peço um kata bem simples: refatorar de forma bonita um pequeno programa que produz saída no console e adicionar uma funcionalidade; metade nem consegue fazê-lo funcionar. Muita gente não faz o menor esforço para deixar o código limpo. O que se pede é apenas fazê-lo funcionar e deixá-lo apresentável.
Nem todos os problemas são assim, mas a maioria dos problemas de entrevista de programação de nível fácil/médio parece ser coberta de forma bastante geral por esses três passos. Quando procurei meu primeiro emprego, eu não sabia nada disso; por isso, com o tempo, senti que os problemas de entrevista de programação ficaram mais fáceis.
Embora eu não use muito Python no trabalho, a palavra-chave
yieldé praticamente apelona em problemas do LeetCode.As rodadas de programação para níveis júnior e “SDE II” têm uma toxicidade em que SDEs recém-promovidos transformam aquilo em uma competição entre eles mesmos e o candidato. Já aconteceu de eu apresentar uma solução mais simples do que a que o entrevistador tinha em mente, e ele ficar incomodado.
O texto em si é, em geral, bom, mas o autor parece inflar demais o nível de remuneração. Há um trecho em que ele diz que uma fabricante de tratores, uma empresa estável e não tecnológica, paga de US$ 5 mil a US$ 10 mil por dia.
Mesmo dividindo pela metade por incluir impostos, e mesmo considerando apenas funcionários de software, uma remuneração média de quase US$ 1 milhão por ano não faz sentido. A média dos engenheiros de software nos EUA é de cerca de US$ 135 mil a US$ 150 mil, e essa média inclui também engenheiros da FAANG nas faixas mais altas de remuneração.
Existem indivíduos que recebem nesse nível, mas, pelo que ouvi no passado, remuneração total anual acima de US$ 1 milhão era o patamar de engenheiros unicórnio dos primórdios do Google.
Provavelmente foi um erro de digitação com um zero a mais. US$ 500 a US$ 1.000 por dia daria US$ 125 mil a US$ 250 mil por ano, o que é muito mais plausível.
No original, diz que, no ambiente tecnológico moderno, empresas estáveis de “hiperescala e hipercrescimento” pagam a profissionais experientes o equivalente a US$ 10 mil a US$ 50 mil por dia, incluindo o valor da remuneração em ações que cresce exponencialmente a cada ano.
Um salário anual de US$ 250 mil dá só cerca de US$ 1.000 por dia, mas, se durante uma carreira de 40 anos for possível acumular US$ 50 milhões em remuneração em ações de empresas de alto crescimento, a média vira US$ 5.000 por dia.
É um cálculo meio suspeito, que deveria ter sido explicado com mais clareza, e ainda assim parte de premissas bastante ambiciosas, mas pelas pistas ao longo do texto parece que era essa a intenção.
Isso também aparece no currículo: ele parece achar que o nível adequado na FAANG seria L10. Esse é um nível extremamente raro, e a chance de a carreira dele ser enquadrada nesse nível é 0%.
O texto inteiro pode ser resumido como um senso de merecimento exageradamente inflado.
https://matt.sh/files/a-resume/resume.html
Este autor tem reputação por um senso de merecimento impressionante. Foi a pessoa que, depois de fazer algumas contribuições menores ao Redis, tentou uma aquisição hostil.
Vendo por esse lado, não é tão surpreendente que ele tenha dificuldade para encontrar um emprego que corresponda às expectativas.
https://news.ycombinator.com/item?id=9176800
Dito isso, o episódio mencionado é bem antigo e pouco relevante para o assunto atual. O senso de merecimento forte é meio constrangedor, porém.
https://groups.google.com/g/redis-db/c/PxFeA0fHgO4/m/zD4IWbXlMOgJ
Pelo link do GitHub Sponsors no topo do texto, ele parece ter certeza de que alguém vai assinar um patrocínio de US$ 12.000 por mês.
Como diz o ditado, “se parece idiota, mas funciona, então não é idiota”: se ele era inteligente o bastante para enxergar todos os problemas dos empregos anteriores e ainda assim essas empresas fracassaram, talvez ele não fosse o funcionário ideal que imagina ser. Se ele acha que entrevistas de programação estão abaixo dele e que só pessoas inferiores passam nelas, mas não consegue pagar o aluguel, talvez essas entrevistas não sejam tão inferiores assim.
Usar conhecimento de AWS para reduzir uma consulta de 7 segundos para 40 ms, ou um job em lote de 40 horas para 20 minutos, raramente é o que separa o sucesso do fracasso de uma empresa. Disfunções de gestão muitas vezes fazem essa diferença, mas, se ele só guarda isso como material para posts cínicos no blog, não dá a ninguém um motivo para contratá-lo.
Querer que empresas administrem melhor seus sistemas é bom até certo ponto, mas, ao se concentrar demais em design de bancos de dados e redução de custos de AWS, ele acaba virando o pedreiro do meio na parábola da McKinsey.
Se a equipe de marketing está fazendo besteira, dá para dizer “o marketing está uma bagunça”, mas é difícil ir além de avisar. Por mais diplomático que você seja, se não estiver alto o suficiente na hierarquia organizacional, é difícil corrigir isso pelo lado da engenharia.
Uma vez, um amigo do CEO entrou como novo chefe de marketing, e eu levei uma bronca do CEO por expressar educadamente minhas preocupações sobre as decisões de marketing dele. Depois, esse chefe destruiu a marca e confundiu os clientes.
Na maioria dos cargos, técnicos ou não, gestores de contratação preferem alguém que, quando mandam “pule”, pergunta “qual a altura?”, não alguém que pergunta “não” ou “por quê?”.
É preciso ser sênior o suficiente para fazer bem o trabalho, mas não tão sênior a ponto de fazer o chefe se sentir júnior.
Provavelmente você é um dos entrevistadores ou funcionários mencionados no texto.
A situação agora está realmente muito ruim, mas, pelo que entendo, quem mais está sofrendo são recém-formados e juniores. Como o setor parecia bastante lucrativo, muita gente migrou para engenharia de software, e houve uma produção excessiva de formados em ciência da computação.
É difícil convencer uma startup de que ela deve apostar em alguém sem experiência, e empresas mais maduras também preferem contratar 1 sênior por 1,5 vez o preço, para fazer um trabalho parecido, a pagar por 2 juniores. Antes, até empresas de nível C tinham um pipeline de estágio para efetivação, mas agora isso parece muito mais raro.
Com a alta dos juros, investidores procurando só o que está em alta agora e a incerteza no futuro próximo, parece ter ficado mais difícil convencer investidores a bancar novos produtos/funcionalidades e o crescimento de engenheiros necessário para isso.
Nos últimos anos, muita gente talentosa foi demitida, então as empresas têm uma grande vantagem na contratação. Muitos deles estão dispostos a aceitar cortes consideráveis, o que reduz o motivo para escolher alguém mediano.
Por volta de 2019, pensei seriamente em deixar o setor. A indústria inteira tinha virado moagem de LeetCode, corrida por remuneração total e drones medianos. Era difícil encontrar gente lidando com problemas desafiadores e interessantes, quanto mais problemas reais, e as pessoas com quem trabalhei não tinham nenhum interesse em programação ou ciência da computação.
Mas, nos últimos 2 anos, trabalhei com várias equipes fazendo coisas realmente incríveis e encontrei equipes formadas só por pessoas persistentes e inteligentes. Em especial, comecei a criar projetos usando novos macetes e técnicas em torno de IA.
Agora há muitas equipes pequenas recebendo financiamento para resolver problemas difíceis, e programadores interessantes, talentosos e realmente estranhos estão começando a aparecer de novo. Pessoas que gostam de construir coisas e resolver problemas estão voltando a conseguir trabalho.
Considerando a inflação, acho que estou ganhando o mínimo em muito tempo, mas finalmente o trabalho voltou a ser divertido. Posso hackear junto com pessoas obcecadas por construir.
Para mim, um engenheiro júnior é alguém que conhece algoritmos e estruturas de dados, conhece muito bem pelo menos uma linguagem de programação e consegue escrever rapidamente pequenos programas nessa linguagem. Pode não ter experiência prática, talvez nunca tenha feito um projeto com mais de 10 mil linhas e talvez não conheça CI/CD ou Docker, mas precisa saber codar.
Só que a maioria dos candidatos a vagas juniores não sabe codar. Não consegue escrever nem 5 linhas de código durante a entrevista na linguagem que afirma ser sua favorita. Não é diferente de se candidatar a cozinheiro júnior sem saber cozinhar, ou a taxista júnior sem saber dirigir.
Um júnior deveria ser “tem bastante conhecimento, mas não tem experiência”, mas, em TI, estranhamente muita gente entende como “não tem conhecimento nem experiência”.
Se alguém me disser onde encontrar esses engenheiros juniores produzidos em excesso, ficarei feliz em contratá-los.
Já trabalhei com ótimos engenheiros da América Latina e do Leste Europeu, e hoje é quase igual a trabalhar com engenheiros baseados nos EUA. O inglês é bom, há sobreposição suficiente de horário, e, especialmente no caso da América Latina, é o completo oposto do pesadelo do outsourcing para a Índia em meados dos anos 2000.
Como 99% das interações com as pessoas acontecem de qualquer forma no Zoom ou no Meet, onde elas estão faz pouca diferença. Então fica difícil pagar salário americano a um desenvolvedor júnior dos EUA, porque pelo mesmo valor, ou menos, dá para conseguir um ótimo desenvolvedor sênior na América Latina ou no Leste Europeu.
Várias posições às quais me candidatei ou para as quais estava entrevistando foram canceladas, e dois amigos disseram que a mesma coisa está acontecendo nas empresas deles. Em um caso, uma equipe de 5 pessoas virou uma equipe de 2 operando um serviço essencial de uma companhia aérea.
É ruim para recém-formados, sim, e talvez seja pior do que parece.
Passei os últimos 15 anos trabalhando em tempo integral na contratação de pessoas, principalmente engenheiros, e concordo fortemente com boa parte das críticas do Matt à contratação moderna.
A maioria das entrevistas técnicas tem tão pouca relação com o desempenho no trabalho quanto contratar um padeiro perguntando como orbitais eletrônicos formam ligações de glúten e eliminá-lo se ele não conseguir desenhar imediatamente uma configuração orbital válida.
A analogia do Matt funciona bem para contratações transacionais, como contratar prestadores de serviço, mas não funciona tão bem em situações em que há uma expectativa mútua de trabalhar juntos por vários anos. Empresas que contratam engenheiros normalmente precisam fazer pessoas assarem pão em equipe, e essa equipe às vezes é muito grande.
À medida que as responsabilidades ficam cada vez mais subdivididas, na prática você acaba precisando de pelo menos um padeiro que consiga desenhar uma configuração orbital válida. E, se encontrou um padeiro forte em mecânica quântica, agora também precisa verificar se essa pessoa é horrível de se trabalhar junto.
Por isso, contratação por indicação era e continua sendo rei. O melhor teste para saber se alguém trabalha bem é trabalhar com essa pessoa por alguns anos.
Mesmo quando indiquei pessoas que eu sabia serem engenheiros de software realmente excelentes e pelas quais eu poderia apostar meu próprio emprego, elas foram tratadas exatamente como qualquer outro candidato.
Não é realista, mas, se os investidores deram milhões de dólares para gastar, de algum jeito precisam gastar.
O problema todo é haver candidatos demais e vagas de menos. Conversas sobre inflação, assar pão, juros e formação de equipes são todas sintomas de um senso de direito.
Se houvesse apenas 2 candidatos, eles não pensariam assim.
Todos os cálculos de guardanapo deste texto me deixaram perplexo
Não sei de onde veio o critério “por dia”. Não fica claro se é remuneração de executivo ou de engenheiro intermediário/sênior. US$ 5 mil a US$ 10 mil por dia dá US$ 1 milhão a US$ 3 milhões por ano; é possível, especialmente em anos em que as ações sobem muito, mas não é tão comum quanto o texto sugere
Também é difícil acreditar que esses números venham de “não Google ou Apple, mas uma empresa de tratores ou de indústria pesada que vem entregando resultados de forma consistente há anos”. Dizem que são empresas escondidas, mas fico curioso se há exemplos. Em geral, em empresas não tecnológicas, engenheiros de software são centros de custo, então a remuneração é bem menor
A nota de rodapé “se calcularmos que a inflação real e o custo de vida sobem 7% a 13% ao ano” também precisaria apresentar a base do cálculo para sustentar uma inflação tão excepcional ao longo dos últimos 10 anos
Ainda assim, para chegar a esses valores, seria preciso considerar também a valorização das ações. E acho que há muito mais gente que sai da FAANG do que gente que chega a nível VP lá
Pode até haver bons pontos enterrados no texto, mas o que se lê é um amargor com pouca autorreflexão. Parece alguém difícil de trabalhar e que jogaria a responsabilidade nos outros
Dá a impressão de ficar se repetindo, até mostrando uma foto própria para provar que faz exercícios. Cada um tem seu jeito, mas fiquei pensando que as falhas em entrevistas talvez não sejam um problema de competência, e sim de atitude
Mas, se você tem a sorte de conhecer essas pessoas, não poderia usar essas conexões para fortalecer a carreira?
Há quem entre na empresa certa no momento certo e ganhe milhões de dólares, mas, se eu recebesse US$ 150 mil no meu próximo emprego, dependendo da região, acho que ficaria bem satisfeito. Seria bom se o trabalho remoto continuasse amplamente disponível, permitindo morar em um lugar com custo de vida mais baixo
Dito isso, o autor não parece considerar US$ 150 mil muito dinheiro e, pelo conteúdo do artigo, ele de fato tem mais experiência e senioridade do que eu