Job Id E1973856
Job Title Software Engineer - Firmware for Machine Learning
Post Date 06/26/2019
Company - Division Qualcomm Technologies, Inc. - Corporate Research & Development
Job Area Engineering - Software
Location California - San Diego
Job Overview Qualcomm CR&D is looking for firmware developers for SOC development and bring-up. An ideal candidate should be familiar with: board support package and device driver development, bring, secure boot, different execution/privilege levels such as trust-zone, chipset clock, power & thermal management, low-speed peripheral interfaces (I2C, SMBus, SPI, UART) as well as high speed peripherals such as PCIe utilizing data movers such as DMA. You will join the CR&D software team working on many areas but with an initial focus on machine learning project where you will be responsible for development & 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 good understanding of embedded software development and associated debug strategies using JTAG and use of lab equipment such as DSOs and Logic Analyzers.
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.
* 2+ 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 on embedded platforms using stop-mode debug tools such as JTAG
* Experience working with BSP development including device driver development, board-bring-up, RTOSs, secure boot & trust zone
* C/C++ developing Firmware 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 preferred
* Software debugging skills on embedded real time operating systems
* 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 communication (written and verbal) skills
* Experience with PCIe, DDR controllers, multi-channel DMA engines and NOCs
* Scripting languages such as Python
* Familiar working with software running on bare-metal and RTOS based targets using ARM Cortex-A CPUs
* Experience working with and familiarity with important SOC building blocks like interrupt controller (ARMs GIC), GPIOs & timers etc.
* Software development and debug tools including compilers, profilers, source control systems, emulators, JTAG and serial debuggers, and logic analyzers
* Familiar with device driver and module development
* Familiarity with Cortex-A CPUs execution modes
Education Requirements Required: Bachelor's, Computer Engineering and/or Computer Science
Preferred: Master's, Computer Engineering and/or Computer Science
Applicants: If you need an accommodation, during the application/hiring process, you may request an accommodation by sending email to firstname.lastname@example.org
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.
machine learning, python, java, programming, software development, software engineering, computer science, git, c/c++, compilers, computer engineering, embedded c, embedded software, device drivers, debugging