
Embedded Systems Engineer II
D-Wave
full-time
Posted on:
Location Type: Hybrid
Location: Burnaby • 🇨🇦 Canada
Visit company websiteSalary
💰 CA$86,880 - CA$130,320 per year
Job Level
JuniorMid-Level
Tech Stack
JenkinsLinux
About the role
- Design, develop and test embedded firmware and software for our quantum control and readout systems
- Develop and extend automated testing frameworks (unit, integration, and hardware-in-the-loop tests)
- Coordinate with FPGA designers to diagnose and resolve cross-boundary bugs (latched values, timing mismatches, resets, interrupts, etc.)
- Assist in validating FPGA builds by writing firmware-side drivers, test programs, and data-capture tools
- Refactor and improve legacy C firmware to enhance reliability, readability, and maintainability
- Work closely with the multi-disciplinary teams in Engineering, Software and Processor Development
- Maintain version-controlled documentation integrated with development workflows
- Perform routine engineering tasks independently while seeking guidance on new or complex assignments, raising potential roadblocks early, and collaborating on problem-solving where appropriate
Requirements
- Degree in Electrical Engineering, Software Engineering, Computer Engineering, Engineering Physics, or equivalent experience
- 2–5 years of relevant experience (or equivalent combination of education and experience)
- Proficiency in C/C++ for embedded systems
- Familiarity with VHDL/Verilog sufficient to understand module interfaces
- Strong understanding of hardware/software co-design principles
- Solid grasp of digital logic fundamentals, timing concepts and low-level interfaces
- Experience working with FPGA register maps, memory-mapped interfaces, low-level timing requirements, and communication protocols
- Strong verbal and written communication skills, with the ability to collaborate effectively and ask clarifying questions when needed
- Demonstrated ability to organize work, make small independent decisions, and take ownership of assigned tasks
- Master’s degree or higher in a related discipline (Electrical Engineering, Software Engineering, Engineering Physics, Experimental Physics) (additional qualification)
- Experience with high-speed interfaces (PCIe, DDRx, Ethernet, SERDES) (additional qualification)
- Exposure to test-driven development or property-based testing for embedded systems (additional qualification)
- Experience with CI pipelines for embedded/FPGA development (e.g., GitLab, Jenkins) (additional qualification)
- Strong software engineering skills in experimental design, data acquisition, and data analysis (additional qualification)
- Experience with oscilloscopes, logic analyzers, JTAG/SWD, and hardware bring-up processes (additional qualification)
- Experience in safety-critical, high-reliability, or regulated design environments (additional qualification)
- Linux device driver development experience (additional qualification)
- Registered as an EIT or Professional Engineer in British Columbia (or eligible to register) (additional qualification)
Benefits
- Competitive pay
- Company ownership
- Meaningful benefits
- Professional development opportunities
- Total rewards review during the interview process
Applicant Tracking System Keywords
Tip: use these terms in your resume and cover letter to boost ATS matches.
Hard skills
CC++VHDLVerilogFPGAdigital logictiming conceptscommunication protocolstest-driven developmentLinux device driver development
Soft skills
strong verbal communicationstrong written communicationcollaborationorganizational skillsindependent decision-makingownership of tasksproblem-solving
Certifications
EITProfessional Engineer