Job Description
General Summary:The Qualcomm Cloud team is looking for an experienced software developer to work within an existing team to add firmware support for machine learning Edge and Datacenter use cases. The development target is Qualcomm’s next generation high-performance inference accelerator.Candidate should have a background in embedded software development such as: board support packages, device driver development, RTOS, secure boot, trust-zone, low-speed peripheral interfaces (I2C/SPI/UART), chipset power blocks, clock tree management, PCIe and efficient data movement using DMA.Critical Skills and AptitudesExperience in unit testing for C/C++ developmentExperience with development in C/C++ including debug and testing, preferable using GNU/LLVM tools) on embedded platforms using stop-mode debug tools such as JTAG/SWDExperience working with BSP development including device driver development, board-bring-up, RTOS’s, secure boot & trust zoneExperience with development of peripheral drivers.Knowledge of RTOS, SoC architecture (core, cache, memory, bus architecture, IOs, etc.) and common hardware blocks and multi-threaded programmingExperience with Source Code and Configuration management tools such as git/GerritWillingness to work in a structured software development environment with ability to work on low-level implementation (code & test)Willingness to work in a high-caliber international/multi-site teamGood English communication (written and verbal) and positive interpersonal skills Minimum Qualifications:
Responsibilities + Skills
Master's degree in Engineering, Information Systems, Computer Science, or related field and 5+ years of Software Engineering or related work experience.
Education
Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 6+ years of Software Engineering or related work experience.
Experience