Senior Software Development Engineer C++
Role details
Job location
Tech stack
Job description
As a Senior Software Development Engineer, you will be a key member of a multidisciplinary Product Line team, working within an Agile framework to deliver high quality software for our global customers. You will balance the delivery of new, high performance features with the resolution of technical debt and the maintenance of our underlying architecture. This role offers dedicated "blue sky" time for professional development and technology investigations, allowing you to stay at the forefront of modern software engineering while leading epic work and shaping the future of our technical landscape., * Lead the design and implementation of new features, extending the underlying architecture and working with stakeholders to refine the developer experience.
- Take ownership of product domain understanding, providing reliable estimates and identifying technical risks to ensure successful project delivery.
- Implement features following modern coding standards, with a focus on C++ 17 and performance critical tasks such as real time data handling and bus data decoding.
- Undertake feasibility studies and research tasks to explore new technologies, providing prototypes and evidence based suggestions for future product designs.
- Drive quality through timely peer code reviews, defect resolution, and root cause analysis, while engaging deeply with CI/CD and the full Software Development Life Cycle.
- Support and guide developers across the organisation, contributing to continuous improvement activities and acting as an advocate for positive change.
Requirements
Do you have experience in UI?, * Demonstrable expertise in modern C++ (specifically C++ 17) and experience with performance critical work, such as algorithms and real time systems.
- Extensive experience in software architecture design and maintenance, particularly for data acquisition or signal processing applications.
- A deep understanding of the SDLC, including unit and integration testing, and practical experience working within an Agile/Scrum environment.
- Excellent technical communication skills, with the ability to explain complex rationale and risk to both technical and non-technical stakeholders.
- A proactive approach to problem solving, a commitment to high quality standards, and a motivation to deliver within planned timescales.
- Experience with C++ 20, multi-threading, or embedded Linux. Familiarity with UI frameworks (WPF, Cocoa, GTK) or experience coaching junior engineers would also be highly regarded.