Back
Software Architect
JOB DESCRIPTION AND KEY RESPONSIBILITIES
Reporting to Lead Solutions Architect / Senior Development Manager the Software Architect would be responsible to:
- Define fit for purpose designs based on a service-oriented approach, incorporating standards and best practices
- Ensure buy-in of future changes by engineering group
- Provide impact analysis for new demand items
- Create and break down epics and features, supporting solution design. Identify high-level application components and major reusable services and technologies to implement them
- Help define the SLR for non-functional requirements
- Ensure architectural integrity is maintained across the group
- Provide consultancy and review of service designs as needed
- Promotion and supporting improvements to technology and architecture
- Creates prototypes, PoCs (Proof of Concept) and PoTs (Proof of Technology). Makes technology recommendations
- ​Support skills development of team members, increasing the design expertise across the group
Key results areas:
Applications architecture that supports :
- continuous deployment of new features
- adherence to application and data security standards
- scale & performance metrics
- Use of sound architectural standards and best practices
- Analysis of new demand and solution proposals
- Mentoring, support & upskilling of engineering resources in UK and Romania to allow delegation of design tasks
- Fostering a continuous improvement culture
Core skills:
Technical
- Significant commercial experience of Application architecture
- Microservice & RESTful API design and development
- Design patterns and cloud patterns
- Domain driven design
- Design practices and modelling, e.g. UML, TOGAF
- Java 8 and above
- DevOps culture and practices
- OO analysis & design
- Agile practices
- Experience of the following would be beneficial:AWS services
- Secure coding practices as the Open Web Application Security Project (OWASP)
- SQL and NoSQL database management
- Working with large databases
Behavioral
- Influencer – can articulate and challenge ideas to get the best outcome for the business
- Collaborator – can articulate and gain consensus for new concepts and technology changes
- Coach & mentor – can support and mentor software engineers
- Decision maker – can weigh up complex options to reach the right decision
- Well organized – able to plan own work and track progress against a plan.
- Strong communicator – able to articulate complex ideas to technical and non-technical people alike