Thursday, August 19, 2010

reddit is hiring!

[Note: the following post is presented for archival purposes; the programmer in question has been hired.]

Big news today in the reddit world: we've just been given official approval to hire our first new developer in nearly two years!

First off, a deep, heartfelt thank you to the 10,000+ people who subscribed to reddit gold. This would absolutely not be happening today without your support.

Now, on to the position. It's in San Francisco, and the official list of responsibilities is as follows:


In other words, a reddit engineer does pretty much whatever the site needs right this instant. That's not to say it's a constant state of emergency; it's just that with a team of our size, there's a lot of freedom to choose your next project from our immediate todo list, and to influence what that list looks like. It's one of the reasons that reddit still feels a lot like a startup. That said, we should probably be a little more specific about what we're looking for, so...

Here are the essentials:
  • Be a huge fan of reddit: Although we're flexible about the precise time you stroll into (and out of) the office, you're going to be logging in from home most evenings just to check up on things (and troll around in the comments), and once in a while, you're going to be woken up in the middle of the night by an emergency. So dedication to the cause is the most important trait we're looking for.
  • Superstar programming skills: You don't have to know Python (in fact, if you do, you'd be the first person ever to come to reddit already knowing the language), but you've got to be a great programmer in *some* language and be willing and able to become one in Python.
  • Know the web top-to-bottom: HTML, CSS, JavaScript, jQuery, and Ajax should all be second nature to you.
  • Comfortable on a Unix system — though many of us use Mac desktops, our servers all run Linux. You'll spend a great deal of your day typing things into a terminal.
Additional nice-to-haves:
  • Actual Python experience
  • Experience with other languages — a few bits of our code are in C, Java, Erlang, and Perl, and anyway, it's always nice to have another perspective.
  • Significant Unix administration experience — jedberg's honeymoon is in December, so he could really use an understudy. (In his role as sysadmin, that is; you're not invited to the honeymoon.)
  • Database administration skills (especially Postgres)
  • Knowledge of Cassandra and / or distributed databases
  • Ability to recall the appropriate Simpsons or Futurama quote for any occasion.
The fine print

At this time, we're approved to take on a freelancer, so your compensation will lean towards cold hard cash, in lieu of benefits. (When we get approval to hire an employee with benefits, you'll almost certainly get first crack at shifting into that position.)

You'll need to commute to our offices in San Francisco's SOMA neighborhood for something in the ballpark of "normal business hours".

If you're interested, please send us a resume. Bonus points if you:
  1. ...submit your resume in plain text, as part of the main message body
  2. ...explain why you specifically want to work at reddit
  3. ...tell us a brief story about something cool you once made, or a problem you solved in a clever way
  4. ...prove or disprove that P = NP
  5. ...compose us a piece of customized wordhacking, e.g.:

    pithier
    legible
    emerald
    alleged
    spumoni
    excerpt

Applications must be sent to S@reddit.com, where:
  • S is a three-character string which, when given a null terminator and encoded in hex, is equivalent to the eight-digit hexadecimal number H.

  • H is the hexadecimal representation of the decimal number N.

  • N = A * B * C * D

  • A is the number of 1 bits in the current serial number on the SOA record for reddit.com.
  • B is the number of seconds in a day.
  • C is the ASCII value of the character that appears 5304 times in *.html files in a fresh checkout of the reddit repository. (It's also the EBCDIC representation of the \a character.)
  • D is the port that you typically connect to when you need to get an encrypted shell on some remote machine.
Note: The solution to this puzzle is now available.
discuss this post on reddit