Principal Software Engineer
Hewlett Packard Enterprise
- Location
- Cupertino, CA
- Employment
- Full Time
- Work model
- On-Site
- Level
- Principal
- H-1B history
- 167 approvals (FY2023)
- Posted
- Sep 19, 2026
Skills
About this role
Principal Software Engineer This role has been designed as ‘’Onsite’ with an expectation that you will primarily work from an HPE office.
Who We Are
Hewlett Packard Enterprise is the global edge-to-cloud company advancing the way people live and work. We help companies connect, protect, analyze, and act on their data and applications wherever they live, from edge to cloud, so they can turn insights into outcomes at the speed required to thrive in today’s complex world. Our culture thrives on finding new and better ways to accelerate what’s next. We know varied backgrounds are valued and succeed here. We have the flexibility to manage our work and personal needs. We make bold moves, together, and are a force for good. If you are looking to stretch and grow your career our culture will embrace you. Open up opportunities with HPE.
Job Description
Principal Systems Software Engineer — Linux Systems We are seeking a Principal Systems Software Engineer to lead the development of Linux system-management and monitoring infrastructure for our Debian-based platforms. This role is suited to an experienced systems engineer who enjoys working across application architecture, operating-system interfaces, and production reliability. You will design and build Go-based tools that manage software lifecycles, monitor service health, collect operational data, and improve observability across our Linux fleet.
Key Responsibilities
System Management Tooling: Design, build, and maintain Go applications for Linux user-space system management on Debian-based distributions. Package Management: Develop tooling to inspect installed packages, manage updates using APT and dpkg interfaces, and detect version or dependency inconsistencies. Service Observability: Build mechanisms to monitor service status, health metrics, and system events using technologies such as systemd and journald. Diagnostics and Logging: Implement automated log collection, retrieval, and parsing to support troubleshooting and incident response. Debian Packaging: Own the packaging of internal software into production-ready .deb packages, including dependency definitions, lifecycle scripts, and release processes. Architecture: Define and lead the transition toward modular, maintainable system-management services while preserving reliability, performance, and operational simplicity. Technical Leadership: Establish engineering standards, conduct design reviews, mentor engineers, and influence technical direction across relevant teams.
Required Qualifications
10+ years of professional software development experience, including substantial systems-software experience. Strong professional experience developing production software in Go. Deep knowledge of Linux user space, including system calls, signals, processes, filesystems, and interprocess communication. Strong understanding of systemd, journald, Linux service management, and system diagnostics. Hands-on experience with Debian packaging, APT, dpkg, dependency management, and package lifecycle operations. Experience designing reliable, maintainable software used in production environments. Demonstrated ability to lead architecture decisions and influence technical direction. Bachelor’s or master’s degree in Computer Science, Engineering, or a related field, or equivalent practical experience.
Preferred Qualifications
Experience designing distributed systems or service-oriented architectures. Python experience for automation, scripting, or maintaining existing system utilities. Familiarity with AppArmor, SELinux, secure boot, or related Linux security technologies. Experience profiling and optimizing Go applications using tools such as pprof . Experience optimizing resource usage on embedded, appliance, or server-grade Linux systems. Familiarity with automated testing, CI/CD, release engineering, and production monitoring. Technical Environment The role involves Go, Python, Debian-based Linux, APT, dpkg,