Founding Backend Engineer at MagicBell [Async Remote] at MagicBell
About the role
Some of the best startups like Pitch use MagicBell to power their notifications. We are post-revenue and growing fast. We pay well and offer meaningful equity with a 10-year exercise window (more on that in the offer).
Our back end stack is Ruby on Rails with a healthy serving of background processing. We use Sidekiq at the moment, but we’d like to add Kafka to our stack. We deploy to AWS using Docker and Kubernetes and utilize many of their hosted services (like RDS for Postgres). We aren't a standard-issue Rails app. For example, we use gems like interactor, and dry-rb to write high-quality test-driven code. We are always looking for ways to improve the architecture of our back end.
- Work with the founding team shoulder to shoulder in building the new standard for notifications:
- Managing the back end code and infrastructure (which is code, too!). Figuring out new ways to ship faster and more reliable updates.
- Shipping new features to our admin (that customers use to manage their MagicBell experience).
- Shipping new API endpoints and improving existing ones.
- Add or improve documentation.
- Maintaining our Ruby Gem (and other SDKs if you are a polyglot).
- Optimizing database performance as we scale up to billions of notifications a month.
- Hire, attract, and onboard other smart engineers.
- Shape the culture of our company to create the next Stripe, Twilio, or your favorite company.
- Be our developer evangelist:
- Our go-to-market strategy involves bottom-up developer adoption. Therefore our entire team is an evangelist for our product - all of us write blog posts sharing what we have learned and talk to users (we have some of our biggest customers on shared Slack channel). We have also built some fun little hacks to get developer attention, like our Hacker News Chrome extension and Firefox add-on.
These requirements have been selected to make sure you'd be successful at the job. Please read them carefully:
- 6+ years of experience with Ruby on Rails (the more, the better).
- Experience writing test-driven code with Rspec and an understanding of integration testing.
- Willingness to go above and beyond.
- For example, keeping track of new security vulnerabilities that might impact us or fixing customer issues proactively and notifying them.
- Enjoy taking on challenging responsibilities (we are a startup, after all!).
- Good writing ability as demonstrated by documentation, README, or blog posts you have written.
- At least a 3 hours overlap with the EST day time from 9 am to 12 pm.
*If you do not match the Ruby on Rails requirement, because you do not have enough experience. Please explain that in the last question of the form. If you have other concerns, then you can also add them to that last question.
- Extensive experience with SQL (and specifically Postgresql).
- A good understanding of software architecture & object-oriented design patterns (like SOLID).
- Excellent communication skills in English. This helps immensely as a remote team.
- Respect for other people's time - For example, showing up for meetings on time and not canceling the last minute.
- A desire to start your own startup either now or in the future. You'll get hands-on learning of what building an early-stage startup is like. The founders are prolific angel investors.
We know you want to tackle interesting challenges, and we have quite a few for you:
- Consider and make suggestions about the UX as you build new features or improve existing ones.
- State management across multiple devices with real-time synchronization.
- Build robust logging and analytics to help our customers understand the flow of their notifications.
- Engineering reliability and performance so we can scale up with our customers.
- Work with some of the brightest engineers (our customers) to help them build notifications faster than they ever imagined. We routinely chat with them on our Slack Community.
Hours: Up to 45 hrs/week. Flexible working hours except for the 3 hours overlap with the EST day time from 9 am to 12 pm. Salary: $90k - $130k (or more if you have a lot more experience than our requirements) Equity: 0.75% - 1.25% with standard 4 year vesting but an extended 10 year exercise window. Read why this matters. Time off: 30 days a year (including public holidays/sick days) Benefits: Healthcare, paid time off (and more as we grow). Flexible work: We require the EST 9 am to 12 pm overlap, and the rest of the time is up to you to manage.
If you read the entire job description, please list out which of the nice-to-haves you possess when applying.
Why you should join MagicBell
MagicBell is the notification inbox for web & mobile apps.
As consumers of many apps, we have personally experienced the growing volume of notifications - many of which add to our anxiety instead of helping us manage it. MagicBell is on a mission to end this chaos and help every app deliver a stellar notification experience.
We do this by offering a beautifully designed notification inbox that apps can embed in their products in minutes. We do all the heavy lifting related to real-time delivery & syncing, web & mobile push notifications, email notifications, and even notification preference management.
We sit at an interesting intersection of a dev tool & a productivity tool for end-users. We are helping every app make its users more productive! Some of the best startups like Pitch use MagicBell to power their notifications. We are post-revenue and well funded.
MagicBell embraces diversity - one of the founders is a transgender woman, and another a Latino (Hola!). They are experienced programmers and entrepreneurs and have built a successful SaaS business in the past. With a decade of working remotely under their belt, they understand how to work across timezones asynchronously.
We are only accepting applications for the opening(s) below. If you still think you would be a great addition to the team, please help us understand more about you through this form. If you do not fill out this form, then your application will not receive a reply. Thank you.