Responsabilidades
- Desenvolver e evoluir sistemas backend em Rust, com foco em eficiência, segurança e performance
- Projetar e implementar módulos autônomos e bem estruturados
- Participar ativamente da definição de arquitetura de soluções escaláveis e distribuídas
- Colaborar em revisões de código, promovendo qualidade técnica e boas práticas
- Integrar serviços externos e sistemas distribuídos via APIs
Requisitos
Conhecimentos Necessários
- Rust
- Domínio claro de ownership, lifetimes e borrowing
- Concorrência segura com Mutex, RwLock, Channels
- Tratamento avançado de erros (Result, Box, erros customizados)
- Experiência prática com crates essenciais (serde, log, thiserror)
- Desenvolvimento de Software
- Criação de bibliotecas ou componentes reutilizáveis em produção
- Escrevendo testes abrangentes (cargo test, mockall, testes de propriedade)
- Integração com C / C++ via FFI e uso de ferramentas de profiling para otimização
- Familiaridade com padrões de projeto aplicados em Rust
- Fundamentos Gerais
- Git (fluxos de trabalho com branches, pull requests, revisão e merge strategies)
- Boas práticas de versionamento e documentação técnica
Conhecimentos Diferenciais
- Ecossistema Rust
- Frameworks web (Actix-web, Axum ou Rocket)
- Bancos de dados (Diesel, SQLx, Tokio Postgres)
- Serialização com Protocol Buffers, MessagePack ou formatos binários
- Infraestrutura & DevOps
- Docker e containerização de aplicações Rust
- Integração e deploy contínuos (GitHub Actions, GitLab CI)
- Noções de orquestração com Kubernetes
- Avançado
- Programação assíncrona com async / await
- Compilação para múltiplas plataformas (Linux, WASM)
- Boas práticas de segurança e mitigação de vulnerabilidades comuns