Overview

At YNAB, we build the world’s best budgeting software. But we’re even prouder of teaching people how to align their money and their priorities, and in turn changing their lives.

Our web app is cutting edge. Our API, written in Rails/PostgreSQL, takes care of the hard stuff, like synchronizing data between offline-able clients. Our client apps use a TypeScript library we developed that makes talking to our API a piece of cake. You’d be helping us develop and maintain the server-side of things.

When we say Full Stack, we mean that you’re a programmer at heart, are comfortable at various levels of the web stack, and are familiar with the following (not exhaustive):

  • A Server-side language like Ruby/Java/C#/Python/Elixir
  • Front-end development with HTML, CSS and JavaScript (bonus points for Ember.js and TypeScript)
  • DevOps tooling and services like Heroku, DigitalOcean, Jenkins and/or Cloudflare
  • Database/SQL development and optimization (PostgreSQL, SQLite)

That’s a taste of what you’ll be working on. But first, you need to know if you’ll even like working with us. We think you will.

A Bit About Us

We build the best budgeting software around, YNAB or “You Need a Budget” if you have a lot of extra time on your hands. For more than a decade, people have been buying YNAB and then telling their friends what a difference it has made in their lives. (Google us, and you’ll see what we mean.) We love building something that has a huge positive impact on people’s lives.

We’re profitable, bootstrapped, and growing. YNAB started in 2004 and we haven’t taken any outside funding—we’re in it for the long haul.

We have one overarching requirement when it comes to joining our team: our Cultural Manifestohas to really click with you. If you’re nodding emphatically while reading it, you’ll probably fit right in!

First, let’s talk about life at YNAB and then we’ll go into detail about what we’re looking for.

Who you’d be working with:

Our developer team is 12 people strong, but we all work pretty closely. For that matter, we also work in cross-functional teams frequently so you’ll get to work with people in all different roles in the company. As a small sampling though, here are a few that you’ll definitely rub digital shoulders with:

Taylor, our CTO, was our digital nomad for a couple of years while he travelled…pretty much everywhere. He’s now slowing down a bit and lives in Austin Texas, where he’s learning to flex his handyman muscles while renovating their home. He’s exceptionally good at escape room gamesand his super skill is explaining the rules of a board game in the most concise and understandable way you’ve ever heard. He also wins a lot of those boardgames.

Carlos ensures that things are running smoothly on the server-side of our app and currently focuses a lot on data aggregation. When he’s not busy at YNAB, he’s busy contributing to open source as part of the Ruby on Rails Core Team. Carlos lives in Brazil and plays a mean game of Spikeball.

Brady is one of our full-stack developers and is currently having a great time working on the beginnings of a YNAB API. He lives just down the road (by YNAB standards) from Taylor, in Houston Texas. He’s a self-declared geek which means you might catch him fiddling with a Raspberry Pi or flying his drone.  Oh, and his awesome wife made us all YNAB decals for our laptops!

How You’ll Work at YNAB

We work really hard to make working at YNAB an amazing experience. We have a team full of truly exceptional people—the kind you’ll be excited to work with. Here’s how we operate:

Live Where You Want

We’re a distributed team, so you can live and work wherever you want. Proximity doesn’t influence productivity. As I write this, Taylor (our CTO) is in, London or Brazil, or maybe back in Austin? Not all of us travel so extensively, but the fact that he does is totally okay because we’re all adults. Just make sure you have a reliable internet connection.

No Crazy Hours

We rarely work more than 40 hours per week. There have been a few occasions where things got a little crazy and people had to log some extra hours. But then they took some extra time off, so it all balances out. We work hard and smart but we’re in this for the long haul, no need to go crazy on the hours.

Take Vacation (Seriously)

We want you to take vacation. In fact, we have a minimum vacation policy of three weeks per year (plus two extra weeks for Christmas break). It’s important to get out and do something. We’ll look forward to seeing pictures of your vacation in our internal chat room, creatively named #office_wall.

The YNAB Retreat

We get the teams together once a year to catch up on spreadsheets and powerpoints in a Best Western conference room. Just kidding. So far, we’ve done Costa Rica, a gigantic cabin in the mountains, and a beach house in the Outer Banks. This year is a ranch in Montana. We do really fun things, but the highlight is always just hanging out together and having a blast.

Up Your Game

We’re serious about helping you improve your craft. We budget for it (hey-o!).. Think conferences, Lynda subscriptions, books, dedicated time away from work to learn something new… it’s really up to you and your manager. But we love to see our people growing.

If You’re International…

You’ll be set up as a contractor. Employee or contractor, it’s all the same to us. You’re part of the team. As for time zones, we’re flexible as long as a decent chunk of your time overlaps with North American time zones.

If You’re Stateside…

You’ll be a W2 employee with fantastic health, dental, and vision insurance, where we cover 100% of the premium for you and your family. (No need to check your vision, you read that right, 100%. Although if you did need to check your vision, no big deal, we’ve got you covered!)

We also have Traditional and Roth 401k options. YNAB contributes three percent whether you choose to throw any money in there or not. It vests immediately. (Are you a personal finance junkie like Jesse? He set up YNAB’s 401k to have the lowest fee structure possible, where all plan costs are paid by YNAB, not your retirement nest egg. The investment funds available are fantastic, passively-managed, ultra low-cost index funds. You’re not a PF junkie? Then trust us, it’s great.)

Other Tidbits

  • Once you start, we DEMAND (in a friendly, ALL CAPS IS YELLING way) that you fill out your “Bucket List” spreadsheet with 50 items. (That’s harder than it sounds!)
  • The bucket list helps in deciding what we should give you for your birthday and Christmas: No gift cards here. We tried that. Super boring.
  • We have a bonus plan based on profitability. You’ll be in on that from day one. YNAB wins, you win. That kind of thing.
  • We’re all adults. There’s no need to punch a clock, or ask for permission to take off early one afternoon to go see the doctor (health insurance premium 100% covered!). We look at what you’re accomplishing, not how long you sit (have you tried standing?) in front of a computer.
  • We want you firing on all cylinders so we’ll set you up with a shiny new computer and replace it every three years.
  • Did I mention we make a huge, positive difference in people’s lives? We have a Slack channel where we share success stories from our customers daily. It’s amazing. Don’t underestimate this one!

If this sounds like your ideal environment, read on because now I want to talk about you. You will play a big part in helping YNAB delight users and give them control of their money.  You will change lives.

Now, back to you, our new Full Stack Developer

You’re an experienced server-side developer that knows how to ship, monitor, and maintain large SaaS apps (not just websites). You’re an expert in at least one modern server-side framework (Rails, Phoenix, Express, ASP.NET, etc).

You’re not necessarily the “Ops” person where you work, but you certainly understand the infrastructure well enough to aid in architecting and maintaining scalable solutions. We host on Heroku, so experience there is a bonus, but experience with AWS or other popular IAAS/PAAS is just fine.

You’ll help vet and improve our server-side layer, implement new features, integrate with third party API’s, and shepherd our application. We might have conversations that start like this:

  • “How can we be certain that our application is going to scale as we grow (web scale)? How did the other apps you worked on handle similar load conditions?”
  • “We want to expose these parts of the API to 3rd party developers. Will that API need to differ from our internal API, and if so, how?”
  • “We need to integrate a new data aggregation partner to connect bank accounts and import transactions. How do we set it up so that we can reuse most of that work if we bring on another partner later?”

You’re our person if you:

  • Are an excellent developer and can adapt to new languages quickly.
  • Have plenty of war stories to tell about the last time you launched a big SaaS application, or weathered a massive spike in load, or recovered from an outage.
  • Know your way around SQL and relational databases. If the database layer turns out to be the culprit behind an issue, it’s not a black box to you. (Experience with Postgres is a bonus.)
  • Understand basic algorithm design and data structures: You know that a binary search is faster than a linear search, and a Hashtable/Map lookup is faster still. You might not remember all your data structures off the top of your head, but you know you have options and know how to Google for them.
  • Have excellent debugging skills. You know how to find problems, and how to architect apps so that problems are discoverable in the first place.

Some things you might be working on at YNAB:

  • Integrating with 3rd party APIs like Aggregation Providers, Payment Gateways, and Analytics Services
  • Profiling our most common API calls, and acting on the information to reduce response times.
  • Helping architect the exposure of our API to 3rd parties (as opposed to the private API our apps use).
  • Working with our external database and security consultants to make sure we haven’t missed anything.
  • Installing monitoring tools to help us detect server-side issues.

Bonus Points:

  • You already use and love YNAB.

How to Apply

  • Apply below by 11:59PM on February 11th, 2018. Firm. It’s a real deadline.
  • Attach a pdf of your cover letter. In your cover letter:
    • Introduce yourself and explain why this position is of interest to you, and why you would be a great fit.
    • Please include links to apps you’ve built or anything else that makes you look good, and describe your role in building those apps. (If they’re internal, you can skip the link part.)
    • Includes answers to the following questions:
      • What are your two strongest programming languages? Is there another language that you’re curious to learn next?
      • If you were interviewing a prospective candidate for this position, what would be a good interview question to ask to find out if a candidate really knew their stuff?
      • Complete this short coding test (https://www.interviewzen.com/apply/cmdFNt). It shouldn’t take more than 5 or 10 minutes.
    • If you have a prepared resume, attach it in PDF form. If you don’t have a resume because you aren’t even sure you’re looking to change jobs, that’s fine! An informal list of your work and education history are all we’re looking for.

P.S.  If you’re not interested in or available for this position, but know someone who is, we would really appreciate it if you passed this along!