Principal Software Engineer
Principal Software Engineer
Posted 48 days ago
SENIORITY
Lead
About the role
- Core Development
- Design, implement, and maintain Python CLI tools (AADM, SnapSync) and their shared domain libraries
- Develop and extend the Infinidat Ansible Collection modules covering InfiniBox volumes, hosts, clusters, exports, snapshots, network spaces, and more
- Maintain and evolve the IPAT performance alerting service, deployed as a Podman-managed containerized application
- Extend host and hypervisor integration across Linux, Windows, AIX, Solaris, VMware ESX/vCenter, Hyper-V, and Oracle Linux VMMaintain InfiniBox and Infini
- Metrics REST API and InfiniSDK integrations across the portfolio
- Build and improve AI-assisted exception triage pipelines (AADM, SnapSync)
- Build, Packaging, and Release
- Own multi-distribution build systems: Docker-based builder containers, RPM and DEB packaging for RHEL, Rocky, Oracle Linux, and Ubuntu - Maintain GitLab CI/CD pipelines and release tooling across all projects
- Manage release cycles: tag, validate, and promote builds through unstable stable external channels
- Publish Ansible Collection releases to Ansible Galaxy and the internal GitLab registry Quality and Reliability
- Design and maintain unit and acceptance test suites
- Investigate and root-cause field exceptions; own the triage-to-fix lifecycle
- Validate releases against the acceptance test matrix before promotion
- Process and Operations
- Maintain Jira workflow and release notes across the portfolio
- Keep technical documentation current as tools evolve
- At least 7 years of Python development with a focus on systems or CLI tooling - not web frameworks
- Demonstrated enterprise storage background: block storage, NAS, replication, host connectivity via FC or iSCSIStrong Linux systems proficiency across multiple distributions (RHEL/Rocky, Ubuntu); direct experience building and publishing RPM and DEB packages
- Experience with remote host communication via SSH (paramiko or equivalent) and WinRMContainer-based build and deployment experience (Docker and/or Podman)CI/CD pipeline experience (GitLab CI or equivalent)
- Strong written communication; this team operates async-first across time zones
- Ansible module or collection development; familiarity with Ansible Galaxy publishing
- Direct Infinidat InfiniBox or competitive enterprise array experience (NetApp, Pure, EMC)
- Hypervisor integration experience: VMware ESX/vCenter (pyvmomi), Hyper-V, or Oracle Linux VMWindows and AIX host managementSQLAlchemy or similar Python ORMAI-assisted tooling integration
- Experience with Podman quadlets and systemd service management
Before you apply
Applying takes about a minute. These four things decide how fast it moves after that.
Your profile is current
It's what we read first. Occupations, seniority and locations matter more than a long history.
Two examples you can talk through
Not a portfolio — just two pieces of work where you can explain the decisions and what you'd change.
A number in mind
What you're on now and what would make you move. We negotiate better when we know both.
Your notice period
Employers plan around it, and it's the question that stalls offers most often.
Once you apply, someone reads it and calls you before anything reaches the employer — usually within two working days.
