Back to jobs

Embedded Software Developer, Research & Development
Edmonton, AB, CAPosted 6 days ago
remote
Job Description
We're looking for a talented Embedded Software Developer to join our team!
We are a global leader creating new industrial and commercial embedded products at our Edmonton R&D centre.
Your contributions will power next-generation embedded solutions for global markets.
With significant investment in digital transformation, this is an exciting time to join us.
WHAT YOU WILL DO:
Research and Development: Create new products for global markets
Agile collaboration: Work in a dynamic Agile team delivering cutting-edge solutions.
Embedded Software Development: Under the guidance of senior embedded firmware developers:
Refine requirements with Product Management
Implement firmware for microcontrollers, primarily in Rust (C/C++ experience welcome), including async programming and no_std.
Debug and troubleshoot firmware-hardware interactions using tools like IDE’s, oscilloscopes, logic analyzers, JTAG, and GDB.
Participate in peer review of code for adherence to best practices, bug detection and quality improvement
Testing of code through unit tests, automated test systems and manual testing
Collaborate using GitLab, Jira, and Teams in a Windows or Linux environment (in our Edmonton office four days/week, hybrid one day/week)
YOU HAVE:
Bachelor’s degree in Electrical Engineering, Computer Engineering, Software Engineering, Computer Science, or equivalent experience
2+ years of work experience developing and debugging embedded software or firmware in Rust, or C/C++ and a willingness to learn Rust.
Attributes: Motivated, quick learner, able to work independently with direction
Bonus Skills:
Git proficiency
Python or similar scripting
Linux development, kernel programming, U-Boot
Reading datasheets and schematics
Electronic troubleshooting with JTAG, oscilloscopes, etc.
Multi-threaded programming
Communication protocols (RS-232, RS-485, IP, Modbus, CAN bus)
Bare-metal and board bring-up
RTOS (FreeRTOS), ARM, ESP32
Object-oriented design and patterns
Technical documentation skills
Strong communication and collaboration