Requisitos
Tecnologias Necessárias
Conhecimentos obrigatórios
Tecnologias Desejáveis
Conhecimentos não obrigatórios
Tempo de Experiência
Experiência mínima obrigatória
6+ anos em TI, Infraestrutura ou Engenharia de Software
5+ anos como Arquiteto de Software
Design e Planejamento de Soluções:
Desenvolver estratégias arquiteturais abrangentes, considerando requisitos funcionais e não funcionais, para garantir a eficiência, escalabilidade e manutenibilidade dos produtos;
Guiar a Evolução Técnica;
Colaborar com as squads de desenvolvedores, fornecendo orientação técnica e estratégica para garantir que as soluções evoluam de acordo com os padrões e as metas da arquitetura definida;
Análise de Requisitos: Colaborar com as equipes de produto para entender os requisitos de negócios e traduzi-los em decisões arquiteturais sólidas, alinhando a visão técnica com as necessidades do cliente;
Arquitetura de Integração: Projetar soluções de integração eficientes entre diferentes sistemas e serviços, garantindo a troca de dados e a comunicação fluida entre as partes;
Avaliação Tecnológica: Avaliar novas tecnologias, frameworks e ferramentas para determinar sua adequação às necessidades do projeto, mantendo-se atualizado com as tendências da indústria;
Garantia de Qualidade: Definir diretrizes de qualidade técnica, incluindo práticas de teste, revisões de código e padrões de codificação, para garantir que as soluções sejam robustas e confiáveis;
Desenvolvimento de Provas de Conceito: Criar protótipos e provas de conceito para validar abordagens arquiteturais, demonstrando os benefícios das soluções propostas;
Mentoria Técnica: Fornecer orientação e treinamento técnico às equipes de desenvolvedores, promovendo o crescimento profissional e a aquisição de novas habilidades;
Resolução de Problemas Complexos: Identificar e resolver desafios técnicos complexos, atuando como um recurso de suporte para as squads durante o desenvolvimento;
Comunicação e Colaboração: Facilitar a comunicação e a colaboração entre as equipes de desenvolvimento, assegurando que todos os membros compreendam a visão arquitetural e trabalhem juntos para alcançar os objetivos comuns;
Design e Planejamento de Soluções: Desenvolver estratégias arquiteturais abrangentes, considerando requisitos funcionais e não funcionais, para garantir a eficiência, escalabilidade e manutenibilidade dos produtos;
Guiar a Evolução Técnica: Colaborar com as squads de desenvolvedores, fornecendo orientação técnica e estratégica para garantir que as soluções evoluam de acordo com os padrões e as metas da arquitetura definida.
Atividades
Arquiteto de Solução habilidoso e criativo, cuja expertise abranja uma ampla gama de princípios e padrões arquiteturais avançados.
Responsável por projetar e implementar soluções tecnológicas de ponta, alinhadas com os critérios de excelência da nossa organização;
Sólido conhecimento em Arquitetura Limpa, Arquitetura Hexagonal (Ports n' Adapters) e Arquitetura Orientada a Eventos, capaz de aplicar esses princípios para criar sistemas altamente modularizados e de fácil manutenção;
Necessário experiência com padrões de comunicação como Publisher/Subscriber sendo fundamental para garantir uma arquitetura escalável e resiliente;
O conhecimento em Cache Distribuído e Containers é essencial, juntamente com a capacidade de gerenciar ambientes de containers para permitir a implantação eficiente de aplicações escaláveis;
Toda experiência em Arquitetura Serverless e Stateless Apps será valorizada;Garantir a segurança por meio do entendimento de OAuth2 em ambientes distribuídos;
Os conhecimentos em Testes de Unidade e Integração abrangentes será um diferencial, assim como compreensão e aplicação dos princípios DDD e CQRS para estruturar sistemas complexos de maneira eficaz;
Ferramentas: Docker, Visual Studio, SQL Server, AWS, ECS, EKS, ALB,VPC, Ec2, SQS, SNS, Windows Services, Swagger, NetCore, Github, GitLab, Nuget, Nexus, Jira, Confluence, conhecimento dos conceitos DevSecOps, ferramentas de observabilidade (DataDog) utilização e orquestração;
Docker: Proficiência em criação, implantação e gerenciamento de contêineres Docker para empacotar e distribuir aplicativos de forma consistente em ambientes diferentes;
Visual Studio: Habilidade em utilizar o ambiente de desenvolvimento Visual Studio para a construção e depuração de aplicações .NET;SQL Server:
Experiência em projetar, implementar e otimizar bancos de dados SQL Server, incluindo modelagem de dados e consultas complexas;
AWS (Amazon Web Services): Experiência prática com serviços da AWS, incluindo Elastic Container Service (ECS), Elastic Kubernetes Service (EKS), Application Load Balancer (ALB), Virtual Private Cloud (VPC), Amazon EC2, Amazon SQS e Amazon SNS;
Windows Services: Familiaridade com a criação e implantação de serviços do Windows, permitindo a execução de aplicativos como serviços em segundo plano;
Swagger: Conhecimento na criação de documentação de API usando o Swagger, permitindo uma descrição clara e automatizada das APIs;.
NET Core: Experiência com o desenvolvimento em .NET Core, uma plataforma de desenvolvimento de código aberto para criar aplicativos modernos;
GitHub / GitLab: Familiaridade com plataformas de controle de versionamento, como GitHub e GitLab, para gerenciar o código-fonte e colaborar em projetos;NuGet / Nexus;
Compreensão da gestão de pacotes NuGet para compartilhar, distribuir e implantar componentes de software reutilizáveis. Nexus é uma plataforma similar;Jira / Confluence;
Habilidade em usar ferramentas de gerenciamento de projetos (Jira) e colaboração (Confluence) para rastrear tarefas, bugs, histórias e documentação;
DevSecOps: Familiaridade com os princípios de desenvolvimento seguro (DevSecOps), incorporando práticas de segurança no ciclo de vida de desenvolvimento;
Ferramentas de Observabilidade (DataDog): Conhecimento na configuração e uso de ferramentas de monitoramento e observabilidade, como o DataDog, para monitorar e analisar o desempenho e a saúde dos sistemas;
Perfil Desenvolvedor, pois será necessário codificação (Perfil Hands-On).