As our site has grown, so has our need for exceptional designers and developers. We have had the privilege of working with some outstanding dev shops in the past, but we’ve moved on to building our own full-time dev team since 2014. We like small teams and we try not to grow the team unless we really feel the need. With our application growing in size, usage, and complexity, we can now see that we’re in dire need of welcoming a new versatile, experienced developer to the team. That’s where you come in.
Who We’re Looking For
You must be a senior developer. Technically we’re mostly interested in your recent Ruby on Rails and general web development experience at all levels of the stack, from Angular (or similar) front end apps, to dealing with search engines, DB query tuning, and everything in between, but we’d expect you to have worked with other languages/frameworks during your career. You’ll join a very small tech team, so your voice will be heard when we need to make new technical decisions as our product grows. We expect you to go beyond coding to give input on the product roadmap, design, and architecture.
These are some of the tasks (beyond “simply” coding new features and fixing bugs) our tech team has been dealing with over the last few years so you can get a big picture of the tasks you’d be involved with:
- Investigate and mitigate memory bloat (we’ve used coverband, oink, skylight and other tools).
- Handle a layered fragment caching system via a Russian Doll caching scheme.
- Write scripts to automate Markdown processing and manipulation (we’ve used Pandoc having to dive a bit in Haskell).
- Write scripts to import content from Word documents.
- Constantly add new features without rewriting the app from scratch while maintaining a high level of code maintainability.
- Use feature toggling techniques to maintain our master branch constantly deployable to production.
- Maintain a sane set of automatic tests (we use Rspec and Capybara) without being dogmatic about 100% code coverage.
- Prepare our platform for changing our payments processing backend without stopping our service and maintaining our low level of money related bugs.
- Keep our Ionic Framework based mobile app updated with new features and make sure that our changes in the backend are compatible with the existing mobile app version.
Our application is currently based on these main technologies:
- Ruby 2.2.x, Rails 4.2.x, Bootstrap, SASS, Ionic Framework.
Some of our upcoming possible tasks are:
- We might migrate all our payments and subscriptions related code from Chargify to Stripe. Have any related experience? Let us know!
- Try a new approach for our mobile app. Some alternatives could be a closer-to-the-web approach, using Turbolinks and pure server-rendered HTML views similar to how Basecamp does it, or maybe trying out React Native? Do you have better alternatives/suggestions? Speak out!
- We’re considering migrating some/all of our current Angular based code to React or Elm.
- We’ll be adding a bunch of different dashboards with stats per user, per group of users, etc. Have any experience extracting this kind of data from a DB and/or using JS graphing libraries? Don’t forget to mention it!
- We’re rebuilding our search engine, so if you have experience integrating advanced search services into web and mobile apps you have extra points!
Generally speaking, you should be:
- A versatile engineer. You know what you don’t know and feel comfortable learning new skills. You’re not ashamed of recognizing mistakes and take measures to avoid falling again.
- A team player. We working remotely doesn’t mean you’re going to work alone. We share code-ownership as much as possible. You’ll have to fix other people’s code as much as other teammates will be fixing yours.
- A full-stack developer. You have lots of experience building Rails applications, and you’re also very comfortable writing front-end code (HTML/CSS/JS).
- A minimalist. You believe a new feature should be built only when the evidence supports it. You’re willing to push back when you believe this rule is being ignored or violated.
- A great communicator. You communicate your ideas, feedback, and criticism thoroughly, clearly, and courteously. You believe there’s no such thing as over-explaining or over-clarifying because that’s how miscommunication is avoided.
- 3+ years experience in Ruby on Rails development
- A CS degree, or a strong software engineering foundation demonstrated in other ways
- HTML5, CSS, JS fluency
- Know how the web works under the hood. TCP, HTTP, DNS, IP, caches, etc.
- Experience in a front-end framework like Ember, Angular, React or Elm
- Experience writing tests and refactoring. We use Rspec and Capybara.
- Must be very comfortable with Git and version-control. Experience solving complex merging conflicts.
- Strong knowledge of SQL in general and PostgreSQL in particular
Bonus Points for experience with:
- UI/UX design skills
- Implementing HTML5/SASS from PSD designs.
- Hosting apps in Heroku, monitoring and scaling them up/down.
- Pivotal Tracker
- Working on a remote team
- Implementing a custom Ruby CMS
- Implementing a SaaS application or with subscription-based businesses generally
- A/B testing and conversion optimization, particularly tools such as Optimizely or Unbounce
- Implementing and/or measuring KPIs for SaaS, such as churn, LTV, and event-based analytics, particularly tools such as Mixpanel or Kissmetrics
- Implementing user-visible dashboards, graphing data and showing stats/analytics in general.
What We Offer:
- $100K – $125k Salary
- Generous PTO policy
- $5,000 budget for workstation setup
- A great, stable and small team to work with