1

Embedded C Jobs in Virginia (NOW HIRING)

Responsibilities Design, implement, and test embedded software solutions in C/C++ for microcontrollers, real time operating systems (RTOS), or Linux based embedded systems. Develop firmware and low ...

Design , implement, and test embedded software solutions in C/C++ for microcontrollers, real time operating systems (RTOS), or Linux based embedded systems. * Develop firmware and low-level drivers ...

Design , implement, and test embedded software solutions in C/C++ for microcontrollers, real time operating systems (RTOS), or Linux based embedded systems. * Develop firmware and low-level drivers ...

Work includes software requirements development, software test and integration, and both applicationlevel and embedded C/C++ development, including Linuxbased GUI and system control work. The role ...

Senior Embedded Software Engineer

Dahlgren, VA · On-site

$126.50K - $165.70K/yr

Design, implement, and test embedded software solutions in C/C++ for microcontrollers, real time operating systems (RTOS), or Linux based embedded systems * Develop firmware and low level drivers to ...

Senior Embedded Software Engineer

Dahlgren, VA

$126.50K - $165.70K/yr

Design, implement, and test embedded software solutions in C/C++ for microcontrollers, real time operating systems (RTOS), or Linux based embedded systems * Develop firmware and low level drivers to ...

next page

Showing results 1-20

Embedded C information

See Virginia salary details

$69.4K

$152.1K

$172.5K

How much do embedded c jobs pay per year?

As of May 29, 2026, the average yearly pay for embedded c in Virginia is $152,068.00, according to ZipRecruiter salary data. Most workers in this role earn between $130,400.00 and $171,500.00 per year, depending on experience, location, and employer.

What are the key skills and qualifications needed to thrive as an Embedded C Engineer, and why are they important?

To thrive as an Embedded C Engineer, you need a solid background in C programming, embedded systems concepts, and a degree in electronics, computer engineering, or a related field. Familiarity with microcontrollers, RTOS, debugging tools like JTAG, and industry certifications such as ARM or Embedded Systems certification are typically required. Strong problem-solving, attention to detail, and effective teamwork skills help you excel in developing reliable and efficient embedded solutions. These competencies are critical because they ensure the creation of robust, high-performance embedded products that meet both technical and market requirements.

What are some common challenges faced by Embedded C developers when working on cross-functional teams?

Embedded C developers often collaborate closely with hardware engineers, firmware teams, and product managers. A common challenge is ensuring smooth communication between disciplines, especially when translating hardware requirements into efficient software solutions. Additionally, balancing resource constraints—such as memory and processing power—while meeting project deadlines requires strong problem-solving skills. Being proactive in documenting code and discussing technical limitations helps foster effective teamwork and successful project outcomes.

What is Embedded C and what do Embedded C developers do?

Embedded C is a programming language extension of the C language, specifically designed for programming embedded systems such as microcontrollers, IoT devices, and real-time systems. Embedded C developers write code that directly interacts with hardware to control devices, optimize performance, and ensure reliable operation. Their responsibilities often include writing firmware, debugging hardware-software integration, and ensuring the efficient use of system resources.

What is the difference between Embedded C vs Microcontroller Firmware Developer?

AspectEmbedded C

Skill FocusProgramming language used for embedded systems development
Work EnvironmentEmbedded systems, microcontroller programming, hardware integration
CertificationsKnowledge of C programming, embedded systems certifications
Industry UsageElectronics, automotive, consumer devices, IoT

Embedded C is a programming language used to develop software for embedded systems, including microcontrollers. A Microcontroller Firmware Developer writes the actual firmware that runs on microcontrollers, often using Embedded C. While Embedded C refers to the language, the Firmware Developer role involves applying that language to create functional firmware. Both roles require similar skills and certifications, and they are often used interchangeably in industry contexts.

$115K - $190K/yr

Full-time

Posted 23 days ago


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 countrys 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, veterans status or any other status legally protected by applicable federal, state, and local law.