Product Software Engineer

QualcommSan Diego, CA
2d

About The Position

This position is not eligible for Qualcomm immigration sponsorship. As a Qualcomm Product Software Engineer , this role requires working on Product Software development and testing tasks for various programs (e.g. Smartphones ( Linux, Android OS etc.), Computing devices (e.g. Laptops, Servers) , Automotive Infotainment & ADAS systems ,and other consumer & Industrial IoT products). You will work and collaborate with various other Qualcomm Engineering teams e.g. Software, Systems , Hardware, Architecture and Test teams for delivering end to end product software solution for such programs. Software Integration Tasks : Integrate software components and configurations to meet product specifications. Maintain and enhance automation for continuous integration systems. Resolve build failures, resolve any software interface dependencies. Create and maintain build scripts to optimize the build generation process. Manage software configuration using version control system ( e.g. Perforce or GIT or Github etc.) Announce and release new software baselines. Product Software Sanity Testing: Sanity test the incremental builds to catch any regression issues due to new integration tasks. This testing happens on-target devices, simulators and reference platforms. Debug any sanity test failures. This requires understanding of common on-target debugging tools such as JTAG, ADB , simulators, log analysis etc. Create scripts to automate the test scenarios and process logs. Create test plans to cover test coverage for new features being enabled through software integration cycles. Collaborate for design and code-reviews with other technical & business team members.

Requirements

  • Bachelor's degree in Engineering, Information Systems, Computer Science, or related field.

Nice To Haves

  • Masters degree in Electrical & Computer Engineering, Computer Science, or related field.
  • 2+ years of work experience with Programming Language such as C, C++, Java, Python, etc. for embedded systems software.
  • Experience working on software design, development & verification tasks for ARM/CPUs
  • Understanding of OPEN BMC and Operating Systems (CentOs/UBantu/RHEL) for x86, ARM64, and RISC-V 64-bit server platforms.
  • Experience with open-source benchmarking tools (DCPerf, Kubernetes, VectorDBBench) and AIML module such as PyTorch and vLLM, etc.
  • Knowledge of different debugging tool such as TRACE32,OpenOCD,etc for compute and IoT projects.
  • Experience with Software development, debugging and testing with ARM or x86 based compute and Server product development for Linux based OS.
  • Experience with using open source software, enablement of such software for different hardware platforms by collaborating with software & hardware teams.
  • On-target debugging experience (e.g. J-TAG & ICE tools)
  • Familiarity with device log analysis (e.g. modem OTA, Kernel & user-space logs).
  • Understanding of wireless systems (e.g. 5g, wifi, Bluetooth)
  • Multimedia Applications & Device driver development & debugging exposure for compute, IoT & smart devices.
  • Knowledge of ARM CADI/IRIS protocol for Fast Models and FVPs
  • Windows Driver Software Stack experience is a plus.
  • WinDbg usage experience is a plus.
  • Must have prior hands-on experience for embedded software development
  • Excellent communication skills, strong work ethic, and a positive attitude.

Responsibilities

  • Integrate software components and configurations to meet product specifications.
  • Maintain and enhance automation for continuous integration systems.
  • Resolve build failures, resolve any software interface dependencies.
  • Create and maintain build scripts to optimize the build generation process.
  • Manage software configuration using version control system ( e.g. Perforce or GIT or Github etc.)
  • Announce and release new software baselines.
  • Sanity test the incremental builds to catch any regression issues due to new integration tasks. This testing happens on-target devices, simulators and reference platforms.
  • Debug any sanity test failures. This requires understanding of common on-target debugging tools such as JTAG, ADB , simulators, log analysis etc.
  • Create scripts to automate the test scenarios and process logs.
  • Create test plans to cover test coverage for new features being enabled through software integration cycles.
  • Collaborate for design and code-reviews with other technical & business team members.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service