Staff IOT Software Engineer

QualcommSan Diego, CA
3d

About The Position

Qualcomm’s central baseband hardware systems organization designs and delivers baseband and embedded system reference platforms that emphasize close co‑design of silicon, packaging, and PCB interconnects for Qualcomm application processors, modems, and power‑management ASICs. These highly integrated reference designs incorporate high‑performance SoCs, high‑speed memory technologies, high‑resolution displays, PMICs, RF transceiver cards, and a wide range of digital and analog peripherals including audio, USB/OTG, Bluetooth, GPS, MIPI interfaces, WLAN, and Ethernet. The IPS Software team is composed of embedded software engineers with deep expertise in low‑level device drivers, firmware, and hardware/software interfaces. The team develops bare‑metal software and validation firmware used to bring up, test, and validate Qualcomm reference platforms. Work is performed in a fast‑paced, hands‑on environment that directly supports hardware design validation, factory test enablement, and early platform bring‑up across multiple global sites. This role requires strong technical depth in low‑level embedded software development and close collaboration with hardware, silicon, and systems teams. The ideal candidate is a self‑motivated problem solver who can work both independently and as part of a globally distributed team.

Requirements

  • Strong expertise in device driver and bare‑metal software development, including register‑level programming, GPIO configuration, and hardware bring‑up.
  • Experience with common SoC peripherals such as RAM, UFS, NVMe, displays, camera subsystems, audio codecs, and environmental and motion sensors (e.g., compass, humidity, accelerometer).
  • Working knowledge of hardware interfaces and protocols including SPI, USB, I2C/I3C, PCIe, UART, UFS, MIPI CSI/DSI, and CAN.
  • Proficiency with debug and bring‑up tools such as Lauterbach Trace32 and JTAG‑based debuggers.
  • Hands‑on experience using lab equipment including oscilloscopes, digital multimeters, and bench power supplies.
  • Solid understanding of ARM and/or RISC-V processor architectures.
  • Experience using software revision control systems such as Perforce.
  • Ability to interpret datasheets, hardware design documents, schematics, and CCA drawings.
  • Strong written and verbal communication skills in English, with the ability to collaborate effectively with international teams.
  • Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 4+ years of Software Engineering or related work experience.
  • OR Master's degree in Engineering, Information Systems, Computer Science, or related field and 3+ years of Software Engineering or related work experience.
  • OR PhD in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience.
  • 2+ years of work experience with Programming Language such as C, C++, Java, Python, etc.

Nice To Haves

  • 8+ years of experience in embedded systems development, device drivers, or firmware development.
  • 8+ years of hands‑on experience with engineering lab tools such as oscilloscopes, multimeters, and JTAG debuggers.
  • 8+ years of programming experience using languages such as C, C++, Python, Assembly, or similar.

Responsibilities

  • Develop and maintain bare‑metal firmware and low‑level device drivers to enable bring‑up and validation of Qualcomm reference platforms.
  • Perform early hardware bring‑up and debug of new boards and chipsets, identifying issues across hardware, firmware, and system boundaries.
  • Implement and extend test firmware used for platform validation, manufacturing test, and factory enablement.
  • Collaborate closely with hardware design, silicon, systems, and validation teams to define requirements and resolve hardware/software integration issues.
  • Analyze failures using schematics, register traces, logic analyzer data, and lab instrumentation, and drive issues to resolution.
  • Support multiple platforms and hardware variants, adapting software to different configurations and use cases.
  • Contribute to code reviews, documentation, and best practices for low‑level embedded software development.
  • Mentor junior engineers and provide technical guidance on embedded software, debugging techniques, and platform bring‑up.
  • Participate in cross‑site and cross‑functional reviews, providing clear technical communication and status updates.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service