
Senior Engineer, Embedded Software
- Vancouver, BC
- Permanent
- Full-time
- Architect, design, and implement embedded software for custom ASICs and SoCs.
- Lead software development efforts including bootloaders, RTOS integration (including Zephyr OS), device drivers, and system-level software.
- Collaborate with hardware, systems, and applications teams to define software requirements and ensure seamless integration.
- Drive debugging and bring-up of new silicon platforms using JTAG, oscilloscopes, and logic analyzers.
- Optimize software for performance, power efficiency, and memory usage.
- Conduct code reviews, mentor junior developers, and promote best practices in software engineering.
- Contribute to project planning, risk assessment, and technical documentation.
- Bachelor’s or Master’s degree in Electrical Engineering, Computer Engineering, or a related field.
- 7+ years of experience in embedded software development, preferably in a product-focused environment.
- Deep expertise in C/C++ and embedded systems programming.
- Strong experience with RTOS or Linux kernel development.
- Hands-on experience with Zephyr OS in real-world embedded applications.
- Proficiency with ARM Cortex-M/A architectures and low-level hardware interfaces (SPI, I2C, UART, GPIO).
- Proven track record of debugging complex embedded systems and working closely with hardware teams.
- Experience with wireless communication protocols (e.g., BLE, Zigbee, Wi-Fi).
- Familiarity with secure boot, firmware update mechanisms, and embedded security.
- Exposure to ASIC/FPGA development environments and simulation tools.
- Experience with CI/CD pipelines and version control systems (e.g., Git, Jenkins).
- Strong communication and leadership skills.
- Work on cutting-edge technologies with global impact.
- Lead and mentor in a collaborative, innovation-driven environment.
- Competitive compensation, stock options, and comprehensive benefits.
- Flexible work arrangements and a culture that values diversity and inclusion.