Responsible for producing conceptual-level specifications, proposing architectural and software quality standards in an agile manner in consultation with agile teams and in collaboration with the client.
Propose technological updates and ensure the adoption and evolution of established standards.
Understand client requirements and design tailored architectures to meet those needs.
Create detailed plans that consider security, scalability, availability, and performance.
Ensure that the project scope, context, and constraints are documented and agreed upon.
Facilitate stakeholder decision-making by providing information and aligning it with overall objectives.
Define and document the system’s structure and design.
Define and document strategies, patterns, guides, and other artefacts to guide system construction.
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 completed, preferably in Computer Science, Engineering, or another field focused on software development or engineering.
Desired experience: approximately 4 years in software architecture working with agile methodologies.
Familiarity with Design Patterns, Domain-Driven Design (DDD), RESTful APIs, ESB, and Cloud-native application design.
Knowledge of Reactive Architecture principles (Responsive, Resilient, Elastic, and Message-Driven).
Experience with microservices architecture (service discovery, configuration management, log management, circuit breakers, containers, and autoscaling), as well as Service Mesh.
Experience with DevOps tools and culture (CI/CD), Infrastructure as Code, and deployment models.
Proficiency with the languages and technologies relevant to the operating environment.