Qualcomm Software Designer – Application Firmware Development for Machine Learning in San Diego, California

Job Description:

Job Id


Job Title

Software Designer – Application Firmware Development for Machine Learning

Post Date




Qualcomm Technologies, Inc.

Corporate Research & Development at http://www.qualcomm.com/about/research

Job Area

Engineering - Software


California - San Diego

Colorado - Boulder

Job Overview

Qualcomm CR&D is looking for an experienced embedded software developer for development of service level code to supervise and control a machine learning application. An ideal candidate should be familiar with: embedded software development using JTAG running under an RTOS and have implemented reliable inter-processor communication mechanisms between a host and target SOC.

You will join the CR&D software team working on many areas but with an initial focus on embedded software development for a machine learning project where you will be responsible for development, testing, integrating for both research and commercial applications.

You will be collaborating with a variety of internal teams within CR&D as well as with Qualcomms commercial division (QCT) covering multiple engineering disciplines including: software, systems and hardware. As a successful applicant to CR&D, the ideal candidate should have a diverse skill set including a strong background in embedded software development and development of device drivers for both Linux and firmware environments.

All Qualcomm employees are expected to actively support diversity on their teams, and in the Company.

Minimum Qualifications

  • 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.

Preferred Qualifications

  • Experience in C/C++ development (debug and testing, preferable using GNU/LLVM tools) on embedded platforms using stop-mode debug tools such as JTAG/SWD

  • Experience working with problems associated with embedded systems such as; development in resource constrained systems, use of RTOS, efficient logging infrastructure, power management, watchdog services & crash dumps

  • Experience in implementation of inter-processor communication mechanisms (share message, message exchange) and associated state machine management and message packing/unpacking

  • C/C++ development of middleware using Object Orientated Design principals and have some level of familiarity with the use of design patterns

  • Experience with Source Code and Configuration management tools, git knowledge is required

  • Some level of understanding of the principals of machine learning

  • Scripting languages such as Python

  • Familiar working with software running on bare-metal and RTOS based targets using CPUs common to embedded applications such as ARM Cortex-A CPUs and/or DSPs

  • Software development and debug tools including compilers, profilers, source control systems, emulators, JTAG and serial debuggers, and logic analyzers

Education Requirements

Required: Bachelor's, Computer Engineering and/or Computer Science

Preferred: Master's, Computer Engineering and/or Computer Science

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.