Ruby on Rails developer - remote

Podia
Posted 3 years ago
We Work Remotely
At Podia, we’re building the best platform on the planet for creators to sell online courses, digital downloads, webinars, and memberships.

We’re a fully-remote company, we've been around for a few years, have helped creators earn millions, and we’re growing fast…

…really fast.

That’s where you come in 😉

We’re looking for a full-stack Rails developer to help us continue building modern frontend user experiences, while still sticking to The Rails Way as closely as possible, and scaling the platform for tens-of-thousands of creators and millions of customers.


What's this job all about?
While our other metrics are all "up and to the right!" 🚀 , we take a careful, considered approach to hiring. We're a small development team of eight (six men, two women), in a company of 30, and we typically only hire twice a year.

Every person on the dev team has an outsized impact on the product—each feature is often the product of a pair of developers working together with a designer—and you can be one of them.

One week you might be finishing off the redesign of a feature for our creators, the next you might be optimizing a SQL query to keep our storefronts running smoothly. We plan about three months in advance, but we pivot rapidly so you shouldn't expect those plans to be set in stone.

Every developer on the team works on:
  • Shipping new features to help our creators' businesses thrive
  • Polishing our existing features to improve our users' experience
  • Writing tests and fixing bugs in our code
  • Communicating their progress in weekly updates
  • Reviewing pull requests from other team members
  • Helping out our support team with customer issues during a regular week-long rotation
  • Paying down technical debt to keep the codebase shiny
  • Deploying code to production, verifying it works as you expected, and taking a 24-hour on-call shift for when the worst happens (rarely! 🤞)
You can expect to be working with:
  • Ruby on Rails 6.1
  • PostgreSQL
  • Stimulus, StimulusReflex, CableReady, Turbo, and React (in that order of most to least often used)
  • Webpacker, Bootstrap, ViewComponent, ES6, and yarn to manage our UI code.
  • Sidekiq for background processing, including fun features like periodic jobs and batches
  • Heroku for everything
  • We also maintain integrations with many third-party APIs (PayPal, Stripe, Zapier and Drip, just to name a few)
  • A codebase with 1:1.3 code-to-test ratio, with over 10K examples, that runs on our CI system in about four minutes
You probably don’t know all these technologies inside out, and that’s okay! This is not a laundry list of requirements.

If you’re curious, you can read about Podia’s engineering culture and our current toolbox on our CTO's blog.

If you’re the developer we’re looking for, you’ll be seen as a competent developer by your peers, able to quickly iterate on ideas and often called in for your expert opinion. You’ll still be deepening your technical knowledge in many areas but you'll have a core competency in Rails or frontend web development. 

You will be based in UTC+1 to UTC-8 timezones to ensure a reasonable overlap with our current product team in Europe, the US, and Canada.

"Full-stack" is an over-used term so let’s put it this way: Rails is our home turf and you'll feel comfortable and productive writing Ruby, building new features in Rails, writing views in ERB, and using ActiveRecord. In addition, you'll probably have a few special areas of expertise or interest. Perhaps you enjoy playing with AWS infrastructure and using Terraform;perhaps you enjoy refactoring and using design patterns to make cleaner software;or you have a flair for user experience design and an eye for detail.

Here are some skill gaps we currently have which we'd like to fill in the short-term:
  • Modern JavaScript knowledge. Do you enjoy tweaking Webpack configuration (or replacing it entirely), reducing Javascript dependencies, and optimizing build pipelines? We prefer Rails and don't write much JavaScript but, when we do, we want it to be modern, efficient, and easy to maintain.
  • Frontend CSS expert. Do you see a design and instantly understand which CSS attributes are required? Can you tweak Bootstrap variables to match our brand? We have a world-class designer, our own UI library, and hundreds of ViewComponents. We need someone who can use these to deliver the best user experiences for our creators.
These are not definitive so don't exclude yourself if you don't fit one of these descriptions. We have many more needs and we'll find roles for any exceptional candidate.

Some other things you should be comfortable with:
  • Communicating your progress clearly in Slack or Basecamp and highlighting blockers and risks early. Communication is a core competency ✍️
  • Collaborate with other team members either synchronously during an online pairing session (you can initially expect to be pairing for at least half your time) or asynchronously via pull requests 🍐
  • Working individually on solo projects without disappearing down a rabbit hole for days 🕳
  • Learning quickly, and developing confidently—because nothing is “someone else’s job” and there's always something new to learn 🦝
  • Lending a hand to your teammates (and customers) when the need arises. We’re tightly knit and supporting each other is a huge priority 🤝
  • Multiple competing (and sometimes shifting) priorities 😅
  • Staying calm under pressure. You remain cool even when Rollbar errors are pouring into Slack, background jobs clog up the Sidekiq queue, and the app grinds to a halt 🆘
  • Working remotely. Our team is spread across North America, South America, and Western Europe, and our headquarters is Slack 🌎
Why work at Podia?
  • Ultimate flexibility. We try to have some overlap time every day, but outside of that work whenever &wherever you work best 🗺️
  • Extreme autonomy. No micro-managing here. You’ll be given high-level direction and then left to solve it the way you feel is best. 📚
  • That said, the rest of the team is always ready to lend a hand—or even an ear if you just need to rubber duck some ideas 💡
  • You get to work with a small, highly-talented team that has built—and continues to build—our product with care. We’re not one of those “hire all the devs!” organizations that tries to grow too quickly 🎨
  • Whether it’s fixes, small tweaks, or substantial features, we deploy often. There’s zero red tape to slow you down 🚀
  • You’ll be working with a diverse team from a range of countries and backgrounds. We work hard to make Podia an inclusive workplace for everyone 🌈
  • We have a rapidly growing base of passionate customers. Your work will be seen and appreciated by many people ❤️
  • Competitive compensation. We want to hire the best people, and we’re ready to pay for them. We use a standardized salary scale set at the 90th percentile of US salaries for each role—regardless of where you are in the world 💰
  • Great benefits including three weeks paid vacation (plus another week during the December holidays), sabbaticals every three years, professional development credit, paid family leave, a new laptop every three years, and more ☺️
  • (Paid for) annual retreats to spend time with the team and have fun together (or a still-pretty-great virtual retreat when there’s a global pandemic) ✈️
About the hiring process

Interested in joining our team? Great! 

Here's how the process will work: this is an open call so we will evaluate applications as they arrive and there's no closing date. We heavily weigh the answers to our application form rather than data from LinkedIn or resumes. We'll let you know within a few days of receiving your application whether you'll be proceeding to the project phase.

The project phase is a short do-at-home project (paid), run very much like a Podia development project with a GitHub repo, issues to resolve, and code delivered as pull requests. We typically allow a week for the completion of the project but expect you’ll only need about four hours.

We review the test projects and determine if the candidate will go on for an interview (typically takes us a few days). Candidates will have two technical interviews, one with our CTO and another with a senior developer lasting about 30-45 minutes each. There's no whiteboarding, stupid brain teasers, or algorithms to implement—just two people having a chat over Zoom about your experiences and approach to work.

The last interview will be with Spencer, our CEO, who can answer any questions you have about the broader goals and workings of the company.

After that, we'll decide on our final candidates and ask for professional references from both a previous co-worker and a manager. We'll reach out to those references to set up a brief 10-minute call.

Finally, all going well, we'll make a written offer to the successful candidate which can be signed electronically 🥳

We’re looking forward to chatting 🙂