Update: This position has been filled!
About Us:
We create beautiful personal finance software that’s changing how people think about their money. Our software is named “You Need a Budget”, but everyone just calls it “YNAB”. For years now, lots of people have been buying YNAB and then telling their friends how awesome it is. (Google us and you’ll see.) We’ve got an Android app that is a complement to our desktop software. It is very highly rated and consistently performs very well on the Android Marketplace, but we want to make it even better. That’s where you come in!
About You:
You’re an experienced Android developer who would like to work with us on a 40 hours/week contract basis. Ideally you’d like to keep working with us on a reduced basis after the initial project is complete.
You would be:
- Working with an existing, well-architected, codebase
- Helping us get to feature parity with our iPhone offering and
- Creating new features as needed
You’re the one we’re looking for if you:
- Are a top-notch Android developer who will thrive in a small team.
- Have experience working in version control (Git, Mercurial, etc).
- Have excellent debugging skills
- Have great Object Oriented design and architecture skills.
- Write code that is easy for other programmers to understand and use
- Use descriptive variable names in your code
- Have excellent spoken and written English (we’re an international team, so accents are fine!)
- You’re self motivated and thrive with directions like:
- “This part of the program is too slow, and these are the places that might be good to start looking.”
- “This component needs to be rearchitected to allow for X. How do you think we should do it?”
If that sounds like your ideal environment, keep reading.
Major-Triple-Gold-Star Bonus points if:
You already use and love YNAB
Location:
Remote. The YNAB team is located in Arizona, Maine, Massachusetts, Utah, Switzerland, Italy, (sometimes Texas), Australia, the UK, Canada, California, Kentucky, and Washington. You’ll do well if you get your best work done without office distractions :)
To apply:
- Your cover letter can be your email. No need to send something separate.
- Send your resume in PDF form.
- Please include links to Android apps you’ve built, and describe your role in building those apps.
- Include “TOP NOTCH” in the subject line of your email. If you don’t, we won’t read your email.
- Applications should go to: jobs@youneedabudget.com
- Also, please complete the following two questions. This shouldn’t take you very long, and could save us all a great deal of time in the long run.
1) Write a function “count” that returns a string containing every number from 0 to the number passed in.
So, when I call count like so:
count(10);
//It should return the following string:
“0 1 2 3 4 5 6 7 8 9 10”
public static String count(long toNumber)
{
//Your code goes here
}
Note: There are no tricks here, and I don’t care about efficiency of the code. We estimate this will take you less than 2 minutes. In other words, don’t over think this. If you’re surprised we’re asking such an easy question, good. :)
2) Given the following function “DoStuff”:
public static String DoStuff(int count)
{
String retVal = "";
for(int x=0; x
Describe what the following function call will do:
DoStuff(10);
Hint: Unlike question 1, this is a trick question. ;)
Are those code snippets supposed to be Java? Given that this job posting is for an Android gig, I’m assuming yes.
We originally wrote them to be pretty language agnostic, but I agree that they should be in Java since we’re talking Android. I’ll get ‘em cleaned up. ;)
You can use C++ in Android too – it’s not just Java. Java using the davlik compiler is just for when you don’t need the extra performance (or if you are lazy or don’t mind developing in Java). Via the Andorid NDK you can use C++, and there is also C# via Mono support.
I was just reading somewhere else about giving really easy interview questions at first just to weed out non-programmers. I feel in the know. :)
Good… now maybe you’ll add split transactions to the android version and neglecting it for the ios version. :)
You don’t mention the location. Is that because it is expected to be working remotely?
Hi Steve, yes, you would work remotely. I guess we forgot to mention location because location’s never been a criteria for us :) I’ll clarify the post.
So excited that Android will get proper treatment :D
Suggestion: Take a look at http://www.appcelerator.com/
This would allow you to create one code base [more or less] and then deploy to both iOS and Android.
This case study on Wunderlist is a good example of what you can do with Appcelerator on multiple platforms: http://www.appcelerator.com/partners/case-studies/wunderlist-by-6wunderkinder/
Imagine a web version, desktop version, and mobile version of YNAB, that all automagically synced with each other over the cloud!
just for interest sake, what sort of rates are you prepared to pay?
The rate would be determined based on the applicant’s experience. Most contractors have a rate they charge and we weigh that with their experience.