Embedded Software Engineer
About the role
The Embedded Software Engineer will lead firmware design, implementation, and testing across the full product lifecycle. This role owns firmware architecture, design execution, and the processes, tools, and metrics used for delivering high‑reliability safety‑critical products. You will collaborate cross‑functionally to drive architecture, integration, quality, and compliance for advanced detection systems.
Responsibilities
- Translate high‑level concepts into robust, scalable, maintainable firmware architectures.
- Capture and document requirements and rationale for regulated products to ensure traceability and compliance.
- Collaborate with hardware teams on hardware/firmware integration strategies and diagnostic coverage.
- Work with Product Owners and stakeholders using Agile practices to maintain alignment and transparency.
- Lead and adhere to development processes, conduct technical reviews, and deliver production‑quality source code.
- Ensure all firmware is well‑documented, thoroughly tested, and version‑controlled.
- Perform unit testing using IDEs, debuggers, emulators, oscilloscopes, communication analyzers, and logic analyzers.
- Provide work breakdown structures, task estimates, and support project planning.
- Develop and implement risk mitigation strategies throughout the firmware lifecycle.
- Support system/subsystem/module architecture definition and refinement.
Required Qualifications
- Bachelor’s degree in Computer Engineering, Electrical Engineering, Computer Science, or related field.
- 5+ years of experience developing embedded software/firmware in C/C++.
- 2+ years of experience with Real-Time Operating Systems (RTOS).
Preferred Qualifications
- Master’s degree in Engineering, Computer Science, or related field.
- Experience in regulated industries (medical, industrial safety, automotive, etc.).
- Experience with communication protocols, including HART (Highway Addressable Remote Transducer) and LON (Local Operating Network / LonWorks).
- Proficiency with firmware debugging tools: JTAG/SWD debuggers, oscilloscopes, logic analyzers, and protocol analyzers (UART, I2C, SPI, Ethernet).
- Demonstrated success delivering firmware across the full development lifecycle.
- Strong experience with Agile development and DevOps tools (Git, CI/CD, automated testing).
- Experience contributing to FMEAs and implementing firmware risk‑mitigation strategies.
Pay
The pay range for this position is $50.00 - $70.00/hr. Individual compensation offered for this position within this range will depend on many factors, including qualifications, skills, relevant experience, job knowledge, geographic location, internal equity, and other pertinent job-related factors.
Schedule
This is a Contract to Hire position based out of Minneapolis, MN. This is a fully onsite position in Minneapolis, MN.
Benefits
Eligibility requirements apply to some benefits and may depend on your job classification and length of employment. Benefits are subject to change and may be subject to specific elections, plan, or program terms. If eligible, the benefits available for this temporary role may include the following:
- Medical, dental & vision
- Critical Illness, Accident, and Hospital
- 401(k) Retirement Plan – Pre-tax and Roth post-tax contributions available
- Life Insurance (Voluntary Life & AD&D for the employee and dependents)
- Short and long-term disability
- Health Spending Account (HSA)
- Transportation benefits
- Employee Assistance Program
- Time Off/Leave (PTO, Vacation or Sick Leave)
This position is anticipated to close on Aug 28, 2026.