> Markdown version of [/jobs/ext/90461-senior-embedded-firmware-engineer](https://www.wearedevelopers.com/jobs/ext/90461-senior-embedded-firmware-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Senior Embedded Firmware Engineer - **Company:** TSL Products - **Location:** Marlow, UK - **Experience:** Expert - **Contract:** Permanent contract - **Skills:** Testing (Software), Clean Code Principles, Adobe Flash, JavaScript (Programming Language), Microsoft Windows, Assembly Language, HTML5, Unit Testing, Booting (BIOS), C++ (Programming Language), Cascading Style Sheets (CSS), Program Optimization, Computer Programming, Continuous Integration, Datasheets, Software Debugging, Linux, Web Development, Memory Management, Embedded Software, Firmware, FreeRTOS, Human-Computer Interaction, Joint Test Action (IEEE Standards), Software Maintenance, Real-Time Operating Systems, Software Engineering, Subversion, Systems Integration, TCP/IP, Toolchain, TypeScript, Universal Asynchronous Receiver/Transmitter, USB, Diagnostic Tools, Multithreading, Serial Peripheral Interface, PIC Microcontroller, ReactJS, Video Protocols, Gitlab, Git, Bare Metal, Build Tools, U-Boot, Api Design, Restful APIs, Hardware Debugging - **Published:** May 31, 2026 - **Apply:** https://uk.indeed.com/viewjob?jk=b798a7c1eb73aa2f ## About the Role Do you have experience in Unit testing?, * Comprehensive firmware design experience * C/C++ programming * Low level experience with Linux Operating System, Drivers, Kernel, U-BOOT, Device trees * Experience with Bare Metal coding on PIC/ARM/Intel designs * Processor/SPI/I2C/DMA/DDR/FLASH/eMMC bare metal development. * Excellent knowledge of high and low communications methods, e.g. TCP/IP, HTTP, SPI, I2C * Low level experience with Real Time Operating Systems * Use of schematics, oscilloscopes, data and logic analysers * Hands on hardware debugging * Multiprocess/Multithreaded development * Documenting development and processes * Software Testing/TDD * Degree or equivalent level qualification in relevant discipline * To be self-motivated and work with minimal supervision * Independent, self-starter who is also happy to be part of a team * Good interpersonal and communication skills * Desire to solve complex problems * Committed to efficient development processes Advantageous Skills: * Windows development * Experience with Xilinx/FGPA toolchains for software development * Low level experience with FreeRTOS * Object-Orientated Design * Assembly Language * RESTful API/API development * Web Development (JavaScript, TypeScript, HTML5, CSS, React) * Distributed software development * CI/CD development approach * Git/SVN * Broadcast or Pro AV product experience * Audio and video protocols * Human Computer Interaction * Control System experience ## Description * Firmware Development of new and existing product: Writing efficient code in C/C++ or Assembly Language for microcontrollers and processors to control hardware * Hardware-Software Integration: Interpreting hardware schematics and data sheets to develop low-level drivers (Bare Metal and Linux), bootloaders, and peripheral drivers (GPIO, ADCs, Timers, UART, I2C, SPI, DMA, USB). * Debugging and Troubleshooting: Using diagnostic tools like logic analysers, oscilloscopes, and JTAG to diagnose and resolve complex system bugs * System Optimization: Improving firmware performance, memory usage, and power consumption for resource-constrained devices * Maintenance: Developing and maintaining software technical documentation, managing source code with Git, and providing product updates * Automated Build Systems: Use of CI/CD Pipelines (e.g. Gitlab) * Documentation and Testing: Contributing to End-User technical documentation, functional specifications, and conducting unit testing and validation ## Related Videos - [Prototyping with Hardware and the Web](https://www.wearedevelopers.com/videos/651-prototyping-with-hardware-and-the-web) - [More efficient software for more efficient microchips](https://www.wearedevelopers.com/videos/1164-more-efficient-software-for-more-efficient-microchips) - [Docker network without Docker](https://www.wearedevelopers.com/videos/1418-docker-network-without-docker) - [How a Small Team Shrank a Microsoft Monorepo by 94%](https://www.wearedevelopers.com/videos/1236-how-a-small-team-shrank-a-microsoft-monorepo-by-94) - [The best of two worlds - Bringing enterprise-grade Linux to the vehicle](https://www.wearedevelopers.com/videos/67-the-best-of-two-worlds-bringing-enterprise-grade-linux-to-the-vehicle) - [Building the Right Product and Building It Right: A Glimpse into Extreme Programming, Atomic Design ](https://www.wearedevelopers.com/videos/398-building-the-right-product-and-building-it-right-a-glimpse-into-extreme-programming-atomic-design) ## Related Articles - [Dev Digest 121 - AI goes offline](https://www.wearedevelopers.com/magazine/456-dev-digest-121-ai-goes-offline) - [The 8 Best Code Testing Tools](https://www.wearedevelopers.com/magazine/402-the-8-best-code-testing-tools) - [Should senior developers refuse interview coding challenges?](https://www.wearedevelopers.com/magazine/29-should-senior-developers-refuse-interview-coding-challenges) - [Software Engineer Salary London](https://www.wearedevelopers.com/magazine/252-software-engineer-salary-london) - [Where to Find Entry-Level Software Engineering Jobs](https://www.wearedevelopers.com/magazine/397-where-to-find-entry-level-software-engineering-jobs) - [Fully Remote Software Engineer Jobs](https://www.wearedevelopers.com/magazine/447-fully-remote-software-engineer-jobs)