Intermediate Embedded Firmware Designer

Socket.dev

Mississauga

On-site

CAD 100,000 - 120,000

Full time

14 days+

Get more replies from employers

Send a job-specific resume in minutes.

Job summary

MAD in Mississauga, Ontario, seeks an Intermediate Embedded Firmware Designer to develop embedded applications for Linux-based devices and IoT products. You will design, implement, and maintain software that interacts with hardware interfaces, networking, and user interfaces using C++, Go, and Qt.

The role requires 3–5 years of experience, a Bachelor’s in a related field, strong debugging skills, and the ability to work with embedded Linux systems.

Qualifications

  • Bachelor’s degree in a relevant field and 3–5 years of professional embedded software experience.
  • Proven ability to diagnose and fix embedded software and hardware integration issues.
  • Strong written and verbal communication skills; proficient in English.

Responsibilities

  • Design, develop, and maintain embedded applications for Linux-based devices.
  • Write clean, modular, and testable code following best practices.
  • Develop software using C++, Go, Python, and related technologies.
  • Create GUIs using Qt and LVGL for embedded devices.
  • Interface software with embedded hardware, peripherals, and communication systems.
  • Collaborate with the Embedded Linux Engineer and other teams throughout development.
  • Troubleshoot issues across software, networking, and hardware integration.
  • Contribute to architectural discussions, reviews, and documentation.

Skills

C++
Go
Qt
Embedded Linux
Networking (TCP/IP/UDP/Ethernet)
Git
Communication
Problem solving
Documentation

Education

Bachelor’s degree in Computer/Software/Electrical Engineering

Tools

GCC toolchain
Linux development

Job description

Think back—was there ever an elevator ride that made you go, “Whoa, this is nice”?

Maybe it was an elegant glass lift or a minimalist stainless-steel rocket.

It might have shaped your first impression or left a lasting memory of a building.

Chances are, the details made the difference; with an aesthetic interior and stylish, well-built buttons and fixtures. Immersive digital technology like visual displays may have turned a simple ride into a memorable experience as well. You may not have noticed these details then, but once you’ve worked with us, you’ll start noticing them everywhere you go.

Company Overview:

We have a vision – to have a MAD product in every elevator. Headquartered in Mississauga Canada, our 80,000 sq. foot facility focuses on the efficient production of industry-leading fixtures, high quality elevator car interiors, and cutting-edge digital products.

At MAD, we set you up to be the expert – providing the tools, support, and environment to help you thrive. From there, it’s all you – your drive and ideas lead the way. MAD has been ranked among Canada's top 500 fastest growing companies, one of Canada’s Best Managed Companies, a Best Places to Work in Canada, and among Best Employers for Recent Graduates.

Our New Intermediate Embedded Firmware Designer:

We’re looking for an Intermediate Embedded Firmware Designer who enjoys developing embedded applications for Linux-based communication devices. You\'ll design, develop, and maintain embedded software applications for Linux-based communication and IoT products while collaborating closely with the Embedded Linux Engineer on system integration and product development. The role focuses on embedded application development, hardware integration, networking, and user interfaces for custom embedded devices.

The ideal candidate is self-driven and capable of independently delivering assigned development work while exercising sound technical judgment and seeking guidance on complex architectural or system-level decisions. They have a systematic problem-solving approach, strong troubleshooting skills, excellent communication skills, and enjoy learning new technologies. Experience with microcontroller firmware development is considered an asset but is not required.

What you will do in the role:

  1. Design, develop, and maintain embedded applications for Linux-based communication devices.
  2. Write clean, modular, reusable, testable, and maintainable code that follows software engineering best practices.
  3. Develop software using C++, Go, Python, and other appropriate technologies
  4. Develop applications that interact with embedded hardware, peripherals, and communication interfaces.
  5. Develop graphical user interfaces using Qt, LVGL, and related frameworks.
  6. Implement software that interfaces with embedded hardware, peripherals, and communication systems.
  7. Develop communication software utilizing TCP/IP, UDP, Ethernet, USB, UART, SPI, I²C, and other embedded interfaces as required.
  8. Collaborate with the Embedded Linux Engineer and other engineering team members throughout product development, validation, and release activities.
  9. Troubleshoot and resolve software, networking, and hardware integration issues.
  10. Participate in software architecture discussions, technical design reviews, and peer code reviews.
  11. Create and maintain technical documentation, including software design documentation and implementation details.
  12. Stay current with emerging technologies, tools, and industry best practices.
  13. Work with cross-functional engineering teams to deliver high-quality embedded products.
  14. Other duties as assigned.
  15. Able to lift up to 15 lbs; may work in hot areas 5%, noise 0%.
  16. Ensure adherence to Health and Safety requirements and actively participate in 5S activities within the work area

Measures of Success:

  1. Feature Delivery: ≥90% of assigned firmware features and project milestones delivered on schedule.
  2. Code Quality: ≥90% peer-review approval rate with minimal rework and adherence to established coding standards.
  3. Product Quality: Low defect escape rate, with minimal software issues identified during validation or after release.
  4. Issue Resolution: Root Cause Analysis completed for 100% of the issues.
  5. Documentation & Maintainability: Technical documentation and software design records maintained accurately and kept current for all released features.
  6. Collaboration & Continuous Improvement: Active contribution to code reviews, architecture discussions, and engineering best practices that improve software quality and team effectiveness.

What you bring to the role:

  • Bachelor’s degree in Computer Engineering, Software Engineering, Computer Science, Electrical Engineering, or equivalent practical experience.
  • 3–5 years of professional experience developing software for embedded systems.
  • Demonstrated experience troubleshooting and debugging embedded software and hardware integration issues.
  • Excellent written and verbal communication skills.
  • Strong proficiency in C++.
  • Experience with Go.
  • Experience developing applications using Qt.
  • Experience working with Embedded Linux devices.
  • Experience using Git and collaborative software development.
  • Good understanding of networking fundamentals including TCP/IP, UDP, Ethernet, and TLS.
  • Experience interfacing with embedded hardware and peripherals.
  • Ability to read and understand electronic schematics.
  • Clear Background Checks – Criminal (required)
  • Eligible to work in Canada
Preferred:
  • Experience with Python.
  • Experience with LVGL.
  • Experience with SIP, VoIP, WebRTC, or real-time communication systems.
  • Experience with ARM-based embedded processors.
  • Experience developing firmware for microcontrollers.
  • Familiarity with embedded communication interfaces such as UART, SPI, I²C, USB, CAN, GPIO, PWM, ADC/DAC, timers, interrupts, and DMA.
  • Familiarity with Rust.

This position is located at 6635 Ordan Drive in Mississauga, ON. Hours are typically 8:00am to 4:30pm.

Pay: $100,000 - $120,000

This is a Full-time, Salary position.

This posting has one (1) vacancy.

We are an Equal Opportunity Employer in accordance with the Accessibility for Ontarians with Disabilities Act, 2005 (AODA) and the Ontario Human Rights Code (OHRC). Accommodations can be made available to applicants with disabilities throughout the recruitment, selection and/or assessment process.

If you require accommodation in applying for a posting, please contact Human Resources.

Get your free, confidential resume review.
or drag and drop your file here.
Similar jobs

Similar jobs worth comparing

Senior Software Developer
Senior Software Developer

Socket.dev • Mississauga

On-site
CAD 135,000 - 160,000
Senior Software Developer
Senior Software Developer

Worky • Mississauga

On-site
CAD 135,000 - 160,000
Senior Software Developer
Senior Software Developer

MAD Elevator Inc. • Mississauga

On-site
CAD 135,000 - 160,000
Systems Designer
Systems Designer

Socket.dev • Mississauga

On-site
CAD 115,000 - 130,000
Senior Electrical Systems Designer
Senior Electrical Systems Designer

MAD Elevator Inc. • Mississauga

On-site
CAD 115,000 - 130,000
R&D Mechanical Designer
R&D Mechanical Designer

Socket.dev • Mississauga

On-site
CAD 77,000 - 94,000
R&D Mechanical Designer
R&D Mechanical Designer

MAD Elevator Inc. • Mississauga

On-site
CAD 77,000 - 94,000
Software Developer (Junior to Intermediate)
Software Developer (Junior to Intermediate)

United States Digital Space LLC • Mississauga

On-site
CAD 72,000 - 95,000
Junior/Intermediate Embedded Software Developer
Junior/Intermediate Embedded Software Developer

TRS Staffing Solutions • Vancouver

On-site
CAD 85,000 - 110,000
R&D Project Manager
R&D Project Manager

Socket.dev • Mississauga

On-site
CAD 80,000 - 90,000