Embedded Software Engineer
Role details
Job location
Tech stack
Job description
As an Embedded Software Engineer, you will contribute to the design, development and delivery of embedded software across a range of cutting-edge products. Working closely with multidisciplinary engineering teams, you will help develop reliable, high-performance software solutions for real-time and Linux-based embedded systems.
You will be involved throughout the software lifecycle, from concept and architecture through to implementation, testing and validation, contributing both independently and collaboratively within agile engineering teams.
Occasional travel to our Plymouth facility may be required to support systems integration and testing activities., * Developing embedded software in C and C++ for Linux and microcontroller-based systems
- Designing, implementing and validating new software features across multiple products
- Developing and debugging embedded systems using a wide range of communication protocols and peripherals
- Supporting hardware-in-the-loop testing, integration and validation activities
- Working with real-time operating systems and bare-metal microcontroller environments
- Contributing to software architecture, technical design and engineering best practice
- Producing and maintaining technical documentation and software specifications
- Collaborating with electronics, systems and mechanical engineers to deliver integrated solutions
- Identifying opportunities for code reuse, optimisation and continuous improvement
- Supporting peer reviews, testing activities and structured software development processes
- Mentoring and sharing technical knowledge with colleagues across the team
- Providing technical support to internal and external stakeholders when required
Requirements
You will have experience developing embedded software within a structured engineering environment and enjoy solving technically challenging problems as part of a collaborative team., * Strong C and C++ development skills using object-oriented principles
-
Experience developing software for embedded Linux or microcontroller-based systems
-
Knowledge of RTOS and/or bare-metal embedded development
-
Experience with embedded hardware platforms such as STM32, PIC or similar
-
Understanding of debugging embedded systems and working with hardware interfaces
-
Familiarity with digital electronics, schematics and PCB-level debugging
-
Experience using source control and participating in peer code reviews
-
Understanding of software engineering best practices including testing, documentation and coding standards
-
Strong communication and collaboration skills, * Cross-compilation and multi-platform build environments
-
DevOps concepts, containerisation or Docker
-
Virtualisation technologies
-
Experience contributing to software architecture and system design
-
Mentoring or supporting junior engineers, You should hold a degree in one of the following disciplines:
-
Software Engineering
-
Computer Science
-
Electronic or Electrical Engineering
-
Physics
-
Mathematics
We also welcome applications from candidates with equivalent industry experience and a strong track record in embedded software engineering.
Benefits & conditions
- Salary Expectations*
- Current notice period*
- Do you have the right to work in the UK?
- Yes
- No
-
Select role applying for*
-
Upload your cover letter Max. file size: 50 MB. Please upload your cover letter in either pdf, txt, doc or docx format
-
Upload your CV/Resume Max. file size: 50 MB. Please upload your cover letter in either pdf, txt, doc or docx format
From the Mariana Trench, the deepest point on earth, to surging shorelines and anywhere in-between, we make the impossible possible through our continuous passion for innovation.
Our people design, engineer and manufacture technologies that are enabling our customers to discover, navigate, measure, detect and communicate in the toughest environment on earth: Our oceans. We've been actively developing the technology to make the oceans accessible for over 50 years and we're only just getting started… At Sonardyne, we value different ways of thinking. Whether you think in code, patterns, systems, or steps, your unique perspective is important to us.