
Our core mission at Railway is to let developers create, ship, and operate software with minimal friction. Fundamental to that mission is an array of rock-solid and composable primitives, principal among these — storage.
As a Storage Engineer, you will build, evolve, and operate the systems that allow Railway to host stateful workloads. Railway operates across multiple colocation datacenters and large fleets of cloud VMs. This demands we build high-availability primitives that “work anywhere” and can migrate between different environments with minimal (ideally zero) downtime. Moving storage is the hardest challenge in this task, requiring us to invest in building custom systems from first-principles.
You will principally be working on our new log-structured block-storage system designed for performance, high-density, and high-availability across cloud and bare-metal environments.
About The Role
For this role, you will:
- Lead the development of Railway's block storage systems.
- Support the operation of storage systems and participate in on-call rotations.
- Drive the specification of storage server hardware.
- Build systems to support capacity planning.
- Design and build interfaces with orchestration services to support coordinated workflows such as online backups and zero-downtime/live workload migration.
- Write Engineering Requirement Documents to take features from idea, to defined tasks, to implementation, to monitoring success.
- Set the longer-term architectural direction to scale the platform.
This is a high-impact, high-agency role with a direct effect on company culture, trajectory, and outcome.
About You
You should meet one or more of the following requirements:
- Experience building and operating distributed storage systems with a strong grasp of first-principles.
- Strong systems engineering experience in one or more of: filesystems, block devices, kernel I/O paths, SPDK,
io_uring,vhost-user-blk,ublk, or virtualization. - Deep understanding of the algorithms and techniques behind fast, performant, and reliable storage systems.
- Experience building large distributed systems where consistency and availability were critical.
- Strong background in performance engineering at the I/O layer on Linux.
- Strong foundation in systems programming with Rust.
- Comfortable owning a problem independently in a startup environment.
- Solid intuition about system longevity and when to scale vs. replace solutions.
- Clear communication skills for effective implementation, collaboration, and documentation.
If your background is in adjacent infrastructure (hypervisor I/O, kernel development, distributed systems, persistent memory) and you want to apply that depth to storage, we encourage you to apply.
Things to Know
- Distributed globally: We operate asynchronously across timezones.
- High ownership: Small team (21 people serving hundreds of thousands of users) with high autonomy and agency.
- Boundaries matter: Work-life balance is respected, but diligence with communication across overlapping timezones is key.
Benefits & Perks
- Competitive salary & strong equity grants
- Full health benefits including coverage for dependents
- Equipment stipend
- Low-meeting culture (company board syncs on Monday and Friday only)
Culture
Async-friendly
Open to
Worldwide
Sign in to track applications and earn points.