Senior Embedded Software Engineer

New
Remote or hybrid/onsite capacity, with travel to Cedar Rapids, Iowa, up to 25% as needed.ContractSenior
Salary57 - 86 USD per hour
Apply NowOpens the employer's application page

Job Details

Experience
7+ years of experience in embedded software development.
Required Skills
QtC++Unit Testing

Requirements

  • Bachelor’s degree in Computer Engineering, Computer Science, Electrical Engineering, Software Engineering, or a related STEM field.
  • 7+ years of experience in embedded software development.
  • Strong C++ development experience, with emphasis on back-end software, system-level development, and input/output processing.
  • Experience debugging, troubleshooting, and testing embedded software in lab, integration, or system-level environments.
  • Experience working with serial, digital I/O, or other hardware/software interfaces.
  • Ability to develop and execute unit tests, integration tests, or software validation procedures.
  • Strong communication and cross-functional collaboration skills.
  • Experience with DO-178C software development or verification (preferred).
  • Experience with Embedded Linux (preferred).
  • Experience with Qt, XAML, or other GUI development tools (preferred).
  • Familiarity with DDS communications (preferred).
  • Experience with I2C, MIL-STD-1553, or similar serial/data bus protocols (preferred).
  • Knowledge of Board Support Packages, device drivers, or low-level hardware integration (preferred).

Responsibilities

  • Design, develop, and maintain embedded software in C++ for mission-critical navigation and timing systems.
  • Support back-end software development, input/output processing, and interface integration across embedded systems.
  • Develop, debug, and troubleshoot software functionality in lab, integration, and system-level environments.
  • Analyze and test internal interfaces to support reliable communication, data flow, and overall system performance.
  • Create, execute, and maintain unit tests, ad hoc tests, and formal test procedures to verify software functionality and integrity.
  • Support integration of serial and digital I/O interfaces, including communication with hardware, drivers, and related system components.
  • Collaborate with cross-functional engineering teams to resolve technical issues and support program milestones.
  • Document software design, test results, defects, and technical findings.
  • Support software updates, issue resolution, and validation activities throughout the development lifecycle.
View Full Description & ApplyYou'll be redirected to the employer's site
57 - 86 USD per hour
Apply Now