So I just had an idea for what might be an interesting/helpful blog series for all of my faithful readers (both of them). Just today, I decided that I'm gonna subject myself to the Facebook evaluation process. And as a side bonus for all of my awesome fans (both of them), I'm gonna take you along for the ride.
This is far from the first "how to get hired at Facebook" article. The web's littered with them. Will this series be any better (i.e., more useful to you)? I dunno. It may be dull AF. But I was just sitting at my desk, staring at some more React code, and thinking, "You know... maybe others would like to read about my experience through this process?"
So... here goes!
This is an easy answer: I didn't.
Well... I mean, I didn't go online and try to submit my resume. I didn't try to cozy up to a current FB employee in hopes of a referral. (I don't even know any FB employees, anyway.) In fact, I didn't do... anything. They reached out to me.
That probably sounds like braggadocio. But it's not meant that way. If you've been in tech long enough, your inbox starts getting pinged by recruiters from all over the dang place. It's not because I'm special. It's just because I have a resume as long as my...
And when I say that "they reached out to me", I mean it as simply as that sounds. They didn't reach out to me to offer me a job. They didn't reach out to me to give me any favored status. Mark Zuckerberg didn't slide into my DMs with 💖 emojis. One of their recruiters just reached out to me (on LinkedIn) to say, "Hey... maybe we should talk?" So I'm barely even a half-step ahead of anyone who would just go online and submit their resume unsolicited.
[Side Note: I have noticed that, in the last year-or-so, I've been contacted, a little more frequently, by recruiters from ever-larger companies. No, it's not, like, a crushing, every-day deluge of recruiters beating down my door. It's just a little more than it ever was before. I don't know this, but I suspect it's because I've been consciously growing my online footprint over this same period. But I'm not exactly sure.]
I expect that I will be rejected. Most likely, fairly early in the process.
No... really. Those are my honest expectations. Seriously.
That's not a self-effacing attempt to cover my bases when I "fail" to secure a job offer. It's an honest acknowledgment of who I am, where I am in my career, and what it normally takes to get hired at one of the Big Tech firms.
Because Big Tech pays more than most, and because they have a certain "cachet", they tend to put candidates through the most grueling evaluation processes. And make no mistake about it: I do not tend to do well under those processes.
To be clear, I have no qualms whatsoever about my tech knowledge. I'm entirely self-taught. And, if I'm putting my modesty aside (what little of it exists), I believe I've done pretty well for myself over the last quarter-century of professional programming. But no one in Big Tech wants to give you a gold star for those kinda bootstrap accomplishments.
Evaluators in Big Tech wanna grill you. About esoteric programming concepts that you'll probably never encounter in decades of real-life experience. They wanna put artificial constraints on your evaluation - like timers - that probably don't accurately reflect how you code in the "real world".
But you know what? They can do that. Because they're Big Tech. And when you write the Big Checks, you can define the Big Hoops that everyone should jump through if they wanna be part of your cool club.
I encountered a taste of this last year when I was approached by Amazon. I was pretty flattered to even be pinged by an Amazon recruiter. And at first, I was pretty excited about the idea of going through their hiring process.
But then I decided that I'd better hone my skills before I went through their gauntlet. And I started doing a lotta online coding challenges. And I started trying to cram my brain with nitpicky details about how to optimize every possible sorting algorithm.
Before I could pull the trigger on the "formal" Amazon evaluation process - I ended up getting a really solid job offer from another company, and I allowed the Amazon process to go fallow. But I clearly remember some of the exercises that I was wrestling with before I dropped the process. I was smacked upside the head with a great many micro-optimizations. I was expected to be conversant in concepts that I've never had any need for over 2.5 decades on the job. Quite frankly, sometimes I almost felt "small" because I couldn't ace some timed (15-minute) coding challenge. It was... humbling, to say the least.
Lemme just give you two examples of the hoops that Big Tech may want you to jump through.
I was warned that one of the key interview questions may be about
.apply(). As a React dev, I'm intimately familiar with
.bind(), although, at this point, I view it as something of an anachronism. I can't honestly remember the last time that I wrote any code that included
.apply()??? I won't lie. After I heard this, I had to run to Google to look them up. And even after I looked them up, I thought: "WTF???" I mean... I understand them conceptually, but I can't honestly think of a single REAL-LIFE instance where I would, you know... USE them. Specifically, they seem borderline-pointless if your primary specialty is that of a React dev.
It's kinda like IIFEs. I mean... I know what an IIFE is. In fact, I've even seen them used a few times - in other peoples' code. But I've never found any practical use for them myself. Every blue-moon-or-so, I find myself writing something and thinking, "This might be where I finally write my first IIFE!" And then... no. It turns out that there's a better way to accomplish the task - without an IIFE.
Think about that. I was only told, in passing, about two concepts that I'd probably be asked about in the interview. And despite 25 years as a programmer, I'm already oh-for-two on them. I can Google those concepts now (and I have), but what does that say about my overall odds in the FB interview process??
Umm... not good.
The bottom line is that Big Tech will ask you about arcane tech concepts. Concepts that have little-to-no bearing on your actual job. And they'll do it because... they can. Because they have a mountain of over-qualified candidates to sort through. Because they write the Big Checks.
So for myself, a guy who's incredibly-confident in his own programming skills, where does that leave me? Well... probably not in a good place. Because I can't be bothered to dive down deep theoretical rabbit holes of coding esoterica. I have to dive down deep programming rabbit holes of... productivity. And the job market doesn't always smile on such practicality.
I'm not! (At least... I don't think that I am.)
Look. It's no secret who I work for. You can see it right on my profile. And I suppose that, on some level, I'm taking a calculated risk by even posting this article. But the simple fact is that my current employer is pretty cool. I'm not pounding the pavement looking for a new gig. And, as I've already spelled out, I don't honestly expect to receive any job offer from FB.
Even if someone at my company managed to find this article and confront me about it, I'd tell them the same things that I'm telling you:
I have no realistic expectation of actually being hired by FB.
I'm not "looking". I didn't approach FB (or anyone else).
Now that they've reached out, it honestly just seems like a kinda fun/interesting exercise - like a programming puzzle to solve.
The most-likely outcome of all this is just that it spawns some engaging blog content that may help others in this process.
And even in the craziest scenario (FB actually offers me a job), it's not as though my small employer really assumes that they are competing against FB for employees. It'd be like if you're dating a really nice girl - but then she leaves you for Henry Cavill. What would you say to that?? Nothing! You'd just shrug your shoulders and move on.
As I detailed above, I already started - and then aborted - the Amazon application process more than a year ago. So what's different now?? Only three things:
Although I have a certain distaste for much of the tech-snobbery that happens in Big Tech interviews, the simple fact is that I've been heavy into React for the last 5-6 years. And FB is the birthplace of React. So part of me thought, "Well... I gotta at least explore this."
My current employer is pretty dang cool. The only "problem" with them is that I can't work out of the country. I can work anywhere within the USA. But I must be in the USA (it's a side-effect of government contracting). I sincerely want to live, for months at a time, in places like... Montreal. Or Ecuador. Or Amsterdam. Or... anyplace.
It's a good story! I think it might be helpful for others to follow my "journey" (even if it ultimately turns out to be a very short journey).
I gotta send them an updated resume. (Which is its own little hurdle - my current one is quite... deprecated.) They sent me a bunch of videos and "guides". So once I start going through those, I'll post my next follow-up article.