Embedded Engineer with C,C++, RTOS, MCU Experience.

  • Southfield, MI
  • Posted 23 hours ago | Updated 23 hours ago

Overview

On Site
Depends on Experience
Contract - Independent
Contract - W2
Contract - 12 Month(s)

Skills

C
C++
RTOS
MCU

Job Details

Job Title: Software Algorithm Engineer

Location: Southfield, MI (Fully onsite)

Duration: 12+ Months

Job Description:

- Bachelor's degree or equivalent experience in Computer Science or related field
- 5+ years of experience in embedded software development using C/C++ (additional experience with assembly or Python is a plus).
- Hands-on knowledge of microcontrollers, RTOS environments, hardware interfaces (SPI, I2C, UART), and hardware-in-the-loop testing.
- Familiarity with version control tools (e.g., Git) and continuous integration (CI/CD) practices.
- Comfortable working at the intersection of hardware and software understanding low-level drivers, interrupt service routines, and resource constraints.
- Ability to translate system requirements into efficient, maintainable code with a keen eye for potential performance bottlenecks.
- Adept at breaking down complex technical challenges related to sensors, wireless protocols, or real-time constraints into actionable tasks.
- Thrives in a fast-paced, R&D-focused environment where some requirements may be fluid and solutions need to be validated quickly.
- Ownership of projects, from initial planning through deployment, while actively seeking and incorporating stakeholder feedback.
- Enthusiastic about working in a multi-disciplinary team and contributing to the collective success of high-accuracy micro-location solutions.

Job Responsibilities:

The ideal candidate will be responsible for developing high-quality applications. They will also be responsible for designing and implementing testable and scalable code.

Responsibilities:

- Design and implement embedded software solutions that interface with sensors, wireless radios, ethernet networks, etc. while maintaining real-time requirements (sub micro/nano-second).
- Develop robust drivers and firmware components that integrate seamlessly into larger embedded platforms.
- Work closely with FPGA, hardware, and DSP teams to ensure smooth integration of software and firmware components.
- Optimize embedded system performance memory usage, real-time responsiveness, and power consumption across various platforms and microcontrollers.
- Collaborate with QA and test engineers to define comprehensive testing strategies, including unit tests and automated integration tests.
- Diagnose complex issues using debug tools, oscilloscopes, and in-circuit emulators, ensuring system reliability and stability.

Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.