Responsibilities
- Gather architecturally significant requirements from stakeholders
- Define or evaluate software/solution architectures
- Document software architectures
- Create architecture evaluation reports
- Efficiently communicate the proposed solutions (architectural designs)
- Ensure that the implementations (solutions) will conform to their designs
Qualifications and Experience
Mandatory skills:
- Broad overall IT knowledge and experience
- Experience in architecting solutions relying on the Java technology stack.
- Capable of designing software architectures using one of the leading methods in the field (e.g. ADD)
- Comfortable with modeling software designs using at least one of the following notations: UML, Archimate, BPMN
- Knowledgeable of the following architectural styles: SOA, Microservices, REST
- Good knowledge of architecture and enterprise integration patterns
- Very good understanding of the quality attributes and able to propose architectural tactics that influence them
- Experience in architecting applications relying on NoSQL information stores
- Experience in architecting applications for cloud environments
- Strong abilities to act as a technical lead and coach people
- Very good presentation and negotiation skills
- Excellent command of English (both written and spoken
Desirable skills:
- Able to evaluate software architectures using one of the leading methods in the field (e.g. ATAM)
- Experienced in documenting software architectures by following widely-used approaches (e.g. Viewpoints & Perspectives)
- Past involvement in risk mitigation activities
- Prior participation to governance bodies for architecture and development/design