We’re looking for a Software Development Engineer to join the team that evolves our core Swarm cloud storage infrastructure. The challenge is providing scalable performance, eventual consistency, and absolute data integrity, from the primitive and sometimes erratic behavior of disks and sockets, within the constraints of an embedded, fully symmetric, distributed system. Our product routinely serves applications with billions of objects and many petabytes of data, and our plan is to stay ahead of the largest future demands. Python and C++ are the primary languages. Experience with development in a Unix environment utilizing open source and 3rd party tools and packages is required.
DUTIES AND RESPONSIBILITIES:
Key responsibilities and duties include, but are not limited to:
Developing and extending the Swarm storage management software; adding new capabilities and adapting to new hardware and software configurations; tracking the evolution of Linux and keeping kernel and drivers up to date. Also diagnosing failures or performance issues reported by customers and developing fixes or architectural changes to correct the issues.
Essential skills and experience for Swarm Platform-Level Engineer
- 5+ years experience in developing distributed systems on Linux.
- Python experience preferred; C++ experience is useful; neither required
- Experience with Linux disk subsystem, disk drivers and especially encryption at rest (LUKS)
- Experience with Linux network drivers, including various bonding modes.
- Experience with Linux memory management, NUMA zones, etc.
- Experience with kernel level debugging, including diagnosing memory issues.
- Experience in building kernels, kernel configurations, and performance tuning
- Experience in Linux administrative scripting including systemd.
- Experience with Linux BIOS/UEFI level configuration and troubleshoooting.
- Experience using REST APIs.