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