Principal Software Engineer (Storage)

Hewlett Packard Enterprise•Durham, NC
•$157,000 - $361,000•Hybrid

About The Position

Designs, develops, troubleshoots, and debugs Kubernetes-based control-plane software for HPE Alletra Storage MP X10000, an enterprise storage product. The role develops Go microservices, Kubernetes controllers, and host networking daemons that provide highly available client networking, manage data-center network infrastructure, and distribute and upgrade software across the cluster. It works across Linux networking, Kubernetes, and network hardware. The position has visible technical impact on a product or major subcomponent. It applies in-depth professional knowledge and innovative ideas to complex problems, contributing to improved time-to-market, cost reductions, or current and future customer needs. The Principal Software Engineer is a recognized internal authority in a key technology area, provides technical leadership for significant project or program work, participates in cross-functional initiatives, and contributes to mentorship and knowledge sharing. The role is hybrid, with an average requirement of two days per week in an HPE office.

Requirements

  • Bachelor's or Master's degree in Computer Science, Computer Engineering, or equivalent.
  • Typically 10 or more years of experience developing production software, including significant experience with distributed or infrastructure systems.
  • Strong programming experience in a systems language such as Go, C/C++, or Java, including concurrency and testable design, and willingness to develop primarily in Go.
  • Hands-on Kubernetes development experience, such as building controllers or operators and custom resources.
  • Solid knowledge of Linux IP networking, including TCP/IP, routing, VLANs, and IPv6, and hands-on network troubleshooting experience.
  • Experience designing distributed, highly available systems that tolerate partial failures.
  • Proficiency in Bash shell scripting for tooling, automation, and system setup.
  • Excellent analytical, debugging, and problem-solving skills.
  • Excellent written and verbal communication skills.

Nice To Haves

  • Background in enterprise storage systems or storage appliances.
  • Professional experience developing in Go (Golang).
  • Experience with software packaging, distribution, and upgrades, such as container images, registries, and rolling updates, including delivery to on-premises or air-gapped environments.
  • Experience automating data-center network switches through APIs or network automation tools.
  • Experience orchestrating firmware or operating-system upgrades for network devices or appliances.
  • Knowledge of Kubernetes networking internals, such as CNI.
  • Experience with RPC frameworks such as gRPC, secure communications such as TLS, and Linux system services.
  • Experience with Python for test automation.
  • Experience with observability, including Prometheus metrics and structured logging, and supporting production systems in the field.
  • Effective use of AI-assisted development tools, with strong engineering judgment in reviewing and validating their output.

Responsibilities

  • Design, develop, and own Go microservices and Kubernetes controllers or operators for cluster networking, network infrastructure management, and software distribution.
  • Develop host-level Linux networking software that configures interfaces, addressing, and routing to provide clients highly available access over IPv4 and IPv6.
  • Automate configuration and lifecycle management of data-center network switches, including safe, recoverable firmware upgrades.
  • Develop and maintain services that package, store, and distribute software and container images for cluster installations and upgrades.
  • Design distributed, highly available services that remain correct through node failures, restarts, and partial upgrades.
  • Review and evaluate designs and code for correctness, failure handling, and testability; provide feedback to improve product quality and reduce failure risk.
  • Develop automated unit, integration, and system tests, including fault-injection testing.
  • Troubleshoot customer escalations and field issues across Kubernetes, Linux networking, and network infrastructure, and turn findings into lasting product fixes.
  • Collaborate with cross-functional storage, platform, and cloud teams on designs spanning multiple components.
  • Guide and mentor junior team members and set an example of software design and development excellence.

Benefits

  • A comprehensive suite of benefits supporting physical, financial, and emotional wellbeing.
  • Personal and professional development programs to support career goals.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service