Republic Wireless is seeking an engineer who will focus primarily on new product development of our custom communication devices that operate over cell and WiFi. These devices embed Android, but do not have a traditional screen, and run on hardware designed in-house. This role will be where the hardware meets the software. You will need an understanding of the hardware but will be delivering software at the lower levels of the stack, including drivers, boot configuration, operating system, and Android core elements. This will enable other team members higher up the stack to develop applications to the Android Java APIs. Also included is the bring-up and support of new hardware platforms and interaction with technology suppliers including Qualcomm and cellular carrier partners, in particular Android for Qualcomm's MSM platforms. RF (radio frequency) skills are not required for this position and prior Android application development experience is nice to have, but not necessary. More importantly we are looking for folks who are very curious about lower level systems with Linux foundations, with a strong desire for prior experience working on Qualcomm platforms. You should not be afraid to learn new concepts.

The Republic Wireless product engineering team designs, develops and operates the core Republic Wireless applications and services that handle calls, messaging and data. From Android on phones or non-traditional devices, to running a farm of Linux servers 24x7, our technology stack solves complex problems. We use a diverse set of languages, including Erlang, Java, C, C++, Javascript and the odd Python/Ruby script. We are agile in our responsiveness to user and business needs, not for the sake of adhering to agile orthodoxy, but being pragmatic.

We are looking for an engineer to join our team and help with our growing responsibilities. We bias towards action, balancing speed and technical debt. We are not afraid to take on big challenges, but we strive for the simplest solution. Quality is a constant focus. We operate what we build and hold ourselves accountable for the code we write. We operate like a startup, using small teams, you will make meaningful contributions to the product very quickly.

Required Qualifications

  • Bachelor's or Master's degree in Computer Science or a related field.
  • Experience programming Linux below the POSIX APIs, such as kernel modules.
  • Experience using the Linux tool chain.
  • Experience programming in C.
  • Understanding of the hardware under Linux.

Desired Qualifications

  • Experience working on Qualcomm platforms, in particular the MSM family.
  • Experience working inside Qualcomm Android Linux or Google's Android Linux.
  • Experience with Android internals and/or source code of Android itself.
  • Experience with networking on IPv4/IPv6 and sockets.
  • Experience programming in Java.

Nice-to-Have Qualifications

  • Experience with Android application development.
  • Prior telecom / VoIP experience.
  • Public Key Infrastructure (PKI), secure boot, secure elements, etc.
  • Experience with bring-up of software on new hardware platforms.

Apply for this Job

* Required