Archives For November 30, 1999

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 (www.saltstack.org). 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 jobs@expensify.com with a letter explaining why you are awesome and how you found us.

Intern Pro Tips

 —  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.

Do:

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.

Don’t:

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.

-Andrew

Expensify is looking for a bug hunter

 —  January 4, 2012 — 9 Comments

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 expensify.com/jobs, 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 (jobs@expensify.com)

  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 jobs@expensify.com. (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 expensify.com/jobs 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 dbarrett@expensify.com and I promise I will personally respond — hopefully in a timely manner, but definitely sometime. Thanks, I’m genuinely eager to meet you soon!

-david
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 jobs@expensify.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.
  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 (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:

https://www.expensify.com/jobs

Or, just send me an email at jobs@expensify.com.  Thanks for reading all this, I really appreciate your  help!

Update! Check out www.expensify.com/jobs

(Perfect for new college grads or people who are bored with school and want to get started in the real world!)

Hello, my name is David Barrett and I’m the CEO of Expensify. We do “expense reports that don’t suck!” (Google “expensify” to read more.) We’re getting crushed under an ever-growing pile of super awesome work, and I need one bright soul to help us dig our way out. I can guarantee you fun, an amazing opportunity to learn, and the siren’s call of distant riches. But only if you are *all* of the following:

  • An incredibly hard worker, even when it’s not so fun. There is a ton of work to do, and a lot of it downright sucks. After all — we do the sucky work so our customers won’t need to. I need you to buck up and grind through server logs, user emails, source code, and bug reports, without complaint or supervision, and come back asking for more.
  • A cool person to be with. Not a crazy party animal, just someone we can trust, rely upon, hang out with, bounce ideas off of, and generally interact with in a positive way, both personally and professionally. In fact, this is one of the most stringent requirements we have: would you be fun to hang out with day and night on some remote, exotic beach? This isn’t a rhetorical question, either: every year we take the company overseas for a month (on your own dime, sorry) and work incredibly hard while having a ton of fun. We’ve done Thailand, Mexico, India, and Turkey.  In fact, I’m writing this from a beach in the Philippines (with an approaching super-typhoon, no less).   Where do you want to go next?
  • Super talented, in a general way. We’re going to throw a ton of work at you of every possible sort, and you need that magic skill of being able to figure it out even if you have no idea where to start. On any given day you might bounce between super low-level coding, super high-level technical support, marketing-driven datamining, updating our user documentation, inventing/designing/building some new feature, etc. This is not a code monkey job — you’re going to be a full participant in the process, and you need to bring your own unique blend of skills to the table.
  • Specifically talented in a programming way. You can instantly visualize solutions to problems big and small. Your code is always clean, well commented, has good nomenclature and indentation. You can switch on a dime between C++, PHP, Bash, Cron, HTML, CSS, JavaScript, jQuery, Dwoo, SQL — not because you know them all, but because you’re the sort of person who can just pick it up and figure it out. If you’re this sort of person, you’ll know what I mean. If not, then this position isn’t for you.
  • Bonus points if you’re an SQL data jockey. Not required, but if you love diving into oceans of data and surfacing pearls of wisdom, have we got some exciting things for you.

And there are a bunch more, but odds are if you got this far, nothing I can do would stop you from applying. That’s a problem because while I know *you* are awesome, it’s actually really hard and time consuming to find you in the midst of the literally hundreds of other applications I get from everyone else. So this is where I’m going to ask my first favor: can you make it *really easy* and obvious how great you are, so I don’t accidentally overlook you?

There are probably many ways to do that. But the easiest way is to help me out by answering the following questions:

  1. What’s the URL of your website? If you don’t have one, stop now — please save us both the time by not applying.
  2. When did you start programming? Tell me about your first project, what technologies you used, etc.
  3. Why do you do it? Why programming instead of all the other exciting careers out there?
  4. What was your last/current job, what was/is your total compensation package, and why did you / do you want to leave? Can I have the name and phone number of your last manager? It’s cool if you left on bad terms — I got fired from my last job, after all — just tell me the story.
  5. If you were rich, what would you do, and why?
  6. Without doing any research or asking any friends, what language is each of the following code fragments, and what’s wrong with each (if anything)?
    .centered { text-align: center; vertical-align: center; }

    tail /var/log/syslog | grep warn

    char* data[] = { "foo", "bar", 0 };
    int strlenSum = 0;
    do { strlenSum += strlen( *data ); } while( data++ );

    The time is <? time() > o'clock.

    var a, b = { c: "d" };
    alert( a.c );

    create table bar ( foo integer unique );
    insert into bar values ( 1, 2 );
    create table foo ( bar integer unique );
    insert into foo values ( 2, 3 );
    insert into foo ( bar ) select foo from bar on duplicate update foo=bar;

  7. What’s the biggest, coolest project you ever built from top-to-bottom? Not a component; a whole self-sufficient thing.
  8. Why do you want to work at Expensify, specifically? Not something general about startups overall; what is it about us in particular that interests you?
  9. What’s the catch? Everybody has strings attached — you’ve got something you need to finish first, some big vacation commitment coming up, some particular fear you need addressed or requirement you need satisfied. It’s fine. But what is it?
  10. Bonus: We only hire generalists who can do everything, and nobody is ever pigeonholed.  But what would you prefer to work on?  Datamining?  Customer support?  Mobile?  System administration?  We’ve got it all, let me know what you want.

Please send your answers to dbarrett@expensify.com. If you make an honest attempt at answering the questions above, I promise I’ll respond personally — hopefully in a timely fashion, but definitely sometime.

Thanks. I’m genuinely excited to hear from you. I know there’s someone out there who will be a perfect fit for our team. I really hope it’s you, and I appreciate your help in patience while we figure that out together. Thanks!

David Barrett

Founder and CEO of Expensify
Follow us at http://twitter.com/expensify
Personal blog | Company blog | my Facebook

Recent coverage: DailyFinance | NetBanker | Lifehacker | TechCrunch | GigaOm | Salesforce | VentureBeat | Scoble (Video)

Perfect for new college grads or people who are bored with school and want to get started in the real world!

Hello, my name is David Barrett and I’m the CEO of Expensify. We do “expense reports that don’t suck!” (Google “expensify” to read more.) We’re getting crushed under an ever-growing pile of super awesome work, and I need one bright soul to help us dig our way out. I can guarantee you fun, an amazing opportunity to learn, and the siren’s call of distant riches. But only if you are *all* of the following:

  • An incredibly hard worker, even when it’s not so fun. There is a ton of work to do, and a lot of it downright sucks. After all — we do the sucky work so our customers won’t need to. I need you to buck up and grind through server logs, user emails, source code, and bug reports, without complaint or supervision, and come back asking for more.
  • A cool person to be with. Not a crazy party animal, just someone we can trust, rely upon, hang out with, bounce ideas off of, and generally interact with in a positive way, both personally and professionally. In fact, this is one of the most stringent requirements we have: would you be fun to hang out with day and night on some remote, exotic beach? This isn’t a rhetorical question, either: every year we take the company overseas for a month (on your own dime, sorry) and work incredibly hard while having a ton of fun. We’ve done Thailand, Mexico, India, and Turkey. Where do you want to go this year?
  • Super talented, in a general way. We’re going to throw a ton of work at you of every possible sort, and you need that magic skill of being able to figure it out even if you have no idea where to start. On any given day you might bounce between super low-level coding, super high-level technical support, updating our user documentation, inventing/designing/building some new feature, etc. This is not a code monkey job — you’re going to be a full participant in the process, and you need to bring your own unique blend of skills to the table.
  • Specifically talented in a programming way. You can instantly visualize solutions to problems big and small. Your code is always clean, well commented, has good nomenclature and indentation. You can switch on a dime between C++, PHP, Bash, Cron, HTML, CSS, JavaScript, jQuery, Dwoo — not because you know them all, but because you’re the sort of person who can just pick it up and figure it out. If you’re this sort of person, you’ll know what I mean. If not, then this position isn’t for you.

And there are a bunch more, but odds are if you got this far, nothing I can do would stop you from applying. That’s a problem because while I know *you* are awesome, it’s actually really hard and time consuming to find you in the midst of the literally hundreds of other applications I get from everyone else. So this is where I’m going to ask my first favor: can you make it *really easy* and obvious how great you are, so I don’t accidentally overlook you?

There are probably many ways to do that. But the easiest way is to help me out by answering the following questions:

  1. What’s the URL of your website? If you don’t have one, stop now — please save us both the time by not applying.
  2. When did you start programming? Tell me about your first project, what technologies you used, and why you did it.
  3. Why do you do it? Why programming instead of all the other exciting careers out there?
  4. What was your last/current job, what was/is your total compensation package, and why did you / do you want to leave? Can I have the name and phone number of your last manager? It’s cool if you left on bad terms — I got fired from my last job, after all — just tell me the story.
  5. If you were rich, what would you do, and why?
  6. Without doing any research or asking any friends, what language is each of the following code fragments, and what’s wrong with each (if anything)?

       .centered { text-align: center; vertical-align: center; }
    
       tail /var/log/syslog | grep warn
    
       char* data[] = { "foo", "bar", 0 };
       int strlenSum = 0;
       do { strlenSum += strlen( *data ); } while( data++ );
    
       The time is <? time() > o'clock.
    
       var a, b = { c: "d" };
       alert( a.c );
    

  7. What’s the biggest, coolest project you ever built from top-to-bottom? Not a component; a whole self-sufficient thing.
  8. What’s a salary and equity cut that excites you? Like, truly feels “wow, I’m being valued”. What’s the minimum you’d take? Don’t skimp on the question: it’s gnarly, I know. But let’s just get it out in the open, up front.
  9. Why do you want to work at Expensify, specifically? Not something general about startups overall; what is it about us in particular that interests you?
  10. What’s the catch? Everybody has strings attached — you’ve got something you need to finish first, some big vacation commitment coming up, some particular fear you need addressed or requirement you need satisfied. It’s fine. But what is it?

Please send your answers to dbarrett@expensify.com. If you make an honest attempt at answering the questions above, I promise I’ll respond personally — hopefully in a timely fashion, but definitely sometime.

Thanks. I’m genuinely excited to hear from you. I know there’s someone out there who will be a perfect fit for our team. I really hope it’s you, and I appreciate your help in patience while we figure that out together. Thanks!

David Barrett

Founder and CEO of Expensify

Follow us at http://twitter.com/expensify

Personal blog | Company blog

Recent coverage:NetBanker | Lifehacker | TechCrunch | GigaOm | Salesforce | VentureBeat | Scoble (Video)

Update: This post has been superseded by a newer, better job post here.  Basically, we realized this post was way too general and brand oriented — we’re numbers people and we want to quantify the ROI on everything, marketing included.

A bit about us:
We’re a 4-person startup working like mad to disrupt a multi-billion dollar financial industry from the bottom up. The company is named Expensify, and we do “expense reports that don’t suck.” We do that by importing your expenses *and your receipts* straight from your credit card, submitting PDF expense reports by email, and by reimbursing entirely online — now with QuickBooks support. Basically, we’re the expense report system you always wish existed.

That might or might not sound exciting to you, and that’s okay. Most of the *really* exciting things can’t be shared openly. But needless to say, it’s a real problem that affects millions of people — people who spend a lot of money — and there are already billion dollar companies who focus on this problem alone.

We have users, investors, partners, awards, and a crapload of good technology (not the least of which is an iPhone application, with BlackBerry, Palm, and Android on the way). We pay pretty decent salaries, are very generous with equity, and provide solid benefits.

We’re really happy where the product is at overall, but we also realize our limits: we don’t have the DNA to make the product really “pop” in that super-polished way. So we need more new DNA in the team. Which is why we’re talking to you.

A bit about you:
The most important thing is that you are awesome. You work incredibly hard on a huge diversity of tasks. You can do pretty much anything you set your mind to, often better than people who have spent their whole lives doing it. You have more ideas than you’ll be able to accomplish in a lifetime. Does this sound familiar? If it doesn’t that’s fine. But it means I’m probably not talking to you.

Next, you’re cool to be with. We work really hard, sometimes from really distant locations. (Every year we go overseas to work from a remote beach: we just got back from Istanbul, but previous years — in a previous startup — we’ve gone to Thailand, Mexico, and India.) You’ve got to be extremely passionate about your work, but also respectful that sometimes things don’t go your way, and that that’s okay: everyone will return the favor, so in the long run, if you’re right more than you’re wrong, you’ll end up getting your way regardless.

(Incidentally, we work 3 days a week together — M/W/F; the rest your on your own. We don’t currently have an office, we’ve been doing the coffeeshop thing for the past year, but we’re considering getting a space downtown SF now that the team is growing)

If all those are taken care of, then ideally you would also be a whiz at product marketing. You’ll never, ever be pigeonholed, and you’ll be involved across the board in decisions big and small. But we are specifically looking for someone to pick up and run with the following responsibilities:

– Engage with a professional designer to create the “Expensify Look”
– Refine our tone and messaging to create the “Voice of Expensify”
– Rewrite every frickin’ word on the entire site to be awesome
– Gather conversion data and iterate upon the data to find what works
– Spend a bunch of money on a marketing campaign, in a cost-effective manner
– Manage blog outreach and PR
– Keep abreast of the competition’s features and messaging
– Propose and execute an unending series of ridiculously crazy promotion ideas

Basically, your job is to sign up users in every way possible, and then keep them coming back for more. Every tool will be at your disposal. Is this interesting to you?

Next steps:
We’ve got a process worked out. It involves you answering a bunch of the standard interview questions up front, in your first email to us. This saves everyone time (if you’re willing to spend hours with us interviewing on the phone or in person, why not spend half that time in email?), lets us talk with more candidates than we could feasibly do otherwise, and we find the best candidates actually enjoy the process. If you don’t enjoy it or don’t have time for it, it’s probably a sign that this job isn’t right for you and that’s great! We’ve saved you the time applying, and us the time turning you down! For everyone else, here are the questions without further ado:

1) What’s your story, in a nutshell? What have you been up to with your life, and ultimately, what do you want to do?

2) What about the above job post most appealed to you? Why do you want to work with Expensify?

3) What about the above job post causes you concern? There’s got to be at least one thing about it that rubbed you wrong. What was is it?

4) Take a look at http://expensify.com — create yourself an account (it’s free) and play around. You can import a test “citibank” card with username “expensifydemo” and password “demo”. Tell me honestly: what do you think? If you were hired with the general mandate to “make this website kick ass”, what would you do?

5) Off the top of your head, without doing a lot of research or anything, who do you feel are our competitors and how do you think we are differentiated from them? It’s cool if you don’t know them, don’t worry. They all suck anyway. (Just kidding. Sorta…)

6) We’ve heard “Expense reports that don’t suck!” is a problematic slogan because it’s somewhat negative. What would you suggest as a better slogan? Or would you suggest we keep the current one?

7) Please answer as many of these as you can, without doing any research: (Incidentally, it’s *totally ok* to not know an answer. Don’t cheat; it just wastes everyone’s time.)

7.1) Do you know SQL? If so, imagine there are two tables, defined as:

CREATE TABLE accounts ( accountID INTEGER, email TEXT );
CREATE TABLE reports ( reportID INTEGER, accountID INTEGER, amount INTEGER );

The former is a series of accounts, the latter is a series of reports — each of which is owned by a given account. Can you write a query to select a list of distinct email addresses that own reports for over $100?

7.2) Do you know PHP? If so, what’s wrong with the following code?

The square root of 2 is <? sqrt(2) >

7.3) Do you know JavaScript? If so, what’s the difference between encodeURI() and encodeURIComponent()?

7.4) Do you have a preference between lighttpd and Apache? What is it?

7.5) Do you have a preference between Ubuntu and Red Hat? What is it?

7.6) What is the difference between colocation and dedicated servers?

7.7) Do you know how to use Photoshop? If so, describe in words how you would create from scratch a transparent PNG containing an orange outline of the words “Hello world!”, in Arial font.

7.8) Are you skilled in SEO? If so, what’s the #1 recommendation you’d make for how to change our homepage to improve our Google rank for the term “expense report”?

7.9) Have you ever used Subversion?

7.10) What are the kinds of tasks that you would directly implement yourself, versus handing off to other contractors and subordinates?

8) Please illustrate an example of when you were torn between the following, which ultimately won out, and why:

8.1) Going with what felt right, versus going with what the data said?

8.2) Going with what the data said, versus going with what the user said they wanted?

8.3) Going with what the user said they wanted, versus going with what felt right?

8.4) Adding new users, versus increasing engagement with existing users?

8.5) Improving the product for customers, versus making money for the company?

9) Please give a bit more detail about your background and methodology, including:

9.1) Have you done marketing for a consumer or small-business website before? How does it differ from other types of marketing?

9.2) How have you measured the success of your marketing efforts in the past, and based on that measurement, how did you do?

9.3) What’s the difference (if any) between you and a salesperson?

9.4) What’s the difference (if any) between you and a designer?

9.5) What’s the difference (if any) between you and a community evangelist?

9.6) What’s the difference (if any) between you and “the typical marketing person”?

9.7) Do you have any experience working with affiliate and lead-generation programs?

9.8) What else should we know about you that hasn’t been covered here?

10) What do you think of these questions? How can we improve them?

11) And most importantly: how did you file your last expense report, and did it suck?

Please send your answers to dbarrett@expensify.com whenever convenient, along with a resume (if you have it, but don’t fret if you don’t). I guarantee I’ll reply to you if you actually fill out the questions. Thanks, I look forward to hearing from you soon!

-david
Founder, CEO of Expensify
You should follow us at http://twitter.com/expensify