Senior Software EngineerQualcomm's new Data Center Business Unit (BU) is looking for an experienced Senior Software Engineer to contribute to the design, development, and commercialization of software/firmware solutions for Cloud Edge and Data Center machine learning (ML) use cases running on premium-tier high-performance silicon. You will work closely with internal and cross-functional teams and contribute to the advancement of critical technologies such as ML acceleration, process in memory, memory management and virtualization.The candidate should have a background in embedded software development such as board support packages (BSP), device driver development, RTOS, secure boot, TrustZone technology, low-speed peripheral interfaces (I2C/SPI/UART), chipset power blocks, clock tree management, PCIe and efficient data movement using DMAMinimum Qualifications:Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience. OR Master's degree in Engineering, Information Systems, Computer Science, or related field and 1+ year of Software Engineering or related work experience.
OR PhD in Engineering, Information Systems, Computer Science, or related field.2+ years of academic or work experience with Programming Language such as C, C++, Java, Python, etc.Required Skills and AptitudesProficient with development in C including debug and testing, preferably using GNU/LLVM tools, on embedded platforms using stop-mode debug tools such as JTAG/SWDSkilled with BSP development including device driver development, board bring-up, RTOS, secure boot design & TrustZone architectureExperience with development and build tools for applications running within Embedded Linux environmentProficient with unit testing for C developmentAdept with RTOS fundamentals, SoC architecture (core, cache, memory, bus architecture, IOs, etc.), common hardware blocks and multi-threaded programmingExperience with Source Code and Configuration management tools such as git/GerritAbility to work in a structured software development environment while contributing to novel designsHave willingness and flexibility to work as part of a high-caliber international/multi-site teamDemonstrate excellent English communication skills (written and verbal) and positive interpersonal skillsDesirable Skills and AptitudesFamiliar with ML frameworks such as PyTorch, JAX and Llama.cppFamiliar with interfaces such as PCIe, LPDDR, USB and UFSFamiliar with implementing Reliability, Accessibility and Serviceability (RAS) through use of technologies such as ECC & PCI AER fieldsFamiliar with low-speed interfaces such as I2C, SPI, SPMI, AVSBus & PMBusFamiliar working with software running on Qualcomm's QuRT RTOS (ARM Cortex-A CPUs and Hexagon DSPs)Familiar with on-chip Middleware for communication, logging and power control, including Qualcomm's Core SW Infra (e.g., Glink, QDSS, SOC power control algorithms such as DVFS, DCVS)Experience working with microprocessor building blocks like microprocessor execution levels, interrupt controller & timersSoftware development and debug tools including compilers, profilers, source control systems, emulators, JTAG and serial debuggers, and logic analyzersRequirements:2+ years of work experience with low level C programmingPay range and Other Compensation & Benefits :$111,300.00 - $166,900.00