Hello technical recruiter! (Or anybody else interested in Expensify hiring.) The challenge of running a startup with too few people is it’s hard to find the time to hire more. That said, it’s absolutely crucial that we do, as soon as possible. With this in mind, I’ve tried to capture some of the most common questions into one place. I have no doubt you’ll have many more, and I am more than willing to make the time to answer them, but can you please do me the great favor of reading these first:
What roles are you trying to fill?
Junior engineers. We only hire generalists that can do everything, but you might consider any of the following job titles to get into the right ballpark:
- Junior software engineer
- Mobile app developer
- Junior web developer
- Web designer
- Usability designer
How many people are you trying to hire?
We would like to continuously hire as fast as we possibly can for the foreseeable future, potentially 1-2 a month for the next year or more. That might sound slow — lots of companies suck up employees by the hundreds — but it’s fast for us.
Why have you hired so slow?
For better or worse, we’re very, very picky — we’re looking for a very certain sort of very unusual person, and we’re willing to wait as long as it takes to find them. I know everybody says that, but we actually mean it. So we’ve had a process that has been slowly pulling in very high quality candidates, but just too slowly.
What hasn’t been working that you want to change?
I feel the overall message we have is a good one — the company is the leader in its space, we have an incredibly solid team, a great working environment, etc. But that message isn’t getting out to enough people, or the right people. For example, we’d previously relied heavily upon Craigslist, only to learn from our more recent hires that they don’t even look there (and in fact view it as a place to get scammed), and it was only through sheer luck that they stumbled into one of our job posts. Accordingly, we need you to carry the Expensify banner to the far reaches of the earth and make sure everybody who wants to work at an awesome startup considers us as an option.
What do you want me to do?
How exactly you do that is up to you — after all, you’re the expert. I’m more or less open to any crazy ideas you have on how to find candidates: the “input” is up to you. However, I need you to act as a strict filter such that I’m not overwhelmed with unqualified leads. The best filter we’ve found is our application questions. Accordingly, when you find a candidate you think might be a good match, I suggest:
- Email email@example.com with their resume (if you have it) or just say “I’m contacting person X” — this gets your representation of the client “on record” in case they contact us direct.
- Ask them to fill out these questions and either send them to us directly, or send them to you (and you forward to us).
What’s up with these crazy questions?
The people we look for are very unusual, and we’ve found that the resume format is almost never informative: they’re formulaic, riddled with bulleted lists, and like boiling down a fine steak into hard leather. The people we hire have incredibly complex and interesting stories, and a resume just isn’t the right format to capture that. Indeed, many of our candidates have actively applied precisely because we didn’t ask for a resume. They don’t like them, we don’t like them, so we’ve just cut them out of our process entirely. Instead, we ask candidates who are interested in Expensify to just tell their real story, in their own words. This has a variety of effects.
- It actively discourages people who aren’t interested (or interesting) from applying. This is a good thing — it saves them time, saves us time, and everybody wins.
- It lets us evaluate actual writing and programming skills from the very first contact.
- It gives us a detailed picture of their full skillset, history, hopes, and dreams.
But most importantly:
- It actually attracts the best candidates. Everybody we’ve hired *liked* the questions. They weren’t a burden to fill out, they were a relief: they showed that Expensify actually cared enough about them to look past their resume and learn the true story. And (again, for the right person) they’re actually fun to fill out.
They’re unorthodox; most people don’t reply. But those who do are the tiny, tiny subset we *want* to reply, and that’s all that matters.
There’s no way people really like these questions
I understand it’s hard to believe. But here are some recent comments:
Get back in touch if you want to get back in touch, and thanks — and I do mean this sincerely, not in an ass-kissy way — thanks for putting together such an enjoyable application process!
I like the way you posted the job position; it gives me great flexibility on providing a response.
I found your posting on Craigslist yesterday — aside from the fact you started out by saying the job was perfect for new college grads, which I am, I found the questions interesting, so I decided to take a crack at answering them.
I’ve filled out the questions found on your website. It was rather enjoyable to fill out, I hope I’m what you are looking for.
And so on. It’s crazy, but works.
What are non-salary perks and benefits?
The main perk is that we truly value our employees (as evidenced by how hard we work to get them). And we’re not really a “perk heavy” company, instead favoring just better salaries. But additional perks include:
- Matching IRA (retirement account)
- Free lunch (at whatever restaurant you want, not crappy takeout or cafeteria)
- Annual trip overseas to work from a remote beach (on their own dime, unfortunately)
Will you sponsor a visa? Relocate?
Yep. For the right candidate we’ll bend over backwards.
What sort of candidates are you looking for?
Junior engineers with better skills than senior engineers. They’re out there; we already have several. They’re just really hard to find.
How can I identify a good candidate?
Some hallmarks of a good candidate are: (These are just examples; not all will fit.)
- Probably not from the Bay Area
- Started programming in elementary or middle school
- Wants to eventually start their own startup
- Has a really interesting life outside work
- Has done a lot of travelling
- Dabbled with 3D graphics or video games at some point
- Went to school but was incredibly bored and disappointed
- Worked their way through school
- Has bounced between a lot of jobs
- Hasn’t worked for anybody you’ve ever heard of
- Wants an opportunity that appreciates and exercises their full talents
Why junior; don’t you want senior people?
The sort of person we like has such a fast career trajectory that our only option is to get them while junior; after a few years they’ll be so successful we could never afford them — they’ll be starting their own startup and thus unobtainable. There are always exceptions to this rule (especially people who are just looking around for a better opportunity, or people whose previous startups didn’t pan out), but in general unemployed senior people who need to actively look for a job are almost implicitly unqualified.
Why self-taught; why not PhD’s?
There’s nothing about programming you can’t learn with a cheap laptop in your parents’ basement. The sort of person we like goes to school because they felt obligated to, or has been misled into thinking it’s somehow required for a good job. But they typically realize this mistake well before finishing any sort of PhD program — often well before graduating with any degree at all. People who go through the full program without realizing that they’re wasting time and paying money to be *less* employable are typically not the people we’re looking for, though there are always exceptions.
Why generalists; why not super awesome specialists?
Programming isn’t hard. Anybody who says it is just isn’t very good. Granted, there are some extremely esoteric things that are genuinely hard or for which specialization is useful or required — supercomputers, device drivers, advanced artificial intelligence, computer vision, etc. We don’t do any of those. We want people who can do pretty much any non-specialized programming task, ranging from C++ networking, SQL queries, PHP web development, HTML layout, AJAX interaction, jQuery manipulation, etc. Contrary to popular belief, technology isn’t the hard part. It’s the process of deploying technology in an effective way to solve a meaningful problem — *that’s* hard. And generalists in effect specialize in that.
How do I pitch Expensify to a candidate?
Though Expensify is the leader in its space, has won lots of awards, is growing fast, and so on — it’s still not a household name. We’re not looking for people who want to work for Google, but for the *next* Google, before anybody heard of it. Expensify’s biggest single advantage is genuine and immediate empowerment: you don’t need to “prove yourself” before getting to the good stuff. You start the good stuff right away. Accordingly, you never work “for” Expensify. You work for yourself, furthering your own passions and career (and wealth), side by side with the rest of us.
Is a Master’s degree a showstopper?
No. It’s a demerit, but not a showstopper. (A PhD almost is, however.) The question is: why did they go back to school after graduating with a Bachelor’s degree? Did they go back because of some really amazing opportunity, or because they couldn’t find a real job and were afraid of the real world? There are no hard and fast rules — find the story behind the facts. If that story is compelling and shows the person is really awesome, that’s what matters.
Recognizing that nothing is a showstopper, what are some flags?
Here are some things to be wary of:
- Graduated before 2005. What have they been doing for the past 5 years that still caused them to be interested in a junior programmer role?
- Uses a lot of Microsoft technologies (ASP.net, C#, Windows Server, etc). Nobody good uses the Microsoft stack without an amazingly compelling reason, though I honestly can’t think of any.
- Has a bunch of certifications. Those certifications are meaningless; good people don’t want or get them.
- Has worked for a large company (>1000 employees) for a long time. It’s good to work for a boring company for a short time — that teaches people what they want to avoid. But anybody who sticks with it for too long must not really care about their career.
- Doesn’t have a website. Not everybody has one, and certainly nobody *needs* one. But good people have them anyway to experiment with and host personal projects.
- Sounds boring. If you sound boring in email, you probably are boring. That’s not always true — I originally rejected one of my employees due to sounding boring, and boy was I wrong. But though there are exceptions, most people aren’t exceptional.
Where can I read more information?
We’ve got a bunch of information online. We’re adjusting it all the time (before it was too terse, currently it’s a bit too verbose), but you can read it here:
Or, just send me an email at firstname.lastname@example.org. Thanks for reading all this, I really appreciate your help!