Posted in

Staff Software Engineer – Hypervisor – Software Engineering

Staff Software Engineer – Hypervisor – Software Engineering

CompanyQualcomm
LocationSan Diego, CA, USA
Salary$134800 – $202200
TypeFull-Time
DegreesBachelor’s, Master’s, PhD
Experience LevelMid Level, Senior

Requirements

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

Responsibilities

  • Design, development and integration of SoC firmware features, diagnostics and test capabilities for QCT boot platforms.
  • Strong coordination and collaboration across wide range of technical areas to include software, hardware, ASIC, integration, architecture, and emulation teams.
  • Paying attention to the details during all phases of firmware design, development, integration, testing and release – Work with Emulation, HW design teams, as necessary, in verifying and debugging firmware, driver and resolving platform issues.
  • Efficient and secure (ie. cognizant of not exposing security exploits) coding plus driving code review of firmware logic updates with all required stakeholders.
  • On time execution of defined tasks and deliverables, driving dependencies with other teams to closure.
  • Triage of software issues, defect investigation and problem resolution.
  • Technical documentation including APIs, manuals, and user guides.

Preferred Qualifications

  • Master’s Degree in Computer Science, Engineering, or related field.
  • 8+ years of Software Engineering experience.
  • 1+ year of work experience with Git, Perforce, or Source Code Management System.
  • Strong understanding or experience with C.
  • An understanding of computer architecture, operating systems, and kernels. Linux, kernel, bootloader or OS development experience.
  • ARM CPU architecture knowledge. IOMMU and ARM SMMU knowledge Hypervisors and virtualization.
  • Experience with multi-processing or multi-threading, concurrency, and synchronization. Writing device drivers and interfacing hardware.
  • Experience with secure coding.
  • Use of debugging tools such as GDB, Lauterbach Trace32 and understanding assembly. Real-time OS. Toolchains and systems libraries (libc etc).
  • Python, shell scripting and Linux based development environment.
  • Good communication and presentation skills.
  • Test development and test automation.
  • Contributing to open-source projects.
  • Demonstrated independent software design, good analytic and problem-solving skills. Any automotive and functional safety experience may also be relevant.