Role: Software Architect
Location: Crawley
We are looking for a passionate software architect, with experience working on large and/or complex solutions, to join our Training Solutions at what is an exciting time. You will join an existing team of dynamic engineers to play a key role delivering our’ next generation of simulation and training services.
The teams work within an Agile and cross-functional development environment, using modern Continuous Integration (CI) processes and tooling.
The ideal candidate will have work experience in the training and simulation domain, integrating and interfacing with commercial and other companies’ products and services, within a system of systems.
Our Training Solutions
Our simulators and training services help seasoned staff keep up-to-date, and equip the next generation of the armed forces across the World, from fighter pilots to front-line soldiers. We provide nations with products ranging from computer-based training (CBT), through to full-motion flight simulators and fully equipped in-theatre replica armoured vehicles. Every member of our workforce makes a difference as part of high-performing teams.
Together we offer fantastic opportunities for committed employees to learn and develop their career with us. At Our UK, we research, develop, and supply technology and services that impact the lives of millions of people each day to make life better, and keep us safer.
We innovate across five major industries; Aerospace, Defence, Ground Transportation, Security and Space. Your health and well-being matters to us and that’s why we offer you the flexibility to do what’s important to you; whether that’s part time hours, home working, or the ability to flex your start and finish times.
Where possible, we support a working pattern that suits your lifestyle and helps you reach your ambitions.
Additional Security Information
Due to the sensitive nature of much of the work undertaken by Our Training Solutions, all applicants must hold or be eligible for UK MoD Security Clearance (SC level minimum). Software Architect
Summary of role: Technically responsible for the Software Architecture and its consistency and adherence with the solution/system architecture. Coordinate with the Engineering Manager and Product / Project Architects in order to make sure that the top down refinement of the solution is consistent with the software strategy and constraints including COTS & OSS selection and component (building block) reuse.
Role and responsibilities – what success looks like:
Defines and ensures that the software architecture is stabilised & maintained for all lifecycle stages.
Guarantees correctness and consistency of the software contractual and technical referential of the solution/system
Co-ordinates product definition, and the assessment of trade-offs between aspects of cost, schedule, Make-Team-Buy (MTB), customer requirements, technological possibilities and capability of software team.
Monitors technological developments and verifies consistency and architecture styles and principles.
Guarantees adherence to in-scope standards, reuse policy and product development plans.
Identifies modelling, simulation and prototyping opportunities.
Prepares the Design & Justification files
Provides knowledge on state-of-the art software architecting, taking account of future developments.
Articulates the design to the software team
Approves the technical, technological, and methodological choices taken in respect of the selected software architecture
Ensures system & software consistency by liaising with the PDA and SEM
Guarantees the architecture’s testability, contributes to the definition of the test strategy and to corrective actions during its implementation
Specialisms
Distributed – C++, Java, JavaFx, Python, Windows, Linux
Cloud – Azure, Front-End (React/Vue), Containerisation (Docker, Kubernetes), IaC (Terraform, Ansible), Java, Python, Go
Outputs
Non-functional criteria of the Product
Feature & PR workflow
Code conventions
Design pattern
Security Standards are met
Technical and architecture documentation
Best practices:
Craftsmanship workshops
Work closely with PO and UX/UI
Success criteria:
High code and delivery quality
Low technical debt
Shared understanding of the technical solution and business drivers
Good testing practices
Security Standards are exceeded