Chemelex

Embedded Software Developer

Chemelex Edmonton, Alberta, Canada

Appliances, Electrical, and Electronics Manufacturing · 5,001-10,000 employees

14 h ago
embedded Mid (2-5 yrs) Full-time Canada
Create a free account to apply — email only, no card. You can also save this posting or score it against your profile with AI.

About the role

The developer will implement firmware for microcontrollers using Rust and collaborate within an Agile team to create new industrial and commercial products. They are responsible for debugging hardware-firmware interactions and participating in peer code reviews to ensure quality.

What they look for

Rust C++ Firmware development Microcontrollers Embedded software GitLab Jira Debugging Oscilloscopes Logic analyzers JTAG GDB Python Linux Communication protocols RTOS

Requirements

Candidates must hold a bachelor's degree in a relevant engineering or computer science field and possess at least two years of experience in embedded software development. Proficiency in Rust or C/C++ is required, along with the ability to work independently in a collaborative office environment.

Full 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

Similar roles