Senior Embedded Engineer

Enin Systems
United States
2 days ago
Apply on www.dice.com
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Working hours
Regular working hours
Job source

Tech stack

Clean Code Principles Board Bringup C (Programming Language) ARM Architecture User Authentication Booting (BIOS) UClibc (C Standard Library) C++ (Programming Language) CMake Compilers Software Quality Communications Protocols
+42 more
Cyber Security Computer Programming Computer Engineering Continuous Integration Software Debugging Linux Device Drivers Memory Management Embedded C Linux on Embedded Systems Middleware Embedded Software Ethernet Firmware FreeRTOS GNU Debuggers Hardware Design Joint Test Action (IEEE Standards) Python (Programming Language) Performance Tuning Real-Time Operating Systems Software Deployment Software Engineering Software Requirements Analysis Systems Integration Universal Asynchronous Receiver/Transmitter USB Multithreading Serial Peripheral Interface PIC Microcontroller Real Time Systems Concurrency Hardware Testing Git System-level Testing Yocto Information Technology Build Tools Hardware Infrastructure U-Boot Software Coding Software Version Control

Job description

We are seeking an experienced Senior Embedded Engineer to design, develop, integrate, and maintain embedded software and firmware for next-generation products. The ideal candidate will have strong experience in embedded C/C++, microcontrollers, RTOS, hardware-software integration, debugging, and embedded system architecture., The Senior Embedded Engineer will work closely with hardware, firmware, systems, QA, and product teams to deliver reliable, high-performance embedded solutions from concept through production., * Design and develop embedded software and firmware for microcontroller-based systems.

  • Develop efficient, reliable, and maintainable code using C/C++.
  • Work with RTOS environments such as FreeRTOS, Zephyr, ThreadX, or similar platforms.
  • Develop and integrate device drivers, board-support packages, middleware, and application-level firmware.
  • Interface with hardware components using protocols such as I2C, SPI, UART, CAN, USB, Ethernet, and GPIO.
  • Participate in embedded system architecture, design reviews, and technical decision-making.
  • Analyze system requirements and translate them into software and firmware specifications.
  • Perform debugging using oscilloscopes, logic analyzers, JTAG/SWD debuggers, and other embedded development tools.
  • Troubleshoot complex hardware/software integration issues and perform root-cause analysis.
  • Develop unit, integration, and system-level tests for embedded applications.
  • Optimize firmware for memory usage, CPU performance, power consumption, and real-time behavior.
  • Collaborate with hardware engineers on schematic reviews, board bring-up, and hardware validation.
  • Support firmware releases, production deployment, and post-production troubleshooting.
  • Mentor junior embedded engineers and contribute to coding standards and best practices.
  • Maintain technical documentation, design specifications, test plans, and development records.

Requirements

  • Bachelor’s or Master’s degree in Electrical Engineering, Electronics Engineering, Computer Engineering, Computer Science, or a related field.
  • 12+ years of experience in embedded software/firmware development.
  • Strong programming experience in Embedded C/C++.
  • Hands-on experience with microcontrollers such as ARM Cortex-M, STM32, NXP, TI, Renesas, or similar platforms.
  • Strong understanding of embedded systems, real-time programming, memory management, interrupts, timers, and concurrency.
  • Experience with RTOS and multithreaded embedded applications.
  • Experience with embedded communication protocols including I2C, SPI, UART, CAN, USB, and Ethernet.
  • Strong debugging and troubleshooting skills across hardware and software.
  • Experience with Git and software development/version-control practices.
  • Familiarity with embedded development tools, compilers, debuggers, IDEs, and build systems.

Preferred Qualifications

  • Experience with Embedded Linux, Yocto, or Buildroot.
  • Experience developing device drivers or BSPs.
  • Knowledge of bootloaders, firmware updates, OTA updates, and secure boot.
  • Experience with automotive, medical devices, industrial automation, consumer electronics, IoT, or other safety-/mission-critical embedded systems.
  • Familiarity with Python or scripting for automation and testing.
  • Knowledge of hardware design, schematics, PCB concepts, and electronics fundamentals.
  • Experience with CI/CD and automated embedded software testing.
  • Familiarity with cybersecurity concepts such as encryption, authentication, secure communications, and firmware security.
  • Experience with functional safety standards such as ISO 26262, IEC 61508, or relevant industry standards is a plus.

Technical Skills

Programming: C, C++, Python Microcontrollers: ARM Cortex-M, STM32, NXP, TI, Renesas RTOS: FreeRTOS, Zephyr, ThreadX, QNX Protocols: CAN, I2C, SPI, UART, USB, Ethernet Operating Systems: Embedded Linux, Linux, RTOS Tools: Git, JTAG/SWD, GDB, oscilloscopes, logic analyzers, IDEs Build/Automation: CMake, Make, GCC, CI/CD Debugging: Hardware/software integration, firmware debugging, performance optimization

Key Competencies

  • Embedded systems architecture
  • Firmware development
  • Hardware/software integration
  • Real-time systems
  • Problem solving and root-cause analysis
  • System debugging
  • Technical leadership
  • Cross-functional collaboration
  • Code quality and engineering best practices
  • Mentoring and knowledge sharing

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.dice.com
Prepare application

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

5:35 min

Direct hardware communication using the Web USB API

Rowdy Rabouw Rowdy Rabouw · World Congress 2025

6:21 min

Investigating push inefficiencies with upstream Git experts

Jonathan Creamer · Coffee With Developers

52 sec

Running persistent Linux environments directly on Windows

Ben Breard Ben Breard · World Congress 2025

1:19 min

Advancing autonomous driving capabilities with specialized software talent

Katrin Lehmann Katrin Lehmann +1 · Coffee With Developers

2:55 min

Bidirectional hardware communication using the web USB API

George Cave · World Congress 2023

3:51 min

Technical skills and collaborative mindsets for mobility engineering roles

Georg Kühberger +1 · LIVE

Videos

See all

Related articles

See all