Responsible for producing conceptual-level specifications, proposing architecture and software quality patterns in an agile manner in consultation with agile teams and together with the client.
Propose new technological updates and ensure the adoption and evolution of established standards.
Understand client requirements and create tailored architectures to meet those needs;
Create detailed plans, considering security, scalability, availability, and performance aspects;
Ensure that the project scope, context, and constraints are documented and accepted;
Facilitate stakeholder decision-making by providing information and aligning it with overall objectives;
Define and document the system structure and design;
Define and document strategies, standards, guides, etc., to guide the system build;
Ensure the architecture addresses the system's quality attributes;
Develop the architectural description;
Provide technical leadership;
Remain involved throughout the entire development process.
Requirements
Bachelor's degree preferred, ideally in Computer Science, Engineering, or another field related to software development or software engineering.
Desired experience: 6 years in software architecture using agile methods;
Design Patterns, DDD, RESTful APIs, ESB, and Cloud-Native applications;
Reactive Architecture (Responsive, Resilient, Elastic, and Message-Driven);
Microservices architecture (service discovery, configuration management, log management, circuit breaker, containers and autoscaling), as well as Service Mesh;
DevOps tools/culture (CI/CD), Infrastructure as Code and deployment models;
Knowledge and skills in the programming languages and technologies applied in the target environment.