Firmware Engineer – Toronto

Firmware Engineer – Toronto

Toronto Full-Time 134190 - 164010 $ / year (est.) On-site
Q

At a Glance

  • Tasks: Design and develop cutting-edge firmware for next-gen tech products.
  • Company: Join Qualcomm, a leader in tech innovation and digital transformation.
  • Benefits: Competitive salary, bonuses, RSU grants, and comprehensive benefits package.
  • Other info: Dynamic work environment with opportunities for growth and mentorship.
  • Why this job: Make an impact in the tech world while working with top-notch teams.
  • Qualifications: Bachelor's or Master's in Engineering/Computer Science and relevant experience.

The predicted salary is between 134190 - 164010 $ per year.

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.

Minimum Qualifications:

  • Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 4+ years of Software Engineering or related work experience.
  • Master's degree in Engineering, Information Systems, Computer Science, or related field and 3+ years of Software Engineering or related work experience.
  • 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.

We are looking for an experienced Firmware Engineer to lead firmware architecture, development, integration, and bring-up for our SERDES PHY portfolio. The ideal candidate will have experience driving firmware definition, architecture, and development starting from the RTL/Digital design phase with EDA tool/simulator integration all the way to the post silicon phase with device level bring up and debug. It is a collaborative role where you will work with Hardware/Systems/Software teams to drive requirements and successful chip bring up. You will also be working with firmware and embedded software engineers to drive code re-use throughout the organization, program managers to identify and work toward deadlines and timelines, and other cross functional teams as needed from the hardware, systems, or software side.

What you'll do:

  • Gather requirements, studying high level designs, developing device interface functions and turning small building blocks into higher level firmware system design.
  • Work with multi-functional teams to come up with the detailed bring up and validation requirements, collaborating with ASIC / Digital Design, Digital Verification, software and systems engineers to meet performance goals.
  • Communicate requirements and coordinate execution with multiple teams.
  • Translating bring up and validation requirements into efficient C/C++ firmware code, software organization as applicable.
  • Oversee the entire firmware lifecycle for SERDES PHY, from pre-silicon design to post-silicon validation and optimization.
  • Developing for test and debug to help guide hardware design decisions for future product iterations.
  • Implement and utilize best practices in the software industry to ensure high-quality firmware designs.
  • Stay up-to-date with the latest trends and advancements in the semiconductor industry, and incorporate relevant innovations into our processes.
  • Develop and document firmware and hardware design specifications and decisions.
  • Mentor junior engineers, promote team building, and strive for continuous improvement in processes and techniques.
  • Debug and root cause, document and drive issues (i.e. low level SW, silicon, HW, etc.) to closure.
  • Drive multi-functional teams and partners to address challenges seen during integration and bring-up, ensure chips are seamlessly brought up, validated, tested, and meets product and business requirements.
  • Demonstrate full ownership of assigned systems/components. Handle timelines and resolve project challenges in order to meet program timing.
  • Working with external vendors or customers to ensure requirements are met and releases are of high quality.
  • Planning and developing test cases which enhance reliability and release quality to internal and external stakeholders and ensuring they are continuously tested in regression.

What You’ll Need:

  • 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 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.

Nice to have:

  • 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.

Firmware Engineer – Toronto employer: Qualcomm

Qualcomm Canada ULC is an exceptional employer that fosters a collaborative and innovative work culture, making it an ideal place for Display Silicon System Debug Engineers to thrive. With a strong emphasis on employee growth, you will have access to mentorship opportunities and the chance to work alongside industry leaders in a cutting-edge environment. Located in Canada, the company offers competitive benefits and a commitment to work-life balance, ensuring that you can pursue meaningful and rewarding employment while contributing to groundbreaking technology.

Q

Contact Details:

Qualcomm Recruitment Team

We think you need these skills to ace Firmware Engineer – Toronto

C/C++ Programming
Python Programming
Embedded Systems Development
Firmware Architecture
Device Driver Development
Digital Design and Verification
Hardware Description Languages (HDLs)