Android Platform Developer in Cambridge at Sepura

Date Posted: 2/24/2021

Job Snapshot

Job Description

Sepura are seeking two talented Android Platform Developers (Senior / Principal) to join the team and work on our next generation products. This role offers a great opportunity to get involved early in the development lifecycle of Sepura's next generation platforms, and become a key member of a growing team in our Cambridge office

This role will focus on the development, configuration and tuning of the Android platform, creation and integration of custom drivers, and the Android development toolchain. Ideally, candidates will be able to demonstrate previous experience gained over the full development life-cycle of a released Android product. 

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. 
  • Monitoring relevant Android community mailing lists
  • Responsible for writing and maintaining device drivers and low-level software components
  • 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

Job Requirements

Qualifications

  • It would be desirable to have a Degree in a relevant discipline

Experience

Essential:

  • Significant contribution to the platform development of a commercially released product using Android
  • Good understanding of the Android architecture and ecosystem (including low level and security)
  • Understanding of the Android SDK and APIs (especially telecoms and networking)
  • Experience optimising Android performance e.g. power management
  • Experience with most of the following:
    - Binder
    - AIDL
    - Services (Native and/or Java)
    - Framework APIs
    - NDK, JNI
    - CTS
  • Excellent knowledge of the C++ programming language in real-time multi-processor, multi-threaded, event-driven software
  • Experience of developing for mobile platforms

Desirable:

  • 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
  • Familiarity with working with a hardware development team (interpretation of schematics and a practical knowledge of debugging using logic analysers and oscilloscopes
  • Experience in the complete software development lifecycle
  • Experience of using configuration management and fault tracking tools

Skills

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

Personal attributes

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

Not Ready to Apply?

If you’re interested in career opportunities, but not ready to apply, join our Talent Network to stay connected to us and receive updates on the latest job opportunities and company news.