Hpiq Senior System Software Engineer at HP IQ develops low-level driver and framework software for embedded platforms. The role includes system design, debugging hardware-software interfaces, and optimizing performance.
Responsibilities
HP IQ’s System Software team enables on-device experiences to take full advantage of our hardware capabilities. We collaborate with internal and external partners in a high-leverage environment that enables us to spend a majority of our time developing solutions that are unique to our hardware, sensors, algorithms, and interaction models. If you enjoy solving complex, interdisciplinary problems with a world-class team, we'd love to hear from you!
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
Responsible for 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
8+ years of experience in system software engineering and embedded platform
Experience in at least one of the following programming languages: C++ or C
Qualification
Familiarity with modern C++Experience with Android developmentAbility to use common lab equipment (egSalary Range
Required
8+ 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
Familiarity with modern C++
Experience with Android development, Linux, or Windows
Familiarity with optimization tools such as Perfmon or Valgrind
Experience porting reference algorithms to hardware accelerators (GPU, DSP, etc)
Familiarity with ARM System-on-Chip (SOC) architecture
Experience developing bare-metal firmware for microcontrollers
Ability to use common lab equipment (eg, logic analyzers) to debug low-level SW issues