Bandcamp is seeking a software engineer with a background in systems and infrastructure to help us manage our production systems, and in turn help independent artists around the world stay connected with their fans. You’ll work on automation, tooling, monitoring, and other behind-the-scenes code, as well as the design, implementation, and ongoing maintenance of our infrastructure. You have a strong Linux background, proven troubleshooting skills, and a willingness to be on-call.
Bandcamp is a global music community where fans discover great music and directly support the artists who make it. We believe that music is an indispensable part of culture, and for that culture to thrive, artists—no matter their identity, community, or genre—must be compensated fairly and transparently for their work.
About the Systems Team
Our four-person Systems Team helps to ensure that Bandcamp’s production infrastructure and website meet our availability, security, and performance goals. We work closely with our feature development teams to meet those goals, assisting them in getting their code to production and helping them understand how their code works and performs once it’s deployed.
Our responsibilities include primary incident response, infrastructure maintenance, monitoring, tooling and automation improvements, third-party integration management, and operational support. We are also the primary developers for several back-end systems, in areas such as code deployment and media processing.
In this role you will:
- Design, build, and maintain systems-focused software, such as internal tooling and automation.
- Design, build, and maintain infrastructure to help Bandcamp meet our business needs and availability, security, and performance goals.
- Maintain our existing technology stack, built on Linux, Ruby, MySQL, Zookeeper, HAProxy, nginx, Elasticsearch, Prometheus, and Grafana.
- Research new technologies and determine how they can help Bandcamp meet its goals.
- Support developers in bringing their code to production, and in understanding how it works and performs once it’s there.
- Be part of an on-call rotation, providing primary incident response for outages.
- Server-side development experience, in Ruby or a similar language (eg: Python, Java).
- Strong written communication skills, including real-time written communication (eg: text chat).
- Strong problem-solving and troubleshooting skills.
- Experience with building and maintaining Linux-based systems.
- The ability to work independently, managing projects from inception to completion.
- A desire to share your knowledge and experience with the rest of the team.
- A willingness to be on-call (and ideally, past experience in an on-call rotation).
To apply, email your cover letter and resume to firstname.lastname@example.org. For more information, please visit our jobs page