Software Engineer - Distributed Storage & Databases

United States, New York, Washington, Seattle
Permanent
Job ID: 2505

Job Description


[Up to c. $475k Comp Package | Hybrid Working]


Role Overview

We’re representing a leading quantitative trading firm with one of the most advanced research and compute environments in the industry. The firm’s research platform depends heavily on large-scale data storage, distributed systems, and high-performance tooling that enable researchers to test, refine and deploy trading ideas at speed.

This role sits within a specialist engineering team building the storage libraries, database-style systems and distributed infrastructure used by research teams across the business. You’ll work primarily in C++ within a Linux environment, designing systems that need to remain simple, reliable and performant even under scale, failure and heavy research demand. It's well suited to an engineer who enjoys both low-level systems detail and higher-level distributed architecture - someone who can reason about trade-offs, build robust software, and create tools that make sophisticated research workflows faster and more effective...


Key Responsibilities

  • Design and develop distributed storage systems, libraries and tooling used by research teams at scale
  • Build high-performance C++ software in Linux environments, with a focus on reliability, maintainability and efficiency
  • Work through distributed systems challenges including fault tolerance, replication, sharding, failure handling and consistency trade-offs
  • Partner with research users to understand data access patterns, storage bottlenecks and future platform requirements
  • Improve the performance and resilience of systems that support large-scale compute and research workflows
  • Evaluate modern approaches across databases, distributed filesystems, indexing/search systems and storage infrastructure
  • Contribute to architectural decisions around how data is stored, retrieved, distributed and protected across the research platform
  • Debug complex issues across operating systems, networking, storage layers and application code
  • Collaborate with a small team of highly technical engineers while taking strong ownership of delivery and quality


What You’ll Bring…

  • 4-9 years’ experience in software engineering, distributed systems, storage infrastructure, databases or low-level systems development
  • Strong C++ programming experience, ideally with regular use in production or performance-sensitive environments
  • Solid understanding of distributed systems concepts such as fault tolerance, sharding, replication, robustness and failure-mode design
  • Experience building reliable, maintainable software used by technical internal users or infrastructure teams
  • Experience building databases, distributed storage systems, search infrastructure, filesystems or comparable data-intensive platforms
  • Strong Linux / UNIX skills, including comfort working close to operating system, networking and performance layers
  • Ability to reason about low-level implementation details while also understanding broader system architecture
  • Strong computer science fundamentals and a practical approach to designing simple, durable systems
  • Strong ownership mindset and ability to operate effectively in collaborative engineering environments
  • (Preferred) Exposure to Python alongside C++ for tooling, scripting or research-facing infrastructure
  • (Preferred) Background in high-performance computing, trading technology, large-scale infrastructure or research platforms


...


Apply for this role

All fields marked with * are required.

I confirm I have a pre-existing right to work in the role’s location *
I require visa sponsorship now or will require it in the future

Back to Job Listings