Profissão de Arquiteto de Software
Resumo da Função:
Nossa empresa está procurando por um profissional experiente e talentoso para assumir o papel de Arquiteto de Software Pleno. Nesta função, você será responsável por definir e implementar arquiteturas de software baseadas em padrões consolidados, como Microservices, DDD, SOA, MVC e Design Patterns.
Principais Atividades:
1. Definir e implementar arquiteturas de software baseadas em padrões consolidados.
2. Desenvolver e otimizar aplicações em Java, com uso avançado dos frameworks Spring, Spring Boot e Hibernate.
3. Projetar e construir APIs RESTful, gRPC e SOAP, assegurando integração eficiente, segura e de alta performance entre sistemas distribuídos.
4. Realizar monitoramento de desempenho e tuning de aplicações Java, com foco em profiling e otimização de JVM.
5. Projetar e otimizar bancos de dados relacionais (Microsoft SQL Server, MySQL, PostgreSQL) e NoSQL (MongoDB), com atenção à modelagem, performance e escalabilidade.
6. APLICAR PRÁTICAS AVANÇADAS DE SEGURANÇA EM APLICAÇÕES JAVA, INCLUINDO CÓDIGO SEGURA E USO DE SPRING SECURITY E MITIGAÇÃO DE VULNERABILIDADES CONFORME OWASP TOP TEN.
7. Construir pipelines de CI/CD utilizando ferramentas como Azure DevOps e Jenkins, promovendo entregas contínuas e automatizadas.
8. Implementar contêineres e soluções de orquestração com Docker e Kubernetes, com foco em escalabilidade, resiliência e segurança.
9. Empregar Infraestrutura como Código (IaC) com ferramentas como Terraform e Ansible, gerenciando ambientes em Azure, GCP e AWS.
10. Utilizar ferramentas de monitoramento e observabilidade, como Prometheus, Grafana e ELK Stack, para garantir alta disponibilidade e desempenho dos sistemas.
11. Desenvolver interfaces front-end com Angular e React, aplicando boas práticas de usabilidade, responsividade e performance.
12. Integrar práticas de DevSecOps aos pipelines, utilizando ferramentas de SAST, SCA e DAST, como SonarQube, OWASP ZAP e GitLab Advanced Security.
13. Atuar com metodologias ágeis (Scrum/Kanban), liderando sprints, facilitando cerimônias ágeis e promovendo entregas incrementais de valor.
Requisitos Técnicos Obrigatórios:
* Certificação Microsoft Certified: Azure Solutions Architect Expert ou Certified Professional in Software Architecture (CPSA), com comprovação necessária.
Conhecimentos Técnicos Desejáveis:
* Arquitetura de Software: Microservices, DDD, SOA, Design Patterns, arquitetura orientada a eventos, sistemas distribuídos, mensageria com RabbitMQ.
* Java: Proficiência avançada com versões recentes da linguagem, incluindo monitoramento e performance tuning.
* Bancos de Dados: Modelagem, otimização, tuning e integração de soluções SQL e NoSQL.
* CI/CD: Automação de pipelines com Azure DevOps e Jenkins.
* APIs e Integração: REST, gRPC, SOAP, com documentação via Swagger/OpenAPI.
* Contêineres: Docker, Kubernetes, práticas de segurança e observabilidade.
* Cloud Computing: Azure, GCP e AWS, com domínio de IaC (Terraform, Ansible).
* Segurança Aplicacional: Desenvolvimento seguro em Java, mitigação de vulnerabilidades, revisão de código com foco em segurança.
* Testes Automatizados de Segurança: SAST, SCA e DAST (SonarQube, OWASP ZAP).
* Front-end: Angular, React, JavaScript, TypeScript, HTML5, CSS3.
* Testes Automatizados: Selenium, Robot, Cypress, integrados a pipelines.
* Agilidade: Liderança em ambientes Scrum/Kanban, com condução de sprints, reviews e retrospectivas.
Certificações Desejáveis (Diferenciais):
* Oracle Certified Professional, Java SE Programmer (OCPJP)
* Certified Java Architect (CJA)
* Microsoft Certified: Azure Solutions Architect Expert
* AWS Certified Solutions Architect
* Google Professional Cloud Architect