Share this job
Embedded Software Engineer
Madison Heights, MI
Apply for this job

Position Overview

The Senior Software Engineer is a senior technical contributor responsible for designing, implementing, and supporting embedded and real-time software systems. This role focuses on architecture, protocol implementation, and high-reliability communication systems used in complex, hardware-integrated environments.

The position requires deep expertise in embedded software, real-time systems, and distributed communication, along with the ability to mentor junior and intermediate engineers.

Contract Length: Initial 6-month contract with potential extension


Key Responsibilities

  • Own architectural decisions for real-time embedded communication systems
  • Design and implement message routing, translation layers, and distributed messaging architectures
  • Develop production-quality embedded software with a focus on reliability, determinism, and performance
  • Implement and maintain hardware interface layers using C/C++
  • Design real-time systems with deterministic timing requirements
  • Integrate heterogeneous network types across hardware and software boundaries
  • Author and maintain technical documentation including ICDs and configuration schemas
  • Establish configuration standards across device families
  • Lead hardware/software integration efforts with FPGA and systems teams
  • Drive code quality standards for safety-critical embedded systems
  • Support and mentor junior and intermediate engineers through reviews and guidance
  • Contribute to system-level debugging, performance tuning, and continuous improvement initiatives


Required Qualifications

  • Bachelor’s degree in Computer Science, Engineering, or related field (Master’s preferred)
  • 8+ years of professional software development experience
  • Expert-level Rust experience in production embedded environments
  • Strong proficiency in C/C++ for low-level and hardware interface development
  • Experience designing distributed messaging architectures
  • Experience with automotive and industrial communication protocols (CAN 2.0, J1939, CANopen)
  • Proven experience developing real-time systems with deterministic timing requirements
  • Demonstrated ability to bridge heterogeneous network types
  • Experience authoring technical specifications and protocol documentation
  • Track record of mentoring engineers
  • Strong written and verbal communication skills


Preferred Qualifications

  • FPGA development experience (VHDL/Verilog)
  • Experience with time-sensitive networking (TSN) or deterministic Ethernet
  • RTOS experience (FreeRTOS, Zephyr, or QNX)
  • Experience with UAV or drone systems including flight controllers or telemetry
  • Protocol design and specification authorship experience
  • Systems integration experience across hardware and software boundaries
  • Ability to obtain a security clearance


Core Competencies

  • Embedded and real-time software architecture
  • Distributed systems and communication protocols
  • Hardware/software integration
  • Technical leadership and mentorship
  • Analytical problem-solving and debugging
  • High-reliability and safety-critical system design


#HRUProfessional

Apply for this job