Software Design/Development/Simulation – Linux Automotive for Machine Learning Accelerator
Qualcomm Technologies, Inc.
Corporate Research & Development at http://www.qualcomm.com/about/research
Engineering – Software
North Carolina – Raleigh
Colorado – Boulder
Qualcomm CR&D is looking for an experienced software engineer in the areas of system simulation and Linux device drivers for Automotive use cases. The development target is Qualcomm high-performance inference accelerator targeting ADAS applications.
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 simulation systems
The candidate should be familiar with developing Linux Device drivers and with embedded QNX. **Responsibilities:**
+ 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.
All Qualcomm employees are expected to actively support diversity on their teams, and in the Company.
+ Bachelor’s degree in Engineering, Information Systems, Computer Science, or related field.
+ 5+ years Software Engineering or related work experience.
+ 2+ years experience with Programming Language such as C, C++, Java, Python, etc.
+ 5+ years of relevant experience
+ 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 LPDDR
+ Familiar 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 & PMBus
+ Familiar working with software running on Qualcomms QuRT RTOS (ARM Cortex-A CPUs and Hexagon DSPs)
+ Familiar with Qualcomms Core Software infrastructure e.g. Glink, QDSS, SOC power control algorithms such as dynamic frequency/voltage scaling.
+ Experience working with and familiarity with important SOC building blocks like interrupt controller & timers
+ Software development and debug tools including compilers, profilers, source control systems, emulators, JTAG and serial debuggers, and logic analyzers
+ Linux user-space development, including IOCTL interfaces, API development and multi-threaded processing.
+ Linux kernel driver development, kernel modules, PCIe interfaces, HWMon, sysfs and debugging techniques
+ Experience with real-time embedded operating systems such as QNX
+ Experience in requirement capture and traceability
+ Experience in UML design capture & analysis e.g. use of
+ Experience in unit testing tooling for C/C++ development, including googletest
+ Experience 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/SWD
+ Experience with development of peripheral drivers.
+ Knowledge of RTOS, SoC architecture (core, cache, memory, bus architecture, IOs, etc.) and common hardware blocks
+ Experience with Source Code and Configuration management tools, git knowledge is required
+ Willingness 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 team
+ Good English communication (written and verbal) and positive interpersonal skills
Required: Bachelor’s, Computer Engineering and/or Computer Science and/or Information Technology
Preferred: Master’s, Computer Engineering and/or Computer Science and/or Information Technology
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.
Who is Qualcomm, and what do we do? We are engineers, scientists and business strategists. We are from many different countries and speak many different languages. We come from diverse cultures and have unique perspectives. Together, we focus on a single goal—invent mobile technology breakthroughs.