SonicJobs Logo
Login
Left arrow iconBack to search

Senior Embedded Software Engineer

Technical Placements
Posted 14 hours ago, valid for a month
Location

Rochester, Kent ME1 3QS, England

Salary

£55,000 - £66,000 per annum

info
Contract type

Full Time

In order to submit this application, a TotalJobs account will be created for you. As such, in addition to applying for this job, you will be signed up to all TotalJobs’ services as part of the process. By submitting this application, you agree to TotalJobs’ Terms and Conditions and acknowledge that your personal data will be transferred to TotalJobs and processed by them in accordance with their Privacy Policy.

Sonic Summary

info
  • A Senior Embedded Software Sustaining Engineer is needed for a life-saving electronic solutions manufacturer, requiring a minimum of 5 years of hands-on experience in embedded software development.
  • The role involves maintaining and enhancing embedded software primarily in C and some C++ for real-time systems, with a focus on existing product lines and ensuring quality support for mature products.
  • This position offers hybrid working options and is part of a collaborative R&D team, where the engineer will lead sustaining engineering efforts and coordinate with the broader team for support needs.
  • Candidates should have a degree in IT, Software, electronics, or Computer Science, along with strong programming skills and a solid understanding of embedded Linux development and communication protocols.
  • The salary for this position is competitive, reflecting the seniority of the role and the expertise required.

Senior Embedded Software Sustaining Engineer required for a manufacturer of life saving electronic solutions products. Part of a global group, this company offersrewarding careers, great benefits, and plenty of opportunities to grow in a supportive, energetic workplace. Hybrid working options (5 out of 10 days in the Rochester office).


We are seeking a dedicated Software Engineer to take ownership of sustaining and enhancing existing embedded firmware and software product portfolio, primarily developed in C, with some C++ used for QT-based front ends.

This is a new role within the R&D team, created to ensure the continuity and quality of support for mature products. The primary focus will be maintaining and improving current products through bug fixes, minor enhancements, and new device driver integration, allowing the core development team to focus on new product innovation.You will become a key knowledge holder across the product range and work closely with the software manager to plan and coordinate sustaining engineering tasks. While they operate a rotating schedule where software engineers take turns supporting legacy products, this role will act as the lead for sustaining efforts - identifying support needs and requesting assistance from the broader team when specific expertise is required.Youll be joining a collaborative and multi-disciplinary team that spans software, electronics, mechanical design, and testing. The role offers both independent responsibility and the chance to collaborate across functions to ensure our existing products continue to meet the highest standards.This position comes with a steep learning curve, as it requires gaining in-depth knowledge of multiple product lines and the ability to switch contexts effectively. Strong planning, system design, and documentation skills are essential, along with a proactive approach to problem-solving and coordination.

Senior Embedded Software Sustaining Engineer the role:

Maintaining and enhancing embedded software in C and C++ for life safety systems, including fire panelsand modules.

Supporting real-time embedded systems running on bare-metal and Linux-based platforms.

Working across a range of 32-bit microcontroller families to support existing product lines.

Developing and testing both embedded firmware and PC/mobile front-end software.

Ensuring all updates meet defined performance, cost, and schedule objectives.

Maintaining up-to-date technical documentation for all supported products and changes made.

Gaining deep understanding of the operation and usage of legacy products to ensure reliable ongoing support.

Managing release planning and issue tracking for sustaining updates and coordinating support from the wider software team when specialist expertise is required.

Keeping accurate records of design changes, version history, and known issues.

Providing leadership on sustaining projects where appropriate, including guiding and mentoring other engineers involved in support activities.

Supporting the company's Quality Policy and maintaining compliance with internal processes and standards.

Occasionally visiting local manufacturing facilities (within Kent) to support production issues related to software or firmware.

Senior Embedded Software Sustaining Engineer requirements:

Essential:

Degree/HND in an IT, Software, electronics, or Computer Science related field (or equivalent)

Minimum of 5 years' hands-on experience in embedded software development, preferably in a commercial product environment.

Proven track record of delivering and maintaining real-time embedded systems in C/C++

Strong programming skills in C and C++.

Solid understanding of embedded Linux development and open-source toolchains.

Knowledge of common communication protocols, including TCP/IP, UDP, RS-485, SPI, and I2C

Desirable:

Experience developing embedded firmware on Linux-based systems.

Familiarity with ARM Cortex architectures, particularly STM32 and PIC microcontrollers.

Experience with graphical user interface development using QT or similar frameworks.

Exposure to unit testing, system integration, and automated build/test pipelines.

Background in the fire detection or life safety industry.

Experience with Atlassian tools (Jira, Bitbucket) or similar version control and issue tracking systems.

Familiarity with Microchip PIC Assembly for embedded applications

Understanding of device drivers and networking stack implementation.

Knowledge of EN54 standards or similar regulatory requirements for life safety systems.

Awareness of Linux kernel internals, device driver development, and inter-process communication (shared memory, semaphores, FIFO).

Understanding of USB protocols and embedded USB stacks.

Basic knowledge of electronic circuits and system-level debugging.

Experience with Java, .NET, SQL is a plus.

Strong communication skills, both written and verbal.

Proactive attitude toward continuous learning and staying current with industry trends.

This is an excellent opportunity to become part of the key engineering team within a developing business with its culture shaped by core values of Integrity, Passion, Challenge and Teamwork.

Apply now in a few quick clicks

In order to submit this application, a TotalJobs account will be created for you. As such, in addition to applying for this job, you will be signed up to all TotalJobs’ services as part of the process. By submitting this application, you agree to TotalJobs’ Terms and Conditions and acknowledge that your personal data will be transferred to TotalJobs and processed by them in accordance with their Privacy Policy.