About the Role
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.
Responsibilities
- 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 UCIe chiplets, 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
Requirements
- 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.
- BS or MS in Computer Science/Electrical/Computer engineering or a related field
- 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
- 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
Skills
- C
- C++
- Java
- Python
- Embedded Systems
- ARM
- RISCV
- MIPS
- Low-level programming
- Bare metal
- BIOS/UEFI firmware
- Linux kernel
- RTOS
- Device driver
- Analog circuits
- Digital circuits
- Mixed signal circuits
- EDA tools
- Verilog
- SystemVerilog
- SerDes
- Ethernet
- PCIe
- D2D/UCIe/Chiplet
- CPU validation
- SoC validation
- FPGA validation
- MCU validation
- DSP validation
- 1G/10G Ethernet
- DDR
- I2C
- SPI/QSPI
- MIPI/CSI
- GMSL
- A2B
- I2S
- TDM
- LVDS
- USB
- NVME
- CAN
- High speed signals
- Error monitoring
- Board/Interface configuration APIs
- Oscilloscope
- JTAG debugger
- I2C/SPI tools
- Embedded Linux development
- Buildroot
- Yocto
- Zephyr
- FreeRTOS
- Xilinx
- Zed
- MicroZed
- Power validation
- SI validation
- EMC validation
- Jira
- Agile/Scrum
- Confluence
Location
- N/A
Work Type
- N/A
Experience Level
- 4+ years of Software Engineering or related work experience
- 3+ years of Software Engineering or related work experience
- 2+ years of Software Engineering or related work experience
- 2+ years of work experience with Programming Language such as C, C++, Java, Python, etc.
- 6+ years of experience with embedded systems
Education Level
- Bachelor's degree in Engineering, Information Systems, Computer Science, or related field
- Master's degree in Engineering, Information Systems, Computer Science, or related field
- PhD in Engineering, Information Systems, Computer Science, or related field
- BS or MS in Computer Science/Electrical/Computer engineering or a related field
Salary/Compensations
- $113,800.00 - $163,800.00
Benefits
- Competitive annual discretionary bonus program
- Opportunity for annual RSU grants
- Highly competitive benefits package
About the Company
- Qualcomm Canada ULC is a leading technology innovator.
- We’re building the world’s most advanced die-to-die (D2D) semiconductor IP and chiplet solutions for the chiplet ecosystem.
- With the recent advance driven by the UCIe consortium, Qualcomm is looking to push forward Moore’s law by taking advantage of chiplet standardization and technology.
Equal Opportunity
- Qualcomm is an equal opportunity employer.
- If you are an individual with a disability and need an accommodation during the application/hiring process, rest assured that Qualcomm is committed to providing an accessible process.
- You may e-mail disability-accomodations@qualcomm.com or call Qualcomm's toll-free number found here.
- Upon request, Qualcomm will provide reasonable accommodations to support individuals with disabilities to be able participate in the hiring process.
- Qualcomm is also committed to making our workplace accessible for individuals with disabilities.
- Qualcomm expects its employees to abide by all applicable policies and procedures, including but not limited to security and other requirements regarding protection of Company confidential information and other confidential and/or proprietary information, to the extent those requirements are permissible under applicable law.
- To all Staffing and Recruiting Agencies: Our Careers Site is only for individuals seeking a job at Qualcomm.
- Staffing and recruiting agencies and individuals being represented by an agency are not authorized to use this site or to submit profiles, applications or resumes, and any such submissions will be considered unsolicited.
- Qualcomm does not accept unsolicited resumes or applications from agencies.
- Please do not forward resumes to our jobs alias, Qualcomm employees or any other company location.
- Qualcomm is not responsible for any fees related to unsolicited resumes/applications.
