← todos os artigos
/// Career ///

Júnior, pleno ou sênior: a pergunta de entrevista que separa os três

Uma demanda fictícia de um PO, três candidatos e três respostas completamente diferentes. O que realmente avaliamos em uma entrevista técnica — e por que senioridade não é o tamanho da sua stack.

30 de agosto de 2026 · Atualizado em 01 de setembro de 2026 · ~30 min de leitura · #senioridade #entrevista-tecnica #carreira-dev · · PT-BR

Três candidatos entram na mesma sala virtual, recebem exatamente a mesma demanda e têm o mesmo tempo para responder. Nenhum deles precisa escrever uma linha de código para que eu saiba, em menos de cinco minutos, em que nível cada um está. Este artigo é sobre o que acontece nesses cinco minutos.

Existe uma crença muito difundida — e muito confortável — de que senioridade é um inventário: quantas linguagens você sabe, quantos frameworks você já usou, quantos certificados estão pendurados no LinkedIn. É confortável porque é acionável: basta estudar mais uma ferramenta e subir um degrau.

O problema é que não funciona assim. Já entrevistei gente com quinze tecnologias no currículo que travou na primeira pergunta ambígua, e gente com uma stack modesta que dissecou o problema como cirurgião. A diferença nunca esteve no inventário. Esteve na vivência — na quantidade de vezes que a pessoa já viu algo dar errado e aprendeu a farejar isso antes de acontecer.

· · ·
01

Antes de tudo: júnior não é estudante

Preciso começar por aqui porque é a confusão mais cara do mercado brasileiro.

Você não é desenvolvedor júnior porque terminou um bootcamp. Você não é júnior porque fez três projetos no GitHub, porque concluiu a graduação ou porque assistiu a 200 horas de curso. Enquanto ninguém te contratou para exercer a função, você é estudante — e isso não é ofensa nenhuma, é apenas a descrição correta do estágio.

Júnior é um cargo. Existe a partir do momento em que uma empresa assina um contrato, coloca você dentro de um time, te dá acesso ao repositório de produção e passa a depender de você para entregar valor. Antes disso existe estudo, existe portfólio, existe potencial — mas não existe senioridade, porque senioridade se mede em situações reais, e situações reais só acontecem em produção.

Por que essa distinção importa
Porque muita gente se frustra achando que "está estagnada no júnior" quando na verdade ainda não entrou. São problemas diferentes, com soluções diferentes. Quem ainda não foi contratado precisa de acesso. Quem já foi contratado precisa de exposição a problemas maiores. Confundir os dois faz a pessoa estudar a sexta linguagem quando deveria estar aplicando para vagas.

E o inverso também vale: um júnior contratado é um profissional, não um estagiário glorificado. Ele entra em sprint, tem demanda com prazo, participa de code review, quebra produção e conserta produção. A diferença entre ele e o pleno não é “um trabalha e o outro aprende” — os dois trabalham e os dois aprendem. A diferença é o raio de autonomia: o tamanho do problema que a pessoa consegue receber, cortar em pedaços e resolver sem que alguém precise cortar por ela.

· · ·
02

O cenário: a demanda que eu levo para a entrevista

Eu entro na sala vestindo o chapéu de PO. Não sou o entrevistador técnico neste momento — sou o cara que acabou de sair de uma reunião com o cliente e trouxe um pedido. E o pedido é este:

A demanda, exatamente como chega
"Nosso site precisa exibir um quadrado de 10px por 10px com uma cor, a cada dia do ano."

Como você planeja executar essa tarefa?

É isso. Uma frase. Vaga de propósito, mas não injusta — é exatamente o nível de detalhe que uma demanda real chega na sua mesa numa terça-feira qualquer.

Repare no verbo que eu uso: planeja. Não pedi para implementar. Não pedi pseudocódigo. Pedi um plano. E a primeira coisa que observo é se a pessoa percebeu isso.

Agora, os três candidatos.

· · ·
03

Candidato A — o júnior: o editor já está aberto

O candidato A não hesita. É quase admirável a velocidade. Em quinze segundos ele já está descrevendo a solução:

“Tranquilo. Eu faço uma div de 10 por 10 com CSS, pego a data atual com new Date(), calculo o dia do ano, e uso isso como índice num array de cores. Se você quiser eu já escrevo aqui.”

E ele escreve. E o código funciona. Roda no navegador, mostra um quadradinho colorido, muda de cor quando você mexe o relógio da máquina. Tecnicamente correto:

const cores = ["#e63946", "#457b9d", "#2a9d8f" /* ... 365 cores ... */];

const inicioDoAno = new Date(new Date().getFullYear(), 0, 1);
const diferenca = new Date() - inicioDoAno;
const diaDoAno = Math.floor(diferenca / 86400000);

document.querySelector("#box").style.background = cores[diaDoAno];

Não há nada de burro nesse código. É a solução óbvia, direta, entregue rápido. O júnior fez exatamente o que foi pedido — e é justamente esse o ponto.

O que ele não fez: não perguntou nada. Aceitou a demanda como especificação completa. Assumiu, sem verbalizar, que:

  • a cor pode ser diferente para cada usuário (está no cliente);
  • a cor pode mudar entre um ano e outro;
  • todo ano tem 365 dias;
  • o dia do usuário é o dia do relógio da máquina dele;
  • um dia tem sempre exatamente 86.400.000 milissegundos.

Cada uma dessas cinco suposições é uma decisão de produto disfarçada de detalhe técnico. Ele tomou todas as cinco sozinho, em silêncio, e nenhuma delas foi validada com quem trouxe a demanda.

E isso está previsto, formalmente
Na matriz de competências da Talabat, o tema "Dealing with ambiguity" — lidar com ambiguidade — tem uma entrada explícita para o nível IC1: "n/a (not applicable at this level)". Não é esquecimento nem indulgência. A empresa escreveu, com todas as letras, que não se espera que um júnior lide com ambiguidade. Ela aparece só a partir do IC2, e ainda assim limitada ao escopo pessoal de trabalho. Cobrar isso do candidato A seria avaliá-lo por um nível que ele não ocupa.
O que isso me diz como avaliador
Não me diz que ele é ruim. Me diz que ele ainda enxerga a demanda como enunciado de exercício — algo que tem uma resposta certa esperando ser digitada. É exatamente o reflexo que a faculdade, os cursos e o LeetCode treinam durante anos. Desaprender isso é literalmente o trabalho dos primeiros anos de carreira.
· · ·
04

Candidato B — o pleno: duas perguntas que mudam a arquitetura

O candidato B fica em silêncio por uns segundos. Depois vira a mesa:

“Antes de pensar em código, tenho duas dúvidas. Primeira: a cor precisa ser a mesma para todos os usuários? Se sim, essa definição tem que sair do servidor, porque se eu gerar no cliente cada navegador pode chegar num resultado diferente. Segunda: em 15 de março do ano que vem, a cor tem que ser a mesma de 15 de março deste ano? Se sim, isso não é um cálculo, é um dado — precisa estar persistido em algum lugar.”

Estas duas perguntas não são detalhes. Elas decidem a arquitetura inteira antes de qualquer linha ser escrita:

Resposta do PO Consequência arquitetural
Cor igual para todos Fonte da verdade no servidor (ou paleta fixa distribuída no bundle). Não pode ser aleatória no cliente.
Cor pode variar por usuário Cliente resolve sozinho. Mas então "cor do dia" vira "cor do dia de quem olha" — e isso muda o texto da UI.
Repete todo ano Paleta versionada e persistida. É conteúdo, e conteúdo tem dono, tem migração e tem changelog.
Muda a cada ano Função determinística com semente por ano. Precisa ser reprodutível para debug e para suporte.

O pleno entendeu a coisa mais importante da profissão: ambiguidade na demanda não é problema do PO, é risco do time. Ele não devolveu a demanda; ele a refinou. Fez as perguntas cujas respostas ele sabia que mudariam o desenho.

O que ele ainda não fez: olhou para as bordas do calendário e do planeta.

A transição de júnior para pleno, na minha cabeça, tem uma data — não no calendário, mas num code review. Eu tinha entregue uma feature exatamente como pediram, e o tech lead comentou: "está certo, mas você não perguntou o que acontece quando o campo vem nulo, e ele vem nulo em 30% dos registros da base". Não era uma questão de sintaxe. Era que eu tinha entregue código sem entender o dado. A partir dali eu passei a abrir toda demanda pelo mesmo lado: primeiro os casos que quebram, depois a solução.

· · ·
05

Candidato C — o sênior: as perguntas que ninguém queria ouvir

O candidato C começa exatamente igual ao pleno. Faz as mesmas duas perguntas, na mesma ordem, quase com as mesmas palavras. E aí continua.

“E o ano bissexto? Se a paleta tem 365 cores e o índice é o dia do ano, em 2028 tudo depois de 29 de fevereiro anda uma casa. O 1º de março passa a exibir a cor que era do dia 28. E o dia 29 em si — ele tem cor própria, ou herda alguma?”

“E fuso horário? Dois usuários podem abrir a página exatamente no mesmo instante e estarem em dias diferentes. Alguém em Auckland às 10h da manhã e alguém no Havaí no mesmo segundo estão separados por um dia inteiro de calendário. Qual dos dois está ‘certo’? A cor é do dia do servidor, do dia do usuário, ou do dia de um fuso de referência do negócio?”

“Se a resposta for ‘fuso do usuário’, então não posso cachear essa página numa CDN sem cuidado — o HTML gerado às 23h59 em Lisboa está errado para quem abre às 00h01. Se for ‘fuso do servidor’, preciso escrever isso na UI, porque senão vou ter ticket de suporte de gente dizendo que a cor não mudou à meia-noite.”

Aqui está a diferença que não cabe em currículo. O sênior não sabe mais JavaScript que o pleno. Ele já levou porrada de ano bissexto, de horário de verão, de cache que serviu conteúdo de ontem, de bug que só reproduzia entre 21h e 00h para usuário do Acre.

E tem mais uma coisa que ele viu, e que quase ninguém verbaliza:

// O bug silencioso do candidato A:
const diaDoAno = Math.floor(diferenca / 86400000);

Nem todo dia tem 86.400.000 milissegundos. Em países com horário de verão — Irlanda, Portugal, boa parte da Europa — existe um dia por ano com 23 horas e outro com 25. O desvio que isso introduz é de exatamente uma hora, 3.600.000 milissegundos: nada de dramático em si. O problema é o Math.floor. Uma hora de defasagem é suficiente para o índice cair na casa anterior, e o efeito não é uma hora de erro — é um dia inteiro de cor errada. Na Irlanda, entre o último domingo de março e o último de outubro, quem abrir a página entre meia-noite e 1h da manhã continua vendo a cor de ontem. É o tipo de bug que só existe numa janela de 60 minutos, some sozinho quando o relógio volta, e ninguém consegue reproduzir às 15h de uma quarta-feira.

A versão do sênior troca aritmética por calendário:

// Chave de calendário explícita, no fuso que o negócio decidiu.
function chaveDoDia(instante, fuso) {
  return new Intl.DateTimeFormat("en-CA", {
    timeZone: fuso,
    year: "numeric",
    month: "2-digit",
    day: "2-digit",
  }).format(instante); // -> "2028-02-29"
}

const chave = chaveDoDia(new Date(), "Europe/Dublin").slice(5); // -> "02-29"
const cor = paleta[chave] ?? paleta["02-28"]; // fallback explícito para bissexto

Repare no que mudou conceitualmente: o índice deixou de ser um número sequencial e passou a ser uma chave de calendário. Com isso, 29 de fevereiro deixa de deslocar o resto do ano, o horário de verão deixa de importar, e o comportamento do dia extra vira uma decisão explícita e visível no código — não um acidente.

O detalhe que fecha a conta
Perguntar sobre bissexto e fuso não é "viajar na maionese". São as duas únicas fontes de erro que não aparecem em teste: o ambiente de desenvolvimento roda num fuso só, e o ano bissexto acontece a cada quatro anos. Ou você prevê no planejamento, ou você descobre em produção — e o custo entre as duas coisas é de duas ordens de grandeza.
· · ·
06

O fluxograma: como cada um percorre o mesmo problema

Colocando os três caminhos lado a lado, o padrão fica visível. Não é que um pense “melhor” — é que cada um para em um ponto diferente antes de começar a executar.

Fluxograma: júnior chega ao código na etapa 3 de 4; o sênior, na etapa 6 de 6

O júnior tem quatro etapas e chega ao código na terceira. O sênior tem seis e só chega ao código na última. Isso não significa que o sênior é mais lento — significa que ele gasta o tempo antes, e não depois, quando o custo do erro já multiplicou.

· · ·
07

As camadas do problema — e até onde cada um desce

Toda demanda tem camadas. A superfície é o que foi pedido; embaixo dela existem regras de negócio, estado, tempo, entrega e manutenção. Senioridade, na prática, é a profundidade média que a pessoa alcança sozinha, sem que alguém puxe.

As seis camadas da mesma demanda e até qual delas cada nível desce sozinho

Note uma coisa importante: as camadas 1 e 2 são idênticas para os três. O código do júnior não é pior. É que ele só existe nas duas primeiras camadas — e as quatro de baixo continuam lá, esperando alguém.

Pergunta levantada espontaneamente Jr Pl Sr
Qual o tamanho e onde fica o box?
Todos os usuários veem a mesma cor?
A cor de um dia repete no ano seguinte?
De onde vem a paleta — dado ou função?
O que acontece em 29 de fevereiro?~
O "dia" é de qual fuso horário?
Horário de verão quebra o cálculo?
Cache/CDN serve conteúdo de ontem?
Contraste/acessibilidade da cor sorteada~
Como o suporte vai debugar um relato?
· · ·
08

Senioridade é vivência, não inventário

Aqui está o ponto central do artigo, e vou ser direto: nenhuma das perguntas do sênior exige conhecimento de framework.

Ano bissexto é ensinado no ensino fundamental. Fuso horário é ensinado no ensino fundamental. Intl.DateTimeFormat está na documentação. Nada disso é conhecimento raro.

O que é raro é lembrar de perguntar. E você não lembra porque leu — você lembra porque um dia às 2h da manhã de um domingo de outubro o relatório de fechamento saiu duplicado, e você passou seis horas descobrindo que o servidor tinha vivido a mesma hora duas vezes.

Inventário
"Sei React, Vue, Angular, Node, Go, Kubernetes, Terraform, Kafka." Mede exposição a ferramentas. Acumula com estudo.
Cresce em meses
Vivência
"Já vi isso quebrar assim, e por isso eu pergunto X antes." Mede exposição a consequências. Só acumula com tempo e produção.
Cresce em anos
O que a entrevista mede
A segunda. Inventário eu leio no currículo em 40 segundos — e ele envelhece. Vivência só aparece quando você coloca a pessoa diante de ambiguidade.
O diferencial real

A matriz que prova isso sozinha

A matriz de competências da Talabat avalia 27 temas distribuídos em cinco áreas: habilidades técnicas, entrega, feedback e comunicação, liderança e impacto estratégico. Cada tema tem uma descrição própria para cada um dos seis níveis, de IC1 a IC6.

Com uma exceção. Exatamente um dos 27 temas para de evoluir depois do sênior. Nos três níveis acima — Staff, Principal, Senior Principal — a célula não traz um texto novo. Traz duas palavras: “see IC3”.

Horizonte de planejamento por nível: 1 a 5 dias no júnior, 1 a 4 semanas no pleno, 1 a 3 meses no sênior, 3 a 6 meses no Staff, 6 a 12 meses no Principal e 1 a 2 anos no Senior Principal

O tema que congela é "Writing code"
Escrever código é a única competência das 27 que atinge o teto no sênior. A partir dali, a empresa formalmente não espera que você escreva código melhor — espera que você faça outras 26 coisas melhor. Um Principal Engineer e um sênior têm, no papel, exatamente a mesma expectativa de qualidade de código. Toda a distância entre os dois está em ambiguidade, arquitetura, alinhamento, mentoria, visão de produto e horizonte de decisão.

Isso é a tese deste artigo escrita por um departamento de RH, com carimbo. Se escrever código para de diferenciar no sênior, então tudo que vem depois — e boa parte do que vem antes — é outra coisa.

E o gráfico acima mostra que outra coisa é essa. A matriz define, para cada nível, um horizonte de planejamento: por quanto tempo à frente aquela pessoa responde. Cinco dias no júnior. Um mês no pleno. Um trimestre no sênior. Dois anos no topo. O crescimento não é uniforme: o salto é brutal no começo — cerca de de júnior para pleno e de pleno para sênior — e depois se estabiliza em 2× a cada degrau. Do IC1 ao IC6 o horizonte cresce quase 150 vezes.

Uma definição de senioridade em uma linha
Se eu tivesse que resumir o artigo inteiro numa frase, seria essa: senioridade é o tamanho do futuro pelo qual você é responsável. O júnior responde pela tarefa desta semana. O sênior responde pelo que o time vai viver daqui a três meses. É exatamente por isso que o candidato C pergunta sobre ano bissexto: o bissexto está a quatro anos de distância, e o horizonte dele alcança lá.

É por isso que um dev que passou cinco anos numa única stack, mas mantendo um produto vivo com usuários reais, costuma ser mais sênior do que alguém que passou cinco anos pulando de projeto greenfield em greenfield. Quem nunca manteve o próprio código não viu a consequência das próprias decisões — e é exatamente esse feedback loop que constrói a intuição.

Morando em Dublin e trabalhando com times e sistemas que tocam o Brasil, fuso deixou de ser trivia e virou rotina. A Irlanda entra e sai do horário de verão; o Brasil não tem mais desde 2019; a diferença entre os dois oscila entre 3 e 4 horas dependendo da época do ano. Já vi agendamento disparar na hora errada, relatório diário fechar com um dia de defasagem e log com timestamp que não batia com o incidente. Depois de algumas dessas, "qual o fuso de referência?" virou a primeira pergunta que eu faço em qualquer coisa que envolva data.

· · ·
09

Quanto tempo leva de verdade

Se senioridade se constrói com vivência, a pergunta óbvia é: quantos anos?

A resposta honesta é que depende brutalmente do tipo de empresa. O gráfico abaixo não mede quanto tempo você fica em cada nível — mede em que ponto da carreira o título costuma chegar. É essa leitura que expõe a distorção: a barra de “sênior” da coluna de retenção cai exatamente em cima da barra de “pleno” da big tech.

Linha do tempo de carreira: com quantos anos de experiência acumulada cada título costuma chegar em big tech, no mercado brasileiro e em empresas que promovem para reter

De onde vêm esses números
As faixas de big tech vêm de trilhas de nivelamento públicas — incluindo o framework de carreira do Dropbox, que publica os tempos por nível, e a escada da Artsy, aberta no GitHub. As do mercado brasileiro vêm de levantamentos de recrutamento referenciados. Já a linha de promoção de retenção e os percentuais de aumento citados adiante são estimativas ilustrativas, baseadas em padrão observado — não em pesquisa publicada. Trate-as como ordem de grandeza, não como dado.

Um framework que publica os números

Quase toda empresa trata a matriz de promoção como documento interno. O Dropbox publicou a dele, e isso dá uma âncora rara — números oficiais, não crowdsourced:

Nível (Dropbox) Tempo típico no nível — IC Tempo típico no nível — gestor
L11,5–2 anos
L22–3 anos
L32–4 anos0–2 anos
L44+ anos — nível de carreira. A documentação diz que se espera que todo engenheiro alcance impacto de L4 ou maior, e que para muita gente L4 será o destino final, sem pressão de subir.

Somando as faixas, uma pessoa entra no L3 com 3,5 a 5 anos de carreira e no L4 com 5,5 a 9 anos. Compare com a régua da seção anterior: L3 é o degrau de sênior, L4 é o de especialista. Os números batem quase exatamente com as faixas de big tech do gráfico — o que é um bom sinal, já que vieram de fontes independentes.

O detalhe que quase ninguém repara
A linha do gestor em L3 é mais curta que a do IC. O motivo está escrito na própria documentação: quem migra para gestão já cresceu através de boa parte do L3 como IC. O tempo não é menor porque gestão é mais fácil — é menor porque parte do caminho já foi andado do outro lado.

O padrão das grandes empresas

Em empresas grandes, com trilha de carreira formalizada e comitê de calibração, os números são razoavelmente estáveis. No Google, o nível de entrada (L3) costuma durar entre um ano e meio e dois anos — ficar muito além disso é lido internamente como sinal de baixa performance. O L4, o degrau seguinte, corresponde grosso modo a algo entre um e cinco anos de mercado, e o título de Senior Software Engineer (L5) normalmente é associado a uma faixa de seis a nove anos de experiência. Meta, Amazon e Microsoft operam com trilhas diferentes no nome, mas com ordens de grandeza muito parecidas.

Traduzindo para a nomenclatura brasileira:

Nível Experiência típica (empresa grande) Autonomia esperada
Júnior 0 a 2 anos Recebe uma tarefa recortada. Entrega com revisão.
Pleno 2 a 5 anos Recebe um problema. Faz o próprio recorte e entrega.
Sênior 6 anos ou mais Recebe um objetivo ambíguo. Define o problema, mapeia risco e puxa os outros junto.

Repare que a coluna que importa não é a do meio. É a da direita. Os anos são proxy da autonomia, não a causa dela.

O padrão das empresas pequenas — e a armadilha

Agora a parte que ninguém coloca no material institucional.

Em empresas pequenas, consultorias de body shop e lugares que pagam abaixo do mercado, existe um padrão muito consistente: promoção rápida com aumento pequeno. A pessoa entra como júnior e, com menos de um ano de carreira, já é “pleno”. Antes de completar três, tem cartão de visita de sênior — no mesmo ponto da linha do tempo em que uma multinacional ainda estaria assinando a promoção para pleno.

Isso raramente é generosidade. É retenção barata, e a matemática — com os números arredondados a título de ilustração — é simples:

O que a empresa gasta
Um título novo (custo zero) e um aumento de 10% a 15% (custo baixo), aplicado sobre um salário que já estava abaixo do mercado.
Custo: baixo
O que a empresa ganha
Um profissional que se sente reconhecido, para de olhar vagas por mais 12 meses, e continua entregando o mesmo escopo.
Retorno: alto
O que a empresa sabe
Que "sênior com 2 anos de carreira" não passa em processo seletivo de empresa grande. O título só tem valor lá dentro.
Trava: efetiva
O título vira uma âncora
Quando essa pessoa finalmente vai ao mercado, acontece uma das duas coisas: ou ela aplica para vagas de sênior e é reprovada em série — porque a entrevista mede vivência, não o crachá —, ou ela aceita voltar a pleno em outro lugar e sente que regrediu. O segundo cenário é o saudável, mas dói. E o custo emocional dessa correção é exatamente o que mantém a pessoa parada.

Como diferenciar uma promoção real de uma promoção de retenção? Pelo que mudou além do título:

Sinal Promoção real Promoção de retenção
Aumento salarialSalto de faixa (20%+)Reajuste simbólico (10–15%)
Escopo do trabalhoMuda antes ou junto do títuloContinua exatamente igual
CritériosExiste rubrica escritaDecisão informal do gestor
TimingCiclo de avaliaçãoLogo depois de você mencionar outra proposta
Referência externaFaixa comparável ao mercadoAbaixo do piso da faixa nova
Quem revisa seu códigoVocê passa a revisar o dos outrosNinguém muda de lugar
Um teste honesto de dois minutos
Pegue três vagas do seu nível atual em empresas do porte que você quer trabalhar. Leia os requisitos de responsabilidade, não os de tecnologia. Se você lê "lidera decisões técnicas de um domínio" e pensa "isso nunca me pediram", o título está adiantado em relação à vivência. Isso não é um julgamento — é um mapa do que buscar nos próximos dois anos.
· · ·
10

Depois do sênior, a estrada se divide

Até aqui eu tratei a carreira como uma escada única. Ela não é. Júnior, pleno e sênior formam um tronco comum, mas no topo desse tronco existe uma bifurcação — e muita gente descobre isso tarde demais, já tendo aceitado virar gestor por falta de alternativa visível.

Fluxograma da carreira: tronco comum de estudante a sênior, depois bifurcação entre trilha de especialista (Staff, Principal, Distinguished) e trilha de gestão (EM, Senior EM, Director, VP e C-level)

Três leituras importam nesse desenho:

A troca é lateral
Em escadas bem desenhadas, Staff e Engineering Manager ficam na mesma faixa salarial. Virar gestor não é subir — é mudar de ofício. Se na sua empresa gestão é o único jeito de ganhar mais, a escada está mal feita.
Dá para voltar
Trajetórias como Staff → EM → Senior Staff são comuns e saudáveis. Gestão não é porta de sentido único, embora muita gente a trate assim.
A entrada direta existe
No Brasil é bem comum alguém entrar direto em gestão sem nunca ter tido título de IC. Funciona bem em muita gente. O que pesa não é o título que a pessoa teve, e sim quanto contexto técnico ela consegue demonstrar — sem isso, calibrar estimativa e avaliar risco vira chute, tenha ela sido IC ou não.

Trilha IC — o especialista

Em vez de inventar uma régua, vale olhar escadas reais: a da Artsy (aberta no GitHub), a do Yahoo (reconstruída por ex-funcionários em fóruns), a do Google (mapeada publicamente por ex-recrutadores) e a da Talabat, que eu conheço de dentro — trabalhei lá entre 2021 e 2023, e a matriz de competências deles é o documento mais bem construído que já vi sobre isso. Elas discordam entre si de um jeito muito instrutivo:

Nome no BR Talabat Artsy Yahoo Google
EstagiárioInternL2
JúniorEngineer I (IC1)Engineer 1 (IC2)Associate (IC1)L3
PlenoEngineer II (IC2)Engineer 2 (IC3)Software Engineer (IC3)L4
SêniorSenior Engineer (IC3)Senior Engineer 1–2 (IC4–IC5)Senior (IC4)L5
EspecialistaStaff (IC4)Staff (IC6)Principal (IC5)L6
Principal (IC5)Senior Staff (IC7)Senior Principal (IC6)L7
Sr. Principal (IC6)Principal (IC8)Distinguished (IC7–IC8)L8
"IC5" não quer dizer nada sozinho
Siga a linha do IC5 pelas colunas. Na Artsy, IC5 é Senior Engineer 2 — sênior, ainda dentro do time. Na Talabat e no Yahoo, IC5 é Principal Engineer — dois degraus acima, com escopo de organização. A mesma sigla, em três empresas reais, descreve pessoas em estágios completamente diferentes de carreira.

O Dropbox ficou de fora dessa tabela justamente por não usar numeração IC — a escada dele é L1 a L4, e já apareceu na seção anterior. Vale citá-lo aqui por outro motivo: enquanto as quatro empresas acima esticam a escada até sete ou oito degraus, o Dropbox comprime tudo em quatro, e trata o L4 como nível terminal. A documentação diz que se espera que todo engenheiro alcance o impacto de L4 e possa ficar lá o resto da carreira, sem pressão de subir. Duas filosofias opostas sobre a mesma pergunta: escada longa com muitos degraus, ou escada curta em que a maioria chega ao topo e fica.

A regra “Staff vem antes de Principal” vale no Google (L6 → L8), na Meta (E6 → E7), na Artsy (IC6 → IC8) e na Talabat (IC4 → IC5). Não vale no Yahoo nem na Amazon, que não têm degrau de Staff. E repare na coluna da Talabat: júnior IC1, pleno IC2, sênior IC3, Staff IC4, Principal IC5 — é a escada mais próxima da intuição brasileira que eu conheço, e existe de verdade. A régua “óbvia” não é errada; ela só não é universal.

Trilha de gestão

A Artsy é útil aqui porque publica o pareamento entre as duas trilhas — coisa que quase nenhuma empresa mostra:

Nome comum no BR Artsy (gestão) Par na trilha IC Escopo
Coordenador / Tech Lead ManagerEngineering Manager 1 (M2)Senior Engineer 1 (IC4)2–4 reports
Gerente de EngenhariaEngineering Manager 2 (M3)Senior Engineer 2 (IC5)6+ reports
Gerente sêniorSenior Eng. Manager (M4)Staff (IC6)Começa a gerir gerentes
Diretor de EngenhariaDirector of Engineering (M5)Senior Staff (IC7)Gere gerentes
Diretor sêniorSenior Director (M6)Principal (IC8)Impacto na empresa
Funções executivas vizinhas — não são degraus da escada de engenharia: CIO, CISO, CDO. São pares do CTO, com escopo próprio e linha de reporte que varia por empresa.

Duas coisas nessa tabela merecem atenção, e as duas contrariam o senso comum brasileiro.

A primeira: gestão não é um atalho. A Artsy escreve na documentação que a trilha de gestão só está disponível para quem já chegou a Senior Engineer 2. O Dropbox chega ao mesmo lugar por outro caminho: registra que o tempo de um gestor em L3 é mais curto que o de um IC justamente porque quem migra para gestão já cresceu através de boa parte do L3 como IC. Ou seja, nos dois frameworks a gestão começa depois do sênior, não em paralelo a ele.

A segunda: o par lateral não é onde eu disse. Eu havia afirmado que Staff e Engineering Manager sentam na mesma faixa. Na Artsy, o EM1 pareia com Senior Engineer 1, e é o Senior Engineering Manager que pareia com Staff. O EM1 lá é explicitamente transitório e interno — eles não contratam ninguém direto nesse nível, e esperam que a pessoa chegue a EM2 em uns 18 meses. A ideia de “mesma faixa” continua certa; o degrau exato, não. Varia por empresa, e é por isso que a tabela existe.

Sobre a nomenclatura em si
Não existe padrão. Cada empresa usa a sua régua — L no Google, E na Meta, SDE na Amazon, ICT na Apple, IC/M na Artsy e no Yahoo, L1–L4 no Dropbox — e as siglas não são intercambiáveis entre elas. A coluna de escopo também é indicativa: o mesmo título cobre realidades muito diferentes conforme o tamanho da empresa. Se você está traduzindo seu currículo, descreva o escopo que você de fato teve; é a única coisa que o outro lado consegue ler sem precisar do manual interno da sua empresa anterior.

"Júnior" é um termo brasileiro?

Essa é uma observação que eu carrego há anos, e vale separar o que os dados sustentam do que não sustentam.

✗ O que se refuta
"Junior Software Developer" existe em vagas nos EUA e no Reino Unido. Aparece bastante em defense contractors, consultorias, agências de staffing e empresas menores. Não é um termo exclusivo do português.
✓ O que se confirma
Nenhuma escada de big tech tem um degrau chamado "Junior". A entrada é numerada: L3 no Google, E3 na Meta, SDE I na Amazon, ICT2 na Apple. O título some justamente onde a trilha é formalizada.
→ O que é de fato nosso
"Pleno." O inglês tem "mid-level", que é um adjetivo descritivo, não um cargo. A tríade fixa júnior/pleno/sênior como escala de três degraus é convenção lusófona — a Farfetch usar "júnior" reforça isso, já que é uma empresa portuguesa.

Ou seja: sua percepção estava mais certa do que errada, só apontando para a palavra vizinha. O que não se traduz não é “júnior” — é “pleno”. E isso tem uma consequência prática desagradável: quem se descreve como “pleno” num currículo em inglês está usando um rótulo que o recrutador do outro lado não consegue mapear. O termo que ele espera ler é o título do nível, não a escala.

Passei por vários processos de avaliação em que "nível" era uma conversa subjetiva entre o gestor e o RH. A primeira vez que vi isso escrito como documento sério foi na Talabat, em Dubai, entre 2021 e 2023. Não era uma lista de tecnologias — era uma grade de 27 competências, com o horizonte de planejamento e o escopo de impacto declarados em cada degrau. Foi lendo aquilo que eu entendi por que tinha passado tanto tempo achando que precisava aprender mais uma linguagem: eu estava tentando subir na única linha da tabela que para de contar no sênior.

· · ·
11

O que a gente realmente avalia

Volto à sala de entrevista. Quando o cenário do quadradinho colorido termina, eu não preenchi nenhum campo chamado “sabe JavaScript”. Preenchi estes:

Peso de cada critério na avaliação: análise e decisão somam 60%, ferramentas conhecidas apenas 5%

Traduzindo cada linha em pergunta concreta que eu me faço:

Critério O que eu observo na prática
Análise Ele tratou a frase como especificação ou como sintoma? Separou o que foi pedido do que foi assumido?
Planejamento Existe uma ordem no raciocínio, ou é um monte de ideias soltas? Ele consegue dizer o que faria primeiro e por quê?
Pensamento crítico Ele questionou a demanda em si? "Por que 10 por 10?", "isso é para quê?" — entender o objetivo às vezes mata metade do escopo.
Raciocínio lógico Quando eu mudo uma premissa no meio, ele reconstrói a solução ou trava? Essa é a melhor pergunta de follow-up que existe.
Tomada de decisão Diante de uma pergunta que eu recuso responder ("decide você"), ele decide e justifica, ou fica paralisado esperando autorização?
Comunicação Ele explica para um PO ou despeja jargão? Sênior que não consegue traduzir risco técnico em risco de negócio não é sênior, é especialista isolado.

Não inventei esses seis critérios. Eles são a versão informal de eixos que aparecem nos frameworks formais. A Artsy avalia IC em quatro dimensões, e a tradução é quase direta:

Eixo formal (Artsy) O que ele mede Equivalente neste artigo
Knowledge LeadershipProfundidade e amplitude técnica na área de negócioProfundidade técnica
ImpactNatureza dos problemas resolvidos e valor entregueTomada de decisão
InfluenceEfeito sobre projetos, estratégia e sobre as pessoas ao redorComunicação
DiscretionNatureza da orientação recebida e da orientação fornecidaRaio de autonomia

O quarto eixo é o mais revelador, e é exatamente o que o cenário do quadradinho mede. “Natureza da orientação recebida” é outra forma de perguntar: quanto do problema alguém precisou recortar por você antes de te entregar? O júnior recebe a tarefa já cortada. O sênior recebe a frase crua e faz o próprio corte — e ainda devolve as decisões documentadas para quem pediu.

Framework não é checklist
A documentação do Dropbox abre com esse aviso, e vale repetir aqui: a matriz não é uma lista de caixinhas para marcar. Eles registram inclusive que o foco migrou de "projetos complexos" para impacto — não é a complexidade do que você construiu que promove, é o que aquilo mudou. Se a sua empresa trata a matriz como checklist de tecnologias dominadas, ela está usando a ferramenta ao contrário.
O follow-up que revela tudo
Depois que o candidato apresenta o plano, eu digo: "o cliente mudou de ideia — agora a cor tem que ser a mesma para todos, mas cada usuário vê no fuso dele". Essa contradição aparente não tem resposta única. O que eu meço não é a solução; é se a pessoa identifica que é uma contradição e negocia, ou se sai implementando as duas coisas ao mesmo tempo sem perceber o conflito.

Já aprovei candidato que não conhecia metade da stack da vaga e reprovei candidato com o currículo perfeito. O aprovado, diante de um cenário parecido com esse, disse: "eu não sei como se faz isso nessa linguagem, mas o problema aqui é definir de quem é o dia — e isso eu preciso perguntar antes de escolher qualquer biblioteca". Sintaxe se aprende em duas semanas. Esse instinto leva anos.

· · ·
12

Como treinar isso de propósito

Vivência acumula sozinha com o tempo, mas dá para acelerar bastante. Algumas coisas que funcionam:

1. Escreva as suposições
Antes de codar qualquer coisa, liste no card as premissas que você está assumindo. Só de escrever, você descobre que metade delas você não tem certeza — e essas viram perguntas.
2. Mantenha o que você fez
Fugir de manutenção é fugir do feedback. O bug que você conserta um ano depois é a aula mais cara e mais eficiente disponível.
3. Leia post-mortems
Relatórios públicos de incidente de grandes empresas são vivência de segunda mão. Você aprende o formato do desastre sem pagar o preço.
4. Faça a pergunta chata
"E se der errado no meio?" numa reunião de refinamento vale mais que qualquer certificação. E é grátis.
5. Colecione casos-limite
Data, fuso, encoding, arredondamento monetário, nome próprio, endereço, nulo, string vazia, concorrência. São sempre os mesmos suspeitos.
6. Explique para quem não é dev
Se você não consegue explicar o risco para o PO, você não entendeu o risco — entendeu só a implementação.

A senioridade não está no que você digita

Os três candidatos conseguiriam entregar o quadradinho colorido. Todos os três. Em qualquer linguagem, em qualquer framework. A diferença nunca foi a capacidade de produzir o código — foi quantas perguntas cada um fez antes de produzi-lo, e quantas dessas perguntas vieram de já ter visto a coisa quebrar.

Por isso empilhar tecnologias não te promove. Um pleno que aprende a sétima linguagem continua pleno com sete linguagens. O que move o ponteiro é ampliar o raio do problema que você consegue receber e resolver sozinho — e isso exige alguém te dar problemas maiores, e você aguentar as consequências deles.

E se você ainda não foi contratado: você não está "preso no júnior". Você ainda não entrou. São problemas diferentes, e o seu tem solução mais rápida do que parece — porque o primeiro emprego, por mais difícil que seja consegui-lo, é justamente o que destrava o único recurso que não dá para estudar em casa: situações reais, com consequências reais.

Referências

  1. DesignGurus. Google Software Engineer Levels Explained: L3 to L10 and the Terminal Level. designgurus.io
  2. Candor. Google Engineering Levels Demystified. candor.co
  3. GeekHunter. Desenvolvedor júnior, pleno ou sênior: entenda as diferenças. blog.geekhunter.com.br
  4. Revelo. Desenvolvedor júnior, pleno e sênior: saiba qual contratar. blog.revelo.com.br
  5. DesignGurus. Staff Engineer vs Principal Engineer: What Changes Beyond L6. designgurus.substack.com
  6. DesignGurus. FAANG Software Engineer Levels Explained: Apple ICT, Google L, Meta E, Amazon SDE. designgurus.io
  7. sph.sh. Understanding Career Levels in Tech Companies. sph.sh
  8. Talabat. Engineering Competency Matrix (documento interno, 2021–2023; inspirado na matriz pública da CircleCI). Consultado por experiência direta do autor.
  9. Dropbox. Engineering Career Framework — Promotion Guidelines & Clarifications. dropbox.github.io
  10. Artsy. The Artsy Engineering Ladder. github.com/artsy
  11. Quora. What are the different levels of software engineers at Yahoo? (relatos de ex-funcionários, não documentação oficial) quora.com
  12. MDN Web Docs. Intl.DateTimeFormat. developer.mozilla.org
  13. IANA. Time Zone Database. iana.org

 Categorias

 Tópicos deste artigo

URL copiada!