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 good 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 mean 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.
Applicants from outside of the US will be offered a contractor role on comparable terms and equal pay with our domestic employees.
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 4th 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 a 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!
I tried to apply to your Rails programmer form and it didn’t work b/c you require “files” to be uploaded. What a shame, no?
I overzealously started drafting a cover letter after reading the description, and only after reading again noticed in the compensation section that this is for a senior position (not the best advert for my reading comprehension!). I was wondering if you’re able to provide a rough estimate on how often you tend to have junior or mid-level positions open?
We hire very infrequently, so it’s unlikely we’ll have a junior position anytime soon. The last junior position we hired for was over three years ago.
> We aim to make an offer by early October with a start date later that month.
Are those short notice periods are standard in the U.S.?
Where i come from this pretty much means you are looking for someone without a job currently, or who was already on his/her way out before this offer was even posted.
Not sure if this gives you the best possible selection people, that are currently still engaged and would not leave their position in a hurry.
I guess you probably have no shortage of applications either way – just sadly not mine 😉
Same here. I think I’ll still apply, but not sure how much effort I should put into it, as I do not know if I’d be even considered. As an full-time employee in Germany my notice period is two month. And even for Basecamp I wouldn’t jump the gun and quit my old job without having signed a new work contract.
Jeffrey, can you tell us how you would handle candidates like Ben and myself?
Thanks Ben, that’s good to know. We know that everyone’s situation is different, and we’ll work with the right candidate to find a start date that works for all.
Does India (+05:30) comes in “graveyard shift” location even if applicant is comfortable with his/her 15:00-23:00 schedule?
Hi Jeffrey,
I’d vote +1 to Karan’s comment. What are your thoughts on this?
From what I can see a 3 hour overlap would be mean, working 6:30 pm – 9:30 pm in India, which is fairly comfortable, if done right.
I would like to know about this as well!
Would you consider a highly experienced PHP Developer with tons of experience who has some non-professional Ruby on Rails experience, but is able to complete the take-home test?
Hey Mike,
While I cannot speak for Basecamp, my guess is they would consider you. However, the deck is stacked against you.
I’m a highly experienced freelance developer, but have limited Ruby/Rails project work and would love to work at Basecamp. Am I qualified for the job? Heck yeah! I would ramp up on the stack quickly and do amazing work for them.
Here’s what I’d be up against. Basecamp will get 1,000+ resumes and from that there will be 100+ cover letters that are… Holy Shit! This person is really good! Then they’ll pair down to ~50 of this person is good, is an awesome/concise writer AND has a ton of Ruby/Rails experience. We can check allot of boxes but cannot compete with these folks.
However, even though it’s a long shot, give it a go, write a great cover letter, keep it as brief as possible and be yourself. The cover letter is the 1st step in getting hired at Basecamp.
Can this new rails developer get the url of 37svn.com working again.
I think Basecamp should limit the cover letter to 140 characters, to respect both their own and others time. I mean, developers have more productive things to do than writing cover letters.
It’s exciting to see how Hey! is creating opportunities for more people to join the company. I’ve always hoped Basecamp would grow because it’s a good company for those who get to work there.
Absolutely! I think the development of 37s/Basecamp has been pretty… boring. The values and approach to work are great, but it’s too boring to just rewrite a project management software again and again. Good to see a new product, and hope many more will come. If the company gets too big, just split up in several businesses. You do much better for yourself, the employees and the customers by growing. Great companies need to grow, bad companies need to die (but they won’t if the good ones don’t grow).
Very nice job posting! It lays out all of the details right up front.
Hello. I submitted my application. I realized I had submitted the incorrect file as my resume. I withdrew the application, then resubmitted with the correct files. I never received a confirmation email for my update. Is there a way to know if the re-submission process worked?
Never mind. Problem resolved
I feel very unfortunate.
I was away from home in the last two weeks. I got back yesterday and saw the job posting in my RSS reader. It’s a long time dream of me that I want to try myself as a Rails developer at Basecamp. Is it still possible to apply?