Rails Programmer - remote

Basecamp
Posted 4 years ago
We Work Remotely
We have two rare openings on our Core Product team for Rails programmers. We’ll be accepting applications for the next two weeks, aiming for a flexible start date in October.

We strongly encourage candidates of all different backgrounds and identities to apply. This is an opportunity for us to bring in a different perspective and we’re eager to further diversify our company. Basecamp is committed to building an inclusive, supportive place for you to do the best work of your career. We aren’t looking for ideological clones, but for people who share our beliefs about writing software well.

About the Job

As a programmer on the Core team, you’ll work on shaped projects, big &small, over six-week cycles, typically in tandem with a designer. We’re a small team (just three programmers and three designers) and we work quickly but calmly. You’ll join us, and be responsible for driving projects from concept to completion in an environment of autonomy and creativity.

As a team our focus is firmly on the web: the core technology that powers our applications on all platforms. Ours are majestic monoliths, built using Ruby on Rails. We embrace a classic “HTML over the wire” architecture, of server-rendered HTML, progressively enhanced with JavaScript and CSS. If you think this sounds a lot like the Golden Age of Web Development, well, we couldn’t agree more.

This is an extremely exciting time to join the team. We’re currently all-in on HEY, our brand-new email service, and there’s a ton of fresh work to be done, bugs to fix, and features to polish. That’s where you’ll spend the bulk of your time to start. But we also have our fair share of work supporting Basecamp versions past, present, and future, as well as a back catalogue of applications that we’re committed to maintaining Until The End of the Internet.

Here are some things we’ve worked on recently to give you a sense of what you’ll be doing day-to-day:
  • Building out a subscription system to allow for free trials, upgrades, credit card payments, cancellations, and everything else needed to launch a new product
  • Creating an email export system using the MBOX format, ensuring that even large mailboxes can be exported efficiently
  • Designing a global document browser for convenient access to every mail attachment from every sender, filterable and ordered by recency
  • Revising our billing system to charge EU VAT where applicable, from payment flows and invoices to internal APIs and support tooling
  • Blocking activity trackers and spy-pixels in incoming mail using a variety of techniques, including image and asset proxying for broad protection
  • Collaborating with the Android and iOS teams on cross-cutting and platform-specific features
  • Investigating and fixing a race condition when processing incoming email that’s resulting in random duplicate entries
About You
We’re looking for candidates with strong track records of putting Rails to work and bringing products to life. You should be experienced in the framework, in Ruby, and with the staples of full-stack web development: HTTP, HTML, JavaScript, and CSS. But just because you're experienced doesn't mean we expect you to hit the ground running. You'll have a gentle, intentional on-boarding experience and time to learn &grow comfortable with our systems, processes, and people.

You might have a Computer Science degree or 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 history of conscientious, thoughtful work speaks volumes.

You’re a Manager of One. A committed generalist, eager learner, and curator of the essential. You take ownership and you see things through. You can take a stand yet commit even when you disagree. This is a challenging position for a senior-level programmer, but imposters take heart;we are too.

You're a clear writer. The bulk of our work is written, from the code and interfaces we design, to the pull request discussions and long-form proposals we make. Effective, concise writing leads to effective, concise code.

Basecamp is a remote-first company, and this is a remote job. We're hiring from anywhere that can maintain 3-4 hours overlap with the US-Central Time zone during a normal working day. This might been a 11:00-19:00 schedule from Europe, but we're not hiring from locations that require a graveyard shift to make the overlap happen.

Benefits &Compensation

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 $186,850 (Senior Programmer).

Benefits at Basecamp are all about helping you lead a healthy life outside of work. We won’t treat your life as dead code to be optimized away with shallow perks. You won’t find lures to keep you coding ever longer. We believe quality time to focus on work starts with quality time to think, exercise, prepare a meal, be with family &friends, and of course, time to yourself.

We offer fully paid parental leave. We work 4-day weeks in the summer (Northern Hemisphere), and offer a month-long sabbatical every 3 years. We subsidize your home office, wellness and fitness interests, and continuing education. We offer a generous annual charitable contribution match. All on top of top-tier health insurance and a retirement plan with company match. See our full list.

How to Apply

Please submit an application that speaks directly to this position. Tell us about yourself, about what you can bring to Basecamp, and about Basecamp’s role in your future. Tell us about something you’ve done, something that’s relevant to the kind of work we do, something that excites you. Be descriptive, but don’t feel the need to write a novel -- 500 words or so should be plenty.

We’re accepting applications until August 19, 2020, at 7PM US-Central time. There’s no benefit to filing early, so take your time.

We expect to take a few weeks to review all applications. You’ll hear from us by Friday, September 4, about advancement to a take-home technical exercise. The exercise is representative of the kind of day-to-day work we do. We invite fewer than 20 candidates to this stage, and those candidates should expect to spend upwards of a full day (but no more!) completing this test. Please consider whether you'd be willing to dedicate that time before applying.

After the written test, the top candidates will proceed to the interview stages. Expect 2-3 interviews, all 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 early October with a start date later that month.

Please note that we’re unable to offer individual feedback during the screening process. We usually see 1,000+ applications for developer roles, and our hiring team simply doesn’t have the bandwidth to offer personalized feedback before the technical exercise round.

This is a demanding application process and significant career move to consider. We appreciate you giving us that consideration, and we promise to give you our full attention in return. We look forward to hearing from you!