Nosso cliente é uma empresa que desenvolve e comercializa soluções para aperfeiçoamento da infraestrutura das cidades e dos negócios. Atua em segmentos de mercado com altas exigências de responsabilidade e confiança técnica, como transporte público, controle de acesso, componentes aeronáuticos, entre outros. Estamos em busca de um Arquiteto de Software para atuar de forma generalista no negócio, produto e plataforma.
Você será responsável por definir, evoluir e garantir a consistência das arquiteturas de sistemas da organização, assegurando soluções escaláveis, seguras, resilientes e alinhadas às necessidades de negócio. Atuará como referência técnica para os times de engenharia, apoiando decisões estratégicas de arquitetura, modernização de sistemas e adoção de tecnologias, com foco em qualidade, eficiência operacional e sustentabilidade das soluções ao longo do tempo. Além disso, terá forte atuação consultiva junto a lideranças de produto, engenharia e negócio, traduzindo necessidades estratégicas em soluções técnicas robustas, além de apoiar a evolução da maturidade tecnológica da organização.
Responsabilidades:
- Projetar e evoluir arquiteturas de software escaláveis, resilientes e seguras, alinhadas às necessidades do negócio e às melhores práticas de engenharia.
- Selecionar e aplicar estilos arquiteturais adequados ao contexto da solução, como monólito modular, microservices, SOA, arquitetura orientada a eventos, arquitetura hexagonal, DDD e serverless.
- Garantir que as soluções atendam aos requisitos não funcionais (NFRs) como performance, disponibilidade, segurança, custo, manutenibilidade e escalabilidade.
- Apoiar times de engenharia na tomada de decisões arquiteturais e na resolução de desafios técnicos complexos.
- Contribuir tecnicamente em soluções utilizando C, C++ e .NET (C#), principalmente em serviços, integrações e aplicações corporativas.
- Orientar boas práticas de desenvolvimento relacionadas a performance, concorrência e gestão de memória quando aplicável.
- Apoiar revisões técnicas de código e garantir aderência aos padrões arquiteturais definidos.
- Apoiar decisões estratégicas relacionadas à arquitetura cloud-native em AWS, incluindo desenho de soluções escaláveis e resilientes.
- Conduzir iniciativas de modernização e migração de sistemas legados para ambientes cloud.
- Avaliar custos, performance e operabilidade das soluções implementadas em cloud.
- Traduzir necessidades de negócio em capabilities técnicas e soluções arquiteturais viáveis.
- Apoiar processos de discovery, definição de escopo e priorização de iniciativas tecnológicas.
- Contribuir para o alinhamento entre roadmap de produto, estratégia de plataforma e eficiência de desenvolvimento.
- Produzir e manter documentação arquitetural clara e objetiva utilizando o Modelo C4 (Contexto, Contêiner e Componente).
- Desenvolver diagramas técnicos utilizando UML, especialmente para representação de fluxos e sequências.
- Garantir que as decisões arquiteturais estejam registradas e acessíveis aos times de engenharia.
- Apoiar a definição de padrões de CI/CD, automação de infraestrutura (Infrastructure as Code – IaC) e pipelines de desenvolvimento.
- Definir e disseminar boas práticas de containerização com Docker e orquestração quando aplicável.
- Criar templates, frameworks e padrões que aumentem a produtividade dos times de desenvolvimento.
- Incorporar práticas de segurança desde o design das soluções, incluindo criptografia, autenticação, autorização e gestão de identidades.
- Atuar na definição de estratégias para gestão de segredos e cofres de credenciais (Vault ou equivalentes).
- Realizar threat modeling e garantir controles de segurança proporcionais ao risco.
- Contribuir para conformidade com políticas de segurança e governança tecnológica.
- Projetar soluções considerando o uso adequado de bancos de dados relacionais e não relacionais.
- Definir padrões de integração entre sistemas utilizando APIs, mensageria e middleware.
- Projetar e governar APIs REST, contratos de eventos e estratégias de versionamento.
- Garantir que os sistemas possuam práticas adequadas de monitoramento, rastreabilidade e logging.
- Implementar padrões de observabilidade utilizando ferramentas como Prometheus, Grafana e OpenTelemetry ou equivalentes.
- Definir práticas de operabilidade como runbooks, métricas, SLOs e SLIs quando aplicável.
- Promover boas práticas de desenvolvimento como code review, testes automatizados, análise estática de código e gestão de dívida técnica.
- Garantir uso consistente de controle de versão (Git) e fluxos de desenvolvimento colaborativo.
- Apoiar a evolução da maturidade técnica e da cultura de engenharia da organização.