Hacker News new | ask | show | jobs
by aspyrx 3212 days ago
Hey folks, I'm the student writing the emails in the post here. Thanks to everyone for their criticisms. While I was initially kind of shocked by the recruiter's response, I've had a lot of time to think about it today and have realized that I was being pretty damn condescending and spoke out of line without regards to the context. It's been a hard lesson learned. I honestly regret the whole exchange, and posting it online was inappropriate as well. I briefly debated deleting the image, but decided to leave it up for sake of posterity and accountability.

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.

44 comments

Hi, I think you could have massaged the snark in the sentence that says "Beyond software developers who have programmed in the 1970s, most people do not have experience with a true UNIX OS" but other than that I think you should walk away thinking that your communication was clear, straight-forward and respectful.

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.

That's the most cringy part - in the second iteration you'll note he did list UNIX as a skill, but then the recruiter went on about the lack of Linux experience (which he had just replaced)! Like playing whack-a-mole.
Yeah, that's the part that gave the game away when the recruiter did the whack-a-mole move. The recruiter did in fact know exactly what the difference was and he was obstructing the candidate. Who knows why, maybe he feels there are too many asians working at Facebook so he takes it upon himself to play games with applicants who have asian names so they are more likely to give up, but he can still have plausible deniability in showing that he reached out to all ethnic groups if he's ever audited. This sort of stuff happens all the time in industry. If they are interested, management there can audit recruiter exchanges to identify different approaches a particular recruiter takes with different classes of applicants to find out exactly what classes or categories of persons they are obstructing.
> Who knows why, maybe he feels there are too many asians working at Facebook so he takes it upon himself to play games with applicants who have asian names

"Never attribute to malice that which is adequately explained by incompetence/stupidity"

Hanlon's Razor definitely applies to your theory!

"A sufficiently advanced incompetence is indistinguishable from malice."
> The recruiter did in fact know exactly what the difference was and he was obstructing the candidate.

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.

> the recruiter had a list of keywords, received a large volume of inbound resumes and filtered for == 'UNIX' and dumped everything else

To be fair, I wouldn't expect this kind of 'recruiting by grep' to happen at Facebook of all places either.

OT, did you actually embed your password in the username to enable random users share it?
Initially I actually thought his working directory was swordfish.. I'd make a terrible hacker.
Apparently they did...
Interesting... Is it a social experiment?
RMS did something similar way back in his days http://www.oreilly.com/openbook/freedom/ch07.html
Deniability? Make your password public, stop being responsible for your postings.
Yep
FYI, here is more analysis on the reality of "recruiting by grep". https://fulldecent.blogspot.com/2010/10/classic-and-modern-j...

Under the section Keyword Stuffing.

Can I use your user to upvote all my comments?
That would be an interesting result to the experiment.
Well I see someone already changed your pwd, which is another expected result of the experiment :)
Not a very interesting one though.
To whoever has changed this account's password, can you be nice and change it back? I wanted to play in this experiment too. :(
They are using greedy matching ;)
> 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.

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).

Well yeah but isn't that exactly where the tragedy lies then.
And yet engineers are taught to be liberal in what they accept and strict in what they send. It would seem that most recruiters are taught the opposite.
>And yet engineers are taught to be liberal in what they accept and strict in what they send

From the desk of recruiters, most likely.

This is good advice. If you want the internship/job at a company, you have to get your foot in the door. That means going through the recruitment team. Cutting off your nose to spite your face doesn't often result in job offers. Get through the recruitment and make it better from the inside.
If you use Macs, you have bona-fide True Unix Experience. Mac OS is more Unix than Linux.
SunOS, HP-UX, and BSDs up to a point all ran System V binaries until recently, or still do. If they really want that then it's a thing they can ask for.
Speaking as someone who used to work in dev at Facebook, in my time there I saw absolutely no Unix systems, just Linux on the production side. They did have some proprietary systems in corporate IT that could have been running on HP-UX or AIX for all I know, but a PE intern wouldn't ever have touched those.
macOS/OS X is actually a certified UNIX OS.
> 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.

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.

You think this exchange shows a recruiter conducting a psych experiment?

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.

> You think this exchange shows a recruiter conducting a psych experiment?

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

Well, since you asked...

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.

My statement is about condescendingly calling humans doing their job 'lossy filters', and challenging the deeply-ugly assumption that they should have bowed to the candidate's correctness.

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.

This is ridiculous. Nothing in your responses was rude. The CMU recruiter is dense and underqualified. Don't apologize for taking the time to remain honest in your communications and explain the circumstances.
Because of the monopolies that have been allowed to exist, getting black listed by FB is akin to chopping off a large portion of the quality tech jobs out there.

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

There is an old joke about janitor who couldn't work for Microsoft because he didn't get an email. (Link: http://www.angelfire.com/oh3/momathome/janitor.html)

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.

Anglefire wow it's still going! I was certain the page wouldn't exist. (Goes to lookup if GeoCities still exists)
The gif counter on the bottom of that page is even working!
So is the automatic redirect to malware!
It shows 514 for me. That seems rather low.
Up to 795 three hours later. We did it Hacker News, we finally got this guy the traffic he deserves.
I hardly think getting blacklisted by FB would lose you opportunities outside of FB. Sure, you probably can't get a job at Instagram because they probably share the recruiting database. Beyond that, there are a million startups, and tons of other medium and large engineering companies that need technical people. Seriously, Apple, Google, Microsoft, etc are all trying to steal each other's employees. They are competing so they definitely don't share such information.

If this person is good, they will definitely have opportunities elsewhere.

> Because of the monopolies that have been allowed to exist, getting black listed by FB is akin to chopping off a large portion of the quality tech jobs out there.

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.

Facebook isn't going to blacklist someone over a bad interaction with a university recruiter, at least short of sending an email full of hate-speech.

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.

> I was being pretty damn condescending and spoke out of line without regards to the context.

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.

Eh, honestly I would've been similarly frustrated. The recruiter seems like they are being needlessly bureaucratic. Either they are familiar with Unix and thus should know that Unix-like is synonymous with Unix nowadays or they aren't and they should take your word.

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.

Unix-like systems are not synonymous with Unix systems nowadays.

* 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.

I read the exchange as cutting the recruiter slack. He didn't say "you're wrong" or "you're an idiot." It seems to me he's saying "here's how I understand what you're saying, and here's why I think my skills meet your qualifications."
Do remember that we are talking about internships here.

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.

Exactly that I was thinking, too.

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.

> 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.

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.

> How on earth would a uni student in CS don't know about piping commands?

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.

> How on earth would a uni student in CS don't know about piping commands? Does this actually happen?

People fail FizzBuzz. 'Nuff said.

Yes, it happens. And much worse.

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.

It highly depends on where and what exactly you study, but in many cases you've probably been explained shell basics once and can get by with knowledge how to to copy-paste commands to install packages and basic git usage.

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.

Also: - OSX is a certified UNIX - iOS is UNIX-like (BSD based)

Due to this, when someone is asking me whether I have experience with UNIX-like I say that yes, I had an iPhone.

Solaris, HP-UX, AIX, and FreeBSD are all Unix systems. With the exception of FreeBSD they are all also UNIX, because other than FreeBSD the other three are commercial Unix OSes that have been certified and therefore hold a license to use the trademarked name UNIX.

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.

For which definition of UNIX? There are 'genetic unices' - systems that directly descent from AT&T UNIX. From your list Solaris, HP-UX, AIX, and FreeBSD are (genetic) UNIX, since they all descent from AT&T UNIX (FreeBSD via the Berkely distribution of UNIX).

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.

[1] https://www.opengroup.org/openbrand/register/

A Linux kernel even though not derived from another UNIX can be UNIX. See the EulerOS 2.0 and K-UX 3.0, derived from Red-Hat.

https://blog.opengroup.org/2017/02/14/value-of-unix-open-sta...

RIP Solaris
In fact, the recruiter was the one that introduced "UNIX-like" term, in a reply to second resume change. Judging from that, I'd say this recruiter is intentionally malicious.
Agree. This is a recruiter-like person. I doubt he knows at all about "Unix-like" systems. He debated about words hiding his own shortcomings. I would have replied "you needed it" to the comment "thanks for the tutorial".
Here's the sad fact: If I were a hiring manager at Facebook and saw your post, I would slap my forehead in frustration in complete empathy with you. That recruiter is not only clueless, but shows a nearly bot-like level of comprehension of the subject they're supposedly recruiting for, which I personally find quite rude on their part.

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.

> That recruiter is not only clueless

Look on the bright side: automation is likely to put recruiter-as-grep out of a job soon.

At which time faulty pattern-matches will become impossible to argue with, even if you can keep your ego under control.

Yay?

Don't take all the feedback in the thread to heart. The fact of the matter is that even if you were more condescending than you desired to be, the joke in this thread about plumbers and pipes is also true. The end of the chain really does enter an absurd territory that narrows things down such that the recruiter was either failing very badly at understanding your emails, lying about his reason for rejecting you, or not even reading the emails. There is a very gross lack of comprehension in his later responses. It eclipses your condescension, by far. If it didn't, your post wouldn't be at the top of Hacker News.
Hey, you did nothing wrong.

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.

Nobody else has mentioned this so I will: leave an email address in your profile, or dump something sharable in a comment here. (Pretty much everyone here (relevant) can de-base64 (which can be convenient, a la data:text/plain;base64,...) or figure out "gmail@myaccountname".)

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 (!?).

I've taken to your advice. Thanks!
Awesome (I see it's in your profile, reachable by clicking your username).

Good luck; here's hoping you get some emails!

If you are not an old fart like myself, you probably haven't used an actual Unix system but back in the days before the popularity of Linux, you'd see a lot of Solaris.

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.

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.

Hi. I was at FB and a lot of us in the Ex-FB group want to help. FB is a big company now, so unfortunately, these things happen.

If you email me at thomasbao12@gmail.com. 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.

Commenting just to let you know. You did nothing wrong.

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!

> Commenting just to let you know. You did nothing wrong. > Never forget who reached for who.

This is the most important comment in this entire thread.

> Never forget who reached for who.

Yep, that's the core.

Whether he did something wrong, though, depends on how much he wanted the job.

Don't sweat it, I think lots of people go through this phase.

Though next time you can skip the pleasantries and go right to the "Actually, it's GNU SLASH Linux."

As you've requested comments. I would say your replies were fine. You gave more detail than was necessary, and the recruiter was not able to understand. That's not really your fault though.

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".

https://www.youtube.com/watch?v=t4A-Ml8YHyM

You dodged a bullet. If a recruiter is that dense, that doesn't speak well for the company they represent (they are helping to recruit others, too!) You can do better. Nothing in your response was wrong or out of line.
I used to think like that too, but it's worth remembering that HR/Recruiters != company.

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.

>once you get past the inane recruiter junk you find yourself on a superb team of talented people

But... these are exact same people the "inane recruiter junk" has selected. How good can they possibly be?

Just because the people played the "inane recruiter junk" game doesn't mean they are good or bad.

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.

Because this is one of hundreds (if not thousands) of recruiters that Facebook has ever employed ;)
I also think you're being too hard on yourself here. Sure, it will be helpful for you to learn to interact with difficult people, and to bite your tongue when frustrated. But frankly, most of us have limited success with that even by late in our careers. It appears to me that the recruiter could have been a lot more helpful, particularly at the end where you flat-out explain you have Unix and Linux experience and they still insist that your email never said so.
You're not condescending; you were trying to explain to a person who is not qualified to screen you. It's a billion-dollar business, and they're hiring engineers, so they're not picking up apples at the grocery store. Even if you would apply before they contacted you, there is no excuse that they don't know what they're talking. You don't have to be gentle to excuse someone else's illiteracy. He/she is not your friend or your family, this is a business.

You screened the recruiter well, and he/she failed to continue. Best luck in his/her exactly-UNIX-and-not-UNIX-like engineer search!

Do not bend. Keep educating people. You done right.

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.

> Do not bend

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.

You were not condescending, what you wrote about POSIX are facts (with a slight addendum that if you grew up on Solaris, HP-UX and IRIX like some of us, those are true UNIXes). You simply had the misfortune to run into an inexperienced recruiter. It happens often whereas it shouldn't happen at all: I've been preaching for years that IT professionals should be recruiting other professionals, instead of companies putting up someone who isn't formally trained in computer science to do something they don't really understand. After my own experience, I'm of deep and firm belief that recruiting good people is part of a social contract of every good IT professional. It is too critical to be left in the hands of the non-practitioners.
I'm a recruiter, your responses were spot-on. I think I'd have probably been a lot ruder a lot earlier than you were.
In case you hadn't, please make sure to read foo101's comment: https://news.ycombinator.com/item?id=15188746

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.

You're internalizing your repression, which is actually another requirement for most full time positions.
Thank you for commenting here!

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?

RE: Linux distros, I am familiar with Ubuntu, Debian, and Arch Linux. To some extent RHEL as well. RE: Unix (commercial brand names), none. It was my fault that I assumed the recruiter meant UNIX-like systems.

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.

The recruiter did mean UNIX-like systems. There exists no useful set of experience which is common among pedantically defined "UNIX" and which excludes UNIX-like systems. The pedantic definition-lawyer type responses you've gotten are absurd.

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.

"The recruiter did mean UNIX-like systems."

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 ]

As have being mentioned multiple times already OS X is certified UNIX (https://www.opengroup.org/openbrand/register/) so I am guessing you do have experience with UNIX.
You honestly did nothing wrong. I don't think Facebook is looking for UNIX admins/developers, nor are they going to find any for an internship. CS students with experience in AIX, HP-UX, Solaris, or FreeBSD are exceedingly rare. Solaris and FreeBSD are the only two systems that Facebook would have a chance in hell at finding interns for, and even that's a stretch. AIX and HP-UX are expensive and the licensing is painful.

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.

A quick search around the web will tell you that FB probably primarily uses CentOS (with custom built components, I'm sure), so your experience was most likely almost directly what they were looking for.

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.

wait do people actually think this position requires Unix (not linux) experience? I assumed the recruiter must just be wrong there.
It is not uncommon to come across open positions that actually do require Unix (not Linux) experience.

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.

This is true, but I would imagine that, if not in the job description, if a really specific kind of Unix experience is required, it would come out in the exchange - and be really OS specific and actually say - True64, AIX, Solaris, etc.

"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.

This is kind of out of left-field, but are you the same Smirk from AC/MT (~17 years ago)?
Nope, not it!
AIX specifically as a preference is different than anything that works like a Unix system.
Anyone who is old enough to remember MUDs feels your pain - it's a real shame that you had to test HR inputs this way though!

$ 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.

>I know this! Velociraptors are always the real enemy
Don't be dense. You acted wholly appropriately. Facebook happened to hire a bad recruiter. What could you do but correct him or her?
You didn't do anything wrong. In fact, you should have asked the recruiter to speak to a supervisor with deep knowledge in Unix, where he could confirm your knowledge and get back to you and you would've gotten the job.
If you never work on Unix, then you should insist on saying so. Holding integrity is much more important than getting an internship from FB. And, as an engineer working in the infrastructure space, I do not believe FB is looking for someone has UNIX experience for the internship.

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.

Ah, don't worry - as others said, most of us did something similar at some point. I'd even say that it's good to keep our profession strong by not playing the game of the business and HR people.

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...).

I was being pretty damn condescending and spoke out of line without regards to the context. It's been a hard lesson learned. I honestly regret the whole exchange, and posting it online was inappropriate as well.

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'm more disappointed with this comment! But I guess it's to be expected. You've learned a life lesson - Don't get out of line, Don't mess with authority, Or you'll get shut down!

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.

You don’t deserve the criticism in my opinion. Recruiters serve a necessary function, and knowing a good recruiter can be a great help. That being said, engineers drive the bus. Recruiters aren’t subject matter experts and shouldn’t pretend to be. This is a simple question that could and should have been kicked up to an actual engineer.
If I may, Stanley you were IMHO "perfect": correct, respectful, clear, plain.

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).

I see recruitment like a see sales. When you're selling a technical product (e.g. a smartphone) to the general public, it's your job to communicate what makes it great, and it's not the public's fault if they don't understand the technical terms. That doesn't mean that a chunk of the population aren't being idiotic when they misunderstand some bit of your marketing spiel, but it's fundamentally your problem and not theirs.

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?

How do we know the recruiter is not a chat bot?
>How do we know the recruiter is not a chat bot?

'Thanks for the tutorial' I don't think any chat bot would read the entire thing and maybe sarcastically summarize it as Tutorial

guard response.length < 30 else { return "Thanks for the tutorial" }
You were dealing with an idiot. I don't think you said anything wrong.
It's not a criticism, but I think you should have recognized immediately the mismatch between your competence and that of the recruiter.

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.)

I think you did the right thing posting this. If I were in Facebook, I'd like to learn about this.
Not your fault. Most recruiter are relatively idiots, and obviously do not know how to talk to super-smart people. Lesson to learn here is to stop apologizing, and start learning how to exploit their idiocy instead.
While reading the exchange, I totally thought that you were conversing with a bot. Just scanning the resume for missing items and pointing them out in slightly different ways each time. Kind of disturbing, actually.
Don't take the feedback personally, but hopefully you will apply the lessons. Even better, this serves as a practical example for others to learn from. None of us were born knowing this stuff.
Don't you know that recruiting at this stage (gatekeepers) is a box-ticking exercise?
Since you are soliciting feedback, I think you can do better than Facebook.

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.

"feelin_googley" wouldn't have any motive for encouraging people to work somewhere else, could they? :P (I jest)
Given what (admittedly little) I know about UNIX and the companies/software, I'd think Apple (Darwin) would be a better fit?
Oh, come on. I work at Google. I am sure Facebook is a very fine place to work. They have plenty of very smart people working on very interesting projects. Don't be a snob.
I like how you name drop "I work at Google" - which has no relevance to the rest of your comment. Talk about the pot calling the kettle black.
The poster they replied to is named "feelin_googley", so they're really saying "I too work at Google" to diminish the parent's point.
Lol open source contributor. Yeah nice and all but where's the money in that? The guy just fouled up a potential career track to half a mil engineering salaries but hey I'm sure the satisfaction from some open source work will be just as good! ;-)
TL;DR

"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"

I don't think you was horribly inappropriate, tho you really was condescending. You was mostly quite a lot unstrategic and you did not tailored your communication to audience.

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.

This follow-up shows a lot of maturity. Both sides are obviously at fault here, although you instigated it.

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 don't see how the candidate instigated anything. The recruiter was either being deliberately obtuse or does not understand the role he/she is recruiting for. At almost any tech company, when a hiring manager asks for Unix/Linux experience for an internship role, there is a 99.9% chance that the hiring manager is looking for general experience on unix-like operating systems. I would bet my life on it. If Solaris/HP-UX/etc. experience was really specifically needed, it would have been spelled out as such.

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.

I don't think I'll be able to convince you otherwise, but this would read to most people as two assholes arguing with each other. Also OPs explanation of why UNIX == POSIX was pretty confusing, and I had to look up more information.

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.

Would be interesting to conduct a survey among your friends. Seems a lot of commenters here read it as the recruiter being overly strict, and Stanley trying to accommodate him/her while sticking to his integrity.
Thank you - I actually did send an apology email, but since I'm pretty sure I'm not quite qualified for the position, I didn't bother pursuing it any further than that.
Are you insisting that you're not qualified for the position on the basis of that Linux / Unix distinction alone ?

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.

Pure Unix is not even thought to CS students anymore. Looking for Unix experience for internships is utterly pointless. The Recruiter should have been happy that there was Linux experience, because even that is not a given.
You had nothing to apologize for. There are tons of recruiters in this industry who do not know what they are recruiting for and are dumbly trying to match text. I've had a recruiter tell me that they are looking for experience programming "graphics drivers", and would I kindly update my resume to say that instead of "display drivers". If a company uses recruiters this clueless, you dodged a bullet.
Oh it hurts my soul that you apologized to that clueless tool. Why do you want to work at Facebook anyway?
It looks really good on a resume, and _if_ (and it's a big if) you end up on the right team, they have some really cool stuff going on there.
As general career advice going forward, I recommend letting the employers filter you out instead of disqualifying yourself based on technical skills. They're good enough at it themselves, and job listings are oftentimes half-truths at best.
If you know enough Linux to do anything useful with Arch, and you're as CS student at CMU, you're almost certainly qualified for a PE internship there.