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,netstate 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.