Wednesday, December 19, 2012

I wrote this a few hours after I've completed the phone screening, grossly dissatisfied with my own performance and with the interviewing process, and I believe that the two are related. The recommended reading for the interview, "Get that job at Facebook" by Carlos Bueno, advises to "Give feedback. We regularly survey candidates about the interview process and take feedback seriously." This leaves me some hope that my opinion on the process would be heard.

1) The scheduling

I've submitted my application on Oct 2nd. I've received a reply explaining that the interviewing would take place in December, and inviting me to suggest date and time ranges when I would be available.

Do you have many candidates that know three months in advance their available timeslots? Do you expect all these timeslots to remain reserved for the three months, until the interview is finally scheduled? To me, this seems ridiculous -- especially as the proposed "availability slots" are ultimately ignored, as seen further.

I have send the rough estimate of my December availability to Marianne L Dove on Oct 3rd. Receiving no response by Oct 29th, I've asked her again, receiving the response "I do apologize, as I thought I had responded, but now see that I had not." Talk about HR competency.

By Nov 11th, I've settled my plans for December, so I've emailed Marianne with the updated availability schedule. Her response was "We will be back in touch in early December, via email, to confirm the day/time of your technical phone interview." However, there were no updates by Dec 7th, which I believe is not-so-early December already. I've emailed Marianne again, and she replied that she had "submitted a request to have you scheduled for one day next week, or the week of 12/17", indicating that she had been totally ignoring my application for the first week of December -- neither requesting my interview to be scheduled, nor informing me of the occurring delay. What's more, she had submitted the request using my October estimate of the availability, not the updated one. Talk about HR competency again.

On Dec 13th, I've finally received the confirmation of my interview being scheduled on next Tuesday 11AM PST -- despite me requesting the interview on a Thursday or Friday. What's the point of asking the candidate their availability, if you then ignore their preferences, at each and every step of the process?

I've replied to Chelsea Ganan that the scheduled time is inconvenient for me, and asking for a postponement. My request was totally ignored -- not even a "sorry can't do that". Well, at least this was consistent with Facebook not showing any respect to the job applicants.

2) The suspense

The "December Interview Preparation Tips" describe the interview as "In terms of preparation... like a CS exam." No problem -- any of us has taken countless CS exams before, and knows what it takes. Any of us, no matter how good his studies, needs to review the material before the exam, to make it "pop out of the head" in the limited time given. This is why CS exams are scheduled long in advance -- a few weeks, if not a couple months. No CS student would read up for an exam a month or two before it, "just in case" -- this is why the "early warning" that the interview would be "some time in December, probably" doesn't help any.

My interview was finally scheduled three weekdays in advance, leaving me in fact one day to prepare, because I've already had plans for the other weekday and the weekend. Do you have many candidates who can prepare for a CS exam in one day? Or do you expect them to be ready to abandon their plans at zero notice?

I mean, scheduling the interview even one day in advance is no problem if you position it as a "come as you are" interview. But if you want us to treat it like a CS exam, do make it like a CS exam on your end! Do allow some time for the preparation for the industry candidates who haven't had any CS exams in years.

In the one day that I've had available, I've been reading up like mad, and still obviously I couldn't prepare as well as I'd like to. The feeling of coming to a CS exam unprepared builds up the lack of confidence during the interview, and contributes to the stress -- as if the stress from the important interview itself wasn't enough.

Then comes the punch: the coding exercise during my interview didn’t involve any intricate algorithms or data structures, none at all, just robust coding. Exhausted and stressed by the rushed preparation, turning out useless, I was so perplexed -- as if I’ve not only come to an exam unprepared, but after all to a wrong exam.

Upd 24 Dec: several commentators have noted that if I need a week of preparation for the job interview, it just indicates I don't have the required skills for the position. While true for many other places, at Facebook they themselves emphasize that the practical skill requirements aren't much related to the content of the job interview. Quoting the "December Interview Preparation Tips" again: "In terms of preparation, think of it like a CS exam. There is a wide gap between industry experience and fundamental coding exercises so I urge you to take some time to prepare for the type of questions we'll be asking."

3) The connection

I've been using the best Internet connection available -- the wired LAN at the Israel Institute of Technology. (To give an impression of its network infrastructure: the Institute had been allocated two of the handful Israeli class-B IP ranges.) On the day of the interview, I've made a test call to a friend in Israel (some 120km away from the Institute), to confirm that the call quality is perfect. Nevertheless, when the interviewer called me, I couldn't hear him properly.

I realize that Facebook network connections are no less solid than at the Institute, and that Skype may have intermittent "glitches" routing the voice traffic via a slow intermediate node. But still, isn't it worthwhile for Facebook recruiting to prepare for such a case, and make the interviewer able to switch to a different Facebook IP range, to give Skype routing a second chance? For a network as big as Facebook, this certainly must be easier than for a private person, which normally has no control over the IP address allocated to him. I don’t think I’m the only candidate ever who has run into such problems with the Skype connection, so why is Facebook so unhelpful about them?

We had to resort to phone conversation, which had to be interrupted when I needed both hands to type my code -- meaning I could get no feedback, whatsoever, from the interviewer during the code exercise, nor could I explain my code as I typed it. This certainly did affect my performance and, together with the unanticipated technical failure, contributed to the stress level, as if it wasn't high enough already.

All in all, I'm highly discouraged from ever retrying to interview for Facebook. Maybe this was the intent, so that only the most determined would remain, I do not know. But the impression that Facebook recruiting has made is really really messy and frustrating.


  1. I had a somewhat similar experience interviewing at Google. Checkout the last section of my article for details if you like:

    I think that any interview you can cram for is a bad interview.

    Brian Tarbox

    1. Thank you, that's very insightful reading.

  2. You had knew the interview was coming 3 months away and you leave it until you have confirmation a few days before to study?

    Then you claim you only had 3 days?

    NO, you had 3 MONTHS. That you left things til the last minute is 100% YOUR OWN FAULT.

    This all appears to be lack of communication on Facebook's part combined with your own - you were lazy, you didn't prepare, you didn't follow up in any acceptable time period (if I don't get a reply I email the next day).

    All this post achieves is showing your true character of blaming everything on other people and not being able to admin mistakes.

    1. Yeah, you either complain that it's too far off to know your availability or you complain it's too near to be able to prepare. You don't get to complain about both.

    2. Agreed. And whilst I do understand the desire to 'brush up' before an interview, is the author suggesting that they were applying for a job where they anticipated the required skill set to be something that they personally wouldn't be able to mentally access at a moment's notice? If my boss asked me to code something that should be within the scope of my position and my reply was, "Okay, give me a few weeks to study before I even get started," they would find someone else to do my job, and rightly so.

    3. Stephen, no need to twist the facts. I don't complain on scheduling the interview three months in advance -- because they didn't schedule the interview three months in advance. They asked about my availability three months in advance, only to ignore my response.

      David, they themselves underlined that "the required skill set for the position" is not much related to the content of the interview. Quoting the interview guidelines: "In terms of preparation, think of it like a CS exam. There is a wide gap between industry experience and fundamental coding exercises so I urge you to take some time to prepare for the type of questions we'll be asking."

    4. Unknown, exactly what did you think Facebook was asking about your availability for?

    5. Stephen, exactly what do you think Facebook had used my availability for? Given that they eventually scheduled the interview notwithstanding it.

  3. In an honesty, and I'm sorry to say it, but you come across as a whiner. I certainly wouldn't hire you.

    1. You would only hire people that don't or can't provide critical feedback?

    2. This comment has been removed by the author.

    3. Charlie, No one said that. Making stuff up to make the other guy sound unreasonable doesn't mean you win the argument.

  4. I can understand your frustration with Facebook. Their interview process was terrible. And when they put you on the phone with someone that barely speaks English, and that person makes a fateful impact on your Facebook hirability, it gets even more frustrating.

    Facebook, so 2005. There are plenty of better companies that have an interest in the people they're interviewing.

  5. Unless you have a phone that is both corded and has no speaker function to speak of, you could have pushed the speaker button. My 20 USD (74.96 Israeli New Sheqel according to google) has a speaker function. And this thing can't even load some of the most simplistic websites without coaxing.

  6. I wish this were only the case with Facebook, but it isn't. Welcome to the interview process. It's assuring to hear that they let you touch your keyboard, and that they value code quality over core CS. Explaining code line by line into a phone can be awkward.

    I found this post after it was shared on Slashdot. It will probably attract some attention (woefully, not in HR) at FB. This is good because there usually isn't feedback from the candidate to the company about the company's interview process.

    I've seen some of the worst hires cause mountains of damage, and some the brightest talent get passed up over a botched interview. Some HR staff are completely ineffective, but there are others are irreplaceably magnificent.

    I'm not sure how FB considers candidates in retrospect, but many (if not most) companies welcome resubmission for new positions. They might give you another shot in the future, and you'll perform better knowing what they expect. From what I've heard, FB is a well-run company ( That doesn't change the fact that they are in a dead sprint against multiple competitors, and under the unforgiving scrutiny of hoards of users who threaten to evacuate the moment any UI or legal jargon changes. In other words: They are working like crazy just to maintain a 'Like' status :D

    An interview gone awry can be hard on the ego, especially if the feedback is not constructive or their reason for passing you up is something you could learn in less than five minutes of research. Sometimes they've already found their candidate and come up with an arbitrary reason to pass on you. It's much worse when the talent pool size far exceeds the number of available jobs, but that doesn't appear to be the case at this moment. That said, get back on that horse and grow your talent. Maybe they will reach out to you next time.

  7. Don't get a Job.

    Here's something you will learn in due time. You don't want a Job. You certainly don't want a job with a big company.

    Start your own job, make your own company, freelance, these are activities infinitely more rewarding and infinitely more valuable to your professional life than having a job.

    Having a job is the default choice. It's the choice you make when you make no choice. It's also the worst choice. You will pay most taxes in most tax jurisdictions. You will get most hours taken out of your week by default. The payment you will receive to give up part of your lifetime to the company will be the lowest they can get away with. You will have zero control over your work.

    Don't get a Job.

  8. I empathise. I applied to Facebook but got a 'no' after two weeks which was fine by me. Strange that my application had to be forwarded to someone in the US though to get approval even though I'd be working some 5,000 miles away.

    The WORST experience was with Accenture in Dublin though. I applied in September and was sent the interview arrangements for someone in the UK a month later - containing the candidate's name, phone number and who would be interviewing him. I pointed this out to recruitment who were very blasé about the whole thing.

    Eventually they offered me a first-round technical interview in, wait for it, SIX WEEKS. This was after several emails informing me that they were looking into the availability of interviewers.

    When I got there on the day, the lady at reception hadn't been expecting me.

    An hour of technical questions from someone lacking in inter-personal skills followed. A few days later, I get an email telling me I'm though to second round. So I complete the online tests in early November.

    Two weeks later, I'm told of the final stage interview and complete it. The person in HR tells me she's away for a few days but might try and tell me the result the next day. That doesn't happen. It's another two weeks just to be told no.

    So, that's right, THREE MONTHS of being tagged along just to be told no. Rejection is fine - nut just try and compress the duration of the recruitment process. Three months is completely excessive.

  9. Off by one error in your opening remarks. December is two months away from October, not three. Sorry, I'm not sniping at you, just thought it an amusing mistake.

    I think the clue about how much fun Facebook will be to work for is the fact that to interview you they took over two months. And then they finally did that, they did it badly.

    Why do you want to work for Facebook? You'll just be an anonymous corporate drone. What's the point in that? Why not work for a smaller outfit where what you do actually matters, where you can really contribute to the company?

  10. 1) The scheduling

    Most people are extremely busy in the real work world. Your intolerance for the "communication missteps" shows a lack of real world experience.

    2) The suspense

    See comments from Allister

    3) The connection

    We had to resort to phone conversation, which had to be interrupted when I needed both hands to type my code -- meaning I could get no feedback, whatsoever, from the interviewer during the code exercise, nor could I explain my code as I typed it.


    All in All


  11. So you tested Skype, which you'd use for an international call, by calling a local recipient? You didn't expect nor test an overseas connection with someone in the same relative geographic area as your interviewer?

    And you expect that low-to-mid-level employees have some mystical ability to change not just their IP address, but the IP range they're using on the fly? Arguably this can be done with the right settings change, but it's not normal or typical yet you seem to use this as a basis to explain why the call failure is their fault? Welcome to the internet...

    As for hiring? This blog post itself explains why you shouldn't be hired. Even with stellar results, your lack of ability to manage change is a significant drawback.

    1. The ability to change the IP range could be provisioned for certain computers, the ones used by the interviewers; setting this up is a one-time task that would pay off each time the Skype connection plays up. I'm not talking about all employees changing their IP range whenever they wish, which is totally unnecessary.

  12. You come off as a winy bitch. Availability is their choice of whether to honor. The interview is theirs to structure. And lastly, the interview, you didn't really test the connection of at all unless you were imagining that they were interviewing you directly from Israel. No one expects you to provision extra bandwidth from wherever they are "calling" from, but you could send a note "Sorry, but I was noticing bandwidth to one of your locations seemed problematic. Perhaps, we should delay and retest." Instead you air your dirty laundry to the public like some sort of attention whore.

  13. >Do you have many candidates that know three months in advance their available timeslots?

    It DOES depend on how important the job is to you, doesn't it?
    With that much notice, it's possible to take some time off. And, you have no idea what would have happened if you'd told them you had.

    It's certainly enough to brush up on whatever you think you'd need to. The fact that you left it to the last minute tells volumes about you, doesn't it?

    >But the impression that Facebook recruiting has made is really really messy and frustrating.

    HR did their job quite competently. HR in any company is there to protect the company at all costs, even if that means weeding out people who wouldn't make good employees... and there's nothing in this post that indicates that they haven't done a sterling job in your case.

  14. From reading this report, I conclude that the candidate is confused about the use of the various forms or past tense in the English language and would do well to improve his English before his next interview.

    1. I would very much appreciate if you could elaborate.

    2. In particular, it seems you are using "have" as an auxiliary in situations where it is not appropriate. This is known as the "present perfect" tense. It is narrower in scope than the simple past tense. It is ONLY USED in the following situations:

      - for something we have done several times in the past and continue to do:

      "I have gone to the park every day since I got married."
      "He has made three films and he is working on another one."
      "I have been paying the bill every week."

      - when we are talking about our experience up to the present:

      "Yesterday was the worst day I have ever had."
      "I have never met a man like James."
      "Have you ever seen a parrot?"

      - for something that happened in the past but is important at the time of speaking:

      "I can't get in the concert because I have lost my ticket."
      "She isn't home, I think she has gone out for the day."
      "I'm tired, I have been so busy today."

      You CANNOT use this tense with an adverb of time that refers to a finished time in the past ("yesterday", "last week", "when we were young"); you CAN use it with times that have not yet finished ("today", "this week").

      Thus, you can say "The woman from Facebook called me several times yesterday" (this implies she has not called again since), or "The woman from Facebook has called me several times today" (this implies you believe she may call again soon), but you CANNOT say "The woman from Facebook has called me several times yesterday". (You CAN, however, say "The woman from Facebook called me several times today" - this implies that you do not believe she will call again today.)

      Does that make any sense? Basically, most of the times in your post that you used constructions of this type, you should've just used the simple past tense. For example, instead of saying "I've submitted my application on Oct 2nd", you should say "I submitted my application on Oct 2nd" - you are speaking about an action that took place in the past and it was not repeated.

      "In the one day that I've had available, I've been reading up like mad" should be "In the one day that I had available, I was reading up like mad"... etc. Just be more careful when using the present perfect tense, since you seem to overuse it.

    3. Thank you for the detailed explanation, this is very helpful.

  15. Some of the comments here are needlessly uncivil. To answer your question to Greg Turner, your English is written using incorrect tense on more than a few occasions, which to me suggests that it may not be your first language, since it is a consistent error. An example is where you say "I've submitted" it would be more proper to say "I'd submitted".

    To the meat of your issue, the recruitment process doesn't surprise me. Many US companies have HR recruiters who handle between 60 and 100 people a day. It can be extraordinarily difficult to keep track. Your best bet is to always follow up, even if you've been told they will contact you back, get their email address and follow up within a week if you haven't heard anything.

    As to the connection issue with Skype, as with anything always plan for failure. American culture is especially reliant on the person who is in the position of least power, to provide more to the equation, especially if you're attempting to distinguish yourself. I always assume that there will be at least some failure and make alternate ways out. It's the same as in coding, plan for failure, it will most likely happen, worst case you have better code than you need.

  16. what an incredible bit of naive whining
    naive: american corporations assume you are a piece of dirt; heaven forbid they should pay for decent quality phone service.
    now you know the truth about them

    whining: they are giving you a job at one of the most successful and dynamic and rapidly growing companies in teh world, a job that may well make you a lot of money with options and opportunities.

  17. All I read in your blog is future excuses about why you missed deadlines and how its not your fault. Maybe the "HR competency" is designed to weed out people who don't follow up, fail to adapt to moving conditions, and succeed even with vaguest of requirements definitions. All of which you will encounter professionally more times than you'll care to. Whining about it now won't make it easier in the future.

    1. Sure, it all makes sense: when I don't do something in time, it's my fault because I've "missed the deadline". When they don't do something in time, it's my fault again, because I've "neglected to follow up". What a lovely approach.

      If they were looking for a kind of person that you describe, then they misled me by calling it a software engineering job. Working with no clear requirements and no clear schedules can be anything but engineering.

  18. I work for a megacorp. I don't know what these nay-sayers are talking about -- these HR practices are APPALLING. No excuse for Facebook. I suggest everyone go read to hear about good and bad HR and practices.

    You did have 3 months to prepare, but to be honest I wouldn't bother being hired by a company wanting theoretical CS knowledge. I'd want to be hired by a company looking for good rigorous programming.

    Regarding your 120km Skype test, that's nothing. I'm in North America and make calls over 2200km/1400mi regularly with no or low lag and good call quality. The extra distance or a crappy speaker phone is likely to blame. Possibly the people you were specifically in contact with were the issue, not the company in general.

    All this being said... all these nay-sayers need to stop sticking up for the lovechild that is Facebook and realize that Facebook is growing faster than it can handle and it's going to be a rough ride. If you really want it, fight for it. If the commenters can't handle the heat, go back to your facebook newsfeed. The OP was giving feedback, and it's completely legit because it is the OP's experience. Others probably have entirely different experiences.

    1. I agree that the root cause is Facebook growing faster than it can handle, and the other commentators amaze me with their belief that being overwhelmed with the work is a perfectly valid justification for botching it.

  19. As a programmer who's gone through the interview process several times, I can say this sounds like a normal interview process at a big company. FB has tons of applicants, so expect the interview date/time to be inconsistent sometimes. As far as the study date goes, well, you had 3 months to prepare, not 1 day. And the Skype convo - well - if they're using Skype for interviews, you can probably expect they also won't have the technical ability to route their IPs to somewhere in Israel. (Also, there are great alternatives too, like using the phone and Google Docs at the same time. That way, he can see your code in real-time.)

    So, biggie here...

  20. Geez, you certainly have a lot of commenters who either never had an empathy gene, or had theirs forcefully extricated. While I will say that there is a "woe is me" quality to your post, I do believe that it is understandable when it all seems so unfair. And it is unfair. But there are lessons here beyond the banal "life is unfair".

    For example, think about the kind of software engineers who would go through this kind of experience and still want to work at Facebook. How would these folks be to work with? Now, in my experience, one of the most useful and productive skills for a software engineer is a well honed BS detector. You'll have to decide how important it is in your case versus your other priorities, but you will probably find it to be a useful indicator of how fulfilling work may be in that environment, and whether it would be a place to build a career at or just a stepping stone to better things.

    (And contra many of the commenters here, this kind of experience would be a tremendous red flag for me. If they were to tell me to give availability more than two months down the line, I would ask them to call me back when they were ready to talk seriously. If they are this a$$holish when they are supposedly trying to recruit you, it means one of two things: (1) they believe they are doing you a favor by deigning to consider you, and/or (2) a$$holishness is a cultural value of theirs. Neither is a good quality in an employer IMHO.)

  21. Hello, this is Chelsea and I wanted to reach out since I was in charge of coordinating your interview a few years ago. I recently stumbled upon this blog and although there has been some time since your interview, I would like reach out to you and find the disconnect regarding interview scheduling. I truly apologize for the experience that you had during this process. I just want you to know that it was not my intention to ignore your requests. I reschedule multiple interviews for candidates on a daily basis and sometimes up to five different times because we understand that things do happen. Our priority is to accommodate to you as the candidate to make sure you have the best experience possible from start to finish. I am sorry that this was not the case for your interview and I will take responsibility. Reading this today was an eye opener and although I was a little hurt by the content shared, I appreciate the feedback because it pushes me to improve and better myself. I hope for you that in the future if you do experience dissatisfaction to provide direct feedback to the recruiters and interviewers, to send a follow up email if there is any delay in response, and know that when you have connection problems we have multiple back up options and are also willing to reschedule if needed.