About Us and Why We’re Hiring
We build “You Need a Budget” the best budgeting software around. (But people in the know call us YNAB, which is pronounced “why-nab”). 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, or read some of our reviews on the app store, 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 some big plans for our iOS (iPad, Apple Watch) and Android apps, and that’s where you might come in. We have one overarching requirement when it comes to joining our team: our original Cultural Manifesto has to really click with you. If you’re nodding emphatically while reading it, you’ll probably fit right in!
Of course, we have some other hard requirements too, like 5 years of professional software development experience, with at least 4 of those years spent writing iOS and/or Android apps. But 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 about 15 people strong, and we frequently work in cross-functional teams, so you'll get to work with awesome people in all different roles in the company.
Regardless of their varied interests, all of our developers have one thing in common: They are a joy to work with. You won’t find heated arguments and raised voices here. We save our competitive spirit for YNAB’s external competitors (or the occasional spirited board game session), but internally we build up our teammates and celebrate their successes. We all love to program and solve problems in clever ways, and we regularly take time to geek out and show each other something cool we built or found to make our lives easier.
And of course, as a developer, you’ll work closely with our designers, who are amazing. They have the awards (including at least one actual Emmy) to prove they’re good at designing stuff, but there are plenty of skilled designers out there. More importantly, they are welcoming of feedback and suggestions during the development process, and will be happy to tweak an interaction if you tell them that it will save you significant development effort.
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. 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. Five weeks feels about right (plus two extra weeks for Holiday 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, a beach house in the Outer Banks, a ranch in Montana, and took over a hotel on Laguna Beach. We do really fun things at these retreats, but the highlight is inevitably just being with each 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/Skillshare subscriptions, books, and dedicated time away from work to learn something new....We love to see our people grow.
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 personal finance junkie? Then trust us, it’s great.)
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 we 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 Mobile Developer…
You're a software developer with over 5 years of professional, full time experience. At least four of those have been spent working with iOS or Android, or both. You know how to write easy-to-maintain software while still keeping an eye on the roadmap.
You'll help us maintain and implement new features in our mobile apps. We have native implementations for each platform but use a shared library that is currently based on TypeScript for things that, well, need to be shared across all of our platforms. For performance and maintainability reasons there is plenty of SQL code as well. You don't have to be an expert on TypeScript or SQL, but being curious about how things work on that layer will definitely help.
Technologies we use on Android (current baseline is Marshmallow):
Kotlin for development
Moving towards an MVI architecture
Integrating with V8 JS engine
RxJava, Dagger, Robolectric
Technologies we use on iOS (current baseline is iOS 11):
Swift for any new development - we are slowly migrating the existing codebase over from Objective-C
You’re the one we’re looking for if you:
Are an excellent developer and can adapt to new languages quickly.
Write code that is easy for other programmers and your future self to understand and use.
Have excellent debugging skills. You know how to find problems, and how to architect apps so that problems are discoverable in the first place.
Are self-motivated and thrive with directions like:
"This part of the program is too slow. Can you find out why?"
"This component needs to be re-architected to allow for X. How do you think we should do it?"
Are excited to work across multiple platforms with different technologies.
Have experience with either:
Kotlin and Java
Swift and Objective-C
Have shipped or helped ship at least one significant app for either iOS or Android.
Have an understanding of algorithms and data structures beyond arrays and “for loops”. That doesn’t mean you have to be a computer science PhD or even that you have to know “Big O” notation, but you should know when to use a Dictionary/Map, and why finding an element in a sorted array is faster than finding an element in an unsorted array.
Are a senior developer who can point to strong experience where you’ve exemplified the bullet points above.
“Bonus points” awarded if you already use and love YNAB. :)
YNAB is an equal opportunity employer. We believe diversity of backgrounds, beliefs, and experiences to be critical to our success and are passionate about creating a welcoming, supportive, and collaborative environment for all employees. All are encouraged to apply as we continue to grow a smart, hard-working, and diverse team who love working together to build something that matters.
How to Apply
Apply below (here) by 11:59PM Pacific Time, on June 30th, 2019. Firm. It’s a real deadline.
First, you don’t need a resume! Many of our job applicants don’t have one because many weren’t even looking to change jobs! An informal list of your work and education history are all we’re looking for anyway, and you are welcome to include that in your cover letter. Speaking of which:
You DO need a cover letter. 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 for the position. (It’s okay to brag and not be humble for this part!).
Please tell us about apps or anything you’ve built that makes you look good, and describe your role in those projects. (Include links if applicable)
Include the phrase “I am not a bot, spammer, recruiter, or agency.” somewhere in your cover letter.
Includes answers to the following questions:
What are your two strongest programming languages? How much experience do you have with them?
Briefly (no more than a few sentences) describe a proud “debugging” moment you had, where you found and fixed a bug.
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/sffVTb) and include a link to your results in your cover letter. It shouldn’t take more than 30 minutes or so.
We look forward to hearing from you!
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!