U

Programador de Sistemas Júnior

Uber
Presencial Júnior

📍 São Paulo, Brasil

Candidatar-se →

Sobre a Empresa

A Uber é uma das maiores plataformas de tecnologia do mundo, presente em mais de 70 países e 10.000 cidades. O escritório de engenharia de São Paulo é um dos maiores centros de desenvolvimento fora dos Estados Unidos, responsável por projetos de infraestrutura crítica que afetam operações globais. A Uber é conhecida por operar sistemas de escala impressionante: a plataforma processa milhões de corridas e entregas simultaneamente, com requisitos de latência de milissegundos para matching de motoristas e passageiros. A empresa tem investido em programação de sistemas de baixo nível — incluindo experimentos com Zig — para componentes onde Go, sua principal linguagem de backend, não oferece performance suficiente. Para programadores de sistemas júnior, a Uber em São Paulo oferece mentoria com engenheiros de nível mundial e exposição a problemas de escala que pouquíssimas empresas brasileiras proporcionam.

Sobre a Vaga

A Uber está buscando programadores de sistemas júnior para se juntar ao time de infraestrutura em São Paulo. Esta é uma oportunidade para desenvolvedores iniciantes que querem trabalhar com programação de sistemas em escala global.

Responsabilidades

  • Desenvolver e manter serviços de infraestrutura em Go e C
  • Aprender e aplicar conceitos de programação de sistemas
  • Contribuir para ferramentas internas de deployment e monitoramento
  • Participar de on-call rotation após período de treinamento
  • Colaborar com engenheiros sêniores em projetos de otimização

Requisitos

  • Graduação em Ciência da Computação ou área correlata
  • Conhecimento básico de Go, C ou linguagem de sistemas similar
  • Familiaridade com Linux e linha de comando
  • Interesse em programação de baixo nível e sistemas operacionais
  • Capacidade de aprender rapidamente e trabalhar em equipe

Diferenciais

  • Conhecimento em Zig
  • Projetos pessoais ou contribuições open source
  • Experiência com containers e Kubernetes
  • Participação em comunidades de programação

Benefícios

  • Programa de mentoria com engenheiros sêniores
  • Salário competitivo para júnior + bônus
  • Plano de saúde e dental
  • Vale refeição e alimentação
  • Uber credits ilimitados
  • Plano de carreira estruturado

Sobre o Ecossistema Zig no Brasil

Para programadores júnior brasileiros interessados em programação de sistemas, a Uber em São Paulo representa um ponto de entrada valioso no mercado de sistemas de alta performance. O diferencial de conhecimento em Zig — listado como diferencial na vaga — coloca candidatos iniciantes à frente de concorrentes com experiência similar em linguagens de alto nível. São Paulo concentra a maior parte das oportunidades de engenharia de sistemas do Brasil, e empresas como Uber, Nubank e outras grandes fintechs estão formando uma geração de engenheiros de sistemas que crescem com exposição a escalas e desafios que antes só eram acessíveis trabalhando no exterior. A comunidade de Zig no Brasil tem representantes ativos em São Paulo que participam de grupos de tecnologia e meetups, facilitando o networking para quem está iniciando na área.

Habilidades Técnicas Valorizadas

Para uma posição júnior de programação de sistemas na Uber, foque em desenvolver:

  • Go sólido: Go é a principal linguagem de backend da Uber. Domine goroutines, channels, interfaces e o modelo de concorrência de Go. Entenda como Go gerencia memória e quais são suas limitações em comparação com linguagens de sistemas de baixo nível.
  • Fundamentos de C: Ponteiros, aritmética de ponteiros, gerenciamento manual de memória, chamadas de sistema Linux. C é a lingua franca de sistemas operacionais e é essencial para quem quer trabalhar em infraestrutura de baixo nível.
  • Linux proficiência: Linha de comando avançada, scripting em Bash, compreensão básica de como processos, threads, sockets e sinais funcionam. Saber usar strace, lsof, netstat e ferramentas de diagnóstico de sistema.
  • Containers e Kubernetes: A Uber opera em escala massiva com Kubernetes. Entenda os conceitos fundamentais de containers, pods, services e deployments.
  • Zig como diferencial: Mesmo conhecimento básico de Zig demonstra iniciativa e interesse em programação de sistemas moderna. Implemente alguns projetos pessoais em Zig para mostrar no GitHub.
  • Networking básico: TCP/IP, HTTP, DNS — como dados trafegam pela rede. Para uma empresa de plataforma como a Uber, networking é fundamental.

Preparação para a Entrevista

Para candidatos júnior, o processo seletivo da Uber combina avaliação de habilidades técnicas fundamentais com avaliação de potencial de crescimento:

  • Algoritmos e estruturas de dados: O clássico de entrevistas de engenharia. Pratique em plataformas como LeetCode focando em problemas de nível easy e medium. A Uber usa problemas relacionados a sistemas de mapeamento, matching e grafos.
  • Exercício de código em Go ou C: Implemente uma estrutura de dados simples (fila, pilha, hashmap) ou uma pequena ferramenta de linha de comando. O foco está na correção e clareza do código, não na sofisticação.
  • Conceitos de sistemas: Perguntas sobre processos vs threads, o que acontece quando você digita uma URL no browser, diferença entre TCP e UDP. Para júnior, conceitos fundamentais são mais importantes que detalhes avançados.
  • Projetos pessoais: Tenha projetos no GitHub para mostrar. Mesmo projetos simples demonstram iniciativa e capacidade de aprender. Um projeto em Zig se destaca positivamente.
  • Curiosidade e aprendizado: A Uber valoriza desenvolvedores júnior que demonstram curiosidade genuína, fazem boas perguntas e mostram disposição para aprender rapidamente. Prepare perguntas técnicas sobre os desafios de infraestrutura da Uber.

Crescimento de Carreira

Uma posição júnior de programação de sistemas na Uber é um trampolim para uma carreira sólida em engenharia de infraestrutura. A progressão típica começa como Programador de Sistemas Júnior com mentoria intensa dos primeiros 12 a 18 meses, evoluindo para Engenheiro de Sistemas com projetos independentes, depois para Engenheiro Sênior com liderança técnica de componentes críticos. A Uber tem um plano de carreira estruturado com avaliações regulares e critérios claros de promoção. Engenheiros que passam pela Uber carregam para o mercado a experiência de trabalhar em sistemas de escala global — um ativo que abre portas em qualquer empresa de tecnologia do Brasil ou do exterior.