Este artigo faz parte do nosso Guia Completo de Avaliação Técnica de TI.
Resumo: Python é a linguagem mais versátil do mercado — e por isso avaliar um desenvolvedor Python exige primeiro definir QUAL Python sua vaga precisa: backend web, dados ou automação. Este guia traz as competências por senioridade, faixas salariais, um exercício de código que revela profundidade real e as perguntas de entrevista certas para cada perfil.
Como avaliar um desenvolvedor Python é uma pergunta com pegadinha embutida: Python é usado em backend web, engenharia de dados, ciência de dados, automação e infraestrutura — e um excelente profissional em uma dessas frentes pode ser mediano em outra. Na Hunt IT, com mais de 15 anos de recrutamento especializado em tecnologia, o primeiro passo de toda avaliação de Python é alinhar com o gestor qual perfil a vaga realmente exige. Só depois entra a régua técnica.
Habilidades Técnicas por Nível de Senioridade
A tabela abaixo cobre o núcleo comum a todos os perfis, com a linha de backend detalhada (o perfil mais contratado):
| Requisito | Júnior | Pleno | Sênior |
|---|---|---|---|
| Fundamentos | Estruturas de dados, funções, comprehensions | Geradores, decorators, context managers, tipagem (type hints) | Modelo de memória, GIL, metaclasses quando (não) usar |
| Backend | CRUD com Django ou FastAPI | APIs REST completas, autenticação, ORM com critério (N+1) | Arquitetura de serviços, async na medida certa, performance sob carga |
| Qualidade | Testes básicos com pytest | Fixtures, mocks, cobertura com critério | Estratégia de testes do produto; CI que bloqueia regressão |
| Dados (se aplicável) | pandas básico, leitura de fontes | Pipelines com Airflow, SQL avançado | Arquitetura de dados, particionamento, custo de processamento |
| Ecossistema | venv/pip, git fluente | Docker, Poetry/uv, linters (ruff) | Decisões de stack e padrões para o time inteiro |
Faixas Salariais de Desenvolvedores Python
Referências do mercado brasileiro em regime CLT (perfis de dados sêniores tendem ao topo das faixas; remoto puxa os valores para cima):
- Júnior: R$ 4.000 – R$ 6.500
- Pleno: R$ 7.000 – R$ 11.000
- Sênior: R$ 12.000 – R$ 18.000
- Especialista / Tech Lead: R$ 17.000 – R$ 25.000+
Contratos PJ costumam ficar de 20% a 40% acima do CLT equivalente.
Avaliação de Código Prático: O Teste do Argumento Mutável
Mostre esta função ao candidato e pergunte o que há de errado:
def adicionar_item(item, lista=[]):
lista.append(item)
return listaO que cada nível de resposta revela:
- Resposta fraca: não vê problema — o clássico bug do argumento default mutável passou despercebido, sinal de pouca vivência com código de produção.
- Resposta de pleno: identifica que a lista default é compartilhada entre chamadas, corrige com
lista=Nonee explica por quê. - Resposta de sênior: além da correção, comenta que defaults são avaliados uma única vez na definição da função, cita onde esse padrão aparece disfarçado em código real (caches acidentais, configs compartilhadas) e menciona que linters modernos pegam isso automaticamente.
4 Perguntas Técnicas Cruciais para a Entrevista
- “O que é o GIL e quando ele realmente importa?” Sêniores explicam que o Global Interpreter Lock limita paralelismo de CPU em threads, mas não afeta I/O — e sabem quando a resposta é multiprocessing, async ou simplesmente outra linguagem.
- “Quando você usaria async em Python — e quando seria complicação desnecessária?” A resposta certa envolve I/O concorrente de alto volume vs. o custo de contaminar a base inteira com async/await sem ganho real.
- “Qual a diferença prática entre uma lista e um gerador para processar um arquivo de 10 GB?” Avalia se o candidato entende memória e lazy evaluation — essencial em dados e em qualquer backend que processa volume.
- “Como você estrutura um projeto Python novo hoje?” Revela atualização: gerenciadores modernos (Poetry/uv), pyproject.toml, ruff, type hints com mypy — ou se parou no requirements.txt de 2018.
Competências Comportamentais e Fit Cultural
- Clareza sobre trade-offs: Python premia simplicidade — candidato que complica de propósito (“clever code”) costuma gerar manutenção cara.
- Colaboração multidisciplinar: em times de dados, o dev Python trabalha com analistas e cientistas; em backend, com frontend e DevOps. Avalie comunicação com não-especialistas.
- Aprendizado contínuo: o ecossistema Python evolui rápido (uv, ruff, FastAPI, Pydantic v2) — pergunte o que mudou na forma como ele trabalha nos últimos 2 anos.
Como a Hunt IT Garante a Assertividade da Contratação
Avaliar Python bem exige saber qual perfil buscar e ter repertório técnico pra ir fundo — e é exatamente isso que nossa triagem entrega. Especialistas da Hunt IT avaliam profundidade real, perfil (web, dados ou automação) e colaboração antes de o candidato chegar à sua entrevista. Resultado: 95% dos candidatos que apresentamos avançam para a fase de entrevista, com os primeiros perfis qualificados entregues em até 5 dias úteis.
Precisa contratar desenvolvedores Python?
FAQ — Como Avaliar Desenvolvedor Python
Quais perguntas técnicas fazer para avaliar um desenvolvedor Python?
Foque em perguntas de critério: o que é o GIL e quando importa, quando usar async, diferença entre lista e gerador para grandes volumes, e como ele estrutura um projeto hoje. Complete com o exercício do argumento default mutável — curto e revelador.
Quanto ganha um desenvolvedor Python no Brasil?
Referências CLT: júnior entre R$ 4.000 e R$ 6.500, pleno entre R$ 7.000 e R$ 11.000, sênior entre R$ 12.000 e R$ 18.000. Perfis de dados sêniores e contratos PJ tendem a valores maiores.
Devo avaliar igual um Python de backend e um de dados?
Não. O núcleo da linguagem é comum, mas backend exige APIs, ORM e arquitetura de serviços, enquanto dados exige SQL avançado, pipelines e noção de custo de processamento. Defina o perfil da vaga antes de montar a avaliação.
Django ou FastAPI — o candidato precisa saber os dois?
Não necessariamente. Quem domina um framework aprende o outro em semanas; avalie os fundamentos (HTTP, ORM, autenticação, testes) que se transferem entre eles, não a decoreba de sintaxe específica.