Posted 15h ago

Embedded Android Software Engineer

@ Riverside Research
Fairfax, Virginia, United States
$115k-$190k/yrOnsiteFull Time
Responsibilities:Developing C/C++, Systems-level collaboration, Networking analysis
Requirements Summary:Bachelor’s degree or higher; 3+ years Linux embedded; Android AOSP; C/C++ development; cross-platform; TS/SCI eligibility
Technical Tools Mentioned:Git, AOSP, Linux, Yocto, Buildroot, Make, CMake, Rust, tcpdump, strace
Save
Mark Applied
Hide Job
Report & Hide
Job Description

Riverside Research is an independent National Security Nonprofit dedicated to research and development in the national interest. We provide high-end technical services, research and development, and prototype solutions to some of the country’s most challenging technical problems.
 
 All Riverside Research opportunities require U.S. Citizenship.
 

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.

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.

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

$100,000 - $180,000 This represents the typical compensation range for this position based on experience, location and other factors.


 
Riverside Research Institute is a not-for-profit, technology-oriented defense company, where service to our customers and support of our staff is our overall mission. Riverside is an affirmative action-equal opportunity employer and complies with all applicable federal, state, and local laws regarding recruitment and hiring.  Riverside offers comprehensive compensation and benefit packages to our employees.
Riverside bases its employment decisions solely on technical experience, qualifications and other job-related criteria related to our organizational purpose as a not-for-profit company, and without regard to race, color, religion, age, sex marital status, sexual orientation, national origin, physical or mental disability, veteran’s status or any other status legally protected by applicable federal, state, and local law.