Opportunities for permanent roles in a range of business sectors

Android Platform Developer

Sepura are seeking a talented Android Platform Engineer to work on our next generation products.

Sepura TETRA digital radio products are similar to mobile phones, but 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.

The candidate filling this role will initially work with the Advanced Technology Group to produce reference designs and functional prototypes for Sepura's next generation platforms, and will then transfer to the Development Team to take the ideas and concepts of the prototype through full Product Development. Candidates will need to be flexible enough to thrive in both the dynamic prototyping phase, and the more structured product development phase.

The role will focus on the development, configuration and tuning of the Android platform, creation and integration of custom drivers, and the Android development tools. The candidate will be responsible for monitoring relevant community mailing lists and trialling Android development tools.

A key attribute of the successful candidate will be the ability to enthuse, coach and mentor experienced embedded software engineers whilst they transition to the new environment required for Android development.

Previous experience gained over the full development life-cycle of a released Android product is essential to this role.

Specific responsibilities will include:

  • Android platform development, kernel configuration including modifications to the scheduler, performance optimisations and minimising latencies
  • Trialling and integrating open-source development tools for debugging, profiling, code-coverage, memory leak detection etc.
  • Trialling build tool chains, for subsequent integration into Continuous Integration System
  • Maintenance and enhancements of the Android build and distribution tools
  • Monitoring relevant Android community mailing lists
  • Responsible for writing and maintaining device drivers and low-level software components
  • Rapid prototyping of demonstration systems to generate early feedback on proposed solutions
  • The production of architectural, design and test specifications
  • Integration testing, investigation and resolution of issues
  • Participation in project planning and technical reviews

This role offers a great opportunity to get involved early in the development life-cycle of Sepura's next generation platforms, and so become a key member of the team.

Additional duties may arise on a seasonal or ad hoc basis, or as the business requires.

Essential experience:

  • Good understanding of the Android architecture and ecosystem
  • Understanding of the Android SDK and APIs
  • Good understanding of the Android low level system architecture
  • Understanding of the Android security architecture
  • Experience optimising Android performance e.g. power management
  • Experience of creating build processes for Android platforms
  • Experience of developing for mobile platforms
  • Significant contribution to the platform development of a commercially released product using Android
  • Excellent knowledge of the C programming language in real-time multi-processor, multi-threaded, event-driven software
  • Experience in the complete software development lifecycle
  • Experience of using configuration management and fault tracking tools

Desirable experience:

  • Familiar with Embedded Linux driver architecture, USB, networking, memory and scheduling subsystems
  • Experience of using ARM BSPs
  • Developing production quality real time embedded software for low level device drivers
  • Experience with Linux open-source project configuration management and patching techniques
  • Experience with management and configuration of the Embedded Linux Kernel distribution using Yocto, OpenEmbedded, Buildroot etc.
  • Familiarity with working with a hardware development team (interpretation of schematics and a practical knowledge of debugging using logic analysers and oscilloscopes)

Essential skills:

  • Ability to interface to all levels of the company, using a variety of methods (presentations, reports, workshops)
  • Customer (internal and external) focussed
  • Structured in his/her working practices with a practical understanding of quality software development processes

Attitude:

  • Enthusiastic, communicative and inquisitive individual
  • Motivated by producing quality work within planned timescales

Desirable qualifications:

  • Degree in relevant discipline