Software Architect
Role details
Job location
Tech stack
Job description
We are looking for technically strong and adaptable engineers who are passionate about software architecture and modern software engineering practices.
In this role you will be:
- Defining and owning software architectures for complex systems
- Working closely with software teams to define architectures, interfaces, and design decisions
- Identifying key design drivers including performance, safety, security, and maintainability
- Supporting architectural reviews and influencing software engineering best practices
- Collaborating with architects, technical specialists, and wider engineering teams
- Assessing trade-offs between different architectural approaches and technologies
- Supporting the adoption of modern engineering practices including CI/CD and good software design
Requirements
Experience needed: We are looking for an experienced Software Architect or senior software engineer with a strong background in designing complex software systems within a safety-critical, real-time, or embedded environment. The ideal candidate will have a strong technical foundation, excellent communication skills, and the ability to make key architectural decisions while working collaboratively across multidisciplinary engineering teams., * Strong experience in software architecture and design for complex systems
- A strong programming background, ideally across languages such as C++, C, Ada, or Java
- Experience working in embedded, real-time, or safety-critical environments
- Knowledge of software architecture techniques, design patterns, and abstraction layers
- Experience with model-based engineering would be advantageous
- Strong communication and stakeholder management skills
- An understanding of CI/CD and modern software engineering practices