Embedded Android Software Engineer
Riverside Research Institute
About the role
Position Overview
Riverside Research Institute is currently seeking an Embedded Android Software Engineer to support and execute cutting-edge firmware development in embedded and mobile network security hardware on behalf of the Riverside Research Open Innovation Center (OIC). The OIC executes research and development in several broad areas including the development of secure and resilient systems.
The ideal candidate will have experience working in dynamic research and development (R&D) environments, from ideation through execution, and designing and delivering innovative secure networking and cryptographic solutions to national security customers. As a principal technical contributor, the candidate will be responsible for developing new techniques and technology to address complex and open-ended problems. The candidate should have a track record of outside-the-box problem-solving, interdisciplinary collaboration, and ability to brief stakeholders on technical results.
Responsibilities
Works on problems of diverse scope where analysis of information requires evaluation of identifiable factors. Devises solutions based on limited information and precedent and adapts existing approaches to resolve issues. Uses evaluation, judgment, and interpretation to select right course of action. Work is done independently and is reviewed at critical points. Enhances relationships and networks with senior internal/external partners who are not familiar with the subject matter often requiring persuasion. Adapts style to differing audiences and often advises others on difficult matters.
The selected candidates will be responsible for:
- Developing C/C++, Kotlin/Java code in Android, Linux-based, or embedded systems
- Collaborating on systems-level projects (e.g. networking, device interfaces, or low-level services)
- Algorithm/protocol analysis, architecture review, system engineering, implementation, verification, and delivery.
- Creating and managing embedded system build processes, including AOSP.
- Duties involve all aspects of Embedded Software development, including documentation, implementation, emulation, integration, and test.
Qualifications
Required:
- Bachelor’s degree or higher in computer engineering, computer science or equivalent
- 3+ years’ experience developing Linux embedded platforms (e.g. Yocto, Buildroot)
- Understanding of git/repo version management in Android build process
- General understanding of Android architecture, AOSP Telephony experience
- Experience working on systems-level projects (e.g. networking, device interfaces, or low-level services)
- Understanding of networking fundamentals - basic networking and firewall experience on Android/Linux (IP, routing, TCP/UDP)
- Ability to debug issues across system layers (baseband, application, OS, network)
- 3+ years of cross-platform development using C/C++ and embedded Linux
- Firmware development, analysis, and reverse-engineering
- Device bring-up starting with the root filesystem
- Experience building software using Make, CMake, or Cargo
- Familiarity with debugging tools: tcpdump, strace, dmesg, ip, ss
- Eligibility for a SECRET clearance and ultimately a TS/SCI
Additional/Desired:
- Eligible for a TS/SCI Clearance
- Experience with Rust programming language
- Familiarity with: iptables, NAT, or VPN concepts
- Familiarity with Linux device management (udev)
- Exposure to USB device/gadget frameworks
- Exposure to /dev, sysfs, or procfs interfaces
- Experience with ARM-based systems (e.g., Raspberry Pi)
- Exposure to performance tuning in low-level or embedded C software
Global Comp$100,000 - $180,000 This represents the typical compensation range for this position based on experience, location and other factors.
Skills
Don't send a generic resume
Paste this job description into Mimi and get a resume tailored to exactly what the hiring team is looking for.
Get started free