Archives For job

But with less walls and and more coding.

Our challenges have fewer walls and and more coding, but same idea.

It’s widely repeated that “great people are 100x more productive than average people.”  But while everybody says it, most companies just hire 100x more average people. At Expensify, we try very, very hard to hold the line and only hire people we think are truly great. This means that despite ample resources and more than enough work to go around, we hire extremely slowly — and spend an enormous amount of energy doing it.  A lot of that energy is directed toward refining the hiring process itself, with a major recurring topic being: what makes someone great?  Continue Reading…

Do you want to work more with cloud computing? Great– we don’t! When dealing with financial data, knowing where the data lives is important (and “on someone else’s service” is a poor answer), so we’re leaving the cloud. We have three datacenters in active/active/active configuration, and we’re transitioning ancillary services out of “the cloud.”

A perfectly normal monitor in peak operating condition


We’re a Linux shop– currently a Ubuntu/CentOS hybrid environment, transitioning to a full CentOS stack, all managed with Salt ( Our site is largely written in PHP and Javascript, but important parts are in Java, C++, plus a smattering of Python holding some rusty parts in place.
Our network stack is built on a Juniper switching fabric, and a pf-based firewalling solution.


We would like you to:

  • Build infrastructure! Every system is configuration managed, so ideally you build a web server once, not a hundred times.
  • Support developers! Our developers are as smart as you ideally are– they need help provisioning development environments, not printing Excel spreadsheets.
  • Participate in a one-week-in-four on-call rotation! The world is beautiful at 3AM– but for better or worse you’ll rarely get to see it, as “the environment is melting” is the exception rather than the rule.
  • Read and debug code! You need not be a developer yourself (though it wouldn’t hurt), but tracking down a bad PHP function call based on log messages shouldn’t scare you.
  • Make big trouble for moose and squirrel! Oh wait, the KGB shut down years ago…
  • Work in San Francisco! Don’t live here? No problem, we can change that.

If you are interested in applying, please send your resume to with a letter explaining why you are awesome and how you found us.

Intern Pro Tips

andhess —  August 10, 2012 — 2 Comments

Tomorrow is my last day of work here at Expensify, thus ending what has been an incredible adventure.  I joined Expensify in late May as an intern, and now my time has come to return to school.  As I write this, I’m watching the sun set over San Francisco and it’s finally sinking in that I won’t be seeing another California sunset for a while.  I joined Expensify in late May with nothing but a laptop and high hopes, tomorrow I’ll walk out the door (of the new and better office) with the hope that our paths will cross again.  Why?  Because it turned out to be so awesome!  This city is incredible, the work is fun, and it’s always a good time hanging out with the team.  I’m excited to get back to school, but it’s bittersweet to be leaving such an awesome company at the same time.  So now as an experienced Expensify intern, here are my pro tips on how to handle working for an awesome and fast paced startup.


Enjoy yourself.  The office is filled with awesome people, you’re in a great city, and you’re working on a product that a million people love!

Listen!  Everyone here would love to teach you something, just make sure you’re listening and able take advantage of that.

Be open minded.  Your mockup or design document will not always be the best. Be able to take tough feedback because in the end it makes for a better product.

Take ownership of your projects.  Plan, implement, and test. Then show it off to everyone and you’ll feel like a rockstar.

Wear sunscreen.


Expect someone to hold your hand.  Be able to work independently and help will be there when you’re actually stuck.

Miss your last ride home.  If you’re staying late it’s a good idea to know when the last BART train leaves (1:04 AM if you’re headed south).

Sit on the couch all weekend. After all, this is San Francisco.

Adjust Witold’s chair.  Leave it alone and nobody gets hurt.

Bonus: Pictures!

Expensify went wine tasting after hitting the 1 Million user mark in June.

San Francisco from the top of Twin Peaks

A night out with Thomas and the other interns

Took a trip down to Big Sur

Sunset on the Golden Gate

This summer was great, guess I’ll just have to come back.


This place is awesome, our product kicks ass and our team is a mesh of rockstars who are passionate about what they do. We’re looking for all sorts of people — always engineers and sales, definitely a designer, but right now we have a desperate need for QA.

No Bugs Allowed

No Bugs Allowed

Now, we’re mostly a bunch of programmers, and to be completely honest, we haven’t had great experience with dedicated QA teams in the past. They generally fit very large, very slow organizations where it takes a dozen people to do anything. But we’re super small, very fast moving, so we need someone who can hang with that.

What exactly that is we’re not sure — after all, we’re looking for someone with QA expertise to tell us what to do. But as best as we can tell, we need someone who is comfortable with PHP, JavaScript, jQuery, HTML, CSS, and ideally a smidge of C++. Don’t worry, we don’t expect you to know all of them. Unless you are a mega rockstar. But a regular rockstar would be lovely too.

Are you still interested? Sweet! Next steps are as follows:
Check out, read more about us, the team, and get a feel for our environment. Are you as into us as we are into you?
Email us your resume and the answers to the questions below with “Sweet QA Analyst” as the subject line (

  1. What is the difference between QA and programming, and why do you prefer to do QA instead of becoming a programmer?
  2. What do you want to do with the rest of your life, and how is Expensify a step toward your long-term goals?
  3. Please forward this application to three people you think we should hire, cc’ing (Don’t worry, we’re eager to hire you and them. Indeed, good people have good friends: solid referrals here increase the odds we’ll hire you.)
  4. How did you hear about us? A job posting? Chalk on a sidewalk? From a friend? Let us know where you saw this opening.

We look forward to hearing form you!

As many of our regular readers have probably noticed, we’ve been mentioning here and there for quite some time that we are in the market for new employees. And as we’ve said before, we’re taking a drastically slower route toward hiring than many startups do. But we’re being extra picky about who we hire, because we’re trying to preserve two things that are very important to us:

  • the integrity of our product, and
  • the corporate culture we’ve very carefully crafted

In other words, not just any Computer Science major will do. In fact, we don’t even care if you have a college degree. We don’t care if you’re a U.S. citizen.

What we do care about?

  • a great work ethic, almost to the point that some of your friends might call you masochistic. We work long, hard hours doing what we love, and if you’re the kind of person who wants to clock out at 5:00 or spend half the day surfing LOLCats, this isn’t the place for you.
  • a great character: fair, honest, with a decent sense of humor, and absolutely zero drama. Please, we get enough drama from watching Dexter.
  • talented and fast at picking new things up: you should be technologically multilingual, with the kind of intellectual flexibility that would make Neo’s bullet-avoiding backbend in The Matrix look like your grandma doing the limbo on a geriatric cruise. This doesn’t just apply to programming, though we demand a high level of talent and capability in that arena, for sure: what else are you good at? Can you speak in front of a group? Explain multiple step processes to your luddite relatives? Make a mean seven-layer dip? In essence, what else are you bringing to the table?
  • ambition: you’ve got to have it. We don’t want Expensify to be your final resting place; that’s just not how this industry works. We want people who are mobile, constantly looking for a next great project, working on side projects of their own, and with big plans for the future. And we want to help you get there, too.

Generally, we’ve found that our best applicants also have the following in common:

  • programming experience from way before their college years
  • a zest for adventure – everyone on staff is a world traveler, and have what one of our engineers referred to as a “willingness to get into trouble”
  • curriculum vitae that extend far beyond the classroom and the office: your most impressive work was probably done for the fun of it, anywhere from a junior high school bedroom to an exotic beach somewhere (our preferred location)

The point we’re trying to make is: the expectations are high, but the rewards are higher, and if you think you’ve got what it takes, we’d love to hear from you. We’ll sponsor a visa, buy your lunches, and propel your career to the next level – if you’re the right fit.

EDIT (2/2/11): This position has been filled. Please see to review any currently open positions.

Hi! I’m David Barrett, the founder and CEO of Expensify. We’ve got a ton of money in the bank, paying customers, hundreds of thousands of users, a fantastic (albeit small) team, and a super pimp office. Things are really starting to take off, and we need your help taming the chaos. Here are some examples of what we’d love your help with:

  • Shop for the office! – About that pimp office we mentioned above… it’s currently empty. We’ve got ideas of what we generally need and a generous budget to go and make the awesome office of our dreams, but are too busy to actually go out and do it. We need someone with a good sense of style to turn these empty rooms into an exquisite workspace:
  • Schmooze on company time! – So many parties, so little time. We need someone to attend all sorts of social, tech, and industry events to carry the Expensify flag to the far reaches of the Bay Area. We need everybody to know that we’re here, we’re hiring, and we’re ready to rock their socks.
  • Walk my dog! – And keep the kitchen stocked, handle the mail, schedule meetings, arrange travel for interview candidates, get coffee for guests, answer the phone, and so on. All the little things that every once in a while just need to get done.
  • Build a company! – Anybody can do the above. But only you can do that while also helping us build Expensify in a very tangible way. Do market research, analyze data, contact customers, support users, execute PR and marketing campaigns, manage contractors. We need it all; the more you can and are interested in doing, the more we all win.

The job isn’t strictly a difficult one; on its face it doesn’t require any specialized skills. But that doesn’t mean it’s easy, or just anybody can do it. In fact, I’m hesitant to even ask because I’m certain I’m going to get a flood of resumes from everybody in the universe. So while I’m sure you’re awesome, please make it really easy for me to find you by emailing me the answers to the following questions:

  1. What’s your website? Or blog, or Facebook, or Twitter, or whatever you use to identify yourself online. We’re looking for a social, web-savvy person; let’s see what you’ve got!
  2. What’s your story? Basically, where did you come from, what are you doing with your life, what do you want to do with the rest of it, etc. (FYI, we’re only considering local candidates for this position; relocation isn’t an option. Sorry!)
  3. What do you hope to get out of Expensify? Obviously there’s fame and fortune (obviously), but what else?
  4. Shopping is easy when you have either no budget or a fixed budget. But we’re somewhere in between: We have money and are willing to spend it on things that are nicer than strictly necessary. But we don’t want to waste our money unnecessarily. Rather, we’re looking for some level of spending that’s “nice and maybe a touch extravagant at times, but without going overboard”. Given that, and given the vast range of options available, how will you decide which — for example — conference room table to buy?
  5. Going along with the previous question, provide a link to a conference room table that you’d recommend we buy. It should be about 8 feet long and comfortably seat 8.
  6. What experience do you have talking on the phone in a professional manner?
  7. Imagine a candidate is flying in for an interview next Friday, and will be staying the weekend. Go check out the travel websites right now and pick which exact flight and hotel you’d book for the candidate. (Once again, you’re not being given a strict budget to work within: I want to see what you feel is a reasonable balance between cost, convenience, and comfort.)
  8. Anything else? Why are you the perfect person for the job?

That should do the trick for now. Write up answers to the above questions, email them and a resume to and I promise I will personally respond — hopefully in a timely manner, but definitely sometime. Thanks, I’m genuinely eager to meet you soon!

Founder and CEO of Expensify
Follow us at on Twitter
Like us on Facebook

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:

  1. Email 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.
  2. 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:

  • Health
  • Dental
  • 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 (, 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  Thanks for reading all this, I really appreciate your  help!