Description
Software Engineer - Storage
Optomi, in partnership with a leading freight railroad network, is seeking a Software Engineer to design and build large-scale storage infrastructure for enterprise environments.
This role focuses on developing the underlying systems themselves, including distributed storage, control planes, replication, resiliency, and high availability.
You’ll work across software and infrastructure layers to turn open-source and internal components into reliable, production-grade systems.
What the right candidate will enjoy!
Enjoy taking open-source technologies and individual infrastructure components and turning them into a complete, production-grade storage platform!Working close to the infrastructure and solving problems at scale!Architecture and hands-on engineering!A fully remote opportunity with up to 20% travel!
Experience of the right candidate:
Experience building distributed systems, storage systems, infrastructure platforms, or other low-level systems software.Demonstrated experience developing or constructing infrastructure systems, rather than primarily administering, deploying, or consuming existing products.Strong understanding of distributed storage concepts such as replication, redundancy, failure domains, data placement, consistency, high availability, and recovery.Experience working with storage technologies such as block, file, or object storage, distributed filesystems, storage engines, storage controllers, or related infrastructure.Strong software development skills in languages such as C++, C, Go, Rust, or Python, with the ability to work effectively in a large production codebase.Strong understanding of Linux and systems-level concepts, including processes, networking, filesystems, I/O, performance, and resource management.Experience designing for high availability and failure recovery in distributed environments.Experience with Kubernetes or cloud-native infrastructure is useful, particularly when it involves building the underlying infrastructure rather than simply operating Kubernetes workloads.
Responsibilities of the right candidate:
Design and develop distributed storage infrastructure capable of operating reliably at large scale.Architect the control-plane and supporting services required to manage storage resources, workloads, nodes, and system lifecycle.Build integrations between open-source and internally developed infrastructure components to create cohesive production systems.Design mechanisms for replication, redundancy, data placement, failure detection, recovery, and automated remediation.Analyze system behavior across the storage, compute, networking, and operating-system layers to identify performance and reliability bottlenecks.Develop software that automates storage provisioning, configuration, health management, and lifecycle operations.Design systems that remain highly available in the presence of hardware, network, software, and node-level failures.Participate in architecture and system-design reviews, making technical tradeoffs around scalability, performance, reliability, and operational complexity.