Role Description
This Senior Embedded Software Engineer role is a hybrid position based in Vancouver, BC, with a mix of on-site collaboration and work-from-home flexibility. The engineer will design, implement, and maintain embedded software for complex systems, from low-level drivers to application logic, ensuring performance, reliability, and safety. Day-to-day responsibilities include writing and reviewing embedded code, performing unit and integration testing, and using debugging tools and instrumentation to identify and resolve issues on both hardware and software levels. The role involves collaborating closely with hardware engineers, product managers, and other software teams to define requirements, refine architectures, and deliver production-ready solutions. The engineer will also contribute to technical documentation, mentor peers, and help shape best practices and coding standards for embedded development.
Qualifications
-
Strong proficiency in embedded software programming (e.g., C/C++ for microcontrollers, real-time and resource-constrained environments).
-
Experience in embedded software and firmware development, including working with RTOS or bare-metal systems and hardware interfaces (SPI, I2C, UART, CAN, etc.).
-
Solid background in software development practices, including version control, code review, CI/CD, and test-driven or unit-test-oriented workflows.
-
Demonstrated strength in debugging and troubleshooting, using tools such as debuggers, logic analyzers, oscilloscopes, and protocol analyzers.
-
Proven software design skills, including modular architecture, design patterns for embedded systems, and clear, maintainable code structure.
-
Bachelor’s degree or higher in Computer Engineering, Electrical Engineering, Computer Science, or a related technical field, or equivalent practical experience.
-
Experience with modern collaboration workflows in cross-functional engineering teams and the ability to communicate technical concepts clearly to diverse stakeholders.
-
Familiarity with safety-critical or regulated domains (e.g., automotive, medical, industrial control) and performance optimization for embedded platforms is an asset.