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 24, 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 just one or two 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 regular Basecamp 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 keeping 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, and React (in that order of most to least often)
- 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 almost 10K examples, that runs on our CI system in 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.
Requirements
If you’re the developer we’re looking for, you’ll be seen as a competent developer by your peers, often called in for your expert opinion, and have defeated several major technical challenges in your time. You’ll still be deepening your technical knowledge but now you’re ready to start increasing your impact, mentoring other developers, and leading more ambitious projects.
You will be based in UTC to UTC-8 timezones to ensure a reasonable overlap with our current product team in Ireland, the US, Canada, and South America.
"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 feature 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's some skill gaps we have on the team which we'd like to fill in the short-term:
- Modern JavaScript knowledge. Do you enjoy tweaking Webpack configuration, reducing JavaScript dependencies, and optimizing build pipelines? We don't write much JavaScript but, when we do, we want it to be modern and efficient.
- CSS expert. Do you see a design and instantly understand which CSS attributes are required? Can you tweak Bootstrap variables to match our brand? Do you make designers happy with your pixel-perfect implementations?
- Experience scaling Rails. Have you been through the easy stages of scaling a Rails app, and earned some hard-fought wins against the next few boss levels? When SELECT count(*) FROM customers;is too slow, you have several tried-and-tested strategies for speeding it up.
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 🌎
Benefits
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: we'll begin reviewing applications on February 11th. There's no benefit to applying in the first five minutes, and we'd rather you take your time. We heavily weight the answers to our application form rather than data from LinkedIn or resumes. We typically reduce the candidate pool down to a small handful who move on to a small test project.
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 select candidates to go on for interview. Typically 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 🙂