SysAdmin at Basecamp - remote

Basecamp
Posted 4 years ago
We Work Remotely
Basecamp is hiring three new System Administrators for our Operations team to help us deliver fast and reliable applications, like Basecamp and our new email service HEY. Our infrastructure exists both in colocated data centers and in the cloud, and you'll be working alongside our existing team of Blake, Eron, John, Matt, Matthew, Nathan, and Troy.

As you might gather from the names, our operations team today is not nearly as diverse as we'd like it to be, or as the rest of the company. We therefore strongly encourage candidates of all different backgrounds to apply. Basecamp is committed to building an inclusive, supportive place for you to do the best and most rewarding work of your career. We are an equal-opportunity employer and are committed to building a company that embraces and celebrates diversity and inclusion.

About the work
The job of operating fast and reliable systems is mainly about making life as boring as possible by considering and mitigating all the things that could go wrong before they do. Operations shine the brightest when there's nothing to see – systems just run. But getting there is both difficult to accomplish, and hard to sustain.

It's also impossible to get perfect all the time. So part of the work includes being available for on-call duty, which may include getting woken up in the middle of the night, when it's your turn to be first responder. We rotate that responsibility on a regular schedule.

Our standard stack includes MySQL (both Aurora on AWS and on-prem installations), Redis, ElasticSearch, S3, Ruby on Rails, postfix, Kubernetes, and local installations.

Here are some things we’ve worked on recently that might give you a better sense of what you’ll be doing day to day:
  • Integrate and optimize rspamd for inbound and outbound mail pipelines
  • Modify and extend Terraform configurations for managing AWS resources
  • Practice incident response procedures including service failovers
  • Provision and load test both on-premise and cloud-based infrastructure
  • Manage database schema changes using pt-online-schema-change
  • Upgrade production Kubernetes clusters to a new release
  • Migrate workloads from cloud to onprem or vice-versa
  • Deploy and operate database clusters built with Vitess and MySQL
You’ll be working hand-in-hand with a team that is happy to answer questions and share their collective wisdom at each step of the way. And your experience and background will join ours! We have worlds to learn and we’re eager to do it together. You can expect to teach us, coach us, and expect the same in return.


About you
We’re looking for experienced candidates only for this role. You should have been doing this work before in a professional setting, but you also won’t know how all our systems work on day one, and we don’t expect you to. Nobody hits the ground running.

But you should be familiar with our standard stack, completely comfortable with the Unix toolchain, basic networking concepts, and be at least a passable programmer, capable of writing or amending existing systems in Go or Ruby.

If you have experience with email services in particular, that's a plus. We're new to operating a full-scale email service with HEY, so if you can bring experience and fresh, we're eager to learn. But this is not a requirement.

You might have a CS or engineering degree. You might not. That’s not what we’re looking for. We care about what you can do and how you do it, not about how you got here. A strong track record of conscientious, thoughtful work speaks volumes.

We value Managers of One. We appreciate people who can take a stand yet commit even when they disagree. We subject ideas to rigorous consideration and challenge each other, but all remember that we’re here for the same purpose: to do good work together. That comes with direct feedback, openness to each others’ experience, and willingness to show up for each other as well as for the technical work at hand. We’re in this for the long term.

You can expect a mindful onboarding process with ramp-up and time to learn. You can expect a team that listens, and to be heard. You can expect to give and provide direct feedback. You can expect to be counted on. You can expect to do your best work and build a career here. We build our apps, our teams, and our company for the long haul, with a strong eye to other teams’ effectiveness &happiness, from design to support and operations. A healthy, resilient app starts with a healthy, resilient organization.

This is a remote job. You’re free to work where you work best: home office, co-working space, coffeeshops. However, given our on-call responsibilities, we're specifically looking for someone to compliment our existing timezone coverage. We will therefore not be looking for additional team members in the central or eastern timezones of the US. We'll consider mountain time, would be happy with pacific time, and would be thrilled with candidates in Hawaii or Europe. But we also need a reasonable overlap during a normal workday with the central timezone, so we are not considering candidates from, say, India for this role.

Pay and benefits
Basecamp pays in the top 10% of the industry based on San Francisco rates. Same position, same pay, no matter where you live. The salary for this position is $134,257 (for Systems Admin) or $167,962 (for Senior Systems Admin). We assess seniority relative to the team at Basecamp during the interviewing process.


Benefits at Basecamp are all about helping you lead a healthy life outside of work. That starts with working no more than 40 hours a week on a regular basis and getting 8+ hours of sleep a night. Our workplace and our benefits are designed to support a sustainable, healthy relationship with your work.


We offer fully-paid parental leave. We work 4-day weeks through the summer (Northern Hemisphere) and take a one-month sabbatical every three years. We subsidize co-working, home offices, and continuing education, whether professional or hobbyist. We match your charitable contributions. All on a foundation of top-shelf health insurance and a retirement plan with a generous match. See the full list.


How to apply
Please send an application that speaks directly to this position. Show us your role in Basecamp’s future and Basecamp’s role in yours. Address some of the work we do. Introduce yourself as a colleague. Give it a deep think and take this at your speed. We’re giving you our full attention.


We’re accepting applications until Sunday, August 2, 2020, at 7PM US-Central time. There’s no benefit to filing early or writing a novel. Keep it sharp, short, and get across what matters to you.


Next: We expect to take a few weeks to review all applications. You’ll hear from us by Friday, August 21, about advancement to a take-home technical exercise. This test is offered to fewer than 20 candidates out of the usually hundreds (or in some cases, more than a thousand!) people who apply. You should expect to spend upwards of a full day (but no more) completing this test. Please consider whether you'd be willing to set aside time for that before applying.

After the written test, the top candidates will proceed to an interview. Our interviews are one hour, all remote, with your future colleagues, on your schedule. We'll talk through your background, your approach to work, and dive into your technical knowledge. No gotchas, brainteasers, or whiteboards. 

We aim to make an offer by the end of September with a start date in October.


Note: We’re unable to offer feedback during most of the screening process. We tend to see over 1000 applications for our technical roles. We don’t have the bandwidth to offer personalized feedback to candidates that do not proceed to the interview round.


This is a demanding application process, and significant career move to consider. We appreciate the generosity and courage that go into giving us that consideration. Our conversation starts with this post. We look forward to hearing from you!