Engineer
Qualcomm
About the Role
As a Qualcomm Software Engineer, you will design, develop, create, modify, and validate embedded and cloud edge software, applications, and/or specialized utility programs. You will launch cutting-edge, world-class products that meet and exceed customer needs. You will collaborate with systems, hardware, architecture, test engineers, and other teams to design system-level software solutions and obtain information on performance requirements and interfaces.
Key Responsibilities
- Develop device drivers and bare metal software (register-level programming, GPIO configurations, etc.).
- Validate HW/SW interfaces.
- Enable test cases for hardware design and factory validation.
Requirements & Tech Stack
- Embedded SW development expertise in low-level device driver software and HW/SW interfaces.
- Hands-on troubleshooting.
- Expertise in peripherals such as RAM, UFS, NVME, displays, camera, audio codec, and various sensors (compass, humidity, accelerometers, etc.).
- Familiarity with protocols like SPI, USB, I2C, I3C, PCIe, UART, UFS, MIPI CSI\DSI, and CAN.
- Debug tools such as Lauterbach Trace32.
- Ability to use tools such as Oscilloscope, DMM, bench power supplies, and JTAGs.
- Knowledge of ARM and/or RISC-V architectures.
- Experience with software revision control systems, such as Perforce.
- Ability to understand datasheets, HW designs, read schematics and CCA drawings.
- Communicate with international teams in English (spoken and written).
Qualifications
- Bachelor's degree in Engineering, Information Systems, Computer Science, Computer Engineering, or related field.
- 1-4 years embedded systems development, device drivers, or firmware development.
- 1-4 years’ experience with engineering tools such as oscilloscopes, multimeters and JTAG debuggers.
- 1-4 years’ experience with programming languages such as C, C++, C#, Python, etc.
- Ability to work well with others and independently.
- Strong problem-solving skills.
- Innovative mindset.

