Sobre a Empresa
A TigerBeetle é uma das empresas mais ousadas do ecossistema de bancos de dados — está construindo do zero um banco de dados financeiro especializado, projetado para processar até um milhão de transferências por segundo com garantias de consistência forte (ACID) e tolerância a falhas Byzantine. O projeto é totalmente open source e escrito em Zig, tornando a TigerBeetle uma das empresas mais emblemáticas do uso de Zig em produção. Fundada por engenheiros com experiência em sistemas distribuídos de alta performance, a TigerBeetle implementa o protocolo de consenso ViewStamped Replication com modificações que garantem durabilidade mesmo diante de falhas de hardware, falhas de energia e bugs de software. Para desenvolvedores que querem trabalhar no estado da arte de sistemas de banco de dados e programação de sistemas com Zig, a TigerBeetle oferece uma oportunidade única e rara no mercado.
Sobre a Vaga
A TigerBeetle está construindo o banco de dados financeiro mais rápido do mundo, projetado para processar milhões de transações por segundo com consistência forte.
Responsabilidades
- Desenvolver e otimizar componentes core do banco de dados TigerBeetle usando Zig
- Trabalhar com sistemas distribuídos e protocolos de consenso
- Otimizar performance em nível de sistema operacional e hardware
- Contribuir para o design de APIs e abstrações de baixo nível
- Participar de code reviews e mentoria técnica
Requisitos
- Experiência sólida com programação de sistemas (Zig, C ou C++)
- Conhecimento profundo de sistemas operacionais Linux
- Experiência com sistemas distribuídos e protocolos de consenso
- Familiaridade com otimização de performance e profiling
- Inglês fluente para comunicação com equipe global
Diferenciais
- Contribuições para projetos open source em Zig
- Experiência com bancos de dados ou sistemas de armazenamento
- Conhecimento de protocolos de rede e I/O assíncrono
Benefícios
- Trabalho 100% remoto
- Salário competitivo em USD
- Equipe global de engenheiros de classe mundial
- Contribuição para projeto open source de impacto
Sobre o Ecossistema Zig no Brasil
A TigerBeetle é possivelmente a empresa que mais profundamente abraçou Zig como linguagem principal de produção. Para desenvolvedores brasileiros com domínio de Zig, esta vaga representa uma oportunidade de trabalhar no projeto open source de Zig mais sofisticado e completo em produção — o codebase do TigerBeetle é frequentemente citado como referência de boas práticas em Zig. A posição totalmente remota elimina barreiras geográficas, e o salário em USD oferece remuneração competitiva em nível internacional. Contribuir para o TigerBeetle também é uma forma excelente de construir reputação na comunidade global de Zig, abrindo portas para outras oportunidades no ecossistema.
Habilidades Técnicas Valorizadas
Para contribuir efetivamente com o codebase do TigerBeetle, é importante ter profundidade técnica em:
- Zig avançado: O TigerBeetle usa comptime extensivamente, FATs (File Abstraction Types) personalizados, alocação de memória arena-based e técnicas de simulação determinística. É essencial estar confortável com Zig idiomático de nível avançado.
- Sistemas distribuídos e consenso: Protocolo Viewstamped Replication, Raft, Paxos — entender o problema de consenso distribuído em profundidade. O TigerBeetle tem requisitos ainda mais rigorosos que sistemas típicos por lidar com transações financeiras.
- I/O de baixo nível: io_uring no Linux para I/O assíncrono de alta performance, Direct I/O para contornar o page cache do kernel, mmap e técnicas de gestão explícita de páginas de memória.
- Tolerância a falhas Byzantine: Diferente da maioria dos sistemas distribuídos que assume falhas crash-only, o TigerBeetle é projetado para tolerar comportamento arbitrário de nós com falha — um requisito muito mais exigente.
- Testing de simulação: O TigerBeetle usa simulação determinística para testar comportamento do sistema sob condições de falha extremas. Familiaridade com técnicas de fuzzing e property-based testing é valorizada.
- Otimização de performance de armazenamento: LSM trees, B-trees, write-ahead logging, compactação — as estruturas internas de um banco de dados.
Preparação para a Entrevista
O processo de entrevista da TigerBeetle é intensamente técnico e focado no domínio de Zig e sistemas:
- Leitura do codebase: Antes da entrevista, leia o código-fonte do TigerBeetle no GitHub. A equipe espera que candidatos sérios conheçam o projeto. Esteja pronto para discutir decisões de design que você encontrou.
- Exercícios em Zig: Implementar estruturas de dados ou algoritmos relevantes para bancos de dados diretamente em Zig. O foco está em código correto, eficiente e idiomático.
- Sistemas distribuídos aprofundado: Discussões detalhadas sobre protocolos de consenso, edge cases em cenários de partição de rede, e como o TigerBeetle aborda esses problemas de forma diferente de sistemas como etcd ou Kafka.
- Contribuição prévia: Candidatos que já fizeram contribuições ao TigerBeetle open source têm vantagem significativa. Considere abrir uma issue ou pull request antes de se candidatar.
Crescimento de Carreira
Trabalhar na TigerBeetle posiciona engenheiros como especialistas de elite em sistemas de banco de dados e programação de sistemas em Zig. É uma das posições mais técnicas disponíveis no mercado global de tecnologia. Os caminhos de crescimento incluem se tornar um dos principais contribuidores do projeto open source com reconhecimento internacional, especialização em sistemas de pagamentos de alta performance com aplicações em banking, fintech e blockchain, consultoria técnica para organizações financeiras que precisam construir infraestrutura de transações em escala, e posições de engenharia principal em empresas de banco de dados como Cockroach Labs, PlanetScale ou ScyllaDB.