This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
The Software Engineering team delivers next-generation application enhancements and new products for a changing world. Working at the cutting edge, we design and develop software for platforms, peripherals, applications and diagnostics — all with the most advanced technologies, tools, software engineering methodologies and the collaboration of internal and external partners. We build enterprise-grade, massively scalable storage systems—clustered, high-performance, and resilient—running across Linux and BSD. Our portfolio includes a multi-petabyte S3 object store and a scale-out NAS platform. We’re a modern, scrum-based engineering org that ships with high velocity and quality, using the best tools, hardware, and practices.
Job Responsibility:
Own problems end-to-end across design, implementation, testing, deployment, and supportability—within a cluster storage system
Build and harden distributed services: durability, consistency, replication, data paths, metadata, control planes, scheduling, placement, and lifecycle management
Optimize performance across computer, memory, IO, networking (including RDMA), and storage media (NVMe/SSD/HDD/AFA)
drive latency and throughput improvements with data-driven profiling
Advance reliability through observability, telemetry, failure injection, chaos testing, and automated remediation
raise the bar on serviceability and supportability
Collaborate in scrum teams
write clear design docs, PRDs, and RFCs
perform code reviews and mentor peers
Raise product quality via automated tests, CI/CD pipelines, build hygiene, and release engineering
Contribute to security & compliance (TLS, authN/Z, crypto, FIPS, STIG/NIST best practices) and secure-by-default engineering
Requirements:
4 - 20 years of experience in systems programming and distributed systems fundamentals (concurrency, networking, storage, consistency, fault tolerance)
Proficiency in at least one of C/C++, Java, or Python
willingness to learn across the stack
Experience with Linux or BSD development and debugging (e.g., performance, strace/dtrace/eBPF, tcpdump)
Ability to write clean, testable code
familiarity with unit/integration/system testing and CI/CD
Must have experience designing subsystems, leading cross-team feature delivery, setting quality bars, improving observability and performance, and driving root-cause and reliability initiatives with clear communication, collaboration, and a bias for action
Nice to have:
Systems & Performance Engineering: Expertise in kernel subsystems, device drivers, firmware