Ele também é responsável por assegurar que a arquitetura dos sistemas esteja alinhada com os objetivos estratégicos da empresa, além de promover inovação tecnológica. Principais Responsabilidades: - Desenho e Definição da Arquitetura de Sistemas: Projetar e definir arquiteturas de software complexas, focando em escalabilidade, performance e alta disponibilidade - Elaborar diagramas arquitetônicos e padrões de design, assegurando que as soluções sejam modulares, eficientes e alinhadas com as necessidades do negócio - Padrões e Melhores Práticas de Desenvolvimento - Estabelecer e promover padrões de design (Design Patterns) e práticas de desenvolvimento orientadas a objetos, DDD (Domain-Driven Design) e TDD (Test-Driven Development) - Garantir a qualidade do código por meio de revisões periódicas, auditorias e aplicação de boas práticas - Escalabilidade e Performance - Avaliar e implementar soluções para otimizar a performance dos sistemas, garantindo o uso eficiente de recursos computacionais - Garantir que as soluções sejam escaláveis tanto vertical quanto horizontalmente, usando técnicas como caching, load balancing, sharding e clustering - Segurança e Conformidade - Definir e implementar políticas de segurança que protejam os dados e sistemas contra ameaças externas e internas - Colaborar com a equipe de segurança para realizar auditorias de conformidade, proteger APIs e garantir que as soluções estejam em conformidade com as regulamentações (ex.: LGPD, GDPR) - Aplicar técnicas de criptografia e autenticação segura, garantindo a integridade dos dados sensíveis - Inovação e Pesquisa Tecnológica - Explorar e adotar novas tecnologias e frameworks que possam melhorar a eficiência, segurança e escalabilidade dos sistemas - Realizar POCs (Proof of Concept) para validar a adoção de novas tecnologias no contexto da arquitetura atual da empresa - Estabelecer uma visão de longo prazo para a evolução dos sistemas, promovendo inovações tecnológicas alinhadas com as tendências do mercado - Mentoria e Liderança Técnica - Fornecer orientação técnica e mentoria contínua para desenvolvedores, garantindo que todos sigam as melhores práticas de desenvolvimento - Conduzir sessões de treinamento técnico sobre arquitetura de software e inovações tecnológicas - Liderar as discussões técnicas e garantir que as decisões de arquitetura estejam alinhadas com os objetivos de negócios - Documentação e Manutenção detalhada da arquitetura dos sistemas, garantindo que ela seja acessível e constantemente atualizada - Criar e manter a documentação detalhada da arquitetura dos sistemas, garantindo que ela seja acessível e constantemente atualizada - Documentar decisões arquitetônicas e mudanças para assegurar a rastreabilidade e facilitar manutenções futuras Requisitos: - Graduação em Ciência da Computação, Engenharia de Software ou áreas relacionadas. - Experiência sólida com arquitetura de sistemas complexos e escaláveis. - Proficiência em linguagens como.Net, C#, Node.js, Asp, Javascript, TypeScript, Python, entre outras. - Expertise em arquitetura de microsserviços, monolítica e serverless. - Experiência com bancos de dados SQL e NoSQL (ex.: PostgreSQL, MongoDB). - Conhecimento avançado em cloud computing (AWS, Azure, GCP, Oracle OCI). - Forte experiência com padrões de design e frameworks modernos. Diferenciais: - Certificações em arquitetura de software ou cloud (AWS Certified Solutions Architect, Azure Solutions Architect). - Experiência com ferramentas de orquestração de containers como Kubernetes e Docker Swarm. - Conhecimento de infraestrutura como código (Terraform, CloudFormation). Familiaridade com frameworks de integração contínua e entrega contínua (CI/CD).