Job Description
The Role
We are seeking a Firmware Engineer to join our embedded firmware development team in our Waterloo office. This team specializes in developing low-level firmware for advanced power management devices, high performance sensing solutions, embedded ethernet solutions and industry-leading cloud power systems used by global infrastructure providers. In this role, you will collaborate closely with cross-functional teams-including system architecture, design engineering, applications engineering, and embedded firmware development-to deliver robust, high-quality solutions.
Responsibilities
What You'll Do
• Collaborate with system architects, design engineers, firmware engineers, and applications engineers to define and implement optimal firmware solutions
• Develop firmware architecture specifications and associated test plans
• Architect and implement embedded firmware primarily in C, with occasional use of C++ or assembly as required
• Debug firmware on custom hardware platforms and prototypes
• Optimize, refactor, and maintain existing firmware codebases
• Participate in an Agile development environment, contributing to task planning, execution, and timely status updates
• Apply best practices for coding, documentation, and tool usage (e.g., Git, JIRA, and related development tools)
• Work closely with digital design engineers to emulate and validate new designs using FPGA platforms
• Leverage AI-assisted tools throughout the development lifecycle, including requirements analysis, design exploration, coding, test generation, debugging, documentation, and code review
• Evaluate and apply AI capabilities in a disciplined and secure manner to improve developer productivity, code quality, and system understanding
Qualifications
What You'll Need
• Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, Software Engineering, or a related discipline
• 1-3 years of experience in embedded firmware development
• Strong proficiency in embedded C, with working knowledge of C++ and assembly language
• Solid understanding of embedded system design at both board and IC levels
• Good knowledge of microprocessor architectures, including memory subsystems, interrupts, and common peripherals
• Experience with communication protocols such as UART, I²C, SPI, and USB
• Familiarity with hardware debug and analysis tools (e.g., hardware debuggers, oscilloscopes, logic analyzers)
• Strong communication and interpersonal skills, with the ability to collaborate effectively across teams
• Proven ability to plan and manage work to meet project deadlines
• Detail-oriented, quality-focused, and a strong team player
• Interest in or experience with the semiconductor industry
• Demonstrated experience using AI-assisted development tools across multiple stages of the software lifecycle (design, implementation, validation, and maintenance)
• Ability to critically assess AI-generated outputs, validate correctness, and integrate them safely into production-grade firmware
What Else You May Bring
• Experience with scripting languages, particularly Python
• Experience with ARM Cortex-M based microcontrollers
• Hands-on experience with FPGA prototype platforms for system evaluation
• Experience with Verilog or SystemVerilog
• Experience running and analyzing RTL simulations
• Experience building or customizing AI-enabled workflows (e.g., prompt engineering, automation, or tool integration) to support firmware development, verification, or documentation
• Familiarity with enterprise and security considerations when applying AI in a regulated or IP-sensitive environment
More details about our company benefits can be found here:
https://www.onsemi.com/careers/career-benefits