Rails Programmer

Published on March 11, 2024

37signals makes Basecamp, HEY, Ruby on Rails, and we write books. We're a remote, global company with teammates throughout the world, in 9 countries.

37signals is hiring a Rails programmer to work on Basecamp and HEY. We're looking for Programmer candidates, and we’ll be accepting applications until Monday, March 25th at 5:00PM CST.

About the job
You'll be building new product features alongside a designer using our Shape Up methodology, as well as spending time addressing issues to make sure our apps are robust and our codebase is weed free.

Our teams are always working on our popular email service HEY, its Calendar, and our flagship product, Basecamp. We're also actively developing a new line of products called ONCE, beginning with our installable, self-hosted group chat system Campfire. We maintain a cherished set of legacy products that we're operating until the end of the internet. Everything is built as a majestic monolith using Ruby on Rails, and we're all-in on Hotwire for the front-end.

To give you a clear idea of what the job could entail, here are some real examples of the work we’ve done lately:
  • Extending a system to move information within Basecamp to accommodate a long-requested feature.
  • Collaborating with a designer to create a novel way of tracking progress in Basecamp.
  • Building a system to export iCalendar feeds for calendar events.
  • Diving into the RFC 5545 standard to design a system to synchronize external calendars incrementally.
  • Creating a Ruby library to parse natural expressions into dates.
  • Working with a designer to add more recurrence options to HEY Calendar.
  • Investigating why a HEY screen presents a jumpy scroll when navigating to it.
  • Troubleshooting and fixing a bug where a customer can't export emails for an Extension in HEY.
  • Creating an API for Campfire that customers can use to build their own chatbots.
  • Designing a Ruby gem that brings easy Web Push notification support to Rails.
  • Building a feature for session transfer via QR code, so Campfire users can quickly move between devices without logging in again.
About you
We’re looking for candidates with a strong track record 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.

Just because you’re experienced, it doesn’t mean we expect you to hit the ground running. You’ll have a gentle, intentional on-boarding experience, and time to learn and grow comfortable with our systems, processes, and people.

Since 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 – being a good writer is important. Effective, concise writing leads to effective, concise code.

We're not big on credentials, so a Computer Science degree or graduating from a prestigious university is not something we spend much time looking at. We care about what you can do and how you do it, not about how you got here.

While you'll report to a team lead, 37signals is a company where Managers of One thrive. We're quick to trust that you can do it, and here to support you in making it so. You can expect to be counted on. You can expect to do your best work and build a career here.

This is a remote job. You’re free to work where you work best: home office, co-working space, coffee shops. To make sure time zones overlap with our current crew, we're only looking for people based in the Americas, Africa, or Europe.

We respect everyone's right to participate in political expression and activism, but avoid having political debates on our internal communication systems. 37signals as a company also does not weigh in on politics publicly, outside of topics directly related to our business. You should be at peace with both of these stances.

Pay & Benefits
37signals 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 Programmers is $170,000 USD.

Our benefits support a life well-lived away from work. Ample time off and all the resources you need to support you in doing the best work of your career. Here's more on the benefits we offer.

Applicants from outside the US will be offered a contractor role with comparable terms and at the same rate of pay as our US-based employees.

How to apply
Please submit an application with a CV and a cover letter that tells us about yourself, what you can bring to 37signals, and 37signals’ 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. Overall, be descriptive, but don’t write a novel — 500 words or so is plenty.

If you've participated in open source work of any kind, please include links to pull requests, bug reports, feature pitches, or any other public engagement. Open-source participation is by no means a requirement, but if it's something you've done, we'd love to look at it.

We’re accepting applications until Monday, March 25th at 5:00PM CST.

We expect to take a few weeks to review all applications. You’ll hear from us at the beginning of April about the status of your application and whether we'd like to invite you to the interview process. After an initial conversation with our People Ops team, we ask our candidates to complete a take-home technical exercise. The exercise is representative of the kind of day-to-day work our programmers do. We usually invite about 10 candidates to this stage, and those candidates should expect to spend up to a full day (but no more!) completing this test. We will pay you $500 for this time.

After the technical exercise, the top candidates will proceed to interviews with the team. Expect a couple of one-hour Zoom interviews 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 in May with a flexible start date later that month.

We encourage applicants from all backgrounds to apply for a job where you can do the best work of your career.

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

We look forward to hearing from you!