BoulderRecruiter Since 2001
the smart solution for Boulder jobs

Engineer - Software Design/Development Linux for Machine Learning Accelerator

Company: Qualcomm
Location: Boulder
Posted on: November 19, 2021

Job Description:

**Company:**Qualcomm Technologies, Inc.**Job Area:**Engineering Group, Engineering Group > Software Engineering**General Summary** Qualcomm CR is looking for an experienced software engineer in the areas of Linux user-mode and Linux device drivers for Machine Learning use cases. The development target is Qualcomm high-performance inference accelerator AI 100 and related products.An ideal candidate should be familiar with designing Linux drivers for embedded software and is familiar with developing C++ based System on a Chip (SoC) based systemsThe candidate should be familiar with developing Linux Device drivers, Linux user-mode drivers, inter-process communication such as gRPC, protocol buffers, modern C++ design, system profiling, code optimization, and tool development. Responsibilities include Linux software architecture and design, development, software integration, functional and performance testing. Familiarity with development of functional simulation of SoC systems included bus subsystems, DMA, PCIe and peripherals, synchronization mechanisms such as semaphores as well as low speed peripherals would be beneficial.Required Skills and Aptitudes:Experience with Linux user-space development, including IOCTL interfaces, API development and multi-threaded processing.Experience with Linux kernel driver development, kernel modules, PCIe interfaces, HWMon, sysfs and debugging techniquesExperience with real-time embedded operating systemsExperience in requirement capture and traceabilityExperience in UML design capture & analysis e.g. use ofExperience in unit testing tooling for C/C++ development, including googletestExperience 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 with development of peripheral drivers.Knowledge of RTOS, SoC architecture (core, cache, memory, bus architecture, IOs, etc.) and common hardware blocksExperience with Source Code and Configuration management tools, git knowledge is requiredWillingness 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 mixed hardware/software development teamGood English communication (written and verbal) and positive interpersonal skillsIdeal candidates for this position will demonstrate the following:2+ years of relevant experienceFamiliar with inter-process communication architecture such as gRPC.Familiarity with at least one of the safety centric standards such as ISO 26262, IEC 61508, ISO 13485, DO-178/DO-254.Familiar with high speed interfaces such as PCIe and LPDDRFamiliar with implementing systems with high reliability expectations such as use of ECC, PCI AER fields.Familiar with low speed interfaces such as I2C, SPI, SPMI, AVSBus & PMBusExperience working with and familiarity with important SOC building blocks like interrupt controller & timersSoftware development and debug tools including compilers, profilers, source control systems, emulators, JTAG and serial debuggers, and logic analyzersFamiliar working with software running on Qualcomm's QuRT RTOS (ARM Cortex-A CPU's and Hexagon DSPs)Familiar with Qualcomm's Core Software infrastructure e.g. Glink, QDSS, SOC power control algorithms such as dynamic frequency/voltage scaling.**Physical Requirements**--- Frequently transports between offices, buildings, and campuses up to -- mile.--- Frequently transports and installs equipment up to 5 lbs.--- Performs required tasks at various heights (e.g., standing or sitting).--- Monitors and utilizes computers and test equipment for more than 6 hours a day.--- Continuous communication which includes the comprehension of information with colleagues, customers, and vendors both in person and remotely."**Minimum Qualifications** Education:Bachelors - Computer Science, Bachelors - Engineering, Bachelors - Information SystemsWork Experiences:1+ years experience with Programming Language such as C, C++, Java, Python, etc.Certifications:Skills:**Preferred Qualifications** Education:Work Experiences:1+ years experience working in a large matrixed organization. ,1+ years experience with API. ,1+ years experience with Database Management Software.Certifications:Skills:Mathematical Methods, Object-Oriented Programming (OOP), Scientific Analysis, Software Development Lifecycle (SDLC), Software Solutions**Applicants** : If you are an individual with a disability and need an accommodation during the application/hiring process, please call Qualcomm's toll-free number found here (\_public\_article\_view\_article=KB0039028) for assistance. Qualcomm will provide reasonable accommodations, upon request, 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 is an equal opportunity employer and supports workforce diversity.**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.**EEO Employer: Qualcomm is an equal opportunity employer; all qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, Veteran status, or any other protected classification.** **Pay range:** $81,600.00 - $122,400.00If you would like more information about this role, please contact Qualcomm Careers ( .EEO Employer: Qualcomm is an equal opportunity employer; all qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, Veteran status, or any other protected classification.Equal Employment Opportunity:\_files/employers/poster\_screen\_reader\_optimized.pdf"EEO is the Law" Poster Supplement :\_EEO\_Supplement\_Final\_JRF\_QA\_508c.pdfPay Transparency NonDiscrimination Provision:\_%20English\_formattedESQA508c.pdfEmployee Polygraph Protection Act: Medical Leave Act: of Pregnant Employees:\_ENG.pdfDiscrimination and Harassment:\_ENG.pdfCalifornia Family Rights Act:\_ENG.pdf

Keywords: Qualcomm, Boulder , Engineer - Software Design/Development Linux for Machine Learning Accelerator, IT / Software / Systems , Boulder, Colorado

Click here to apply!

Didn't find what you're looking for? Search again!

I'm looking for
in category

Log In or Create An Account

Get the latest Colorado jobs by following @recnetCO on Twitter!

Boulder RSS job feeds