System Software Engineer

HP IQ7 months ago
San Francisco, CA, United States
Hybrid
Full-time
Junior Level (1-3 years)

Job Description

About The Role

The System Software team is responsible for firmware, operating system software, hardware-accelerated algorithms, and core developer frameworks supporting our products. We serve as the glue between our hardware teams and our higher-level software teams, and delight in finding creative solutions to complex, interdisciplinary problems as we bring our product visions to life. As a firmware engineer on our team, you will develop firmware for low-power embedded microcontrollers to coordinate sensors, ensure security and privacy, manage power subsystems, and more. You will also have plenty of opportunity to develop and grow your own management and leadership skills as you coordinate development efforts with vendors, consultants, and manufacturing partners.

What You Might Do

  • Learn what it's like to be a part of a world-class embedded software team building a first-of-its-kind product in a startup environment
  • Assist with system design and architecture
  • Develop low-level driver and framework software in C and C++
  • Develop device-focused infrastructure software in Python
  • Debug issues at the interface between hardware and software
  • Optimize software for better performance and lower power consumption
  • Collaborate in the software engineering process with documentation, testing, and code review

Essential Qualifications

  • 5+ years of experience in system software engineering and embedded platform
  • Experience in at least one of the following programming languages: C++ or C
  • Strong background in systems design and architecture

Preferred Skills

  • Experience with Android development, Linux, or Windows
  • Familiar with porting reference algorithms to hardware accelerators (GPU, DSP, etc)
  • Familiar with developing firmware for microcontrollers such as bare metal or RTOS
  • Experience with ARM or Qualcomm chip architecture
  • Ability to use common lab equipment (eg, logic analyzers) to debug low-level SW issues
  • Desire or experience working in fast paced environments.

Salary Range: $140,000 - $198,000

Required Skills

Low-level driver development
ARM architecture
Firmware development
Performance optimization
Android development
Firmware for microcontrollers
Embedded platform development
Qualcomm architecture
Systems design and architecture
Debugging hardware-software interfaces
C++
System software engineering
Using lab equipment for debugging
Linux
C
Windows
Device-focused infrastructure in Python