Senior Software Engineer
Role details
Job location
Tech stack
Job description
Due to business growth and increased demand, an additional Senior Software Engineer / Architect is required to support the business in delivering the current and next generation of Mine Counter Measures capabilities.
The successful applicant will be involved in a wide range of activities from defining/updating the technical solution, contributing to system requirements, meeting with customers and key stakeholders, guiding and advising the development team, and supporting the entire project team from start to end.
In this particular instance (due to the small scale of the team), the SW Architect will be expected to participate in some of the SW development activities.
Training and mentoring will be provided, however this is a senior role and the individual is expected to be self-driven and able to drive others rather than be told what to do.
This role will involve bids, architecture and design, development, and support.
Occasional travel to sister company and client sites is expected, as projects demand. The role is a full time on site role, based at our site in Cheadle Heath.
The candidate will report to the portfolio Chief software architect and Head of SW Delivery, with in feeds to senior management, customers, engineering delivery managers, project managers, and developers., The Software Architect is responsible for the definition of a feasible, maintainable and scalable software architecture consistent with the solution/system architecture.
They ensure that design takes into account performance, robustness, safety, and cybersecurity constraints.
They support the development team in their rise in competence in architecture fields and coding.
Requirements
- Self-driven problem solver (Taking ownership as needed and calling on other expertise and network contacts so you can act as an unblocker for others and providing steerage)
- Demonstrable experience with software architecture of large systems or development of large complex systems
- Confident and commercially aware when presenting to senior management and senior customers
- Able to adjust the level of technical detail being conversed to suite the audience; you'll be expected to work closely with developers, engineering delivery managers, other architects, product line architects, & customers
- Confidence and ability using modelling tools such as Enterprise Architect - training in the actual tool used will be provided if necessary
- Ability to show strategic awareness and make balanced, thought through, defendable decisions.
- Confidence to challenge others and open to be challenged
- Must be able to consider the whole system and understand the impact of software outside of the software system i.e. System level requirements and behaviour and Hardware requirements and behaviour
- Able to describe and hold detailed conversations at every level from development, component interaction and architecture, hardware interaction, system interaction, and business strategy.
- Able to balance the short term goals of the project with the longer term goals of the product roadmap
The following technical skills are mandatory:
- C++, Java, Python (Detailed knowledge of C++, with an appreciation of Java and Python)
- Networking (routing, firewalls, switch config)
- Linux (ideally Red Hat)
- Hardware (Basic knowledge of the components, connectors and hardware architecture of a solution)
- SW development and Architecting of real time systems
Experience or an appreciation of some the following technical skills would be greatly beneficial:
- Containerisation (podman / kubernetes)
- Security (SELinux, STIG / CIS lockdown, cryptographic principles, TPM)
- Software build process (Make, CMake, Maven, Gradle, Jenkins, git, artifactory)
- Embedded SW Development
- Rhapsody or Enterprise Architect
The ideal candidate would also have some of the following experience in Industry:
- Experience in the Defence, Telecommunications or other Engineering industry
- Experience of Radio Communication systems