21 Oct
|
Qualcomm
|
Canada
Engineering Group, Engineering Group Software Engineering 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. Replacement Position 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’re building the world’s most advanced SERDES PHY for use in AI data centers and beyond. 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. 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 Translating bring up and validation requirements into efficient C/C++ firmware code, software organization as applicable Bonus if you have experience developing drivers for multiple devices at the PCB level to interact with whole systems 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 Mentor junior engineers, promote team building,
and strive for continuous improvement in processes and techniques 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 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 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 solid 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 ~ Hands-on experience in the lab with CPU, SoC, FPGA, MCU, and DSP component validation and developing tests and debug tools ~ Experience creating error monitoring and Board/Interface configuration APIs ~ 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 with Jira, Agile/Scrum, Confluen
📌 Staff Firmware Engineer (Canada)
🏢 Qualcomm
📍 Canada