This site uses cookies. To find out more, see our Cookies Policy

Senior Software Engineer - Device Driver in Waterbeach at Sepura Group

Date Posted: 10/18/2018

Job Snapshot

Job Description

The Sepura TETRA digital radio products are similar to mobile phones, but they also provide robust, long range, secure communication in harsh environments to public safety, military, transport, utilities and commercial customers.   Sepura offer a broad range of radio products, support tools and accessories.

Reporting to the Device Driver Team Leader, 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.  They will possess strong communication skills and are comfortable discussing ideas and solutions with others in order to successfully design new components and resolve issues in legacy components.  The candidate will be able to apply initiative when required and will take ownership for achievement of their own activities. Previous Low Level Embedded Software development experience of a released commercial product is essential.

Job Requirements

Specific responsibilities 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
  • Implementation 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

Technical skills and experience:


  • Excellent knowledge of the C programming language in real time systems, with related experience of s/w design, debugging of hardware/software interaction, implementation and test
  • Excellent debugging skills. Enjoys investigating and solving challenging real-time platform issues. Good code comprehension skills
  • Experience in the complete software development lifecycle within commercially released embedded products
  • Familiar with real-time multi-processor, multi-threaded, event-driven software
  • Familiar with Embedded Linux driver architecture, USB, networking, memory and scheduling subsystems. 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


  • Experienced in integrating open source Linux development tools
  • Experience with management and configuration of an Embedded Linux Kernel distribution
  • Development 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
  • Good analytical, numerical, written and verbal communication skills
  • Familiar with Agile Scrum working practices
  • Tenacity to probe issues to understand their root causes
  • Experience of working in a medium size technology company
  • Structured in his/her working practices with a practical understanding of quality software development processes



  1. Software Engineer Jobs
  2. Systems Engineer Jobs