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.
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.
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.
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.
Due to this, when someone is asking me whether I have experience with UNIX-like I say that yes, I had an iPhone.
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 . Note that there is also a RHEL-deriver Linux distribution, EulerOS, that is a certified UNIX.
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.
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 firstname.lastname@example.org. 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:
(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.
You: Yes, I'm a qualified plumber and can do the job.
Recruiter: Sure, but can you fix our pipes?
You: Off course, that is is what I was trained to do.
Recruiter: You keep saying you're a plumber but we need
someone to fix our pipes
You: I can do it.
Recruiter: we need someone who have worked with pipes.
You: I have worked with those.
Recruiter: Sure, but we need someone to fix our pipes.
But this position is primarily for pipes in park bathrooms. Do you have any experience with that type of pipe?
Two parallel lines though....
Replies: "Yes, I have experience with pipe in that setting."
Recruiter: We're looking for someone to fix the pipes.
(re-word their statement/question in your answer so there can be NO ambiguity)
You: I have lots of experience fixing many kinds of pipes, (including the EXACT SPECIFIC kind you asked for - WORD FOR WORD.)
(Notes on your replies, they didn't ask if you are a qualified plumber, they didn't ask what you were trained to do)
I interviewed at Google 3 times and I'm currently going through the interviews for the 4th time (a combination of bad interviewers and me being a total idiot), and this time I've stumbled across the nicest technical recruiter I've ever seen in 7yrs in the industry. She actively fought for me after a poor performance, and went above and beyond to accommodate me. And all my previous 3 recruiters at Google were extremely "professional-nice" and rather intelligent. In contrast, every single interaction I had with Facebook left a bad taste in my mouth (mostly getting rejected 2 times with a 5 line email, after being referred by Fb employees).
TL;DR stop enabling companies to be shitty
Companies have billions in the bank, make tens of billions profit each year, and have "staff" working who they don't pay a cent to.
The fact there are no laws against that is evil.
It is, in fact, illegal to not pay an intern in the state of California if the intern performs beneficial work.
Your entire rant is predicated on untrue assumptions.
It's illegal in the whole US: https://www.dol.gov/whd/regs/compliance/whdfs71.htm
I believe there is more to the US than just California, right?
Because those things still exist, just not doing employer-sponsored g work in for-profit firms.
> I believe there is more to the US than just California, right?
Yes, and unpaid interns doing work that directly benefits the employer is a violation of rules under the Fair Labor Standards Act in the whole US, not just California.
Except that is not a fact, at least in the US.
Of course, depending on your objective: if your objective is to have at least the option of interviewing further for this company, it helps to remember the concept of Pyrrhic victories: https://en.wikipedia.org/wiki/Pyrrhic_victory, i.e.: don't win the battle and lose the war.
Recuiter: we need someone who can work with copper and pex pipes. Your resume says that you work with PEX
You: I can do plumbing. I have connected PEX to copper before.
Recruiter: Do you have experience installing copper?
You: Building codes allow you to substitute PEX for copper pipe. I have used PEX with copper.
Recruiter: we need someone to work with copper. Thank you.
I would add that in this case they wanted someone with 'clay' pipes experience. He only had 'regular' pipes knowledge.
There aren't that many differences in software and they are easier to learn (eg. be aware of `killall` linux vs bsd).
In this case though I doubt they were looking for a specialist; it would have been marked as, for example, AS/400 experience if this was the case.
This guy has a better analogy (and funnier) then mine:
I get the arguments that the HR recruiter was a bit off a buffoon, but at the abstract level, you lacked the pragmatism and interpersonal skills to brush through something that clearly isn't important seeing as you have the relevant skills.
I see a few people like this in every company and they most definitely hold up progress. Most of them get fired, technical understanding isn't the only facet of being a software developer. Working in a team is a mix of being assertive when its important and placating others when it doesn't matter, much like life. A failure to distinguish between the two types of situations is a pretty big flaw for anyone who will be working as part of a team.
I used to interview at Google and I've dealt with entitled candidates, but this reads about as polite as I could expect without being a complete pushover.
I don't think I'd have thought of one ignorant recruiter out of a company of many thousands as a red flag. We have a great recruiter at my company, but I have no idea if he knows the difference between Unix, POSIX, and Linux, or if he knows OSX is a Unix (tm).
Por examplo: I get the arguments that Stanley was a bit of a buffoon, but at the abstract level, the HR person lacked the pragmatism and interpersonal skills to identify a possible problem with a job description, and at the very least run it by the hiring manager if they were not allowed and/or comfortable adjusting the must-fit qualifications themselves.
I see a few people like this in every company and they most definitely hold up progress. Most of them get fired, rigidly filtering resumes by well-defined criteria isn't the only facet of being a recruiter. Working to help build teams is a mix of being assertive when its important and bridging the gap between what was said and what is desired, much like life. A failure to distinguish between the two types of situations is a pretty big flaw for anyone who will be working as part of a team.
True, but consider that some commenters might be commenting as end users of open source UNIX-like OS, not as salaried software developers.
In that case, there is nothing in this email exchange to suggest he could not be a valuable contributor to a UNIX-like project, paid or unpaid.
As an end user, I could care less whether developers are adept at dealing with recruiters (though I might sympathize them for the BS they must endure).
What I care about as an end user is whether they can write portable code.
Given that these companies are dedicated to selling web ads, it really makes me wonder how "progress" would be defined in your chosen context.
I am not sure that UNIX or Linux would even exist were it not for the type of person you are describing.
There is nothing wrong with having technical understanding or working elsewhere besides companies selling web ads. That is where true "progress" has come from in the past and I think it is likely to come from in future.
Just my opinion.
This may seem obvious to you, but it's not to me. Why are you assuming malice on the part of the recruiter?
Maybe that was the test all along :)
There are many new grads who are capable of appropriately dealing with social challenges. Those who can't have only themselves to blame.
Thanks for the quick response and clarifications. Experience with Linux and other UNIX-like operating systems is largely transferrable thanks to the standardization that resulted from the POSIX specification. As a result, the terms "POSIX" and "UNIX-like" by-and-large refer to the same thing.
My experiences are in particular with developing software for Linux platforms, which are the most popular of the UNIX-like operating systems. I also have experience using POSIX-specified APIs to ensure consistency and portability. Beyond software developers who have programmed in the 1970s, most people do not have experience with a true UNIX OS, and I would find it hard to believe that such outdated technologies are underpinning Facebook's advanced innovations.
I've updated my resume to indicate my familiarity with Linux, POSIX, and UNIX-like systems. Please let me know if there is anything else you need.
Thanks for your time and consideration,
Thank you for the tutorial. We're looking for experience working on Linux and Unix.
If you do not meet the above, please let me know if there are other roles you'd like to rank.
I'd love to see you defend why the guy who wrote the first half is bad at technical communication and needs to develop a professional attitude, and the recruiter -- who copies and pastes the same incorrect response over and over, showing no indication that they read a single word -- is a professional communicator with a good attitude.
He's not, but that doesn't matter. You're going to be hard pressed to only ever communicate with professional communicators with good attitudes your whole career. So if you ever want to be taken seriously and have a successful career, you're going to need to learn what battles are worth fighting. Hell, maybe it was even a test to see if the guy worked well on a high-stress team. If he can't handle one person not understanding the difference between Unix and Unix-like, how's he going to handle someone who puts a tab as an indent instead of two spaces?
The recruiter was wrong. But it doesn't matter. Stanley (hopefully) learned a valuable lesson here, and that lesson is "pick your battles". Life, especially corporate life, is full of nonsensical requirements and TPS reports and if you fight every single one of them your performance review will read "not a team player" every single year.
But yes, it certainly is a lesson in dealing with nonsense.
I don't play well with idiots, or nonsensical bullshit.
Moreover, if I'm a recruiter, unless I'm a domain expert, looking to hire someone into the field and they say they already have it on their resume, I'm going to go and double check their resume and double check my own understanding before I go any further to avoid issues like this.
The only person who looks bad here is the recruiter, and it's entirely their own fault.
Most people can't communicate with blind monkeys though, so I wouldn't fault anyone for failing here either.
Want a job there? Play by their rules. Don’t want a job there? Have an email exchange like this one.
> Recruiter: We're looking for students with experience work on Linux and Unix
> Stanley: I have experience working on Linux and UNIX
> Recruiter: Your email and resume say Unix-like, which is not exactly UNIX.
The recruiter, by the end of this exchange has been given the explanation of why "UNIX-like" is the correct term, why it is being used, and why it is relevant. Stanley has also tried to take a more layman-like approach, and backed off the technical jargon to state "yes, I have that", using the exact terms that the recruiter used, despite them being incorrect.
The recruiter's last email contains things that are incorrect, and the response from the recruiter is irrational.
Still it's sort of amazing that the recruiter could be both so wrong and so confident.
He was technically correct, which some people believe is the best kind of correct, but the failure here was his. He was more interested in being right than getting the internship, and as a result he gets a lot of pats on the back from people who share his philosophy here... and no internship.
But he did!! And the recruiter still gave him flak!
Stanley said, "POSIX is more-or-less a standardization effort for UNIX/Linux systems, so I've updated my resume to reflect this."
And then he shows a screenshot that just lists "UNIX", not "UNIX-like".
Then the recruiter bats at him again!
I think he was more interested in being as honest as possible, not being right.
At first, his resume included "Linux". The recruiter asked him to update his resume to include Unix as well. Stanley changed it to read just "UNIX", but no Linux.
The recruiter asked him to fix this by specifying both Linux and UNIX in his resume. Stanley updated it to say Linux and UNIX-like.
The recruiter, very professionally instead of just dropping the conversation immediately, then asked again that Stanley rectify his resume to include the terms they are looking for: Linux and UNIX. Not "UNIX-like". But Stanley again did not do this.
The recruiter gave very clear instructions on what to do, but (from the recruiter's perspective) Stanley was more concerned with condescendingly educating the recruiter rather than following simple instructions.
I sometimes screen resumes from college students at my company, and if I ever received an email exchange like the one from Stanley here, I would have immediately put him in the "no" pile. I already have 400+ people to screen, why waste time with him when I can easily find someone with equivalent experience that also knows how to follow instructions and, most importantly, isn't so rude about it?
Clear no hire.
Even if that were the recruiter's intent, I don't think it's that clear. At no point in the conversation does the recruiter ever make an explicit request to have a resume with both of those on it. You might think there is an implied request from the recruiter for that, but I do not, and neither, it seems, did Stanley.
The only point in the exchange that I can see where the recruiter requests a change to the resume is here:
> […] we require having Unix experience. If you have it, could you update your resume and resend?
Which he does.
You'd rather higher a liar and someone that will follow instructions to the letter, even when they're incorrect?
It sounds like you'd hire this useless recruiter.
How many tens of thousands of university kids go through the hiring pipeline at Facebook each semester?
When you are doing things at that scale, you need well-defined processes. The process here was we need you to put exactly what this position requires on your resume, probably because the resume needed to be OKd by some keyword-checking system.
The candidate either was incapable of or refused to follow the process. Therefore, no hire.
The recruiter does appear to be a little clueless with the terminology, but there could be several reasons for this. Oftentimes resumes are input into an automated system that searches for very specific keywords, or the resume might be going to an executive who is very specific about what they are looking for.
At the end of the day, the recruiter gave very clear instructions on what to do. If Stanley had just followed those instructions and re-sent his resume, he'd probably be fine. Instead, he chose to be snarky and condescending in his response. The recruiter was very professional and STILL gave him a chance to fix his resume and re-send, but he still didn't.
Storytime: back then us students were doing a factory tour, we went to Hoechst in Frankfurt (yes, it was that long ago). There was lunch with company research staff in the Jahrhunderthalle (they did have longer time horizons then). Strangely, the majority was from our university. That was puzzling, do they mostly recruit from our university?! They solved the mystery for us, this was a recruitment visit, they wanted us to consider them and wanted to put their best foot forward.
Something happened to the employer-employee relationship in the meantime.
On a more relevant comment, I think the student could have been a little smarter in realizing that the recruiter didn’t seem like he/she understood what was really being asked in the position he/she was recruiting for, but I think a lot of respondents on HN forget that people are sometimes held to account for items put in the resume. I remember when I interviewed at Apple in my last interview search, all 3 of the teams I had onsites with held me to account for items I had put on my resume.
He did like a 75% good job. But the recruiter did a 0% good job. It's not easy to personally take it upon yourself to make every interaction work perfectly when the other party is trying their hardest to make it fail.
I'd say a 75% good job for a fresh grad is a really good score. Explaining technical jargon to the computer illiterate is not really something you can learn at school.
At a big-name company like this, is it really too much to ask that someone understand the basics of the technology and they're recruiting for?
I mean, I explain technical jargon all day long, sure, but I work at a trucking company. Still, my interview process certainly didn't run in to any problem like this, and had it, I can assure you I would've been met with no resistance with the given explanation...
...but, yet, probably should be.
How can you not learn that - how else can you talk to IT/Conputer teachers?
It wasn't not caring; at that point the recruiter didn't believe him about the Unix experience.
Solid engineers, even ones still in school, know who they are and that their skills are valuable. To this candidate the value of any one recruiter is near-zero. He was chasing lols, basically.
The story here is that Facebook messed up by having this person front their recruiting efforts, not that Stanley Zhang was denied a job.
This line is where he started to come across as a jerk.
I think if he had skipped this paragraph and just replied with the "I've updated my resume..." bit, he would have been fine.
> Beyond software developers who have programmed in the 1970s, ..
Stanley should update his industry knowledge. My school used AIX/Solaris in the late 90s, switching over to Linux (mostly because it was free/cheap) only in 99/2000. I have friends who interned at Sun Microsystems in 2001/2 and they were still using Solaris on all their computers including what the receptionists were using.
There's an old saying about no one getting fired for buying Microsoft (or was it IBM). Similarly, the (entry-level) recruiter/sourcer would rather not get fired or get a bad rap from the hiring manager for confusing Linux and Unix than risk it believing some 20 year old jerk.
From my perspective, it appears that the recruiter is the jerk and not the candidate. I have met many computer-illiterate recruiters but never one like this who would repeat the same response over and over again despite the candidate having clarified his position.
AIX, Solaris and HP-UX are bonafide Unix systems and there indeed are software developers today who work with them.
In any case, it is not very hard to write something like the following in the resume: POSIX, CentOS (Linux), Solaris (Unix), FreeBSD (Unix-like), etc. It is always good to be more specific about your skills in situations like this than being ambiguous.
The candidate is incorrect in his belief that nobody uses UNIX (or Unix) in 2017 and he could have been less flippant in his responses to the recruiter, but his technical accuracy is spot on.
Regarding the minimal distinction that exists, FreeBSD is Unix, but not UNIX, because it has never been certified as there is a cost associated but it is directly derived from AT&T Unix in its lineage. Mac OS X which is derived from FreeBSD in turn was certified and is therefore a UNIX, ironically enough.
Please don't comment about the voting on comments. It never does any good, and it makes boring reading.
Your school was trail blazing! At my uni, UVic, it was still all Sun and IBM Unix labs (with plaques) when I graduated in 2000.
There was even a room with NT4 - I went there once.
When I started work as a trainee at a major UK broadcaster in 2003 the news production system ran in Solaris, radio was on some vax thing, the image store ran on irix, the logging system was on aix, and there were half a dozen distros across about 20 servers with no real standards. The majority of staff were either windows IT staff (who got outsourced), help desk staff, or broadcast engineers with limited computer knowledge.
Over the next few years I changed the news system, others followed suit, and there's now 1200 ubuntu boxes/vms over 6 continents. Hooray for monoculture. Looking back it's amazing how quickly things change.
Solaris died roughly 3 times, depending on who you ask. 2002 was 15 years ago. Oracle officially killed it by laying off over 90% of people assigned to the project two days ago. Future Solaris development is deader than shit.
The only true UNIX that sees "widespread" use, and the only one that you will ever find a student with any experience with it is FreeBSD, and FreeBSD is popular because of its licensing, not its "true UNIX nature."
As somebody else said, it wouldn't have busted the recruiter's ass to forward the email to the manager and ask if "Unix-like" experience is relevant.
He was a hardcore Linux guy before taking this position 5 or so years ago. He'll tell you himself, there's little transfer between deep Linux knowledge and deep Unix knowledge. They're two different beasts.
Trust me, Unix is not limited to programmers from the 1970s, it's very much alive, and it's not outdated. There's a hell of a lot of interesting stuff going on outside of Silicon Valley. I wish I could talk about it.
Too many details the target person is not just not interested about, but also have low chance to fully understand - judging from targets initial confusion about Unix and Linux.
Totally cool at that age, but not perfect communication either. All that is orthogonal to quality of communication from recruiter.
Yes, but if a recruiter is attempting to convince the smartest people at top universities to come be an intern at their company, they should know the difference (or practical lack thereof) between linux and unix. Or at least they should be smart enough to not triple-down on that difference when they clearly don't know wtf they're talking about.
Bottom line is OP is a candidate that should have gotten through to the next stage and should not have been disqualified because the front-line recruiter was being an idiot. It's a missed opportunity and there are probably many more like it.
aaand now I understand why he is how he is.
I hate this attitude. How can a recruiter know all the intricacies for the roles he is hiring, he would need to be an expert. He has to know everything he they have to learn a whole pile of new terms.
I like how easy it is for people to blame someone else here, rather than try to understand it from the recruiters position. I understand, we all hate recruiters.
If he doesn't know what the terms he's screening for mean, then he probably isn't a very effective recruiter.
Presumably they were worried that the resumé wouldn't just be seen by a recruiter, and a more knowledgeable person might flag it.
Wrong: "Yep, I have UNIX experience!"
Right: "These days, the phrases 'UNIX' and 'UNIX-like systems' are used interchangeably. Please double check this with your hiring manager to confirm that we're on the same page."
If I really thought this job was worth my time, I would've updated my resume to say UNIX and Linux, and then clarified during the first interview with a technical person.
Right: "Yep, I have Unix experience! I have worked on Solaris which is a bonafide Unix system. I also have experience with Unix-like systems like FreeBSD and Debian GNU/Linux."
Similarly IBM licensed AT&T UNIX and derived AIX. It is still certified as UNIX.
The Open Group holds the UNIX trademark and copyrights and conducts the certification and licensing process these days.
See here: https://www.opengroup.org/openbrand/register/
You've posted functionally the same comment multiple times in this thread. No matter how many times you say it, you are technically incorrect. UNIX is a valid piece of terminology when referring to commercial Unix OSes.
Did you read my comments carefully? I am saying the same thing as you are. I am saying that Solaris and AIX /are/ bonafide Unix systems in all my comments.
I don't think the onus is on developers here to explain why Unix and Posix are interchangable.
It's like the carpenter telling the recruiter that yes, his skills in building a chair transfer to building a table.
I think you may be extrapolating your own experience of "not being autistic" (by your definition) a little too widely.
Everyday I talk to someone who isn't informed about one subject or another. It should be a common skill for people to put their selves in the other person's shoes and explain it at their level. When a non-cs person asks me about what exactly my job is I don't start going into details about Hadoop and Spark etc, I talk at a level they could understand about data.
As far as the autism comment, it was a little offensive but I meant it in terms of ability to read the social situation, not cs knowledge.
I may be a little harsh here, because everyone makes mistakes, especially in college. And there is nothing wrong with that. I've done embarrassing things with recruiters too, believe me. I just want to make sure people realize it's a mistake and learn from it.
IMO the recruiter should have basic understanding of the technologies they are recruiting for. But it's the norm for them to have no idea.
"Is the tumor beniggun?" "Yes, that's correct, the tumor is benign".
For the first time in my life, I'm working with people who aren't particularly intelligent. The lack of intelligence doesn't bother me much per se, but I was absolutely not prepared for how incredibly childish their psyche is when it comes to making mistakes and learning from them, admitting they don't know things, asking questions, etc. It was absolutely shocking how routinely people would read all kinds of ulterior motives into every possible question: "the only reason you would ask X is because you're trying to put me down" and stuff like that. I've learned to heavily sugarcoat things, stroke egos with compliments before describing things that need improvement or fixing, etc etc. Goddam is it an exhausting waste of time.
My plan at this point is to steer my career as far away as possible from people who are this stupid and immature; I spent a long time at the start of my career surrounded by very smart people and I just got used to the idea that everyone is secure in their intelligence and everyone can focus on being productive together without needing to keep stopping and feeding the egos of infants.
 Just to forestall the complaints: this isn't a value judgment of who they are as people, it's just a single weakness. A comparable weakness of my own is that I have to exert quite a bit of effort to maintain a strong work ethic when being hardworking comes more easily to some.
As a tutorial for those of us like me who sometimes stumble in situations like this, could someone who found the OP's responses to the recruiter unprofessional please post example phrasing of what the OP should have said? Let's assume the constraint that the OP will refuse to lie (so they won't just change their resume to 'Unix' instead of 'Unix-like').
This is a genuine question; I often can't think of how to phrase things and I think an example would be educational.
Stanley: "As per my previous email, I have experience working on Linux and Unix ..."
Recruiter: "Your email and resume say Unix-like systems, which is not exactly Unix."
What is the point of the recruiter's last email, claiming that the email doesn't say Unix, when it clearly does? It looks to me as though Stanley was crystal clear at this point, and the recruiter still wouldn't have any of it.
Is just communicating a fact politely, "not nice"?