Embedded Android Software Engineer

Riverside Research Institute
Fairfax, United States of America
25 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Intermediate
Compensation
$ 180K

Job location

Fairfax, United States of America

Tech stack

Android
Systems Engineering
UClibc (C Standard Library)
C++
CMake
Computer Engineering
Software Debugging
Linux
Embedded C
Linux on Embedded Systems
Embedded Software
Firmware
Virtual Private Networks (VPN)
Linux-Powered Devices
Networking Basics
Routing
Performance Tuning
Raspberry Pi
Reverse Engineering
Software Construction
Tcpdump
Wireless Networks
Firewalls (Computer Science)
GIT
SC Clearance
Kotlin
Yocto
Information Technology
Iptables
Build Process
Multiplatform
Software Version Control

Job description

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.

Requirements

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

Benefits & conditions

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

Closing Statement

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.

About the company

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.

Apply for this position