Senior Embedded Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+42 more
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.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
Top Characteristics of a Software Engineer
What is Software Engineering?
Where to Find Entry-Level Software Engineering Jobs
7 Important Tips That Every Software Developer Should Know