Buscamos um profissional experiente para liderar o desenvolvimento de soluções escaláveis e seguras.
Descrição do Cargo
Nosso cliente é uma empresa nacional de tecnologia com forte atuação no segmento médico e hospitalar, situada na região da Vila Olímpia, São Paulo. Estamos em busca de alguém com mentalidade Full Cycle que incorpore segurança desde o início (securitybydesign) e garanta qualidade e confiabilidade ao longo de todo o ciclo de vida da aplicação.
A pessoa ideal trabalhará bem em equipe, comunicando-se com clareza e precisão, mesmo em contextos com múltiplos stakeholders e objetivos complexos. É importante ter experiência com metodologias ágeis e capacidade de adaptação a mudanças e cenários ambíguos.
Responsabilidades
* Liderar o design e a implementação de soluções de software escaláveis, robustas e seguras;
* Definir e evoluir a arquitetura da plataforma, considerando aspectos como desempenho, disponibilidade, segurança e manutenibilidade;
* Conduzir a tomada de decisões técnicas, avaliando diferentes abordagens e tecnologias;
* Mentorar e orientar outros(as) engenheiros(as), promovendo o crescimento técnico da equipe;
* Colaborar com equipes multidisciplinares (Produto, Design, etc.) para alinhar as prioridades de negócio com as soluções técnicas;
* Garantir a qualidade do código e a entrega de software de alta qualidade;
* Contribuir para a definição e implementação de estratégias de testes e deploy;
* Avaliar e implementar novas tecnologias e ferramentas para melhorar a eficiência e a eficácia do desenvolvimento.
O candidato deve ter sólida experiência com:
Tecnologias Requeridas
* Cloud Computing: domínio em AWS, especialmente em ambientes que utilizam Kubernetes e API Gateway, garantindo a segurança, escalabilidade e performance dos serviços;
* Desenvolvimento Back-End: proficiência em Go com capacidade para desenvolver e manter APIs e sistemas robustos e escaláveis;
* Bancos de Dados: experiência em MySQL e PostgreSQL, com compreensão de modelagem, otimização e manutenção de bases de dados complexas;
* Containers e Virtualização: familiaridade com Docker, com capacidade para desenvolver ambientes de testes, desenvolvimento e produção isolados e consistentes;
* Arquitetura de Eventos: conhecimento de arquitetura baseada em eventos, incluindo SQS, Kafka e compreensão de sincronização (sync vs async) e consistência de dados (strong vs eventual consistency);
* RTO/RPO: profundo entendimento dos conceitos de Recovery Time Objective (RTO) e Recovery Point Objective (RPO) para a definição de estratégias de recuperação e continuidade;
* Conhecimentos em segurança da informação, incluindo autenticação e autorização (OAuth 2.0, OpenID Connect, JWT, RBAC, ABAC e PBAC), noções de criptografia, rate limiting e throttling;
Práticas e Conhecimentos Avançados
* SOLID e Clean Code: aplicação constante dos princípios de desenvolvimento de software, garantindo legibilidade, manutenibilidade e escalabilidade do código;
* Design Patterns: sólida compreensão de padrões de design e quando aplicá-los no desenvolvimento de soluções robustas;
* Documentação Técnica: habilidade para criar diagramas (de sequência, classe e componentes) que documentem as arquiteturas e fluxos dos sistemas;
* Caching e Otimização: implementação de estratégias de caching para otimização de performance e redução de carga em bancos de dados;
* Boas Práticas de Log: conhecimento em práticas de logging, incluindo níveis de log (info, debug, warn, error, etc.) e implementação de logs de auditoria para rastreabilidade e conformidade;
Escalabilidade e Alta Disponibilidade
* Arquitetura de Sistemas: experiência com diferentes arquiteturas, incluindo monólitos, monólitos modulares e micro serviços, além de conceitos de serverless;
* Escalabilidade e Alta Disponibilidade: noções de escalabilidade vertical e horizontal, alta disponibilidade (High Availability) e tolerância a falhas (Fault Tolerance); SLA, SLO, SLI: conhecimento das métricas de qualidade e confiabilidade para o cumprimento de níveis de serviço;
* Diferenças de Design: compreensão clara entre System Design e System Architecture, e entre arquiteturas stateful e stateless;
O candidato terá como benefícios:
Benefícios
* CLT com benefícios;
Para ter sucesso em processos seletivos, é fundamental estar atualizado sobre os últimos avanços em tecnologia e métodos de desenvolvimento de software.