Firmware Engineer, Staff

Technology, Data & Digital · Software & Web Development · Software Engineering

In short

Qualcomm is seeking a Staff Firmware Engineer in Toronto, Ontario, Canada to lead the firmware development for their UCIe chiplets portfolio. This role involves the entire firmware lifecycle from pre-silicon design to post-silicon validation, requiring collaboration with cross-functional teams. The ideal candidate will have extensive experience in embedded systems and programming languages like C/C++ and Python.

Responsibilities

  • Design, develop, create, modify, and validate embedded and cloud edge software, applications, and specialized utility programs.
  • Gather requirements, study high-level designs, develop device interface functions, and create higher-level firmware system designs.
  • Collaborate with multi-functional teams (ASIC/Digital Design, Digital Verification, Software, Systems Engineers) on bring-up and validation requirements.
  • Translate bring-up and validation requirements into efficient C/C++ firmware code.
  • Oversee the entire firmware lifecycle for UCIe chiplets, from pre-silicon design to post-silicon validation and optimization.
  • Develop for test and debug to guide hardware design decisions for future product iterations.
  • Implement and utilize best practices in the software industry for high-quality firmware designs.
  • Mentor junior engineers, promote team building, and strive for continuous improvement.
  • Debug and root cause issues (low-level SW, silicon, HW) to closure.
  • Drive multi-functional teams and partners to address integration and bring-up challenges.
  • Demonstrate full ownership of assigned systems/components, managing timelines and resolving project challenges.
  • Work with external vendors or customers to ensure requirements are met and releases are of high quality.
  • Plan and develop test cases to enhance reliability and release quality.

Requirements

  • Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 4+ years of Software Engineering or related work experience.
  • OR Master's degree in Engineering, Information Systems, Computer Science, or related field and 3+ years of Software Engineering or related work experience.
  • OR PhD in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience.
  • 2+ years of work experience with Programming Language such as C, C++, Java, Python, etc.
  • BS or MS in Computer Science/Electrical/Computer engineering or a related field.
  • Proficient in C/C++, Python.
  • 6+ years of experience with embedded systems like ARM, RISCV, MIPS, etc and strong programming skills.
  • Working experience with low-level programming on bare metal, BIOS/UEFI firmware, linux kernel, RTOS, device driver, etc.
  • Systems mindset and experience developing SW/FW to control analog, digital, and mixed signal circuits.
  • Familiarity with industry-standard EDA tools and methodologies used for digital verification.
  • Familiarity with hardware description languages (HDLs) such as Verilog and SystemVerilog.
  • Experience with SerDes, Ethernet, PCIe, or D2D/UCIe/Chiplet products and communication systems.
  • Hands-on experience in the lab with CPU, SoC, FPGA, MCU, and DSP component validation and developing tests and debug tools.
  • Knowledge of peripherals/protocols such as 1G/10G Ethernet, DDR, I2C, SPI/QSPI, MIPI/CSI, GMSL, A2B, I2S, TDM, LVDS, PCIe, USB, NVME, CAN, etc.
  • Bring up and diagnostics experience with high speed signals.
  • Experience creating error monitoring and Board/Interface configuration APIs.
  • Fluent with a variety of bring-up tools, like oscilloscope, JTAG debugger, I2C/SPI tools, etc.
  • Strong organizational and communication skills, willingness to learn and confront technical challenges.

Desired Qualifications

  • Bonus if you have experience developing drivers for multiple devices at the PCB level to interact with whole systems.
  • Experience with embedded linux development, Buildroot and Yocto, RTOSes like Zephyr and FreeRTOS.
  • Experience working with FPGAs, Xilinx, Zed, MicroZed.
  • Hardware hands-on and debugging experience, such as Power, SI, EMC validation and tuning.
  • Experience with Jira, Agile/Scrum, Confluence.
  • Open source projects.

Benefits

  • Competitive annual discretionary bonus program.
  • Opportunity for annual RSU grants.
  • Highly competitive benefits package designed to support your success at work, at home, and at play.
  • Qualcomm is committed to providing an accessible process for individuals with disabilities during the application/hiring process.
  • Qualcomm is committed to making its workplace accessible for individuals with disabilities.
#firmware#embedded systems#UCIe#chiplet#semiconductor
Qualcomm Logo

Company

Qualcomm

Job Posted

1 month ago

Employment Type

Full Time

WorkMode

On Site

Experience Level

Senior

Locations

Toronto, Canada

Qualification

Bachelor, Master, Doctoral

Applicants

Be an early applicant