Engineer, Firmware

Location: Richmond, BC

Work Arrangement: Onsite 4 days/week (Mondays to Thursdays)

Job Summary:

At Semtech, we're developing industry-leading cellular modules, routers and gateways that make a real impact. Our technology supports first responders with better access to critical data, enables utility companies to manage renewable energy more responsibly, and delivers connectivity to remote people and equipment where it's needed most.

The Engineer, Firmware is responsible for performing advanced firmware development activities within our Airlink department. This position leads firmware design efforts, develops complex firmware solutions, and solves customer integration challenges for embedded systems. The role requires comprehensive understanding of embedded programming principles, advanced technical skills, and strong analytical abilities, with the ability to work with minimal supervision.

Responsibilities:

  • Implement firmware components and optimize general telecommunication systems with cellular capabilities.

  • Provide technical expertise in firmware development, participate in code reviews, and drive bug fixing efforts across the team.

  • Develop and maintain automated test frameworks to validate new features and bug fixes in a CI/CD environment.

  • Resolve firmware issues requiring deep technical analysis; develop advanced diagnostic capabilities and implement robust error handling and recovery mechanisms.

  • Lead firmware integration activities, develop comprehensive validation strategies, and ensure firmware quality meets product requirements.

  • Collaborate with internal teams and customers to provide technical support, troubleshoot integration challenges, and communicate firmware status and solutions.

  • Mentor junior engineers on firmware development techniques and lead technical knowledge sharing initiatives.

Minimum Qualifications:

  • Bachelor’s degree in Computer Engineering, Electrical Engineering, Computer Science, or related technical field.

  • 1-3 years of experience in firmware development, embedded systems programming, or a related role.

  • Proficient with concepts of embedded software development and software source control such as Git or SVN.

  • Expert proficiency in C, C++, Python and object-oriented programming techniques.

  • Proficiency in the use of Linux as both a development and target platform.

  • Hands-on experience with networking, especially VPN.

  • Proficient understanding of RTOS concepts such as tasks, stacks, queues, and memory management.

  • Experience writing automated tests for embedded software, including validation of new features and bug fixes.

  • General understanding of wireless communications (cellular, Wi-Fi, Bluetooth).

  • Excellent verbal and written communication skills.

  • Understanding of the full life cycle phases of an embedded system

Desired Qualifications

  • Prior exposure to Yocto Project or OpenWRT is an asset.

  • Exposure to kernel space programming, U-Boot bootloader integration and debugging.

  • Familiar with AI tools used for development such as Cursor or Claude

The intent of this job description is to describe the major duties and responsibilities performed by incumbents of this job. Incumbents may be required to perform job-related tasks other than those specifically included in this description.

All duties and responsibilities are essential job functions and requirements and are subject to possible modification to reasonably accommodate individuals with disabilities.

A reasonable estimate of the pay range for this position is CAD $65,,000 - $80,000. There are several factors taken into consideration in determining base salary, including but not limited to: job-related qualifications, skills, education and experience, as well as job location and the value of other elements of an employee’s total compensation package.