Senior Embedded Software Engineer
Role details
Job location
Tech stack
Job description
The Senior Embedded Software Engineer is responsible for leading the design, development, debugging, and support of embedded software and firmware for consumer electronics products. This role owns the embedded software development lifecycle for assigned products and features, from requirements review, architecture, and implementation through validation, release, and post-production support. The Senior Embedded Software Engineer provides technical leadership in embedded software design, hardware/software integration, system debugging, and software quality practices while collaborating closely with R&D, product, QA, and manufacturing teams to deliver reliable, high-quality embedded systems.
Essential Functions
A. Own and lead the embedded software and firmware lifecycle for assigned products and features, including architecture, design, development, validation, release, and support.
B. Collaborate with the product development team on product requirements, specifications, and technical feasibility.
C. Lead the embedded system hardware design, including microcontrollers, memory, I/O, audio, displays, and other digital design considerations.
D. Use lab equipment such as oscilloscopes, logic analyzers, multimeters, and related tools to troubleshoot embedded hardware and firmware issues.
E. Support and guide QA activities, including defect investigation, issue reproduction, root-cause analysis, test support, and validation.
F. Drive software quality through design discussions, testing, documentation, and peer or AI-assisted code reviews.
G. Provide technical guidance, mentorship, and design feedback to other engineers as needed.
H. Perform other duties as assigned.
Requirements
A. 7+ years of hands-on experience developing and troubleshooting embedded software/firmware.
B. BS in Computer Science, Computer Engineering, Electrical Engineering, or equivalent
C. Strong programming experience in C and assembly, with working knowledge of C++ preferred.
D. Experience developing and troubleshooting embedded systems with microcontrollers, peripherals, interrupts, timers, and communication interfaces such as UART, SPI, I2C, or similar.
E. Experience with RTOS-based, preemptive, multitasking embedded systems.
F. Ability to read and review schematics and provide input on embedded system hardware design, including microcontrollers, memory, I/O, and digital interfaces.
G. Hands-on experience debugging hardware and firmware using oscilloscopes, logic analyzers, multimeters, and related lab equipment.
H. Ability to work independently while collaborating with other engineering disciplines, product, QA, and manufacturing teams.
I. Experience leading technical design discussions, troubleshooting complex issues, and guiding engineering decisions.
Preferred Qualifications
A. Experience with USB device stacks and host-side software implementation.
B. Experience implementing Wi-Fi, Bluetooth Classic, and/or Bluetooth Low Energy.
C. Experience writing Windows or macOS applications.
D. Experience with C#, .NET, Python, or similar languages used for internal tools and test applications., * Bachelor's (Required)
Benefits & conditions
Pulled from the full job description
- Referral program
- 401(k)
- Health insurance
- 401(k) matching
- Paid time off
- Vision insurance
- Dental insurance, * 401(k)
- 401(k) matching
- Dental insurance
- Health insurance
- Paid time off
- Referral program
- Vision insurance