Firmware Engineer, Senior Staff

QualcommToronto, ON
Remote

About The Position

As a leading technology innovator, Qualcomm pushes the boundaries of what's possible to enable next-generation experiences and drives digital transformation to help create a smarter, connected future for all. As a Qualcomm Software Engineer, you will design, develop, create, modify, and validate embedded and cloud edge software, applications, and/or specialized utility programs that launch cutting-edge, world class products that meet and exceed customer needs. Qualcomm Software Engineers collaborate with systems, hardware, architecture, test engineers, and other teams to design system-level software solutions and obtain information on performance requirements and interfaces. As a senior member on the team, the successful candidate in this Full-Time position will report to the Director of Firmware Development in our Connectivity Products Group business unit. The location for this role is Vancouver, BC (remote). The candidate will join a team to work on cutting edge optical and electrical silicon technology that shapes the future of AI data centers and high-performance systems. The candidate needs to be deeply hands-on and capable of working independently in a highly collaborative team of experienced firmware developers. The candidate will execute the software development lifecycle for firmware running on embedded processor cores located inside System-On-Chips (SoCs), as well as host-based device drivers, tools, and application-level software. The candidate will gain experience with high-speed SerDes technology, complex FW architectural designs, diagnostics, and other SW tools required for customer solutions. This is an exciting opportunity to join a growing team and contribute to developments key to the business unit’s strategy.

Requirements

  • Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 8+ years of Software Engineering or related work experience.
  • Master's degree in Engineering, Information Systems, Computer Science, or related field and 7+ years of Software Engineering or related work experience.
  • PhD in Engineering, Information Systems, Computer Science, or related field and 6+ years of Software Engineering or related work experience.
  • 4+ years of work experience with Programming Language such as C, C++, Java, Python, etc.
  • BS or higher degrees preferred (Computer Science, Computer Engineering, or Electrical Engineering with software experience).
  • Strong C/C++ design and programming skills.
  • Experience with unit testing and scripting languages such as Python.
  • Prior experience in developing and debugging software, including pre-silicon and post-silicon testing.
  • Experience developing device drivers and low-level software for HW peripherals such as I2C, SPI, UART, DMA, etc.
  • Real-time OS techniques such as preemptive multi-tasking schedulers, multi-threaded execution, semaphores, mutexes, and interrupts.
  • Hardware debug and lab experience using JTAG debug tools, oscilloscopes, etc.
  • Embedded development for System-On-Chip (SoC) or x86 platforms.
  • Excellent written and verbal communication skills.

Nice To Haves

  • Linux kernel device driver and user space development is preferred.
  • Previous technical leadership experience is preferred.
  • Familiarity with SerDes and optical high-speed interfaces is desirable.
  • Familiarity with ethernet, switching technologies, and Forward Error Correction is desirable.

Responsibilities

  • Lead and mentor junior firmware developers on the team.
  • Drive process and workflow improvement initiatives within the firmware team.
  • Architect, design, and implement software and firmware for DSP products, systems, and SoCs, from the requirements stage to deployment.
  • Design, develop, code, test, and debug firmware and software.
  • Create documents for firmware and software architectures, designs, and algorithms.
  • Integrate and validate new software designs.
  • Participate in software design and code reviews.
  • Develop unit and functional tests for software and firmware developments.
  • Plan and schedule development and track development progress.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service