Principal Software Engineer
Job Summary
The OpenShift Installer team is seeking a Principal Software Engineer to manage and develop storage APIs for Kubernetes and OpenShift platforms. The role involves working in an agile environment to maintain product quality, implement features, and address security threats. Candidates will collaborate across teams to ensure robust system design and continuous integration within the container landscape.
Responsibilities
- Develop Kubernetes and OpenShift storage features
- Ensure product quality through testing and reviews
- Act as point of escalation for technical issues
- Collaborate on architectural system designs
Required Skills
- Linux OS and networking knowledge
- Go programming language
- Kubernetes and container expertise
- CI/CD and automation experience
Job Details
What you will do:
- Develop features and bug fixes in Kubernetes and OpenShift within an agile team focused on storage technologies
- Ensure that there are test plans for the code you create and that documentation is correct
- Become responsible for our product quality, participate in peer code reviews, testing, continuous integration and delivery, respond to security threats
- Act as a point of escalation for customers and internal teams
- Participate in architectural discussions of system designs, programming interfaces, and inter-dependencies of control plane, operators, CI, etc., both in the Kubernetes upstream communities and the OpenShift project
- Collaborate with other engineering teams on integrations
What you will bring:
- Solid understanding of Linux operating system (storage subsystems, block devices, filesystems) and networking
- Knowledge of working with Go programming language
- Understanding of Kubernetes components and architecture (PV, PVC, StorageClass, CSI spec)
- Familiarity with Linux containers and container tools
- Demonstrable expertise in at least one of Python, C, C++, Rust, Ruby
- Expertise in designing, developing, and maintaining test environments and automated test suites
- Experience with continuous integration (CI) tools like Jenkins or Prow
- Understanding of how Open Source and Free Software communities work
- Ability to thrive in a rapidly changing environment
The following are considered a plus:
- Knowledge of NFS, Gluster, Ceph, iSCSI and / or other storage technologies
- Knowledge of Kubernetes internals (internal APIs, controllers implementation, etc.)
- Experience with development for public cloud services (AWS, GCE, Azure)
- Experience with Red Hat OpenShift product
- Ability to present to customers and stakeholders
- Previous contributions to open source projects or being an open source maintainer