Sr. Embedded Software Engineer
Lattice Semiconductor View all jobs
- Zephyr, ON
- Permanent
- Full-time
- Own the architecture, development, and lifecycle of device drivers for on‑chip and external peripherals (Ethernet, PCIe, USB, SPI, I2C, UART, GPIO), ensuring scalability across silicon revisions and product generations.
- Design and implement low‑level driver software across bootloader, OS/RTOS, and embedded Linux environments, defining clear driver interfaces aligned with platform‑level software architecture.
- Lead system bring‑up and early silicon debug at the HW/SW boundary, resolving complex integration issues using tools such as JTAG and logic analyzers.
- Collaborate closely with hardware, Soft IP, systems, and validation teams on HW/SW co‑design, interface definition, and architectural decisions.
- Drive root‑cause analysis of complex issues spanning device drivers, firmware, operating systems, and hardware, optimizing for performance, reliability, and maintainability.
- Provide technical leadership through code and design reviews and clear driver architecture and bring‑up documentation, supporting integration, validation, and long‑term sustainment.
- Bachelor’s or Master’s degree in Electrical Engineering, Computer Engineering, Computer Science, or equivalent
- 5+ years of experience in embedded software and firmware development at the hardware/software boundary
- Strong proficiency in C/C++ for embedded systems
- Hands‑on experience developing and debugging device drivers, including bootloaders (e.g., U‑Boot), embedded Linux, and RTOS‑based systems
- Experience with bare‑metal and RTOS environments (e.g., FreeRTOS, Zephyr) and familiarity with embedded Linux
- Solid understanding of embedded processor architectures (e.g., RISC‑V, ARM); experience with FPGA‑based or soft‑processor platforms is a plus
- Experience with system bring‑up, early silicon debug, and HW/SW integration, using tools such as JTAG or logic analyzers
- Ability to read and understand hardware schematics, register maps, and interface specifications
- Experience participating in or leading code and design reviews; strong documentation and communication skills
- Familiarity with complex peripherals (e.g., PCIe, USB, Ethernet) and scripting (e.g., Python) is a plus