Here's what happened - the recruiter had a list of keywords, received a large volume of inbound resumes and filtered for == 'UNIX' and dumped everything else.
They (and the company they represent) could have done a better job if they'd taken the information given, created an actual human mental model and filtered accordingly but chose to behave like a computer program instead. Their loss - move on and don't feel bad about this.
But I want to point out that like the recruiter you too got stuck in the literal filter. You assumed, I'm guessing correctly, that the hiring team is probably looking for someone with experience working on UNIX-like operating systems.
A bit of advice: When you encounter imperfect systems like this in the future a good practice is to ask yourself if you know what the actual desired outcome is, and give the lossy filter the input it needs to get you to the next round.
Here it would have been simply updating your resume to list UNIX instead offering an explainer. This would get you through the recruiter filter, and during your actual phone screen with someone on the hiring team, you could discuss your UNIX-like experience if asked. If they did want literal UNIX experience, you could apologize for misinterpreting the requirement and move on. No harm done.
"Never attribute to malice that which is adequately explained by incompetence/stupidity"
Hanlon's Razor definitely applies to your theory!
For a little while I was basically convinced of deliberate obstruction - no sane person would use the arguments employed by the recruiter. But, on reading through from the top once more, the recruiter was actually initially helpful and I have settled on "incompetence, not malice". Almost settled, at least.
To be fair, I wouldn't expect this kind of 'recruiting by grep' to happen at Facebook of all places either.
Under the section Keyword Stuffing.
I feel like this is one of the most fundamental skills I learned in school. You don't answer the actual question, you provide the response that they are looking for, even if those are different. This is doubly true for machine graded multiple choice exams.
We had a biology teacher in high school who, in order to keep things fair, made the system very clear: when answering essay questions, he had a list of a dozen or so points he wanted you to mention, and you were graded by how many you hit. It didn't matter if you had a brilliant thesis or whatever, if you didn't recite the relevant parts of the book and lectures back, you lost credit.
The biology barely matters, but I couldn't have asked for better training in dealing with recruiter (and hard headed managers, beurocrats, etc).
From the desk of recruiters, most likely.
This is extremely condescending. The article displayed a supercilious tone towards the recruiter, clearly making it known that "I (the erudite developer) know more about how to filter candidates than you (the ignoramus recruiter). I am right, and I will only adjust my position under duress to the bare minimum which meets your requirements".
But, as a recruiter, I would be delighted to glean this insight into a candidate's mindset, and gladly put them into the "struggles with collaboration" reject pile.
Facebook employ canny recruiters. If this interaction seems odd to the "well actually" crowd, please be advised that it makes perfect sense to those involved in hiring decisions.
All I see is a human keyword grep that is clearly failing to do their job: find relevant candidates and forward them on. I say this having been in both ends of the recruiting process and have have struggled with recruiters who had no understanding of how to read a technical resume and rejected JavaScript experts on this basis that they didn't list html in their keywords.
No. I said what I meant; which part didn't make sense?
edit: downvoters, if you disagree you'd better leave a comment telling me why im dum
Your statement is a mismatch between the comment about the lossy filter, and the actual email conversation, which clearly shows the lossy filter in all its glory.
The recruiter wanted to advance the candidate through the pipeline; they told them exactly what they needed to do to proceed; the candidate didn't think it was necessary to modify their position to conform with the requirements, in the face of someone asking nicely.
The recruiter wanted to put pegs in holes (which is essentially what selection is), but mistook the request for a red rond peg for 'only a specific type of red' peg. The peg in this situation might have been fire engine red, while the recruiter had poppy red in mind. In both cases, what they both should have in mind is not the color of the peg, but the shape. Swap peg with 'POSIX' and color with Unix, Linux, Unix-alike and you're back in context.
In this specific context, the one setting up the list of requirements should have specified "any posix, unix, linux or similar knowledge" as one single item, and then the recruiter should have matched any response that contains either posix, unix, linux or bsd, or a combination of those. This same problem could have happened if someone wanted a lathe operator that does threads, but the respondent lists NPT, TPI and M, but the recruiter doesn't know the area of expertise to filter for that and thus loses the input completely.
Aside from that, there is emotion and intonation and tone and appearances, but that doesn't have anything to do with the concept of 'lossy filters' and it totally irrelevant regarding that.
I didn't write this as an indictment of the recruiter.
How could I when I have no knowledge of their constraints, their past experiences or the incentives that guide their behavior? In all likelihood, they're behaving in a way that's perfectly consistent with their environment.
What I can do is form a reasonable guess of what the desired outcome is - the recruiter wants to move a qualified candidate into the applicant pool, the applicant wants a shot at interviewing, and Facebook wants someone who has experience in working with UNIX or UNIX-like systems.
Structuring the response so that everyone gets the outcome they want, as an acknowledgment of the constraints, and not as a criticism of the recruiter makes everybody win.
Have you heard? Authorial intent is dead. If you write something crappy, it doesn't matter if you meant to or not.
Calling someone a 'lossy filter' dehumanise them; these are people doing an incredibly difficult job & whose work has a huge impact on the productivity and success of companies.
> Structuring the response so that everyone gets the outcome they want, as an acknowledgment of the constraints, and not as a criticism of the recruiter makes everybody win.
I find this a disingenuous excuse: the behaviour you think should change was the recruiter's insistence on specifically 'Linux'. It is a criticism, whether you intended it or not. Your recommendations are to recognise and work around this behaviour, not to understand and accept it.
As a thought exercise, have you considered how a candidate without Linux experience would have acted in this situation? What evidence would the recruiter use to determine if this was a genuine candidate, or a dead lead that wouldn't proceed + waste their time + cause them to miss their quota?
I find that hard to believe.
Its not that he was factually wrong (or even wrong in etiquette) , but as my mom said you can be right and dead right, which is why he recognizes he needed a better approach to leave the most opportunities for his career going forward
What has been done has been done and there is no place for regrets. Facebook might (along with its partner and associates) be a big workplace but it definitely isn't the only launchpad for a happy & successful career.
He came a little bit snarky, true, but I yet have to see devstar who isn't snarky at least to some degree.
If this person is good, they will definitely have opportunities elsewhere.
That does not describe reality as I've lived it. I tell headhunters from Google, Apple, Amazon, FB and other huge companies to leave me alone every few years - seems like they expire their 'go away' notes after a while.
I've had zero problems finding quality employment.
It's an opportunity missed (it's a great place to have an internship or be a new grad, not so much for senior people who've worked elsewhere in industry) but the OP will certainly have no trouble applying again with some future recruiter.
No, you didn't speak out of line. To be honest, the recruiter was lucky you were willing to continue the conversation at all; if that were my experience with Facebook recruiting, I'd simply would have stopped replying as soon as it was clear that the recruiter was nothing more than checking boxes. The recruiter needs to improve before they lose more than just intern prospects.
Maybe you were a little condescending but it happens and rejecting someone on the basis of this exchange seems mad to me. If FB doesn't reverse their decision here I'd be surprised/disappointed.
* Solaris, HP-UX and AIX are Unix systems.
* FreeBSD and Debian GNU/Linux are Unix-like systems but not Unix systems.
When technology people like us are debating over this terminology, I think it makes sense to cut the recruiter some slack.
If I have a task for an intern that requires some shell-scripting, and the intern already understands what it means to pipe commands, I put my hands together in silent thanks.
However, the HR person clearly filtered with "==UNIX". Hence, any explanation to him/her just wasted everybodies time. A different approach might have landed Stanley an interview with a Tech and the world might have looked different.
But then, he has plenty of new Tech contacts now. ;-)
Thanks for this lesson.
I thought we were talking about university students studying CS or related discipline?
How on earth would a uni student in CS don't know about piping commands? Does this actually happen? I dropped out of uni after 1,5 years, and I studied bioinformatics, not CS, but even then I considered using pipes as basic and universal skill for any "advanced user", not even an engineer.
Beyond the obvious ones, lots and lots of valid reasons this could happen:
1. Student is entirely new to programming as a concept and just started in university. Not every fresh CS student has been programming since birth.
2. Student uses the shell entirely for basic commands and honestly doesn't even realize it can be used for more advanced things
3. Student is really interested in the "Science" part of CS and isn't planning on being a developer. Plenty of brilliant CS minds are awful at the programming part but extremely adept at, say, consensus protocols.
Your basic first year CS curriculum might offer a crash course in things like basic shell scripting, but it's certainly not a given. Computer Science is a very broad field and it's arguably a huge waste of time for them to teach you how to pipe commands when they could be teaching you something you can't pick up in 10 minutes, like automata theory.
People fail FizzBuzz. 'Nuff said.
Many interns I've been in charge of were not comfortable in the command line and most had no experience outside of windows. Writing shell scripts? The everything-is-a-file concept in Unix? You're lucky if they know what you are talking about.
Of course, many students are interested in more and learn it, but isn't a requirement, so students with other interests have no real need for it.
Due to this, when someone is asking me whether I have experience with UNIX-like I say that yes, I had an iPhone.
Debian GNU/Linux is a Unix-like system because Linux is not Unix, but it is Unix-like and when combined with a GNU userland is POSIX compliant.
Then there are 'trademark unices', which are systems that implement the Single UNIX Specification and are certified to be compliant. Such a system does not need to be a descendant of AT&T UNIX. From your list, Solaris, HP-UX, and AIX are (trademark) UNIX [1]. Note that there is also a RHEL-deriver Linux distribution, EulerOS, that is a certified UNIX.
https://blog.opengroup.org/2017/02/14/value-of-unix-open-sta...
Then, because I'm at Facebook, I would just move on, because honestly anything that filters out one more of the 10,000 qualified intern candidates I'm going to have to look at is good for me, even if it's completely random and stupid.
Look on the bright side: automation is likely to put recruiter-as-grep out of a job soon.
Yay?
Reading, it was frustrating to see the recruiter looking for essentially an "exact string" match. They did not appear to be interested in leveling with you on UNIX vs Unix vs POSIX vs Linux or having any sort of interesting technical discussion.
Also their "thanks for the tutorial" phrasing is very unprofessional.
I do hope this thread helps FB in training + calibrating their external comms with candidates.
Best case scenario, someone from FB could say hi. Not officially (that would be a nice miracle), but rather some person working there. Then you could start chatting with them, they could figure out somewhere you could probably get in on the ground at, and give appropriate instructions. AFAIK internal recommendation is the best way to get through/inside The Great Wall of Google™, perhaps that's the case for FB as well. Note, I have no experience with either company, but in a thread like this not having contact info is wasting your 15 minutes.
Also note https://news.ycombinator.com/item?id=15188618 - apparently what happened to you is quite common (!?).
Good luck; here's hoping you get some emails!
You stuck to your guns and didn't just lie about Unix experience, so I commend you.
But if you really want the job, next time just lie and set them straight once you've gotten an interview. It is splitting hairs to make a big deal out of actual Unix experience vs Linux experience.
This only holds true if one is a UNIX Graybeard, otherwise, GNU/Linux is rife with pitfalls and minefields for the unwary. Shell scripting and GNU-isms or bash-isms is an example of this, or using GNU specific functions or semantics when programming yet another. There are many such landmines lying in wait on GNU/Linux, waiting to blow one's legs off. The BSD guys have been trying to raise awareness of this for years.
If you email me at [email protected]. I can share your email with some other FBers or ex-FBers. Here's a screencap of some of the support: https://www.dropbox.com/s/ecq6qqzu1b88grr/Screenshot%202017-...
Even if they can't help you get back in the pipeline for an internship at FB, maybe they can get you an internship somewhere else.
Never forget who reached for who. It's FB in desperate need that they pick workers from students these days.
Also, trying to (yuck) trick you into providing names of others companies - hahaha - it's like you asking him: what's the maximum salary FB can offer or similar questions. Disgusting simply because any sane person (your friend e.g.) would suggest you never provide that to counter negotiating party. Asking for this info is not far (in effect) to asking about age/race etc. This data is intended to have more bargaining power on FB side. Unethical.
And NB: it's the recruiter who introduced 'UNIX-like' into conversation.
Take your time, they all (companies) will bend. It's an employee market.
You did a great job!
This is the most important comment in this entire thread.
Yep, that's the core.
Whether he did something wrong, though, depends on how much he wanted the job.
Though next time you can skip the pleasantries and go right to the "Actually, it's GNU SLASH Linux."
Your comment here however indicates to me you lack confidence. That's normal too. But lacking confidence can be career limiting.
You're trying to figure out "what did I do wrong" which is a useful exercise, but as Picard said "it is possible to commit no mistakes and still lose that is not a weakness, that is life".
It's entirely possible that once you get past the inane recruiter junk you find yourself on a superb team of talented people.
Unfortunately, I have just come to accept silly HR/Recruiter practices as a negative reality of life in 2017.
But... these are exact same people the "inane recruiter junk" has selected. How good can they possibly be?
Maybe the manager of the team does an excellent job of sorting out the noise after people have passed the recruiter game. Maybe they have great face-to-face interviews with the team and the team decides.
There are a hundred reasons why the recruiter junk is meaningless to the quality of the candidate, but it certainly lets you know everyone that gets through is willing to be adaptable, compromise, communicate clearly etc. etc.
You screened the recruiter well, and he/she failed to continue. Best luck in his/her exactly-UNIX-and-not-UNIX-like engineer search!
If we all give in, the result is 2017: ignorant, arrogant recruiters, not willing to look into what they _should_ understand, since they are looking for speciality positions; and ignorant, arrogant people all around, not willing to learn anything.
This kind of advice is what will keep him from being an engineer that others want to work with, and from passing the trivial HR screens that big companies have immediately before talking with an engineer.
Soft skills and an ability to explain without condescension are much more important for educating others, rather than doubling down and being pedantic to someone who obviously isn't getting it.
Also, good on you for being able to receive criticism, that's a big step in the right direction. In time, you'll likely come to the realization that good communication skills are an important part of almost any role.
I am curious. Can you be a little specific and tell us what Linux or Unix experience do you have?
I mean can you specify the Linux distro names and the Unix brand names (AIX, Solaris, etc.) that you have worked with?
I can claim experience with developing userland applications portable across POSIX-compliant systems, as well as some understanding of lower-level operating system concepts. However, to be honest it seems I am unqualified for the role as specified, which makes the exchange all the more embarrassing. Oh well, what's done is done.
A role might specifically require extensive AIX experience in particular -- and if it did you would say you needed "AIX experience" -- never some vague umbrella family of "UNIX experience."
It is entirely unbelievable that the requirements for this role would exclude your experience. Doubly so as they're recruiting from interns. Triply so if you know anything about Facebook engineering teams. "Production Engineer?" "Frontend Engineer?" At Facebook? Yeah, those teams run Linux.
ps: The folks telling you not to language lawyer are correct. But your initial assumption that the recruiter had made a dumb mistake was also correct.
Nope. The hiring manager meant that.
The recruiter in this case is a pattern-matching engine with no internal semantics, as a result of Facebook hiring them and training them but not educating them.
Eventually they'll notice that they are only seeing car salesmen with extensive experience in selling brown cars with walnut dashboards, rather than carpenters. [ https://news.ycombinator.com/item?id=15190438 ]
Getting a little frustrated with resume-screening-by-grep is not at all unreasonable. After the recruit had you play whack-a-mole for three resume revisions, a little bit of snark is to be expected. Don't let people walk over you.
It would have been pretty simple to tailor your resume in that regard. What I know of PE/SRE type positions at companies like FB and Google is that you are literally working with some Linux flavor nearly all the time unless you are applying for a very niche role.
For example, American Express has a large deployment of AIX systems and they indeed look for candidates with experience in AIX systems, although I believe someone with experience in another Unix or Unix-like system should also be okay.
But I agree that such openings are usually quite specific about which Unix system they are working with.
"Unix-like" today means bsd/linux. The recruiter did bad, but recruiters will always do bad.
If its a job you want, don't let a recruiter foible disqualify you, if you can help it.
$ CROSS DRAWBRIDGE
CANNOT CROSS DRAWBRIDGE
$ TRAVERSE DRAWBRIDGE
CANNOT TRAVERSE DRAWBRIDGE
$ ABANDON DRAWBRIDGE
YOU REALIZE THAT YOUR EFFORTS ARE WASTED TRYING TO EXPLAIN YOUR QUEST TO A LOW LEVEL GUARD.
YOUR PRINCESS IS IN ANOTHER CASTLE.
GO NORTH, WEST, SOUTH OR EAST (?)
Your application for an internship was spot on - ignore any and all feedback you've received from the HR rep, as it's all gumph. You obviously know what you're doing, and Internships (while beneficial in the market at the moment) are useful, you will be more than capable finding real paid work in any other area with your skillset - and best of luck to you as well. Aiming high doesn't necessary mean applying to the Facebooks and Googles of the world.
--- Wonder if the HR filters take regex?
'It'"'"'s a $"[nN].[Xx]" system! I know this!'*
*Edit: This also qualifies you on Xanax, which may not be what you want.
The recruiter is not knowledgeable. If he/she is hiring for production engineering, he/she needs to understand the basic of the keywords they search for. No reason for you to apologize.
I always envy my friends in medicine. They have a strong union and stand together, pushing salaries for all of them and don't accept anyone above them who is not also from their profession (even if that's often hell of arrogant...).
Nah. Relax. It was gauche, but not that bad. The responses you get are largely driven by the fact you got egg on the face of a tech Golden Boy. Also, social norms say you shouldn't air private conversations that expose the failings of a (potential, current, or former) employer.
Almost everyone will admit that tech hiring practices are an ongoing dumpster fire and comedy of errors, they just prefer a less dicey context and framing for that conversation.
You're new to the world of applying for jobs and how hiring works in professional contexts. I don't hold this against you. But this does lower my opinion of Facebook. Don't buy into the meme that programmers are dorks and therefore always carry 100% of fault for any social interaction that doesn't go magnificently.
See if your school has a career services office, they can give you a crash course in all the ceremony and fuss around building a resume and getting interviewed.
I dislike big companies for this reason. Expect worse when you work at one. The most successful learn the game (you've taken your first step) and rise the ranks.
Personally I would have (different character AND way too many years dealing with this kind of people) sent him this:
https://i.imgflip.com/spwve.jpg
(and be blacklisted forever).
Another point of view is that recruitment people are going to be less technically savvy than the actual engineers. That's a good thing - do you want to work as an engineer somewhere where they make the engineers do all the HR grunt work?
'Thanks for the tutorial' I don't think any chat bot would read the entire thing and maybe sarcastically summarize it as Tutorial
When participants in conversation are different enough, true communication becomes impossible, and it's useful to recognize this as early as possible to either choose another tact or abort entirely. (I think this applies to any distributed system not just recruiter-candidate pair.)
You have taken the time at university to learn about the origins of "UNIX" and about portability, but it seems clear to me you do not need to know about these things for this Facebook internship.
If you want this knowledge to be acknowledged and valued, if you want to put it into practice, then perhaps Facebook is not the proper place for this to happen.
There are open source UNIX-like projects that would be better suited and more appreciative.
If the position they were recruiting for was not "UNIX and Linux" then I would have a different opinion.
You did nothing wrong. Sure, you could have gotten past this recruiter by being more cooperative but if you are really passionate about UNIX then I think the internship would be a disappointment.
You come across as far more impressive than the Facebook organization and I hope that you will stick with UNIX-like OS going forward, whether as part of your day job or as an open source contributor.
"ya was pretty much all true, but writing this to show i'm not an asshole to hopefully not fuck up any future job prospects with other recruiters who might read this"
The audience is not-too-technical requiter. You introduced term he did not knew (posix) and sent him wall of text explaining history of unix/linux. First, even tech people use terms Linux and Unix as a synonyms for Unix-like daily, so there is not need to go full nerd on someone who is not into it. Local experienced senior could easily have said "we need Unix and Linux experience" and requiter then simply attempts to fulfill that requirement. Local experienced seniors would rather change job then manage communication with dozens of potential interns, you cant expect first contact to be like them.
Second, history of tech wall of text will not work even if you are the most polite and humble person in the world. People don't read long detailed explanation even when they actually need them. They want to move to next mail as soon as possible. If the long text where you are lecturing someone contains just a hint of condescension, even if unintentional, people wont read it and will react negatively (which happened by the end of conversation). It is his bad not yours, but such reaction is still fairly predictable.
Just say that yes, you worked with Linux and Unix systems and leave out historical details. When you are looking for doctor, you don't expect lecture on correct latin names of body parts and their history. You expect them to translate from human speech to doctor speech. It is same thing.
I suspect you could still get the internship if you send an apology like "Sorry for my previous emails they were out of line. You're essentially correct and here's an updated resume to reflect that."
I'm imagining a recruiter saying "We're looking for someone with graphics programming experience. Your resume says 'OpenGL and DirectX experience.' If you do not have graphics programming experience, I can try to find another role for you." As a candidate, I would think I was interacting with an idiot.
Plus, recruiters are incredibly busy this time of year. I don't blame him for choosing not to engage with candidates who reply with a wall of text when given a simple request.
If so, that's really really sad. Even more so if you thought "Unix-like" genuinely disqualifies you because it's not strictly "Unix" !
You need to be more confident about your skills. Most interns don't know how POSIX relates to UNIX and Linux like you do, if they are even familiar with the word !
Look, I'm a former Facebook production engineer. I won't exactly reveal a secret by saying that FB is wholly Linux based. It's not a bank with legacy commercial Unix systems, and you were of course right about the 1970s engineers comment.
Positions requiring expertise with a specific brand of Unix are less and less common, and these would always mention the flavor they're after anyway (mostly Solaris, possibly some AIX/HP-UX).
One more general piece of advice : let others decide that you're not qualified for, don't self-censor before you even get a chance to fight.
Also, just to be clear, I do not (and never did) hold any hard feelings towards the recruiter; in fact, it was very kind of them to point out why I was not qualified in the first place. This has been probably the most reflective of how I let my ego get the best of me at times, and I hope it might serve as a warning to those who might be tempted to do the same "devsplaining" in similar situations.
Please let me know if you have any other criticisms beyond the ones already voiced in this thread. I'm reading through the comments here as I can, and it's been a lot of good advice. Thanks again.