We are seeking a skilled Microcontroller Programmer to design, develop, and maintain embedded firmware for microcontroller-based systems. The ideal candidate will work closely with hardware, electrical, and product design teams to implement reliable, efficient, and high-performance embedded solutions.
Key Responsibilities:
Develop and maintain firmware for microcontrollers (8-bit, 16-bit, and 32-bit MCUs)
Write, debug, and optimize embedded C/C++ code
Interface firmware with hardware peripherals (GPIO, ADC, DAC, timers, interrupts)
Implement and debug communication protocols (UART, SPI, IC, USB, CAN, RS232/RS485)
Support board bring-up, debugging, and validation on new hardware designs
Collaborate with hardware engineers on schematics and PCB layouts
Implement bootloaders, firmware update mechanisms, and production programming flows
Perform code reviews, documentation, and version control
Troubleshoot firmware and hardware interaction issues in development and production
Support manufacturing and field issue resolution as required
Required Qualifications:
Strong experience programming microcontrollers in
C/C++
Hands-on experience with common MCU families (e.g., STM32, PIC, AVR, MSP430, NXP, Microchip, ESP32)
Experience with embedded development tools (IDEs, debuggers, JTAG/SWD)
Understanding of real-time constraints and interrupt-driven systems
Ability to read schematics and work closely with hardware
Preferred Qualifications:
Experience with
RTOS
(FreeRTOS or similar)
USB, audio, or signal-processing experience
Experience with low-power systems
Knowledge of EMC/ESD considerations
Familiarity with manufacturing test and programming workflows
Soft Skills:
Strong problem-solving and debugging skills
Good communication and documentation abilities
Ability to work independently and within cross-functional teams
Attention to detail and quality
Education:
Bachelor's degree in Electrical Engineering, Computer Engineering, or related field
(Equivalent experience will be considered)
Casual dress
Dental care
Extended health care
On-site parking
Application question(s):
Please provide one example of a customer-facing user interface you designed for a consumer electronics or hardware-adjacent product. Include a brief description of your role, the problem you were solving, and any artifacts you can share such as mockups, prototypes, or screenshots.
Describe a project you owned from initial concept through delivery. Outline your responsibilities at each stage, including planning, execution, stakeholder coordination, and final rollout.
Have you created standard operating procedures or training materials for others to use? If yes, describe the context, who the audience was, and how you ensured consistency and adoption across the team.
Work Location: Hybrid remote in Calgary, AB T2G 5M8
Beware of fraud agents! do not pay money to get a job
MNCJobz.com will not be responsible for any payment made to a third-party. All Terms of Use are applicable.