Opportunities for permanent roles in a range of business sectors

Senior Software Engineer - Device Driver

Sepura Ltd are seeking a talented embedded Software Engineer to join the team who will have low-level device driver software expertise and work on our market-leading critical communication radio products

    The role will focus on the development of low-level embedded software components for digital radio products and their accessories. The candidate will have a good understanding of embedded telecommunications environment and mobile technology, and will possess strong communication skills are be comfortable discussing ideas and solutions with others in order to successfully design new components and resolve issues in legacy components. 

    Main duties include:

    • Design, implementation and testing of the low-level embedded software within the Sepura digital radio product range for a range of Operating Systems including Embedded Linux, Free RTOS, SYS/BIOS, OSE and bare-metal development
    • Definition and planning of software tasks at software component level
    • The production of architectural, design and test specifications
    • Design, implementation, maintenance and testing of the low-level embedded software within the Sepura digital radio product range
    • Participation in project planning and technical reviews
    • Integration testing, investigation and resolution of issues


    • Desirable to have a Degree in a relevant discipline


    Skills & Experience


    • Excellent knowledge of the C programming language in real time systems, with related experience of software design, implementation and test
    • Excellent debugging skills - enjoys investigating a solving challenging real-time platform issues and holds good code comprehension skills
    • Experience in complete software development lifecycle within commercially released embedded products
    • Familiar with real-time multi-processor, multi-threaded, event-driven software
    • Familiar with Embedded Linux drive architecture. Experience of using ARM BSPs
    • Developing product quality real time embedded software for low level device drivers
    • Experience of using configuration management and fault tracking tools
    • Familiarity of working in PC and UNIX based environments


    • Developing for ARM based mobile communications products running real-time operating systems
    • Familiarity with working with a hardware development team (interpretation of schematics and a practical knowledge of debugging using logic analysers and oscilloscopes)
    • Experience of using tools for measuring code coverage. profiling and memory leak detection
    • Experience of (automated) software testing at a component level


    Personal attributes

    • Innovative with proven ability to generate new ideas and approaches to problems
    • Tenacity to probe issues to understand their root causes
    • Structured in his/her working practices with a practical understanding of quality software development processes
    • Good analytical, numerical, written and verbal communication skills
    • Good team player
    • Familiar with Agile Scrum working practices
    • Experience of working in a medium size technology company