“ 8+ years of experience in one or more of the following areas: machine learning, recommendation systems, pattern recognition, NLP, data mining, or artificial intelligence”
That's entirely feasible. Mind that 8 years ago was 2013 and systems like the recommendation system from Amazon was already online. Also it only specifies machine learning, pattern recognition, NLP etc - all of which are active research fields for far more then 20 years already.
It's not like they are asking for more than 8 years of experience in Pytorch.
But the position is for working on graphics rendering, a completely unrelated field. Are you supposed to have had two careers at the same time, working eight years in AI while also working all that same time on graphics?
There's a lot of research on using AI/ML with graphics. I've seen demos people have done using it to create HD remasters of shows originally in SD on tape or too-small film, or where there wasn't much interest from IP owners in doing it. Or where, once you expanded sideways, there was too much crew or rough set to use it.
Since Facebook is doing VR, and this position is about VR, I can easily see the potential of using ML to make the most of sketchy/low-quality models and textures people might want to use in worlds. Imagine if you could upload a rough model, describe what you want, and get it made for you.
Yeah, but back in 2013? Most of what you're talking about is much more recent. To have 8 years of AI/ML expertise already while also previously being a graphics expert requires a very improbable career progression
Yes, but _on mobile_? With details like "graphics hardware and drivers on mobile platforms" and "the mobile graphics pipeline and interaction across display and optics".
I mean obviously a lot of people work in that area but the overlap with AI/ML simultaneously seems very small, for 8+ years in one person.
And of course if you're in research then it's hard to tick boxes like "leading consumer-based projects with industry-wide impact" and "mentoring/influencing senior engineers across organizations" and so on.
The number of people working in "those areas," defined narrowly, is much bigger than it was eight years ago. That makes this a big requirement. People who are skilled, deep or enthusiastic enough to make that 8 years experience better than 4 are not likely to just show up, while also ticking the other boxes. Narrowing the pool past a certain point is a different type of problem.
In any case, these aren't to be taken to literally.
While I agree the overall minimum requirements for this job are a bit silly, most (all?) of those topics have been around for more than 8 years, in some shape or form.
It only says that about the various ML/AI requirements, which is a single bullet point. That doesn't help the intersection between bullet points, which is the issue.
Almost anybody who meets the intersection of all those requirements isn’t checking LinkedIn or other job listings. They’re already employed, or being courted directly by prospective employers.
It seems that the whole AI field was started four or five years ago but actually it's several decades old. A recent example: for how long did Amazon use recommendation systems? And data mining was called OLAP [1] in the 90s and probably with another name in the 60s.
IMO using pre-determined time windows to filter on experience is always a mistake. Smart people acquire mastery in much shorter chronological time. This is literally the definition of intelligence and it’s been repeatedly verified over decades by industrial psychology.
If Linus Torvalds decided to pick up data engineering tomorrow, he’d be far better at it in 3 months than the average dev who’s been in the field for 10 years.
When you filter on years of experience, you’re inadvertently biasing towards less intelligent candidates. Smart people with that much experience will have enough mastery that they’re not looking for a mid level position. Polymaths who jump between fields, quickly building up competence won’t meet your arbitrary threshold.
>If Linus Torvalds decided to pick up data engineering tomorrow, he’d be far better at it in 3 months than the average dev who’s been in the field for 10 years.
bold claim, I'd want to take a bet with you for real money on that
decade ago was 2011, wasn't it time where applied data engineering started becoming cool? thus majority of people shouldnt be those, who started learing it due to $$, but out of curiosity?
Okay but I didn't say git was a data engineering tool. Designing git was very much an exercise in data engineering that pushed the boundaries of existing concepts so far that it turned into a multi billion dollar industry within a decade, and has displaced almost all competitors (certainly by volume), many of which were entrenched for decades.
From wiki
"data engineering, is a software engineering approach to designing and developing information systems."
"An information system (IS) is a formal, sociotechnical, organizational system designed to collect, process, store, and distribute information."
disclaimer: I have totally no experience in data-ish stuff.
>"data engineering, is a software engineering approach to designing and developing information systems."
this description is so broad, that every SE would be data engineer now?
for me git is just text comparison, management + some kind of visualisation tool (so it kinda sounds like data X stuff, doesn't it? I'll back to it below)
meanwhile data X jobs seems to be more focused on:
understanding business domain
using e.g statistical methods
working with huge data collections with various tools like hadoop, spark and fancy keywords like data lake, warehouse
>Data science is an interdisciplinary field that uses scientific methods, processes, algorithms and systems to extract knowledge and insights from structured and unstructured data,[1][2] and apply knowledge and actionable insights from data across a broad range of application domains. Data science is related to data mining, machine learning and big data.
>Data science is a "concept to unify statistics, data analysis, informatics, and their related methods" in order to "understand and analyze actual phenomena" with data. It uses techniques and theories drawn from many fields within the context of mathematics, statistics, computer science, information science, and domain knowledge.
I feel like git doesn't fits this description, I'd say it's more like handy tool that handles snapshoots of some text
_______
or maybe I'm misunderstanding relation between "data engineer" and "data science"?
> for me git is just text comparison, management + some kind of visualisation tool
That's not just what git is.
> meanwhile data X jobs seems to be more focused on:
> understanding business domain
git is absolutely about that. The technical aspects of git (which themselves are revolutionary data engineering innovations) are entirely driven by the problem domain. The people and their processes. It wasn't just developed out of thin air and people by pure coincidence decided they liked it and started using it!
> working with huge data collections with various tools like hadoop, spark and fancy keywords like data lake, warehouse [etc]
That's not an adequate definition of data engineer.
[data science]
Yeah we're talking about data engineer. Although you could say there was most probably data science work behind git to find performance and storage requirements and optimize it, just not so much of the buzzword type of data science.
Machine learning, data mining and pattern recognition aren't brand new fields in any meaning of the word. I've had classes on them 20 years ago in college and I know a lot of people with 8+ years of experience (including myself). Hell, my dad worked on them when he was in college 40+ years ago.
Facebook pays more than enough to get world class experts so why would they not aim to hire them?
Is the sole requirement Carmack doesn't meet the masters degree? If so, he has more than enough work experience to meet that benchmark. If you don't meet one of the other requirements (like if you know nothing about mobile graphics rendering or have never been an architect before) I'm willing to bet they'd pass.
They certainly would, and that's why it's a problem. The advert is not designed to find the best candidate. It's designed so that anyone who believes the requirements doesn't apply even if they would be the best candidate. The point is not that you need a masters degree (you don't if they'd accept someone without one); the point is to stop people who don't have masters degrees from applying because the team that wrote the advert don't want to work with people who don't have degrees even if they're as brilliant as Carmack.
Job adverts are filters. Some job adverts are written to encourage certain people not to apply.
I tend to think such requirements are helpful to me if I were job seeking. It helps to avoid an employment situation with an organization that doesn't really know its own needs, or is trying to cover three bases with a single hire. Dysfunctional job postings often (though not always) indicate an undesirable situation.
It's a bit facetious, since as much as people like to cite the Homebrew Google example, the reality is that Carmack should have a network which allows him to already have the job before the interview
Still, it's true. I've done hiring at a small company where the job listing had a bunch of random tech we used, meanwhile we were desperate to talk to anyone with more experience than a bit of school & working at a pizzeria (& we didn't care for education if they had non zero programming work experience). But our salaries weren't competitive. Demonstrated experience matters more than credentials. I worked there a couple years before looking for a better job as a substitute for post secondary
Do people actually think the listed requirements are really requirements when applying for a job?
I was always believing that list requirements are just a wish list, something that the company would like to have in ideal case, but even they don't expect they will find an actual perfect match.
The more important thing when reading the job requirements is to figure out what is actually a core requirement that is important for the job, and what can be learned later, and just apply.
> Do people actually think the listed requirements are really requirements when applying for a job?
When there are two lists in a job description named "minimum qualifications" and "preferred qualifications" I think a significant number of people would think _exactly_ that for the "minimum qualifications" list.
I've been applying for jobs for some... years? now.
I rarely apply to any position where I don't meet the mininum requeriments.
Also I've seen vacancies with huge lists of requeriments, including exotic ones (like being an RPG player) and I meet them all, sent a resume, and didn't got invited to the interview...
So I guess that indeed, the requeriments are bullshit.
I've had to lobby to remove several minimum requirements from my company's job listings because, at most, they're a wish list of the perfect developer to walk in the door. And they never do.
"And the candidate's name must be Carl because Carl just left, and PMs really got used to calling the Angular person Carl."
You joke, but one place I worked had just fired another "asciimov" for the role i took. The first week I was there, they kept asking if I had another name they could call me as they didn't like the former guy and calling me by name, "asciimov", bothered them.
I mean, I believe Microsoft has a hard filter where you must fill fill out a questionnaire about the job requirements and if you don't answer yes to a question like "Do you have a masters degree" I don't believe any human ever sees it. At least they turn around the rejection in 24 hours.
> Do people actually think the listed requirements are really requirements when applying for a job?
I’m part of a mentoring group for college grads and junior engineers. It’s common for software engineers to assume that there is a clueless (and/or evil) HR person reading these resumes and executing the requirements listing like computer code. if(education.level < MASTERS) then return E_UNQUALIFIED. Even if John Carmack is applying.
A lot of them get advice from the internet or their parents that tends to be overly cynical and often dated. When we review resumes we often have to remove Microsoft Word and Excel from the qualifications section of programmer resumes because they heard from the internet or a parent that they’ll be rejected by automated HR software without those keyword. I still see people trying to keyword stuff their resumes with 6pt white text at the bottom (don’t do this)
In practice, hiring is hard and successful companies understand that they can’t afford to filter out qualified candidates over arbitrary low-signal missing requirements. I hope nobody really believes that Facebook HR people would reject John Carmack’s resume because it didn’t have a Master’s degree. That’s what Carmack himself is trying to explain. It should also be obvious that Carmack is the definition of an outlier in this scenario.
> A lot of them get advice from the internet or their parents that tends to be overly cynical and often dated. When we review resumes we often have to remove Microsoft Word and Excel from the qualifications section of programmer resumes because they heard from the internet or a parent that they’ll be rejected by automated HR software without those keyword. I still see people trying to keyword stuff their resumes with 6pt white text at the bottom (don’t do this)
Why is this a bad idea? I've had my resume auto filtered out in the past and the keywords at the bottom seem to have helped. I don't try to hide it in white-on-white text, though. I have an explicit section (though in a very small font) titled something like "automated scanner keywords"
Carmack does not have a Master’s Degree, as listed in the minimum requirements. Other than that, he seems to greatly exceed every other requirement.
Everyone should know that the requirements in job listings are almost always guidelines, not a strict checklist. Obviously someone with 3 years of programming experience won’t be considered for this job, but someone who has 11 years of experience instead of the 12 listed in the requirements section should apply.
Rule of thumb: If you can reasonably say that you’re “close enough” to the listed requirements or you satisfy most but maybe not all of them, apply anyway. Let the company decide. Don’t waste your time applying to jobs you’re obviously not qualified for, but don’t prematurely reject yourself from jobs if you’re close enough.
Hiring is hard. Finding candidates is hard. Contrary to some of the more cynical comments on HN, hiring managers aren’t interested in rejecting otherwise qualified candidates due to small technicalities. That’s what Carmack is trying to convey here.
Then don't call it minimum because it's a lie. All these secret code-language gatekeeping tricks in industry are awful. I'm happy to see one of the replies calls it sex discrimination. If that's what it takes to stop employers lying on job ads, good on them.
They should really just list the responsibilities and let people apply. Minimums and/or requirements are often not correct per the word definitions, but maximum and typical qualifications are probably fraught with even more ambiguity.
If you look at any graduate program in CS/Stats/Math today, you would think "PhD in CS" is a proxy for "Asian".
Equality of opportunity doesn't result in equality of outcomes. Many of those Asian students have to climb countless immigration barriers and out-compete literally a billion people to come to the US. They arguably have _less_ opportunity than a white woman who's a US citizen.
The idea that overstating requirements is somehow discriminatory is laughable. There is _nothing_ stopping women or whatever group is the oppressed group of the day from applying for a _job listing_. It's literally just submitting a resume, there's not even a big time investment associated with it. If there was discrimination in the resume screening that would be a different story, but you can't claim prima facie that having inflated job requirements is sexist.
> Carmack does not have a Master’s Degree, as listed in the minimum requirements. Other than that, he seems to greatly exceed every other requirement.
In other words: Industry legend ALMOST makes minimum requirements.
I know what you are saying, but it is absolutely crazy to me that they would post a job ad with Minimum Requirements even someone like Carmack doesn't have. Not to mention the "Preferred Requirements".
Maybe they should make their Minimum Requirements more realistic or stop calling them minimum if they are not actually minimum requirements.
To add insult to the injury: he will probably not pass the Facebook coding interview. I tried (for a different position) and failed, due to a bullshit reason. It was a coding interview with two problems, 1-hour time limit, and an interviewer who watches how you enter code into their online editor without the possibility to run anything.
The problems were not that hard, the real difficulty was due to the time limit.
During my previous experience as a software developer I have acquired a habit to write an obviously-correct but non-optimized solution to every problem, to use as something to compare a better solution to, i.e. as a test factory. So, I had only enough time to solve the first problem correctly, and to implement a wasteful solution to the second one. In retrospect, implementing the "obviously correct" but wasteful solution would not have helped, because I could not compare the results anyway.
In my opinion, the test selects for people who are lucky enough to discover and implement the non-obvious optimization correctly from the first attempt. Or, as I have discovered later, who have bought all books on programming interview preparation, because the problems were actually non-unique.
Yep. Leetcode style problems are effective filters only for people who grind leetcode. It's tailored for a very particular level of developer; someone who is smart enough to understand the problems and solutions (and retain them well enough to trot them out quickly), ambitious enough to put in that level of effort to work for a 'top tier' tech company, and sufficiently docile and willing to work on BS (outside of their working hours, typically, too) that they'll spend that kind of time just to try to make it into one.
So someone who went out and built a SaaS business themselves, was moderately successful, and sold it? Not going to pass. Someone who spent three months grinding leetcode and doing little else? Probably going to pass.
I'm guessing it's highly effective at selecting for the kind of candidates these companies want.
> "I know what you are saying, but it is absolutely crazy to me that they would post a job ad with Minimum Requirements even someone like Carmack doesn't have."
Why? Carmack is an extreme outlier and it's likely that even among the people he knows that he would label as qualified for the position nearly all have at least a master's degree and the other requirements.
> "Where do you get the assumption from that Carmack knows people that fulfil these minimum requirements?"
The top names in any given field tend to know each other (it's a pretty small group and they network) and most of them got their degrees and other qualifications the traditional way. As for why he made the remark, IMO it's a self-deprecating joke about his being an outlier.
> Everyone should know that the requirements in job listings are almost always guidelines
In my experience job requirements are used to weed out and reject those that the hiring people don't like for reasons other than ability.
This ranges from excluding women, being only inclusive of women, only hiring a certain races or religions, or justifying the use of work visas. I've even seen it used to justify not hiring someone because of their accent.
> Other than that, he seems to greatly exceed every other requirement.
Even this one?
"8+ years of experience in one or more of the following areas: machine learning, recommendation systems, pattern recognition, NLP, data mining, or artificial intelligence"
> Carmack does not have a Master’s Degree, as listed in the minimum requirements. Other than that, he seems to greatly exceed every other requirement.
Carmack doesn't have 8+ years of experience in Machine Learning, he's only been working on AI full time for about 3 years.
Carmack doesn't have substantial experience with "mobile graphics pipelines" or "graphics hardware and drivers on mobile platforms" - as Oculus, Quake and Doom were all PC-only.
Carmack isn't a "Proven cross-functional partner, working across functions to drive solutions" because those are nonsense words that mean nothing.
I agree with the others but not the middle one, at Oculus he worked exclusively on the mobile variants, the GearVR and in-house prototypes. His entire mission was dedicated to mobile graphics pipelines and graphics hardware & drivers.
> Everyone should know that the requirements in job listings are almost always guidelines, not a strict checklist.
I don't think the onus should be on the people who are applying.
There are a lot of people who are rule-followers, literal-minded, etc., and a lot of people with mental disabilities that might not be able to see through this checklist - of these candidates, a lot of them are likely fantastic SWEs. Why penalize people who are thoughtful about your posting? This just incentivizes lying both ways - it tells me that the company doesn't even believe their own requirements, so I may as well just apply anyway, even if it ends up completely wasting their time.
The 2 minimum requirements that stand out because Carmack does not have a ML/AI mathematics background and he's a college dropout:
>- 8+ years of experience in one or more of the following areas: machine learning, recommendation systems, pattern recognition, NLP, data mining, or artificial intelligence
>- Master’s degree in Computer Science, Mathematics or related technical field
What was Carmack's development focus during Oculus? Was it building artificial worlds for the headset such as video games or Augmented Reality of processing video input with ML/AI and enhancing it with tags etc?
It's possible that Carmack's expert knowledge of graphics shaders/rendering is a different skillset than mathematics of Augmented Reality.
I remember skimming through them years ago not because I'm into VR development but I've been a life long fan of Carmack's work and like listening to him talk about things.
Lots of notable people in computing, and in particular game dev, do not have a college degree, yet it continues to be insisted upon by employers. My suspicion is that it is because it is an effective class filter. If you're high class enough it won't matter because you'll just network your way in.
By definition, notable people are a minority. When you're recruiting John Carmack, you don't care about degrees because he's John Carmack. But most people are not, and for those, college degrees are considered some kind of safety net.
I would say that while they may not be John Carmack, pretty much all of the best people I've met in this industry did not have a college degree, and many of the worst did. Anecdotal yes, but suffice it to say I put very little stock into paper.
I myself attended university for a single year before deeming it completely not worth the time and money (which I couldn't really afford) and instead acquired several associates degrees (which I paid for with a menial job). Because of this, I admit to some bias on the matter.
A good person with a degree likely works at Google or equivalent. If you don't work at such a place then likely the places you went to are just very non-degree friendly and therefore gathered a lot of good people without degrees that had a hard time getting jobs elsewhere.
Is this true? I remember reading a few years back that Google had plenty of engineers without a degree, that they allegedly hired based on their side projects, free software contributions, etc.
When I worked at Google I never met anyone without a degree. They don't have it as a hard requirement but they are still very rare, since those without degrees rarely pass Googles interview process.
I did meet many with math/physics etc degrees, so not everone has a computer science degree.
>I myself attended university for a single year before deeming it completely not worth the time and money
almost the same with me. i was already living by myself went i started to go to college. where i live, college is not a "full time job" -- i had to work all day long then attend classes at night. it was basically exhausting.
i decided to quit college and instead focus on my career -- which was absolutely the right idea. i learned more by doing than by going to college.
Up to half my graduating class drifted by with “help” from friends / could barely code. They eventually figured out that leetcode exists and now they all have high paying jobs
- The outliers of the billionaires and big names are kinda making people reconsider though. e.g Zuckerberg, Gates (maybe dropout to do something is better signal)
I remember reading somewhere that something important to keep in mind is that Zuckerberg and Gates didn't really "drop out" as they could go back to college at any time if they wanted to. However once they succeeded there was no need. This was not a choice between "a degree and a shot at something" but "a degree, or either something that works, or a degree later".
Yes, it's a class filter. You can't legally filter on race or sex, but most people with a master's degree are male and white so making that a requirement is a filter of sorts.
You think companies and universities specifying a masters or PhD for certain job positions are secretly a white supremacist patriarchy of bourgeoisie, hell bent on filtering out the proletariat?
No, female developers is an accurate term. There is nothing wrong with the word. You don't say women developers. And since it is fine in this scenario it is also fine in that scenario. You are creating a problem out of nothing here.
Edit: Also woman is not inclusive, since it excludes kids. You wouldn't say that women toddlers. Using female and male are the only terms you can use when you are talking about the groups as a whole. Attacking people for using them just makes it impossible to correctly use the language.
Forcing people to add age qualifiers whenever they talk about gender seems insane though. And while it is uncommon for kids to get higher degrees it still happens.
I think the reason this word choice is divisive is that male/female refer to biological sex, whereas man/woman refer to gender roles. A large segment of society recognizes that gender is something people are free to choose.
Parent comment was responding to a comment that used the term "male." Responding with equivalent phrasing and saying "female" in that context makes a lot more sense.
It is not surprising people react poorly to other people trying to police their natural language based on assumptions projected onto them about it.
Male/female to describe individual or cohorts of humans based on sex is pretty common language. It certainly isn't "fundamentally" wrong. It's just a higher abstraction. You have to infer the form of being from the context - usually very easy.
The rest of this article is just an author's assertions about how these words are used.
I have hired someone to work on my home's electrical who did not have a license. A lot of people let unlicensed tradesmen, family members, or themselves do work on their home. Frankly, like programming, most of it isn't really that hard.
No I would not. Home electrical wiring is becoming increasingly complex today, with the rise of whole-house surge suppressors, backup generators, solar panels, and sensitive expensive electronics everywhere.
Assuming that half of the US houses were built before 1980 (when electrics were still primitive and wiring was sometimes aluminum), fitting modern services into a home with knob and tube wiring and floating grounds (like mine) is NOT something I want to trust to a jackleg, no matter how many years of experience he has.
Makes it easier to apply for visas, if necessary. I might not use my Electronics Engineering degree in any way for work, but I would not be able to apply for a work permit without it. Maybe it's easier to write "degree" rather than "degree if you're a foreign-born person". The latter makes it seem like you're discriminating against foreign born applicants by having higher standards for them to clear. Which is true, you are discriminating, but only because the government says you must.
The way I phrase it for my min requirements is something like -- degree in comp sci, math, informatiks, or other engineering discipline, or similar engineering based work experience.
Really just trying to capture a low-level baseline.
> My suspicion is that it is because it is an effective class filter.
Not just that. College degrees are the perfect way for employers to outsource training (simply because an IT degree will transfer a lot of the knowledge needed on the job) and vetting (aka is this person able to meet deadlines with high quality output) cost and risk.
I honestly don't think any part of that statement is correct. What I learned at university was a lot less practical and applicable than what I learned getting my associates, and I've met PhDs while teaching train-the-trainer courses who didn't know how to use a mouse. Between that and what I've heard from people who did get a degree in computing it is filled to the brim with math and theory and very little practical application. That's valuable, but it isn't the same as training.
As far as vetting goes, my experience is that all it really vets is a person's familial wealth. Consistently I've seen that wealthy people have little trouble getting degrees and people from less wealthy backgrounds who get degrees had to work a lot harder for it. Things might be different somewhere like MIT, but most colleges are not MIT.
I think degrees are remaining a requirement because a hiring manager and recruiter at a large company are risk averse.
There's an old saying: "Nobody ever got fired for buying IBM."
It basically means that, if you use IBM for something and it doesn't work out, you can tell your manager "who could've guessed — it's IBM!", and you'll be mostly off the hook. If you were to use some promising new startup, even if it's more likely to do a great job, the fault is squarely on you if it goes wrong.
Similarly, when hiring an engineer, the recruiter and hiring manager can explain away a bad hire to upper management by saying "what a fluke, they have a degree from Harvard!", while they would be in a tougher situation if they made a bad hire and that person had no degree.
I agree completely. We just can't imagine doing things differently.
Fun anecdote: when I was 16 (with a couple years of experience as a developer) I was working for a company on some PHP codebase and they hired someone with a master's degree in computer science to work on it with me.
10 minutes after the first meeting he set his Skype status to "HELP: can anyone teach me PHP programming"
It's not a class issue, at least in some Countries. People I've met in the industry who don't have a comp/eng degree are typically more entrepreneurial ( and really smart), the education system was slow and boring and VERY outdated, they felt more effective not wasting time. I've worked with some really bad programmers who had masters degrees, after 2 decades I found that a degree really had no bearing on how effective someone was, it really came down to the actual person.
The problem as someone noted is HR doing the vetting, HR is in most cases filled with administrators, not problem solvers. I don't have anything good to say about HR.
This is precisely because education is used as a filter so strongly. In order to make it into the industry without meeting the education requirement you must be truly impressive in other ways.
People are nagging about HR but did those nagging people done any recruitment on their own?
It is not that you hire 1 person and you have all the time in the world to get to know him/her.
There is limited time, limited information and hundreds of people to be hired with hundreds of applicants.
Hiring is not scaling well, because it is time bound, someone has to read that CV, someone has to make calls. You have to have like 30mins - 1hr chat with applicant. Only way to optimize time is to throw away CVs which is not optimal because you might throw away good candidates.
On average, people with degrees are way better than people without degrees. The most competent people I have met are usually out of the best schools.
Of course there are exceptions, and many people like to point them out and John Carmack is one of them. But really, someone who passed tests, spent a few years with a bunch of smart people, and took lessons, all that relevant to the work to be done has a high chance of being better at it than someone who did not do that.
There are some really smart people who are not fit for school, it it not uncommon. But what is a very common is really dumb people that are not fit for school.
Another common trope with successful college drop out is that they are usually entrepreneurs, certainly because as drop outs, they are better off doing that since it is harder for them to get hired. And then, you get into survivor bias. You only hear about the successful ones.
So, companies hire people with degrees, because on average, people with degrees are better. Easier for them than having to go through thousands of inadequate candidates in order to find the exception. They may miss out, but for most positions, it is not that big a deal for companies.
Degrees are a pretty good proxy for skill, not perfect, but I can't think of a better one right now for normal people. Of course, it doesn't apply for John Carmack. But when companies post mid-level job offerings, no John Carmack will answer the call.
Yes, I have the equivalent of a masters degree, and my family is middle-class, but supportive and financially sound, which I think is fairly typical on HN.
I also correlate skill with familial wealth, but more weakly than with degrees. It is clearly easier to learn some skill if you live comfortably. Not that long ago, many families couldn't afford a computer, try learning programming without a computer. If you are very motivated, you can do a lot, I have a lot of respect for those who do, but again, they are the exception, not the rule. I mean, the rich have personal tutors, the poor have local drug dealers, you do you think is more likely to end up the most qualified for a job in a reputable company? The worst part is that the rich may also end up better at finding drugs...
Sure if you compare the extreme end of one bell curve with the middle of another then, hey look the p95 people in one outperform the p50 of the other! But if you compare the median developer in each then what? My experience is that if you’re > 40yrs old it’s irrelevant as the industry was immature but younger than that and the median degreed engineer I’d expect to come out significantly on top.
You also have the problem of survivorship bias - you’re looking only at the non-degreed engineers who survived in the job and not all of those who dropped out. When hiring the question is whether the non-degreed pool of applicants can on average be expected to match the performance of the degreed applicants?
Anecdotally < 40y/o great engineers I’ve encountered without degrees almost always have a degree in *something* or they spent their youth tinkering with personal computers - historically an even more inaccessible privilege than a college degree. They are p95 folks.
I certainly don’t think degrees have to be required but at the same time I don’t want to wade through rivers of unqualified candidates searching for that p95 individual. Bootcamps are kinda the exception here but that’s another topic.
Companies tend to put an emphasis on avoiding false positives, and usually don't care much about the risk of false negatives. They know it's possible for someone to be great without a degree, or any other random arbitrary requirement. But they know that there's a higher likelihood that someone without the requirement does not fit what they're looking for, so they're willing to lose desirable candidates as long as it removes a certain ratio of undesirable candidates.
This is specially true of companies that get thousands of resume submissions, like Google, Facebook, etc. For them, removing the noise is a huge challenge.
College degrees are a loaded concept in our minds; they are tied up with intelligence, knowledge, class, politics, etc. It's tough to untangle them.
But education does help tremendously; smart people go to college, and work hard to learn for four years. I'm not an idiot; I didn't waste my time; I learned a lot; it changed my thinking skills dramatically for the better. Especially for people in the liberal arts(!), what I see most is critical thinking: Being skeptical (about themselves too) and thinking powerfully and effectively and penetratingly. Look at all the nonsense that people believe on the Internet (and in business and elsewhere); we don't lack algorithms, we lack critical thinking. Also, college is very demanding on raw 'cognitive productivity' - inputting, analyzing, producing - more than business.
(Tangentially, I see both critical thought and 'cognitive productivity' slide as people get further from college and in more powerful positions. The BS we hear from some middle-aged SV leaders is laughably megalomaniacal nonsense. Only their egos can save us, all we need is what they want to provide, if you listen to them.)
But yes, people also use college as a class signal, unfortunately, and these days in the US college education correlates strongly with family wealth, IIRC the research. If we solve the latter, which we did easily in our history, we solve the former.
There used to be a time when “college dropout” was no big deal in the tech world so long as you could build things (see e.g., Facebook founder & Oculus co-founder) so to see a Masters degree listed as a “minimum requirement” really bums me out.
I have never remembered a time where "college dropout" was not a big deal in tech. It was such a significant thing that it was often one of the first few facts you would find out about a person behind some technology.
And jobs with degrees as a requirement were often the norm. For a senior position in a research oriented group that might be expected to collaborate with and/or hire from academic groups, totally normal to want a higher degree.
It has always been and is still the case that not having a degree is not a huge impediment if you have the chops -- You will find a place, or a place will find you. But it has never been the case that someone without a degree could ever expect to have equal opportunity to be hired into any job out there.
General SE hiring comment: One thing I realized, for most IT/SE jobs, the more accurately you describe your current stack in the requirements (or maybe the person you are replacing), the smaller your candidate pool is. You might even find that your candidate pool is exactly the people you are already working with.
Which makes it problematic when we make HR people do the initial screening. They would filter out a lot of good candidates just because they used Python instead of Java, or had been working on a C++ project one year less than the person leaving the team.
Could it be then that this is a communication problem between the Engineering team and the HRD? After all, the Eng'g team writes the requirements for the job post, HRD just checks it and makes it look attractive.
(Though honestly, I don't think this general comment applies to the job post in Carmack's tweet. Honestly I can't fault the job post for the way it was worded. I say the higher you are in an SE-org chain, the less this is a problem.)
> Which makes it problematic when we make HR people do the initial screening. They would filter out a lot of good candidates just because they used Python instead of Java, or had been working on a C++ project one year less than the person leaving the team.
Companies paying top dollar for the best engineering talent aren’t having inexperienced HR drones or automated software filter resumes. They have dedicated recruiters who have a proven track record of being able to properly interpret resumes and work with candidates to accurately understand their backgrounds. They’re also very good at working with engineering hiring managers to understand the actual requirements of the job.
That’s more or less what John Carmack is trying to say here: The requirements aren’t being used internally as a strict pass/fail criteria before anyone is considered for the position.
I’ve only worked for one company that had inexperienced HR people screen resumes. It was standard practice among engineering hiring managers at that company to use external recruiters for this reason.
Hiring managers aren’t dumb. Companies paying high six figures or more for engineers aren’t dumb. We don’t want to miss out on good candidates. I personally read every single resume that comes through applications to my job postings, and I know I’m not alone. Hiring is hard, and it’s not worth letting someone else screw it up just to save a little bit of time.
On the other hand, if you’re applying to a local dinosaur of a tech company that pays below-average compensation and takes 3 months to respond to candidates, all bets are off. You could indeed be up against automated hiring software and people who don’t know how to read resumes. But you also don’t want to work there if you can avoid it.
Companies paying top dollar for the best engineering talent aren’t having inexperienced HR drones or automated software filter resumes. They have dedicated recruiters who have a proven track record of being able to properly interpret resumes and work with candidates to accurately understand their backgrounds.
Like using Leetcode popular at these top places you mentioned.
>You could indeed be up against automated hiring software and people who don’t know how to read resumes.
I was interviewed by MedTronics in 2015 by a HR fellow who asked me if I used 'C++11'. He had trouble believing that the 'C++11' was a language standard (adding features to the language) & not a language by itself.
Why did you feel the need to be pedantic about that? It's not a strange question to ask if someone has experience in Blub 7 or its popular framework Blubbimate.
> That’s more or less what John Carmack is trying to say here: The requirements aren’t being used internally as a strict pass/fail criteria before anyone is considered for the position.
Then remove them? It says “Minimum Requirements”. It’s already proven that women, minorities and others on the outside don’t apply when they don’t meet these qualifications. You thinking that recruiters know what they’re doing at these companies, then we can only conclude they’re doing it on purpose.
What if we helped minorities, women, and others on the outside meet the qualifications instead of lowering the standards? And yes that also includes rewriting some of the qualifications to be more realistic, I am not discounting that.
This comment is coming off as incendiary, judging by the quick clapback style of response to simply the first clause. I want to emphasis I also believe requirements should be rewritten to be more realistic and pertinent to the job. The solution in my view is to cater to the people who do take job requirements seriously (which to my understanding is the reason why women for example are excluded more) rather than just throw your hands up and say "job requirements are a joke"
If John Carmack doesn't meet the standards, then you probably shouldn't worry about 'lowering them.' As if making tech more accessible requires lowering any standards, anyways.
I think these can actually mean the same thing here, it depends if the thing you're passing judgement on is interpreted to be the requirements, or the act of lowering the requirements.
You should worry about the requirements because they're bad and need fixing.
You shouldn't worry about the consequences of lowering the requirements because you weren't enforcing them anyway.
The issue is that people in the industry have been trained to know that minimum requirements are bullshit and apply anyway. So if women and minorites are underrepresented behind the gate, and see the gate as far more impenetrable than the groups which have already made it in, then setting these requirements aspirationally is keeping them out.
John Carmack is arguably one of the most qualified people in the industry for this role, and he doesn't meet the requirements.
So it's not the case that there's piles of white men who _do_ meet the requirements that get it instead, and we just need to help minorities get to that level, it's that there's piles of white men that recognise the requirements are nonsense, so apply and get it without meeting them. Setting the requirements to what the recruiters actually require isn't lowering the bar as a result.
It seems like it would be an much easier task to simply broadcast this knowledge to women and minorities than it would be to change the practices of every HR department, no?
Sure, and I've personally been in charity events for economically disadvantaged groups where that's been one of the more important pieces of advice we gave, so such approaches are ongoing, but still the studies indicate the message hasn't gotten through with current levels - so you'd need to either significantly scale up such efforts to reach more people at a personal enough level to convince them, or try another approach.
If that even works. Do white guys who apply say to themselves "those requirements are BS", and minorities say "I don't meet those requirements so I shouldn't apply"? Or is it white guys are more likely to not read them as closely? Or white guys are more likely to feel "I'm good enough to do it regardless of what it asks for"? Or something else? Because just telling minorities "the requirements are more suggestions than requirements" isn't going to help if it's any of those.
You know how peoples used to have folklores and stories that got passed down? Well, we still do, but the culturally transmitted information is now stuff like "Oh, yeah, those requirement lists are bullshit".
Of course not. There are even certain minorities which are known to extremely exagerrate their abilities and accomplishments (even when they wouldn't last a day on actual job).
I really think it's as simple as having friends/peers in the know-how or not. Some people have family members, classmates, maybe even majority of their social circle working in IT which obviously exposes them to inner workings including this issue with job requirements. And then there are people whose social circle is far from IT so they just don't have confidence to (pretty much) lie on resume.
So there are two options: tell all minorities to do something they don't know about, or tell people on the top to write realistic requirements. And you think that the right thing to do is to go around and teach this to every minority group. This tells a lot about your position of privilege.
Is it somehow secret knowledge reserved to "privileged" people that minimum requirements on job ads should be interpreted as a wish list more than a list of hard requirements?
It's commonly talked about in a lot of places online, including here.
It's also something you very quickly learn when searching for your 1st job. If you take minimum requirements at face value, there's almost no jobs anyone straight out of school would qualify for.
When HR creates fake requirements the goal is exactly to be able to weed out anyone they don't like. If someone is not from the "right" group they'll just let them know that they don't meet the "minimum requirements".
That’s a different thesis from what we’re discussing. To clarify, we’re assuming the interviews are fair and the min requirements are being munged by an HR department that doesn’t understand the list that engineering has given them and potential applicants are not even applying based on these garbled job postings. If you think that HR departments are biased and are making up fake requirements, that very well could be the case in some situations, but it’s not what we’re talking about here.
> Is it somehow secret knowledge reserved to "privileged" people that minimum requirements on job ads should be interpreted as a wish list more than a list of hard requirements?
It is definitely cultural knowledge that not all people have, and, more to the point, an understanding of what parts of a particular job ad that are stated as MQs are likely to be nice-to-haves and which are real MQs and which are nice to haves behind which are hiding real MQs (such as “Ph.D. in <field>” really meaning something like “a Ph.D. would be nice but a Masters is a hard minimum”), and therefore, how to evaluate whether it is worth expending effort applying for a job is non-universal cultural knowledge.
This often requires understanding of the hiring cultures of the particular job-field, industry, employer, and sometimes organizational subunit. Which is, for people just starting out (or looking outside of their past experience), highly network dependent. And equally substantively qualified people from underrepresented demographics arr likely to have weaker, in terms relevant to the task at hand, networks and therefore less access to this cultural knowledge.
> It's also something you very quickly learn when searching for your 1st job.
Or not, in part because there are lots of places where its not true and if you act like it is you will learn hard.
Lying about requirements in hiring may be common, but it is not a universal norm, and calling it out and denormalizing it is a good thing, even outside of discriminatory impact, but its also very much a practice that has particular adverse impact on underrepresented minorities.
In my experiences of mentoring underrepresented groups in the industry, it’s a matter of morality. Many see it as straight up dishonest to do so. It’s not just some secret hack they can just employ; you’re asking them to cast their morals aside and do something they believe is wrong.
I actually think this _worse_, let alone _much harder_ than simply telling HR to chill with that shit.
Additionally, as mentioned elsewhere in the thread, fake requirements can be used as a reason to arbitrarily reject otherwise good candidates (for example to provide cover for rejection over being a minority). So it's not unreasonable to suspect that minorities have learned to ignore those listings as they just waste time.
And why are women and minorities unaware of the wink and a nod? What else are they not aware of?
Are they not able to reason through the fact that the requirements must logically be not realistic? Are women known to not question authority to the same degree as men? Why not endeavor to fix that about women.
It is about who assumes rules will be bend for them. If you apply for role where you dont fit requirements, it can be interpreted as ambitions or arrogant or stupid.
I don't understand why being seen as arrogant or stupid by a faceless HR robot in a company you don't work for should matter to a person. It feels like a confidence issue that somebody should look into resolving so that they can live a more fulfilling life.
> It’s already proven that women, minorities and others on the outside don’t apply when they don’t meet these qualifications.
On the other hand, taking jobs that are a bit outside your comfort zone is how you grow. I agree that more realistic requirements would helps (especially if they're called "minimum"), but you also have to teach to people how to be ambitious.
Applying for a job that I don't meet the minimum requirements for feels like somewhere between “fraud” and “stupidity”. They're literally called “minimum requirements”.
Exactly. When they create fake requirements the goal is exactly to weed out anyone they don't like. Because if they find someone of the "right" group they'll give the job anyway even if the requirements aren't met.
Well, you're in good company, because describing them as "minimum requirements" when they clearly aren't also feels like somewhere between fraud and stupidity.
> you also have to teach to people how to be ambitious.
You need to train people to leave their ethics at the door and lie until they make it?
They say these are "minimum requirements". You called them "qualifications". They're not suggested capabilities that you should have to feel comfortable in the job. They have a separate section for "Preferred Qualifications", so these aren't just preferences, they're requirements if you're not willing to break the rules.
A certain subset of the population is willing to check the box that says "I meet these requirements" and then later push around the interviewer and say they don't actually meet them but that they ought to be considered anyways. This brash, often narcissistic, overconfident group is over-represented in management circles not because they're "more ambitious" than others but because they're willing to sacrifice their morals to cheat the system.
I’d agree with @LeifCarrotson on this. If an app says “minimum requirements: 8 GB RAM” any PC which reports that it meets the minimum requirements but actually has 4 GB RAM is making a false claim.
Ambition is what you can become, not what you are.
The only way of applying without dishonesty would be to do so while openly saying “I don’t tick all your boxes, but I still think I’d be a good fit because XYZ”. I might like this if I saw it in a job application, because it means the applicant was paying attention and not just applying to everything… but that doesn’t work so well when there’s already a “Preferred Qualifications” section, and might even have the opposite effect.
> If an app says “minimum requirements: 8 GB RAM” any PC which reports that it meets the minimum requirements but actually has 4 GB RAM is making a false claim
If a job says you need 8 years of experience and you say you have 8 when you have 4, that is lying. If you apply to a job that says you need 8 years of experience and you only have 4, that isn't lying. It isn't dishonest. It would be like the person selling that PC asking, "hey, might 4GB work if we throw in a better processor?"
Whether or not it's "moral" to apply to the job, this whole argument shows the problem with listing minimum requirements like that: in this very thread, you've got people saying "I'm not going to bother," so you've shrunk your candidate pool.
Is "doesn't want to waste our time when we tell them not to waste our time" really an important attribute for you to reject candidates on? Or would more accurate "minimum" requirements be better?
Applying for a job isn't claiming that you meet the requirements, it's testing whether you meet the requirements. So the closer analogy would be installing an app that claims to require 8 GB RAM, just to see if it'll run anyway on your PC with only 4 GB RAM. Maybe the installer will block you, or maybe not, as long as you aren't tweaking your PC to report to the installer that it has more RAM when queried.
> “I don’t tick all your boxes, but I still think I’d be a good fit because XYZ”
That's exactly what I meant by being ambitious. I think you shouldn't lie when applying for a job, but on the other hand there is a shortage of applicants in tech. You could recognize this as an opportunity if you're confident that you can "grow to the desired level" of the job offer.
You are correct, of course, but the context of this thread is applying to a job without meeting the minimum "requirements". Arguably the lie is the "requirements".
But what is a candidate to do? Skip the job, because they don't have the required qualifications? Assume the requirements aren't real? Dress up the resume with some fake barely there qualifications to fit?
Different cultural backgrounds will have different responses, and very few will really be lying.
The worst thing, though? The knee-jerk response to the ones that dress up the resume is often to want to add even more requirements...
I would still apply for it if I had most of the requirement but not all. They are not dumb and would see that on my resume and on a cover letter I would write explaining how I'm really eager to join them and that I would dedicate my time to catching up with whatever tech I'm lacking.
It's crazy to assume people would be stuffing their resumes instead of they making it clear the position is exciting to them and they would work hard to get up to standards.
I don't think it's dishonest to apply for a job you don't meet the listed qualifications for. As long as you don't represent yourself via your résumé or in your other communication as having experience or qualifications that you don't have, it's the equivalent of saying, "I know you want AAA, but would you take AA instead?" It's the same as offering a lower-than-asking-price bid on a car or house.
Nearly all business interaction is a form of negotiation. If you look at a job description and feel that you'd be able to succeed at it, that's usually enough to get started. Clicking "Apply" doesn't mean you are certifying that you meet the minimum requirements. It simply means you'd like to be considered for the job. The worst that could happen is you've wasted somebody's time (which is true of probably 90% or more of all interviews anyway).
In my 15 years in software, I've interviewed at probably a couple dozen different places. Not once have I been asked to promise that I meet the listed minimum qualifications prior to submitting an application.
It may be that de facto these are not requirements, but for some of us who take things at face value and feel dishonest if we apply to something that has requirements, it is not that simple. It becomes more complex when you are of deontological preferences where you may have a universal rule forbidding you to do anything that you may deem misleading or dishonest.
Although, I do not engage in judging others much, I would feel a strong disdain toward disregarding the minimum requirements because it supposes that I suppose that the other person is not 100% honest/clear in their intention and certain set of values may forbid some people in what I guess may be called ''bad faith'' i.e. presupposing that people are dishonest without having a viable reason for thinking so.
Well these are just some thoughts but I have a huge mental block in going against requirements, rules etc based upon the idea that the you presuppose that the other person is dishonest because then it would follow that one lives by the presupposition that everyone is being dishonest until otherwise.
Of course, for more utilitarian oriented people there may be more room for flexibility. However, in a pluralistic society I would value a wide array of ethics compatible in a free and fair market which respects fundamental human rights.
> they're requirements if you're not willing to break the rules
It's an application. You're applying. It's one thing to say the job description is misleading. It's quite another to presume someone applying while not technically qualified is being dishonest.
I don't know precisely how that job platform works specifically, but in general, I don't see anything wrong with it as long as you're honest. In the comment chain I was replying too, people are saying that John Carmack is saying that you should not take the requirements as a strict pass/fail: "That’s more or less what John Carmack is trying to say here: The requirements aren’t being used internally as a strict pass/fail criteria before anyone is considered for the position.". The comment I replied to proposed to removed them completly because they cause discrimination based on confidence. I added that even if you remove discimination in the applying process, the same exact problem will manifest itself everywhere on the job, which is why removing the requirements is not a complete solution to discimination.
Is your conclusion still that I'm suggesting to "train people to leave their ethics at the door and lie until they make it?"? Are there any points that I can clarify for you? Do you have any suggestions to protect the systems from people that exploit it by sacrificing their morals?
My conclusions remains that a nuanced flexibility between honesty and fraud is advantageous for competitive job seekers.
I'm aware that the world isn't black and white, someone who submits a truthful resume to a job posting where they don't technically meet the qualifications has only made a little white lie that's almost universally forgiven, you're correct that they'll likely look ambitious and confident if they tell the interviewer "if you want to be super technical about it I don't meet this one little qualification but I think you should ignore that because factors X and Y make me a great candidate".
It's this culture of pervasive little white lies which is harmful. Be brutally correct, not just sufficiently honest to brush off these occasional inconsistencies. When someone does make a little white lie, call them on the lie and take the mandated action. Otherwise people who are most flexible with what's acceptable will advance more than those who require correctness.
>A certain subset of the population is willing to check the box that says "I meet these requirements" and then later push around the interviewer and say they don't actually meet them but that they ought to be considered anyways.
Yeah, I'm honest in interviews. Getting past Automated Resume Sorting Equations (ARSE) is tough. As soon as I talk to a real human, I'm honest and explain what I know and don't know.
That's why I keep applying for jobs as a structural engineer; eventually somebody will just assume I'm credentialed. I'll just figure it out on the job.
Call me when you need some surgery done! I've never been to med school or anything, but I both am really good with a knife in the kitchen, AND I've got an excellent track record following instructions on DIY Youtube videos.
If you know those are your only options why are you putting out a job description asking for something that doesn't exist?
If you didn't know ahead what your options were, and you were willing to accept someone who isn't an actual surgeon, maybe you would have preferred the person who whittles, has a biology degree, also is great with DIY videos, was a combat medic, AND isn't squeamish at the sight of blood, unlike me? Because she was turned off by the fact she didn't meet your listed minimum requirements; all you got applying are me and your nephew.
The only reason I can think of is as a smoke screen for hiring whatever candidate I feel most comfortable with, regardless of qualifications! If no one can live up to the standards then I no longer have to trust qualifications, everyone understands that I now must use my best judgement.
Except that women and minorities tend to be easily discouraged, not "ambitious" and confident. Expecting candidates to push the boundaries of their qualifications is a bias in itself.
Except that women and minorities tend to be easily discouraged, not "ambitious" and confident.
As someone from a rural background where the best case was usually HVAC repair and the not-too-uncommon case was addiction and stagnation, and who came into tech from far outside the normal path, this is the problem to fix, and tech company job requirements are way too late in the pipeline to exert much leverage there. This needs to be solved culturally, across years and generations.
> This needs to be solved culturally, across years and generations.
That would be great, but if we can substantially reduce the impact of the difference in confidence by being honest about minimal job requirements right now, shouldn't we also do that?
A "job outside my comfort zone" and "lying that I meet the minimum requirements" are entirely different things and it's a shame the business world tries to conflate the two.
I'm not in those groups but I also don't apply, because applying to jobs sucks ass, and I want to minimize the number of times I do it. So I make a judgment call every time - "How likely is it that this will be a waste of my time?" I screen them harder than they screen me. If I don't meet the stated requirements I don't waste time on it. I don't allow for the "real" requirements being different from what's stated, because I'm not going to waste time on guesswork, deciphering, or dealing with incompetence, lies or mere bullshit. Move on, move on. Responding to postings is a low-yield activity anyway. Jobs come from knowing people.
Extrapolating on this further, if it’s _proven_ that certain demographics won’t apply given this “mechanism”, a company could likely open themselves up to a very tenable lawsuit if they post a position with requirements they don’t really follow. It would be quite easy to make the argument the company is doing so to filter in white males.
It strikes me that there is some kind of market effect to embellishing the requirements. If a company is honest about requirements in an environment where everybody else exaggerates, applicants who don't meet your more honest but lower requirements will think they're embellished, because everybody does that, and apply.
Maybe they are using it as argument for wage negotiations. Kind of "you are clearly under qualified but we can still make use of your meager skills if you work twice as long for half the money". Don't quite remember if Facebook was part of that wage dumping agreement Google and Apple participated in.
I guess I've heard of another type of gaming of requirements: the H1B thing. The story here goes that they need to demonstrate they looked for someone with the same skills as somebody hired under an H1B. So they post job listings that are extremely specific to the person they hired, that no one can match.
No idea if that's true. I heard it claimed by many. I guess it sounds kinda implausible for a large company, they would need to create possibly thousands of fake job listings.
> On the other hand, if you’re applying to a local dinosaur of a tech company that pays below-average compensation and takes 3 months to respond to candidates, all bets are off.
The key word here is tech company. There are many other sectors that employee below average labor for HR recruitment but the work an engineer can do there can be quite amazing, especially when the engineer realizes there is lots of room to innovate and optimize their workforce and what/how they output.
My brother has a very senior role (non-IT). Probably in the top 5 in the UK, possibly even top 3, out of perhaps 30-35 jobs? Proven long-term record.
He was going to transfer to a different company and was told that company rules meant he had to go through HR "as a formality".
He was blocked by his HR interviewer on the grounds that he was too successful and therefore wouldn't be "hungry" enough for such a competitive position.
He couldn't believe it. They didn't want someone with a proven record of repeated long-term success?
The person who was trying to recruit him was furious, but as my brother said, this was indicative of a wider problem, and so he declined to move there. Instead he won his Industry Award for the following year at the company he did move to....
I would interpret that as a face-saving way for the HR person to say: you're too good to work here, and will feel alienated and alone surrounded by comparative mediocrity and incompetence. Then, as a cherry on top, they demonstrated the truth of the implicit assertion.
In the end, I'd say that HR person did your brother a solid.
I'd interpret it differently as well - that the HR person realized that the compensation they could pay would not match what was required and they didn't want to deal with woo'ing the candidate only to offer a lowball offer they would refuse.
Based on the story it's also entirely possible that the HR person just disliked the guy for some unrelated reason, or had someone else in mind for the role, and came up a plausible excuse for the rejection.
I've interviewed people before and thought "I'm going to reject you, and you should thank me".
To be clear, not all of the jobs I've hired for sucked. But there was one project that was designed to chew up your soul (mine included), and we had very specific requirements- and people that had "extra" skills weren't qualified. I learned A LOT from that project.
I was working for a small department inside of a large company. The large company was migrating databases (it was a 2 year journey), our department was TRYING to get sold.
In our area, we had 2 teams racing VERY FAST to 2 different objectives:
1) migrate ALL code and data to the new system (because it needs to be available on the new system) AND
2) archive everything (because we might sell all of our stuff and be unemployeed)
It was gut wrenching to look at code that I put my heart and soul into and know it would never run again. Or to look at code with comments like "I just threw this garbage together - it needs to be fixed, circa 5 years ago" and know it would never be fixed.
Probably thr HR representative wanted to hire their friend or family. Lots of companies dont screen for hiring family members that and dont have any policy against it.
I had a similar personal experience. I was hired by the technical team at a very big company(after 6 interviews; 3 face-to-face and 3 remote), but the HR was not sure. All my experience before that was working for smaller companies. The argument the HR made was that I will not survive in the big company as most of my experience was with smaller companies. The HR was right. In a year I just could not stand the inefficiency and waste of talent at the company. I moved to another division within the same company. The same story repeated. I left the company after 2 years. Interestingly I was not the only one. This was a major problem at the company. But the company is so big that it does not even care if people leave as there are a lot of engineers knocking at the door every single day to get in!
I think where things fall down is on hiring junior candidates, or people re-entering the job market after years out of it (like my wife). "Minimum requirements" in those cases actually have a very deleterious impact because they filter out people with intrinsic motivation or talent but slightly different experience backgrounds. Either by the HR person themselves (who usually doesn't care much because it's a junior position, etc.) or the candidate (who gets put off by the min requirements label).
I'm not sure the answer to that could be generalized, probably depends on the company and HRs in question. I, for one, had a very difficult time explaining to HRs that I don't care if a candidate had any experience with PHP whatsoever (it was the "main" language in that company), given he is simply ready to use it in a future job. I'm pretty sure they felt like they know better than me. Apparently, the idea that being good in programming and being proficient with a specific language are quite tangentially related skills is difficult to grasp.
I can only hope that other HRs in other companies are a bit more useful.
For example, when dealing with accounting jobs, they'll sometimes ask for specific certifications.
We've ended up just basically saying "3 years experience with developing software" and shoved everything else into "some of the following would be nice".
I wonder if the problem is calling them programming 'languages'.
Learning a new human language is hard, learning a new programming language not so much.
You wouldn't hire someone for a job requiring Spanish if they spoke Russian instead.
For non-technical people the metaphor around
'languages' might be confusing.
You mention accurate description reducing the candidate pool, which I can agree with when it gets long.
Another big issue is the lack of precision in the description. When can you claim you know or are an expert in tech X? And then do that for 10 out of the 10 listed competencies/technologies? Who determines if I'm highly motivated? The specs they list are simply not realistic and ask for everything and the kitchen sink. Candidates have seen through this BS and just apply to anything that might possibly fit them. This means that companies get a ton of underqualified candidates. If they were just real and cut the BS, that could make the whole process more efficient. Dont even get me started in "5 years experience" in a tech that's only been out for 3 years or less.
Reading job posts is probably something I hate even more interviews. At least in interviews you can have a conversation and get some questions answered.
Here's your mistake. Now you have your product engineers screening a thousand resumes every week and doing endless phone interviews.
Yes, HR is bad at hiring engineers. Nonetheless hiring engineers is a lot of work, and engineering departments need someone somewhere to take that load.
The solution is hard[1], but at the end of the day needs to be something much closer to "better HR" than "don't involve HR".
[1] And something very few large companies have cracked. Small outfits can usually get by with networking via their existing staff, but that doesn't scale well and leads to feedback effects like toxic monocultures.
> Could it be then that this is a communication problem between the Engineering team and the HRD? After all, the Eng'g team writes the requirements for the job post, HRD just checks it and makes it look attractive.
It depends on the HR department. Some are under pressure to "add value" to hiring, so they insist on rewriting job reqs and screening all applicants. At a Fortune 50 company I worked at, my boss got in trouble because he sweet-talked someone in HR to print out all the resumes they rejected and secretly deliver them to him. He resorted to this after he informally recruited a new hire, wrote a job description specifically targeted at them, and then, after waiting two weeks for their application to filter through the system, found out that HR round-filed it because they supposedly weren't qualified.
HR refused to collaborate with him on editing job descriptions, so every time he submitted one, he had to check every day until he found out what garbage they posted so he could go beg them to fix it. They would randomly add technologies and "change the wording" of desired qualifications (how do you "change the wording" of proper nouns and jargon from somebody else's field?) and they were especially fond of turning nice-to-haves into absolute requirements because we supposedly didn't have enough. My boss was convinced they were under pressure to filter out a target percentage of applicants, because he begged them to just pass all the resumes to him, and they refused, hence his cloak-and-dagger tactics to get his hands on them.
That just happened to me! I have been a contractor at a Fortune 50 company for a while and they opened a position for the job I'm doing. I applied and was rejected by the HR algorithm (the rejection email came about 2 minutes after I submitted my application so I seriously doubt that any humans were involved). The job site I had to apply through was taleo.net.
Centralized HR is for managing benefits and setting policies. They never help with the hiring process, in my experience.
I had a similar experience years ago. I was bootstrapping a startup and using consulting to pay the bills in lean months. Eventually I decided that I wasn't going to reach my market without massive investment to keep up with the PR of the 800lb gorillas, and I didn't want to go that route.
One of the engineering managers I had been working with as a consultant had tried to recruit me more than once, so I decided to accept. But shortly after a mandatory HR screening call, I got an apologetic rejection email from the engineering manager.
I did, of course :). But eventually the product revision I was consulting on was discontinued, I didn't feel like being a salesperson and a dev anymore, and I slowly found my way back into the traditional job market.
I once applied for a position at a company a friend worked at, and got a rejection less than a day later. I told this to my friend and he presumably got in touch with someone to assure them of my competence, and I got an email with steps to move forward to interviews the next day. HR filters are weird.
>At a Fortune 50 company I worked at, my boss got in trouble because he sweet-talked someone in HR to print out all the resumes they rejected and secretly deliver them to him.
I did exactly this, though I'm pretty sure I'm not your boss.
As a side note, HR's insistence on doing the initial resume review and phone screens usually skews the entire recruitment process. I've had situations where HR gave me 20 resumes and didn't even look at the rest.
Our HR just checks if they completed the application correctly, i.e, included a CV and (if requested a covering letter). If they fail this bit they don't get to the sift. The sift of CVs/resumes (to whittle down for interview) is done by developers and so are the interviews.
How else can i whittle down 30 applicants to 5 or 6 to invite to interview?
edit: saw another response which said a cv was a resume, this is correct. In the UK we use Curriculum Vitae (CV) instead of resume. They are the same thing. Not sure what you may have thought a CV was, however I would be interested to know.
In the US a CV is a comprehensive list of all previous work in the field, while a resume includes only the most recent/relevant experience. The term is primarily used for academic positions, where it includes a listing of all publications.
They could be meaning a resume as used in the US. Outside of the US (or at least in a number of European countries) what is called a resume in the US is referred to as a CV (though my understanding is that it's generally a few pages long, not a single page). Though this comes not from first-hand experience, but a lot of in-depth conversations with friends/coworkers from overseas, so I might be wrong here.
Our HR was like this too! They were amazing. They sent a spreadsheet with each applicant in it, greyed out the ones who didn't follow instructions, and bolded the ones that they thought I should read first based on how close their applications were.
I read all of them, even the greyed out ones, until I'd read enough to trust that the HR team's filter was well-calibrated, and I also let the HR team know when they got it right/wrong so they could improve their filtering process.
Overall it worked great but I understand that such functional HR teams are the exception, not the rule.
This also happened to me. Was seeking promotion for the job I was already doing. But university rules required the job be posted for 30 days. So I wrote the job description and requirements sent it to HR. And submitted my CV, which the job description was based on, into their portal. And was roundly rejected, automatically. My manager spoke with HR to ask what the hell was going on. And found out some politicking was involved and my CV was dumped for a better connected candidate.
This is one of the hardest things for me to grapple with in my career. I hate that there is realistically a hard ceiling to how successful I can be because I don't have strong network effects working for me.
I'm from a pretty small town, low income family. Edit/ I also did my Computer Science degree at a small university that was a community college when I started my degree. /Edit. Making my way in the world often feels like being a small fish in a vast ocean. People from wealthier families, or who have built-in connections from growing up in the big cities or going to prestigious universities don't really understand what an advantage their networks are.
It takes time. Some people have a jumpstart, it is true, but there are ways for us who didn't, to build a network of trust.
Be good at what you do, genuinely help people, without expecting or calculating whether it'll be beneficial to you, stay close with those who help you, and who you helped.
Eventually, you'll find your way into a good cluster. Some start in the middle of it, we started in the periphery. Accrue good faith and trust and it will only keep growing. It's non linear. Something something preferential attachment.
Don't get me wrong, I do quite well compared to a lot of people. I'm not unhappy with my career. I am just not great at networking.
I have also had bad luck with jobs so far. Everywhere I go, people above me seem more inclined to try and keep me where I am than help me improve and grow. I always have very good relationships with my teammates though, so I know I'm doing something right.
I feel ya, people are hard, and bosses really influence how we experiences work. Advocating for oneself IS hard, more so when we are relatively comfortable.
I have some similarities in background as you and I _hated_ networking but I've been very happy with my career trajectory. You need to make sure you filter out highly political jobs during your job searches, do the best work you can, and maintain touch with the good people you've worked with. For the latter I email/text folks I want to work with again every quarter (using a calendar reminder to prompt me) just to keep the connection warm. For the first one, asking questions like "How do key decisions get made at this company?" or "Can you tell me about the last project that didn't go as planned, what happened afterwards?" will give you reasonably strong signal.
> You need to make sure you filter out highly political jobs during your job searches
I think this has been a big source of my grief so far. I keep winding up in heavily political companies.
Thank you for the advice. Networking is definitely something I intend to take more seriously. It's become much more clear to me how important it is as my career progresses.
Understanding social hierarchy is a skill that can be learned and you can raise your position in that hierarchy using that skill.
When people say "I'm not political" they're really just confessing to low social status and acumen. I personally wish things were different, but as you note they're not. So one may as well accept reality and play the game as best as one can. One can have a very successful career as a follower if one recognizes the traits of good leaders and the traits that good leaders are looking for.
Maybe. They could be fearing being disliked, estranged, or an argument for having the "wrong" beliefs. (Politics, religion, computer languages.)
Much like gossip, politics is pack violence and order by other means, and is usable by people who have less physical power but more social influence. If you don't have either physical and social power, then you're dismissed as not a threat and ripe to be stepped-on. Gossip is often a political attack technique to take-down a physically-strong leader.
I would agree that almost all companies are political to some degree, but I wouldn't agree with heavily political. It's a sign of poor leadership if they end up in that state because you can minimize the impact of different goals and incentives, be they personal, professional, or organizational which is what drives basically all of politics.
I was in a similar situation to you and through work I've developed a pretty good network of former colleagues. After about 10 years, it my network ended up stretching so far that I had contacts at basically every major company my city.
I mean, very few of my former colleagues ended up in the upper echelons of businesses, but almost all of them are in senior IC roles for which a recommendation carries a lot of weight, especially for an opening on their own team.
This happened a lot at the university I went to. Most jobs were civil service and applicants got extra points for veteran status, disability status, etc such that they were always the first in line for a position. To counteract this hiring managers would construct job requirements such as X years of experience in a combination of Y homegrown or highly customized applications and workflows so that basically only one person in the world (the person they wanted to hire) was qualified to fill the position. I'm not sure this was illegal but it seemed very unethical.
I have been on the other end of that. Applied for a network engineering job at a university, as the role was publicly announced. Ended up having the internal "designated candidate" on my interview panel. Not entirely surprisingly, I did not get the job.
I don't think I was supposed to know the name of the internal candidate, but having friends who worked for the uni, I knew the name and, well, the internal candidate would certainly have had a better culture fit.
HR at a previous employer would write the job descriptions in partnership with the hiring manager. Unfortunately, the descriptions had to apply to everyone in the position because they were also used for compensation research.
It took one manager months to get “Windows NT” removed from the description for a network position.
It's a joke and you're getting downvoted, but that is exactly the kind of reasoning the HR team I was describing would use. Lots of "common sense" like that, but they would use their own "knowledge" to do things like replace "OOP" with "Java." Harmless stuff if they had been working collaboratively (preferably in real time) with hiring managers who could double-check their work, but they were unwilling to do that. They wouldn't even let hiring managers view a req before they published it. And if you suggested that they not change technical terminology and not promote nice to haves to must haves, they acted like you were attacking their professional ability and their right to earn a living.
I worked at a company where the DevOps team was having a hard time retaining employees. New engineers were staying on average for less than 1 year, and that was when we'd actually get candidates, oftentimes going months without a single person applying. This was a large employer in a small town that paid extremely well and had the best benefits I've ever had so I couldn't understand it. That's when I went on the website and read the job posting. Minimum requirements were several years of experience each in Java, Python, and JavaScript. The team didn't write code in those languages, why were they mandatory requirements? The people that did have those skills were unhappy once they realized they weren't going to be doing any coding on this team. It made more sense to me to only list things like Ansible or Terraform or Docker, things the team used on a daily basis, and be up front with candidates about the job responsibilities.
On the same team there were a couple people who came from non-coding backgrounds like Unix systems administration and production support, they loved the job and had been at the company for many years. Why weren't we looking for more of those people? My boss told me that HR was judged by the qualifications of the candidates they allow to proceed in the process. No one would ask questions if you raised the hiring bar, or you might even get kudos. This made no sense to me as that would be like an engineer who only did work one day per month, not taking any chances on touching systems or code that had any chance of introducing a bug.
This was my first job out of school and it taught me that in these large Fortune 100 companies, through no malice at all, silos can create policies that make complete sense to them that don't actually accomplish anything.
FB job reqs are drafted in collaboration with engineering, not imposed by HR (but really they are often copy-pasted and slightly modified from existing).
If you look at FB job reqs in prod network engineering (network in title, infrastructure is area of work), the qualifications should be reasonable. This covers most roles that are not pure SWE or rack and stack (SWE and "deployment and support" cover those roles).
~3-4 years ago a director shared a req and asked that we pass it on to our friends / anyone that might be interested. Some of us asked why specific items were in the req since they didn't reflect the team or our work. We also noted how it reinforced bias (women tend not to apply if they do not meet _all_ quals. men tend to apply if they meet _any_ quals).
Response was "good point, we'll remove them" and our reqs got a lot shorter and less exclusionary.
You might note that we tend to not have any education requirements. At one point the req listed university degrees. This was funny because we had a bimodal distribution of uni drop-out (maybe no high school diploma) on one side and MS or Ph.D on the other.
Yep, we used to do this dance on almost every job posting. Manager sends out the requirements, job posting goes up with completely different requirements, manager spends weeks getting the wording updated to something approximating the original... meantime, all our referrals have been rejected for not meeting the (incorrect) posted requirements.
As much as we all love to blame HR it is unfair to put this on HR.
The hiring manager writes the job description and comes up with the requirements. In many cases these job descriptions are written by a senior IC and the hiring manager just massages.
The missing step can be that in a large company HR needs to assign a grade/job type to the role before they advertise it and these are standardised typically with respect to both education qualification and years of experience. The combination of the hiring managers spec and the HR grade/type definition is what gets posted. This is usually the cause of a job asking for pointless qualifications or more years of experience than a given technology has existed.
I work super closely with recruitment and HR to ensure this doesn't happen. If they are unsure of a candidate, they just send a quick note on slack asking for a thumbs up/down on them. Honestly, after a year or so of experience, they kind of learn what technologies are analogs to the ones we use.
We recently had a person who did COBOL apply, which through recruiting for a loop.
I do get frustrated with the way our engineering manager write job descriptions. Especially since they can be wishy-washy on what they actually want (early on, candidate is good, but later on, mgmt wants more experience). It's been even worse recently as they've been just throwing out seemingly random job titles in order to just get candidates to bite. So I go for an interview and see they are applying for a job title like "data science engineer," and when I ask the manager wtf that is, they say, oh, that's your position (def NOT data science), but that job title gets more applicants.
I used to think HR was the problem, but the more I make sausage, the more I realize that engineering managers are a big part of the problem.
> You might even find that your candidate pool is exactly the people you are already working with.
We once had an open position on a team that was tied to our office in a lower-population city in a low-population US state. The wording of our listing made it clear that the list of technologies was mostly "nice to have" and not strictly required.
The first recruiter just punched in all the technologies into LinkedIn search and sent a form message to everyone that matched and already lived near the office. The result: My entire team got emails offering them to interview themselves for their own jobs.
This is very common. I work as a contractor, and recruiters (for permanent and contracting work) very often contact me to work in projects I am already in. I mean it makes sense, living close by is one of the major bonuses when I decide to take a project; the farther away the less likely I'll take it - especially since the companies usually have a fixed hourly rate in mind, and the farther I live away the less likely I would be able to compete with local contractors that can offer lower rates - so I don't even waste time to go through the application process.
> Which makes it problematic when we make HR people do the initial screening. They would filter out a lot of good candidates just because they used Python instead of Java, or had been working on a C++ project one year less than the person leaving the team.
Part (but not all) of the problem is resume spam. There's a small amount of people who apply for every job under the sun, even though they aren't qualified.
That, IMO, is what HR resume filtering should be: Making sure someone isn't just spamming their resume. Otherwise, the "We use FooLang, so your X years of experience with BarLang is okay" really is a decision the hiring manager needs to make. [Edit] Ideally, HR should know enough to not pass along a resume from someone who just completed a 3-month coding bootcamp for an architect-level position.
I'd like to point out that that is exactly what you want to do sometimes. Our HR department absolutely refuses to put out reqs with anything more specific than a generic software engineer description, because they rely on having a general pool of applicants that they can shuffle around to different teams.
While that might work for most software teams, my team has a couple of specialties that are not just hard to hire for, but also hard to train for, and sometimes take years to learn. If we hire someone with general software engineering expertise, we typically consider their entire first year to be a training year with extremely limited productivity...even if they are a well experienced senior level engineer.
So we try to put out more specific requirements: Experience with geospatial information systems and standards. Or experience with constraint programming or other forms of mathematical optimization like LP, MIP, IP, or QP. Or experience with spectrum licensing regulation or 3gpp standards.
And because they don't put out easily searchable reqs, we never get candidates that we wouldn't need to train extensively, unless we do their job and seek them out ourselves.
> You might even find that your candidate pool is exactly the people you are already working with.
I call this fingerprinting.
If there’s 5 different choices for each layer and there’s 5 different layers, assuming an even distribution, there’s 3k combinations right there. If you require that combo, you’ve just eliminated 99.97% of candidates.
It’s not just an IT problem.
“We want someone with experience in (already niche industry) but uses our (unusual choice of) system”.
I get the problem you’re trying to solve with a shovel-ready candidate, but…
> General SE hiring comment: One thing I realized, for most IT/SE jobs, the more accurately you describe your current stack in the requirements (or maybe the person you are replacing), the smaller your candidate pool is.
Perhaps the solution is to not always aim for the narrowest possible fit. There are many people who would like an opportunity to learn new things and grow.
I understand that this thinking can't be applied to all positions. If, for example, you want to bring in someone new to your company and put them in charge of "everything Foo-related", then you need someone with suitable experience in Foo. However, too many companies tend to extend that too far down the ladder.
I was turned down in screening interviews last week for not enough experience in tools - hr thought were critical but they clearly weren’t. Why use non technical hr?
I am trying to find front end devs to work on an Electron app, using react. Recruiter is ignoring people with Node/ React or Vue, angular etc and just replying that there are no candidates!
I find it insane that HR is interfering with engineering hiring.
In all my jobs we ALWAYS sidestepped HR to do any form of hiring, even though we used recruiters which had their own ways of sourcing candidates (that was mainly useful to get candidates of a certain race and gender to fill in diversity quotas).
The CTO has the budget and agrees benefits with HR. After that the job post and ways of sourcing candidates is through the engineering team.
Once we do an offer, the ball is back to HR and they finalise the contract / bureaucracy.
This makes me laugh exactly because the number of jobs I've seen advertised after I've left them to do other things because they weren't challenging enough, only to see that the prerequisites posted for the "new" job would've screened me out before I even had the chance to interview and are far beyond what is necessary to do the job well.
99% of the jobs that high quality developers could do that they're screened out of are because of poor concepts of what is needed to be successful.
If someone has decent problem solving and analytical skills, can understand the problem domain and has the capacity to learn a new language/framework/construct in a short period of time (which frankly most of us can, and do with frightening regularity), unless you have something miraculously niche and technical, they're capable of doing the job. All you need to worry about is are they a competent developer and whether they'll be a good personality fit for the team.
They say we rise to the level of our incompetence, but most developers never really grow out of solving problems and only get better with time and experience.
Most degrees and professional certifications are meaningless to people who only care about the knowledge - there's no point in chasing paper that's out of date the minute the course is designed. We don't want that knowledge, it's old. We want current information which the courses and qualifications haven't been designed for yet.
> Most degrees and professional certifications are meaningless to people who only care about the knowledge - there's no point in chasing paper that's out of date the minute the course is designed.
This is a stretch. Most of what you learn in a CS curriculum is extremely useful. Things like algorithms, computer organization, object oriented programming, operating systems, networking, mathematical approaches, etc. aren’t going anywhere anytime soon.
Yes and no. I have never implemented so much as a linked list never mind any more complicated data structures at $JOB. These things are provided by standard libraries.
But knowing what they are, and when to use them, is useful. As is the general background knowledge when it comes to understanding something new (since everything devolves to machine language eventually).
> Yes and no. I have never implemented so much as a linked list never mind any more complicated data structures at $JOB.
And I never divided four digit numbers per hand, yet I don't think we should drop the requirement for primary school math. I fully agree with your second point, but I think the critic is getting too hung up on the vehicle used for teaching these concepts. You don't need to implement a linked list per hand in your day job, but you need to grasp the concept and have an easy task to learn to program on.
My undergrad course didn't say shit about losing cache locality + indirection overhead, allocation cost per entry, etc. You will almost always be better off using whatever the default List implementation is in your standard library, and if performance really matters you will be better off using some optimized tree or whatever fits your use case and measure. Languages these days are not C, you are provided with really good defaults, reading the usage docs and ignoring the internals will yield better results than basic theory without testing your assumptions. You really need to know what you are doing to beat the standard library offerings - and knowing what is available > having a grasp of the underpinnings.
Knowing about algorithms can be useful, recognizing your data structure is a cyclical graph or a DAG, implications of it, knowing how topological sort works, etc. is useful - but even there - if you are good with search you can find the solution to your problem, you will just take more time.
It's extremely easy to "beat" the standard library offerings by incorporating what's unique and specific to your situation. They have to be super generic to be in a standard library. Of course, don't re-implement a completely generic list data structure. But implementing a particular kind of dictionary that takes advantage of assumptions that are true for your use case (but not true in general) and is custom tailored to your environment is extremely valuable.
>But implementing a particular kind of dictionary that takes advantage of assumptions that are true for your use case (but not true in general) and is custom tailored to your environment is extremely valuable
This requires way more knowledge than I got from my undergrad classes and in comparison learning that part is trivial forward to the hard part that you can pick up in "refresher" part of a book/article on the topic.
I doubt your average undergrad could do it so I disagree with the extremely easy part as well (heck I doubt they could write a bug free version in the first place, even less a better performing one) that a correctly selected std lib container. Well at least not without researching and testing a bunch at which point the background knowledge is trivial in comparison.
My step son is getting into programming and he told me about a console app he wrote where he stored the data in a flat file. I suggested he look into storing it in json format.
For me, the biggest benefit of a degree is more to show you what you don't know in pretty broad strokes. It's up to you to investigate deeper either on the street or with a more specific curriculum.
Broadening the possibilities of knowledge is pretty big. I've known of several otherwise great self-taught developers who didn't know much about database design because they just never really ran across it.
It often resolves to “we want someone that is supposed to be 100% efficient from day one”
When that assumption is explicitly discussed and dropped, the job postings can be backed to realistic levels of expectations and interviewers get more leeway on choosing profiles that could be interesting down the line instead of just playing Tetris with the listed qualifications.
Nobody can be 100% efficient from day one, because even with all other things being equal, the new guy still has to learn all the idiosyncracies of your existing codebase (which is quite likely full of technical debt and poor decisions), your team, your process, your management style, your politics.
Realistically, even the basic "we want someone that's 100% efficient from day one" is the most unreasonable expectation you can have as a hiring manager, and is usually the one spurring the "high quality candidate shortage" complaints.
IMO, if someone thinks you are going to get much work done the first week they are out of their minds, or their software is a trivial console app contained in handful of classes.
I could probably jump into a new position and start cranking out code fast, but it would be different than any code in the existing code base, and could apply techniques not used by anyone on the team. This would result in an awful piece of code to maintain for the team.
There are just so many different ways of writing code that a dev would probably need a few weeks to get comfortable with the code base. I speak openly about this during interviews. One interviewer from a fortune 1k company said I would be given about 6 months to get comfortable with the code base and start with smaller tasks. Another company said I would be building trivial things for a few weeks before touching the codebase.
Unless it is a fresh project there is no such a thing as jumping in and cranking out code day 1.
I've written code on day one at some positions. Usually it's something simple like a bugfix or refactor, but it is certainly working code. Of course, most of the time I spend doing this is figuring out how to work with the codebase and how to submit my changes.
The best hires I've ever made have started submitting code reviews within 24-48 hrs of being onboarded. Sure it's not for something like Microsoft Windows, but still this has been a hallmark positive indicator of a good hire for me, and applicable to many (but not all of course) frontend, backend, and app development projects.
Now maybe there is some discussion to have about what "100% efficient" means. Of course they will not hit their peak of productivity on day 1, and anyways if 100% efficient means the most productive day they've ever had, then they will more days than not be < maximally productive.
I would wager your codebase, tests and development environment reflects this. Any product of any significance requires a day of setup at least before you even get as far as cloning the repo and opening your first user story.
Well, first of all, ouch. Sure, of course you're right about "product of any significance" and I mentioned one myself in my post - Windows. The more complex the project/team is, the fewer people will be productive in 24-48 hours. So yes you can arbitrarily set the bar as high as you like for what "significant" means for you to be correct.
I think it's not a bad metric if you have hired someone fitting right into your current stack.
Now I am sure you had cases where you hired someone that didn't quite fit, but seemed interesting, and you were confident they'd get up to speed and pull their weight in a reasonable time frame (3 weeks ~ a month ?).
I'd argue focusing on the second category of hires as a target, and consider it a lucky event when someone exactly matches what you're doing, can lead to a more stable/less homogeneous team.
That's a fair point. In the life of my startup so far, we haven't been blessed with the room to allow us to hire people that we don't think will be productive for a month. For an established company though, I agree it's a totally reasonable measuring stick for good hires.
> If someone has decent problem solving and analytical skills, can understand the problem domain and has the capacity to learn a new language/framework/construct in a short period of time (which frankly most of us can, and do with frightening regularity), unless you have something miraculously niche and technical, they're capable of doing the job.
Agreed. And this was how hiring was done up until about 15, 20 years ago. For example, if you knew C++ they figured you could pick up Java. Or if you knew Perl, you could be assumed to be able to pick up Ruby or Python. But in recent years that's not been the case - you mostly get screened out well prior to any human seeing your resume if you don't have all the right buzzwords. Hopefully the tightening job market with companies (supposedly) having trouble finding people will get us back to more sane hiring practices.
I beg to differ on that. On my experience, both interviewing and being interviewed, capacity to learn and adapt to different languages and proven experience of having done that lifts the bar significally and accounts for most of the tecnical requirements, the rest being just practical knowledge or solid fundamentals.
For sure there will be places on which the person weeding out resumes might miss that a competent programmer on most interpreted languages can jump between them and get up to speed pretty quick. Such places I would avoid anyway. At least on my echo chamber, I thought these were on the minority nowadays?
> Agreed. And this was how hiring was done up until about 15, 20 years ago. For example, if you knew C++ they figured you could pick up Java. Or if you knew Perl, you could be assumed to be able to pick up Ruby or Python.
That's why FAANG still do whiteboard/algorithm questions.
If implemented properly you get a good idea of who can code and solve problems, and who can't. Of course, there are false positive and false negatives, but the signal to noise ratio is pretty good.
> That's why FAANG still do whiteboard/algorithm questions.
> If implemented properly you get a good idea of who can code and solve problems, and who can't. Of course, there are false positive and false negatives, but the signal to noise ratio is pretty good.
I see the idea, and I try to focus interviews on 'show, don't tell', but is there research supporting better outcomes?
Do you trust HR or the hiring team more to filter candidates?
It's a valid question. Keyword / minimums tilt the balance in HR's direction. Whiteboard / algorithm questions tilt towards hiring team.
I essentially hired one guy I interviewed because he seemed intelligent and did motorcycle work on his own. Had some background in the specific subject, but I'd rather hire a demonstrated ability to learn & initiative. (Afaict, he's thriving and a great fit for the position)
> I essentially hired one guy I interviewed because he seemed intelligent and did motorcycle work on his own. Had some background in the specific subject, but I'd rather hire a demonstrated ability to learn & initiative.
Me too, and I respond similarly to information like that. But the #1 hiring bias is hiring people like yourself. It's possibly I am just falling victim to that bias.
> It's a valid question. Keyword / minimums tilt the balance in HR's direction. Whiteboard / algorithm questions tilt towards hiring team.
Keywords are almost always pointless. I've seen extraordinary resumes that ticked all the boxes, yet 20 minutes in there was not a working FizzBuzz on the door.
Problem is, as the hiring manager you're not going to see the resumes that didn't meet the keyword minimum. You're only seeing the resumes that made it through the filters.
> most developers never really grow out of solving problems
Do you see that as a maturation process? Is this about moving into management?
> Most degrees and professional certifications are meaningless to people who only care about the knowledge - there's no point in chasing paper that's out of date the minute the course is designed. We don't want that knowledge, it's old. We want current information which the courses and qualifications haven't been designed for yet.
A couple of additions or objections (depending on how some of those terms are understood):
If you care only about knowledge, then you don't care if it's the latest thing or has any application (though I rarely encounter knowledge that has no application). It you care about job skills, and about knowledge only to the extent it serves those skills, that's a different matter.
Also, you can learn about all those technologies, old and new and future ones too, by learning theory. Theory is the most applicable knowledge; it applies to and predicts everything - just like theories in physics predict how every object behaves, now and in the future, not just specific objects in specific contexts. Theory empowers you to solve novel problems and learn the novel tech.
Generally, I think the best way to learn knowledge, including theory, are good degreed programs: They are designed by experts (how do you design a course of study for a subject you don't know?), you have experts guiding and coaching and mentoring you along the way, and you have access to assets from labs to libraries to peers.
So I can only speak for myself personally. But my perspective is that all the stuff on the exams, I already learned long before the courses became current and have moved onto the next thing. So by the time the course arrives, I no longer care about the content it's delivering because I already did all that. By the time the course comes available for the things I'm learning now, I will already know it and have moved onto the next thing. So that's why those who care about the knowledge don't tend to care about the certificate - because it's a waste of time for us to go back and cram for an exam that's based on technology that has evolved (and thus the material is out of date/no longer accurate, flat out wrong).
I think it is a filtering problem. Back then game companies would advertise on the manual. Local ads got posted. You heard about something and picked up a phone.
In the online world, job ads are not hard to find. People apply to them en masse. You might as well just set a harsh limit so you only consider the best and don't waste your time. I guess the other approach is to just hire the first 'good enough' to walk in. But everyone wants value for money.
It's the exact same as having a UAI/TER score to get into University here. Sometimes it indicates required intelligence, but often it's just a popularity cutoff. They can't accept everyone.
> In the fall of 1988, the eighteen-year-old Carmack reluctantly enrolled at the University of Kansas, where he signed up for an entire schedule of computer classes. It was a miserable time. He couldn’t relate to the students, didn’t care about keg parties and frat houses. Worse were the classes, based on memorizing information from textbooks. There was no challenge, no creativity. The tests weren’t just dull, they were insulting. "Why can’t you just give us a project and
let us perform it?" Carmack scrawled on the back of one of his exams. "I can perform anything you want me to!" After enduring two semesters, he dropped
out.
Yes, not surprised by this. There is a difference between a degree and an education. I will repeat this over and over: university is a nursery for young adult who have no idea what to do with their lives.
I'm not discounting higher education, but to me, degrees are a way to filter people by arbitrary forms of selection, and calling that "merit", and then justifying that "losers" deserve their social status because their failed at school.
Universities should be open for everyone, students would help each other, professors and teachers would organize to deliver education the best they can. Students who fail to follow will just stop coming to classes by themselves. There is no need to filter, because eventually, you will filter out students who actually learn and have the potential to use that education.
Just keep universities open.
I'm constantly hearing that teachers and professors spend a large portion of their time filling paperwork, instead of just teaching and helping students.
And I'm not even in the american education system, I live in france, which educate a large portion of the best math students.
I think the way you create this is to make college education free and of good quality for prisoners. To get the general public to agree to this, education would have to become free for everyone, at any age.
Can't think of anything worse than making it free at this point, putting the tax payer on the hook for a disgusting and bloated system that has gotten fat from signing young people up for predatory loans at a vulnerable point in their life.
Only way I'd agree to free higher education would be if it could only be staffed by people who have actually held the jobs they're claiming to be educating you for. Nothing seems more absurd to me than paying someone thousands to prepare you for a job when that person themselves has never had a real job outside of the academia clique which is far removed from the real world.
The way HR communicates (requirements are a communication) is asymmetrical. Within HR, you are regularly exposed to examples. These requirements yielded these resumes, these hires... A lot of this is temporal and demand sensitive. That allows people involved to develop nuance that outsiders (like those applying) can't intuit... like the nuanced language that dealers of exotic livestock or antiques develop.
I understand the FB angle for VR now. I've been playing a lot of Echo VR (recommended BTW) and the social aspect of the game is very important. Unfortunately the "party" and "friend" systems are absolute dog shit in terms of reliability. So many bugs, so often people join a party and can not figure out how to relocate to the game or lobby (even when not full) etc... I understand that between platform calls and in-game party and working across multiple games is challenging. Just saying it's kind of a cluster fuck right now. Given that, this rendering architect position seems like a low priority for FB at this time from where I sit. Huge potential in this though - I have a number of "friends" I really enjoy playing with that I've never met IRL and I'm not much of a gamer.
It’s actually not that much of a joke (although it may not be Abrash) - often higher level positions have the job listing tailored to only one candidate that they already know is interested. To satisfy legal you have to advertise the position externally and internally but if you want someone specific setting unreasonable minimum requirements, that only they have, is a way to get there. Similar things happen in consulting contracts all the time. The RFP will be written for a particular company.
I advise him to have a look at the code of classic games like Wolfenstein, Doom and Quake. He could pick up a trick or two from the geniuses who created those.
A new trend is experienced candidates now asking for tech specs or six-month Gantt plans before starting contact with any HR person, in that trying to by-pass most of the bs.
Could it be that minimum requirements like this select people who ignore superficial blockers? In my experience all the best programmers and IT professionals, are the ones that are able to identify when it's okay to break the rules. If you're so timid that you won't apply, maybe you're not the right person for the job.
I suspect this holds true for most creative or intellectual jobs.
If so, I have to believe it's a happy accident and not the HR people I've worked with somehow managing to play 4D developer-recruitment chess shortly after asking what's the difference between SQL and HTTP.
457 comments
[ 3.7 ms ] story [ 308 ms ] thread“ 8+ years of experience in one or more of the following areas: machine learning, recommendation systems, pattern recognition, NLP, data mining, or artificial intelligence”
It's not like they are asking for more than 8 years of experience in Pytorch.
But the position is for working on graphics rendering, a completely unrelated field. Are you supposed to have had two careers at the same time, working eight years in AI while also working all that same time on graphics?
Since Facebook is doing VR, and this position is about VR, I can easily see the potential of using ML to make the most of sketchy/low-quality models and textures people might want to use in worlds. Imagine if you could upload a rough model, describe what you want, and get it made for you.
I mean obviously a lot of people work in that area but the overlap with AI/ML simultaneously seems very small, for 8+ years in one person.
And of course if you're in research then it's hard to tick boxes like "leading consumer-based projects with industry-wide impact" and "mentoring/influencing senior engineers across organizations" and so on.
The number of people working in "those areas," defined narrowly, is much bigger than it was eight years ago. That makes this a big requirement. People who are skilled, deep or enthusiastic enough to make that 8 years experience better than 4 are not likely to just show up, while also ticking the other boxes. Narrowing the pool past a certain point is a different type of problem.
In any case, these aren't to be taken to literally.
There's lots of things invented decades ago that would be a parlor trick today.
[1] https://en.wikipedia.org/wiki/Online_analytical_processing
If Linus Torvalds decided to pick up data engineering tomorrow, he’d be far better at it in 3 months than the average dev who’s been in the field for 10 years.
When you filter on years of experience, you’re inadvertently biasing towards less intelligent candidates. Smart people with that much experience will have enough mastery that they’re not looking for a mid level position. Polymaths who jump between fields, quickly building up competence won’t meet your arbitrary threshold.
...and lots of people don't, even after 10 years working in the field. Not because they're not smart, of course, but it's common.
bold claim, I'd want to take a bet with you for real money on that
decade ago was 2011, wasn't it time where applied data engineering started becoming cool? thus majority of people shouldnt be those, who started learing it due to $$, but out of curiosity?
idk
From wiki
"data engineering, is a software engineering approach to designing and developing information systems."
"An information system (IS) is a formal, sociotechnical, organizational system designed to collect, process, store, and distribute information."
So what do you think you would you call it?
>"data engineering, is a software engineering approach to designing and developing information systems."
this description is so broad, that every SE would be data engineer now?
for me git is just text comparison, management + some kind of visualisation tool (so it kinda sounds like data X stuff, doesn't it? I'll back to it below)
meanwhile data X jobs seems to be more focused on:
understanding business domain
using e.g statistical methods
working with huge data collections with various tools like hadoop, spark and fancy keywords like data lake, warehouse
>Data science is an interdisciplinary field that uses scientific methods, processes, algorithms and systems to extract knowledge and insights from structured and unstructured data,[1][2] and apply knowledge and actionable insights from data across a broad range of application domains. Data science is related to data mining, machine learning and big data.
>Data science is a "concept to unify statistics, data analysis, informatics, and their related methods" in order to "understand and analyze actual phenomena" with data. It uses techniques and theories drawn from many fields within the context of mathematics, statistics, computer science, information science, and domain knowledge.
I feel like git doesn't fits this description, I'd say it's more like handy tool that handles snapshoots of some text
_______
or maybe I'm misunderstanding relation between "data engineer" and "data science"?
That's not just what git is.
> meanwhile data X jobs seems to be more focused on:
> understanding business domain
git is absolutely about that. The technical aspects of git (which themselves are revolutionary data engineering innovations) are entirely driven by the problem domain. The people and their processes. It wasn't just developed out of thin air and people by pure coincidence decided they liked it and started using it!
> working with huge data collections with various tools like hadoop, spark and fancy keywords like data lake, warehouse [etc]
That's not an adequate definition of data engineer.
[data science]
Yeah we're talking about data engineer. Although you could say there was most probably data science work behind git to find performance and storage requirements and optimize it, just not so much of the buzzword type of data science.
Facebook pays more than enough to get world class experts so why would they not aim to hire them?
Job adverts are filters. Some job adverts are written to encourage certain people not to apply.
Still, it's true. I've done hiring at a small company where the job listing had a bunch of random tech we used, meanwhile we were desperate to talk to anyone with more experience than a bit of school & working at a pizzeria (& we didn't care for education if they had non zero programming work experience). But our salaries weren't competitive. Demonstrated experience matters more than credentials. I worked there a couple years before looking for a better job as a substitute for post secondary
I was always believing that list requirements are just a wish list, something that the company would like to have in ideal case, but even they don't expect they will find an actual perfect match.
The more important thing when reading the job requirements is to figure out what is actually a core requirement that is important for the job, and what can be learned later, and just apply.
When there are two lists in a job description named "minimum qualifications" and "preferred qualifications" I think a significant number of people would think _exactly_ that for the "minimum qualifications" list.
Women appear to be much more affected by this which biases job descriptions with ridiculous requirements to men: https://hbr.org/2014/08/why-women-dont-apply-for-jobs-unless...
Also see the comment by MS employee on the topic of "minimum requirements": https://twitter.com/colinmbrandt/status/1409577979731058699
I rarely apply to any position where I don't meet the mininum requeriments.
Also I've seen vacancies with huge lists of requeriments, including exotic ones (like being an RPG player) and I meet them all, sent a resume, and didn't got invited to the interview...
So I guess that indeed, the requeriments are bullshit.
"And the candidate's name must be Carl because Carl just left, and PMs really got used to calling the Angular person Carl."
I’m part of a mentoring group for college grads and junior engineers. It’s common for software engineers to assume that there is a clueless (and/or evil) HR person reading these resumes and executing the requirements listing like computer code. if(education.level < MASTERS) then return E_UNQUALIFIED. Even if John Carmack is applying.
A lot of them get advice from the internet or their parents that tends to be overly cynical and often dated. When we review resumes we often have to remove Microsoft Word and Excel from the qualifications section of programmer resumes because they heard from the internet or a parent that they’ll be rejected by automated HR software without those keyword. I still see people trying to keyword stuff their resumes with 6pt white text at the bottom (don’t do this)
In practice, hiring is hard and successful companies understand that they can’t afford to filter out qualified candidates over arbitrary low-signal missing requirements. I hope nobody really believes that Facebook HR people would reject John Carmack’s resume because it didn’t have a Master’s degree. That’s what Carmack himself is trying to explain. It should also be obvious that Carmack is the definition of an outlier in this scenario.
Why is this a bad idea? I've had my resume auto filtered out in the past and the keywords at the bottom seem to have helped. I don't try to hide it in white-on-white text, though. I have an explicit section (though in a very small font) titled something like "automated scanner keywords"
Everyone should know that the requirements in job listings are almost always guidelines, not a strict checklist. Obviously someone with 3 years of programming experience won’t be considered for this job, but someone who has 11 years of experience instead of the 12 listed in the requirements section should apply.
Rule of thumb: If you can reasonably say that you’re “close enough” to the listed requirements or you satisfy most but maybe not all of them, apply anyway. Let the company decide. Don’t waste your time applying to jobs you’re obviously not qualified for, but don’t prematurely reject yourself from jobs if you’re close enough.
Hiring is hard. Finding candidates is hard. Contrary to some of the more cynical comments on HN, hiring managers aren’t interested in rejecting otherwise qualified candidates due to small technicalities. That’s what Carmack is trying to convey here.
I'm not seeing this reply. In what sense is it discriminatory?
Equality of opportunity doesn't result in equality of outcomes. Many of those Asian students have to climb countless immigration barriers and out-compete literally a billion people to come to the US. They arguably have _less_ opportunity than a white woman who's a US citizen.
The idea that overstating requirements is somehow discriminatory is laughable. There is _nothing_ stopping women or whatever group is the oppressed group of the day from applying for a _job listing_. It's literally just submitting a resume, there's not even a big time investment associated with it. If there was discrimination in the resume screening that would be a different story, but you can't claim prima facie that having inflated job requirements is sexist.
https://twitter.com/colinmbrandt/status/1409577979731058699
See for example: https://hbr.org/2014/08/why-women-dont-apply-for-jobs-unless...
In other words: Industry legend ALMOST makes minimum requirements.
I know what you are saying, but it is absolutely crazy to me that they would post a job ad with Minimum Requirements even someone like Carmack doesn't have. Not to mention the "Preferred Requirements".
Maybe they should make their Minimum Requirements more realistic or stop calling them minimum if they are not actually minimum requirements.
The problems were not that hard, the real difficulty was due to the time limit.
During my previous experience as a software developer I have acquired a habit to write an obviously-correct but non-optimized solution to every problem, to use as something to compare a better solution to, i.e. as a test factory. So, I had only enough time to solve the first problem correctly, and to implement a wasteful solution to the second one. In retrospect, implementing the "obviously correct" but wasteful solution would not have helped, because I could not compare the results anyway.
In my opinion, the test selects for people who are lucky enough to discover and implement the non-obvious optimization correctly from the first attempt. Or, as I have discovered later, who have bought all books on programming interview preparation, because the problems were actually non-unique.
So someone who went out and built a SaaS business themselves, was moderately successful, and sold it? Not going to pass. Someone who spent three months grinding leetcode and doing little else? Probably going to pass.
I'm guessing it's highly effective at selecting for the kind of candidates these companies want.
Bingo!!!
Why would a like a large company favors candidates that are willing to jump through hoops?
Perhaps they are selecting for docile, dutiful, eager to please?
Why? Carmack is an extreme outlier and it's likely that even among the people he knows that he would label as qualified for the position nearly all have at least a master's degree and the other requirements.
I would bet he doesn't or at least thinks the minimum requirements are overkill, otherwise why would he make a remark like he did?
The point is that when a legend like Carmack doesn't make the MINIMUM REQUIREMENTS maybe there is something wrong with the requirements.
The top names in any given field tend to know each other (it's a pretty small group and they network) and most of them got their degrees and other qualifications the traditional way. As for why he made the remark, IMO it's a self-deprecating joke about his being an outlier.
In my experience job requirements are used to weed out and reject those that the hiring people don't like for reasons other than ability.
This ranges from excluding women, being only inclusive of women, only hiring a certain races or religions, or justifying the use of work visas. I've even seen it used to justify not hiring someone because of their accent.
Even this one?
"8+ years of experience in one or more of the following areas: machine learning, recommendation systems, pattern recognition, NLP, data mining, or artificial intelligence"
Carmack doesn't have 8+ years of experience in Machine Learning, he's only been working on AI full time for about 3 years.
Carmack doesn't have substantial experience with "mobile graphics pipelines" or "graphics hardware and drivers on mobile platforms" - as Oculus, Quake and Doom were all PC-only.
Carmack isn't a "Proven cross-functional partner, working across functions to drive solutions" because those are nonsense words that mean nothing.
I don't think the onus should be on the people who are applying.
There are a lot of people who are rule-followers, literal-minded, etc., and a lot of people with mental disabilities that might not be able to see through this checklist - of these candidates, a lot of them are likely fantastic SWEs. Why penalize people who are thoughtful about your posting? This just incentivizes lying both ways - it tells me that the company doesn't even believe their own requirements, so I may as well just apply anyway, even if it ends up completely wasting their time.
>- 8+ years of experience in one or more of the following areas: machine learning, recommendation systems, pattern recognition, NLP, data mining, or artificial intelligence
>- Master’s degree in Computer Science, Mathematics or related technical field
What was Carmack's development focus during Oculus? Was it building artificial worlds for the headset such as video games or Augmented Reality of processing video input with ML/AI and enhancing it with tags etc?
It's possible that Carmack's expert knowledge of graphics shaders/rendering is a different skillset than mathematics of Augmented Reality.
I'm not sure exactly but there's a bunch of keynotes from Carmack around Oculus Connect on YouTube. Here's one from 2014: https://www.youtube.com/watch?v=gn8m5d74fk8, and another one from a year later where he's live coding in a VR environment https://www.youtube.com/watch?v=ydyztGZnbNs. You'll find a bunch more if you search too.
I remember skimming through them years ago not because I'm into VR development but I've been a life long fan of Carmack's work and like listening to him talk about things.
I myself attended university for a single year before deeming it completely not worth the time and money (which I couldn't really afford) and instead acquired several associates degrees (which I paid for with a menial job). Because of this, I admit to some bias on the matter.
I did meet many with math/physics etc degrees, so not everone has a computer science degree.
almost the same with me. i was already living by myself went i started to go to college. where i live, college is not a "full time job" -- i had to work all day long then attend classes at night. it was basically exhausting.
i decided to quit college and instead focus on my career -- which was absolutely the right idea. i learned more by doing than by going to college.
How could you know that without going to college?
> most successfull people in software industry
- The outliers of the billionaires and big names are kinda making people reconsider though. e.g Zuckerberg, Gates (maybe dropout to do something is better signal)
Interesting conspiracy theory.
Women, you mean Women.
Edit: Also woman is not inclusive, since it excludes kids. You wouldn't say that women toddlers. Using female and male are the only terms you can use when you are talking about the groups as a whole. Attacking people for using them just makes it impossible to correctly use the language.
Saying "are going to women" would be grammatically correct even if "women developers" isn't.
Furthermore, most Master's degrees are not going to kids.
I think it is probably fine to say "are going to females", but saying "are going to women" is not wrong and it probably sounds better.
Please, don't use "females" as a noun, that's gramatically incorrect and dehumanizing language (see e.g https://medium.com/fearless-she-wrote/woman-vs-female-67fd4c...).
Additionally you're factually wrong, in STEM fields (which is what we are talking about) about twice as many degrees go to men: https://www.statista.com/statistics/828906/number-of-stem-de...
Male/female to describe individual or cohorts of humans based on sex is pretty common language. It certainly isn't "fundamentally" wrong. It's just a higher abstraction. You have to infer the form of being from the context - usually very easy.
The rest of this article is just an author's assertions about how these words are used.
And outside the US, university can cost, but isn't a back breaker. Or it's free.
I wonder how much this is a US problem. Most Canadian computing jobs, which I get sent, seem to specify "or experience" as an alternative to a degree.
but he does have almost 30y of experience. i would take the experience of the license.
Assuming that half of the US houses were built before 1980 (when electrics were still primitive and wiring was sometimes aluminum), fitting modern services into a home with knob and tube wiring and floating grounds (like mine) is NOT something I want to trust to a jackleg, no matter how many years of experience he has.
Really just trying to capture a low-level baseline.
Not just that. College degrees are the perfect way for employers to outsource training (simply because an IT degree will transfer a lot of the knowledge needed on the job) and vetting (aka is this person able to meet deadlines with high quality output) cost and risk.
As far as vetting goes, my experience is that all it really vets is a person's familial wealth. Consistently I've seen that wealthy people have little trouble getting degrees and people from less wealthy backgrounds who get degrees had to work a lot harder for it. Things might be different somewhere like MIT, but most colleges are not MIT.
There's an old saying: "Nobody ever got fired for buying IBM."
It basically means that, if you use IBM for something and it doesn't work out, you can tell your manager "who could've guessed — it's IBM!", and you'll be mostly off the hook. If you were to use some promising new startup, even if it's more likely to do a great job, the fault is squarely on you if it goes wrong.
Similarly, when hiring an engineer, the recruiter and hiring manager can explain away a bad hire to upper management by saying "what a fluke, they have a degree from Harvard!", while they would be in a tougher situation if they made a bad hire and that person had no degree.
To be fair the "minimum requirements" are also a risk averse filter.... you can reject everyone without any issue by saying no one meets the minimum
My take is more judgmental:
Our current hazing rituals persist because people can't imagine how it could be otherwise.
Fun anecdote: when I was 16 (with a couple years of experience as a developer) I was working for a company on some PHP codebase and they hired someone with a master's degree in computer science to work on it with me.
10 minutes after the first meeting he set his Skype status to "HELP: can anyone teach me PHP programming"
The problem as someone noted is HR doing the vetting, HR is in most cases filled with administrators, not problem solvers. I don't have anything good to say about HR.
It is not that you hire 1 person and you have all the time in the world to get to know him/her.
There is limited time, limited information and hundreds of people to be hired with hundreds of applicants.
Hiring is not scaling well, because it is time bound, someone has to read that CV, someone has to make calls. You have to have like 30mins - 1hr chat with applicant. Only way to optimize time is to throw away CVs which is not optimal because you might throw away good candidates.
Norm is that people go through college to learn about complex things in computing.
That is why it is also norm to put it as a requirement in recruitment.
Of course there are exceptions, and many people like to point them out and John Carmack is one of them. But really, someone who passed tests, spent a few years with a bunch of smart people, and took lessons, all that relevant to the work to be done has a high chance of being better at it than someone who did not do that.
There are some really smart people who are not fit for school, it it not uncommon. But what is a very common is really dumb people that are not fit for school.
Another common trope with successful college drop out is that they are usually entrepreneurs, certainly because as drop outs, they are better off doing that since it is harder for them to get hired. And then, you get into survivor bias. You only hear about the successful ones.
So, companies hire people with degrees, because on average, people with degrees are better. Easier for them than having to go through thousands of inadequate candidates in order to find the exception. They may miss out, but for most positions, it is not that big a deal for companies.
Degrees are a pretty good proxy for skill, not perfect, but I can't think of a better one right now for normal people. Of course, it doesn't apply for John Carmack. But when companies post mid-level job offerings, no John Carmack will answer the call.
I'm not convinced. By far, the thing I find correlates most with degree possession is familial wealth.
I also correlate skill with familial wealth, but more weakly than with degrees. It is clearly easier to learn some skill if you live comfortably. Not that long ago, many families couldn't afford a computer, try learning programming without a computer. If you are very motivated, you can do a lot, I have a lot of respect for those who do, but again, they are the exception, not the rule. I mean, the rich have personal tutors, the poor have local drug dealers, you do you think is more likely to end up the most qualified for a job in a reputable company? The worst part is that the rich may also end up better at finding drugs...
You also have the problem of survivorship bias - you’re looking only at the non-degreed engineers who survived in the job and not all of those who dropped out. When hiring the question is whether the non-degreed pool of applicants can on average be expected to match the performance of the degreed applicants?
Anecdotally < 40y/o great engineers I’ve encountered without degrees almost always have a degree in *something* or they spent their youth tinkering with personal computers - historically an even more inaccessible privilege than a college degree. They are p95 folks.
I certainly don’t think degrees have to be required but at the same time I don’t want to wade through rivers of unqualified candidates searching for that p95 individual. Bootcamps are kinda the exception here but that’s another topic.
This is specially true of companies that get thousands of resume submissions, like Google, Facebook, etc. For them, removing the noise is a huge challenge.
But education does help tremendously; smart people go to college, and work hard to learn for four years. I'm not an idiot; I didn't waste my time; I learned a lot; it changed my thinking skills dramatically for the better. Especially for people in the liberal arts(!), what I see most is critical thinking: Being skeptical (about themselves too) and thinking powerfully and effectively and penetratingly. Look at all the nonsense that people believe on the Internet (and in business and elsewhere); we don't lack algorithms, we lack critical thinking. Also, college is very demanding on raw 'cognitive productivity' - inputting, analyzing, producing - more than business.
(Tangentially, I see both critical thought and 'cognitive productivity' slide as people get further from college and in more powerful positions. The BS we hear from some middle-aged SV leaders is laughably megalomaniacal nonsense. Only their egos can save us, all we need is what they want to provide, if you listen to them.)
But yes, people also use college as a class signal, unfortunately, and these days in the US college education correlates strongly with family wealth, IIRC the research. If we solve the latter, which we did easily in our history, we solve the former.
And jobs with degrees as a requirement were often the norm. For a senior position in a research oriented group that might be expected to collaborate with and/or hire from academic groups, totally normal to want a higher degree.
It has always been and is still the case that not having a degree is not a huge impediment if you have the chops -- You will find a place, or a place will find you. But it has never been the case that someone without a degree could ever expect to have equal opportunity to be hired into any job out there.
Which makes it problematic when we make HR people do the initial screening. They would filter out a lot of good candidates just because they used Python instead of Java, or had been working on a C++ project one year less than the person leaving the team.
Could it be then that this is a communication problem between the Engineering team and the HRD? After all, the Eng'g team writes the requirements for the job post, HRD just checks it and makes it look attractive.
(Though honestly, I don't think this general comment applies to the job post in Carmack's tweet. Honestly I can't fault the job post for the way it was worded. I say the higher you are in an SE-org chain, the less this is a problem.)
Companies paying top dollar for the best engineering talent aren’t having inexperienced HR drones or automated software filter resumes. They have dedicated recruiters who have a proven track record of being able to properly interpret resumes and work with candidates to accurately understand their backgrounds. They’re also very good at working with engineering hiring managers to understand the actual requirements of the job.
That’s more or less what John Carmack is trying to say here: The requirements aren’t being used internally as a strict pass/fail criteria before anyone is considered for the position.
I’ve only worked for one company that had inexperienced HR people screen resumes. It was standard practice among engineering hiring managers at that company to use external recruiters for this reason.
Hiring managers aren’t dumb. Companies paying high six figures or more for engineers aren’t dumb. We don’t want to miss out on good candidates. I personally read every single resume that comes through applications to my job postings, and I know I’m not alone. Hiring is hard, and it’s not worth letting someone else screw it up just to save a little bit of time.
On the other hand, if you’re applying to a local dinosaur of a tech company that pays below-average compensation and takes 3 months to respond to candidates, all bets are off. You could indeed be up against automated hiring software and people who don’t know how to read resumes. But you also don’t want to work there if you can avoid it.
Like using Leetcode popular at these top places you mentioned.
I was interviewed by MedTronics in 2015 by a HR fellow who asked me if I used 'C++11'. He had trouble believing that the 'C++11' was a language standard (adding features to the language) & not a language by itself.
Then remove them? It says “Minimum Requirements”. It’s already proven that women, minorities and others on the outside don’t apply when they don’t meet these qualifications. You thinking that recruiters know what they’re doing at these companies, then we can only conclude they’re doing it on purpose.
What if we helped minorities, women, and others on the outside meet the qualifications instead of lowering the standards? And yes that also includes rewriting some of the qualifications to be more realistic, I am not discounting that.
This comment is coming off as incendiary, judging by the quick clapback style of response to simply the first clause. I want to emphasis I also believe requirements should be rewritten to be more realistic and pertinent to the job. The solution in my view is to cater to the people who do take job requirements seriously (which to my understanding is the reason why women for example are excluded more) rather than just throw your hands up and say "job requirements are a joke"
If John Carmack doesn't meet the standards, then you probably shouldn't worry about 'lowering them.' As if making tech more accessible requires lowering any standards, anyways.
shouldn't worry about -> don't think there is a problem with
How are those the same?
You should worry about the requirements because they're bad and need fixing.
You shouldn't worry about the consequences of lowering the requirements because you weren't enforcing them anyway.
"shouldn't worry about about 'lowering them.'" -> don't think there is a problem with lowering them.
"probably SHOULD think about 'lowering them.'" -> should think about lowering them.
Is this an acceptable way to convey that you should evacuate the building without worrying?
> acceptable
It's a gratuitously ambiguous way to convey that you should evacuate the building without worrying.
Because you're not losing out on imaginary "significantly more qualified than John Carmack" applicants.
John Carmack is arguably one of the most qualified people in the industry for this role, and he doesn't meet the requirements.
So it's not the case that there's piles of white men who _do_ meet the requirements that get it instead, and we just need to help minorities get to that level, it's that there's piles of white men that recognise the requirements are nonsense, so apply and get it without meeting them. Setting the requirements to what the recruiters actually require isn't lowering the bar as a result.
You know how peoples used to have folklores and stories that got passed down? Well, we still do, but the culturally transmitted information is now stuff like "Oh, yeah, those requirement lists are bullshit".
I really think it's as simple as having friends/peers in the know-how or not. Some people have family members, classmates, maybe even majority of their social circle working in IT which obviously exposes them to inner workings including this issue with job requirements. And then there are people whose social circle is far from IT so they just don't have confidence to (pretty much) lie on resume.
It's commonly talked about in a lot of places online, including here.
It's also something you very quickly learn when searching for your 1st job. If you take minimum requirements at face value, there's almost no jobs anyone straight out of school would qualify for.
It is definitely cultural knowledge that not all people have, and, more to the point, an understanding of what parts of a particular job ad that are stated as MQs are likely to be nice-to-haves and which are real MQs and which are nice to haves behind which are hiding real MQs (such as “Ph.D. in <field>” really meaning something like “a Ph.D. would be nice but a Masters is a hard minimum”), and therefore, how to evaluate whether it is worth expending effort applying for a job is non-universal cultural knowledge.
This often requires understanding of the hiring cultures of the particular job-field, industry, employer, and sometimes organizational subunit. Which is, for people just starting out (or looking outside of their past experience), highly network dependent. And equally substantively qualified people from underrepresented demographics arr likely to have weaker, in terms relevant to the task at hand, networks and therefore less access to this cultural knowledge.
> It's also something you very quickly learn when searching for your 1st job.
Or not, in part because there are lots of places where its not true and if you act like it is you will learn hard.
Lying about requirements in hiring may be common, but it is not a universal norm, and calling it out and denormalizing it is a good thing, even outside of discriminatory impact, but its also very much a practice that has particular adverse impact on underrepresented minorities.
I actually think this _worse_, let alone _much harder_ than simply telling HR to chill with that shit.
Why do we need this doublespeak and a wink and a nod for these roles?
Are they not able to reason through the fact that the requirements must logically be not realistic? Are women known to not question authority to the same degree as men? Why not endeavor to fix that about women.
All you're doing is filtering for people who are willing to bullshit their way into a job.
No one, anywhere has said we shouldn’t be doing more. This conversation is around gatekeeping by listing unrealistic minimum requirements.
On the other hand, taking jobs that are a bit outside your comfort zone is how you grow. I agree that more realistic requirements would helps (especially if they're called "minimum"), but you also have to teach to people how to be ambitious.
There is usually little correlation between the job requirements and what you're actually going to do on the job.
You need to train people to leave their ethics at the door and lie until they make it?
They say these are "minimum requirements". You called them "qualifications". They're not suggested capabilities that you should have to feel comfortable in the job. They have a separate section for "Preferred Qualifications", so these aren't just preferences, they're requirements if you're not willing to break the rules.
A certain subset of the population is willing to check the box that says "I meet these requirements" and then later push around the interviewer and say they don't actually meet them but that they ought to be considered anyways. This brash, often narcissistic, overconfident group is over-represented in management circles not because they're "more ambitious" than others but because they're willing to sacrifice their morals to cheat the system.
Ambition is what you can become, not what you are.
The only way of applying without dishonesty would be to do so while openly saying “I don’t tick all your boxes, but I still think I’d be a good fit because XYZ”. I might like this if I saw it in a job application, because it means the applicant was paying attention and not just applying to everything… but that doesn’t work so well when there’s already a “Preferred Qualifications” section, and might even have the opposite effect.
If a job says you need 8 years of experience and you say you have 8 when you have 4, that is lying. If you apply to a job that says you need 8 years of experience and you only have 4, that isn't lying. It isn't dishonest. It would be like the person selling that PC asking, "hey, might 4GB work if we throw in a better processor?"
Is "doesn't want to waste our time when we tell them not to waste our time" really an important attribute for you to reject candidates on? Or would more accurate "minimum" requirements be better?
That's exactly what I meant by being ambitious. I think you shouldn't lie when applying for a job, but on the other hand there is a shortage of applicants in tech. You could recognize this as an opportunity if you're confident that you can "grow to the desired level" of the job offer.
But what is a candidate to do? Skip the job, because they don't have the required qualifications? Assume the requirements aren't real? Dress up the resume with some fake barely there qualifications to fit?
Different cultural backgrounds will have different responses, and very few will really be lying.
The worst thing, though? The knee-jerk response to the ones that dress up the resume is often to want to add even more requirements...
It's crazy to assume people would be stuffing their resumes instead of they making it clear the position is exciting to them and they would work hard to get up to standards.
Nearly all business interaction is a form of negotiation. If you look at a job description and feel that you'd be able to succeed at it, that's usually enough to get started. Clicking "Apply" doesn't mean you are certifying that you meet the minimum requirements. It simply means you'd like to be considered for the job. The worst that could happen is you've wasted somebody's time (which is true of probably 90% or more of all interviews anyway).
In my 15 years in software, I've interviewed at probably a couple dozen different places. Not once have I been asked to promise that I meet the listed minimum qualifications prior to submitting an application.
Although, I do not engage in judging others much, I would feel a strong disdain toward disregarding the minimum requirements because it supposes that I suppose that the other person is not 100% honest/clear in their intention and certain set of values may forbid some people in what I guess may be called ''bad faith'' i.e. presupposing that people are dishonest without having a viable reason for thinking so.
Well these are just some thoughts but I have a huge mental block in going against requirements, rules etc based upon the idea that the you presuppose that the other person is dishonest because then it would follow that one lives by the presupposition that everyone is being dishonest until otherwise.
Of course, for more utilitarian oriented people there may be more room for flexibility. However, in a pluralistic society I would value a wide array of ethics compatible in a free and fair market which respects fundamental human rights.
It's an application. You're applying. It's one thing to say the job description is misleading. It's quite another to presume someone applying while not technically qualified is being dishonest.
Is your conclusion still that I'm suggesting to "train people to leave their ethics at the door and lie until they make it?"? Are there any points that I can clarify for you? Do you have any suggestions to protect the systems from people that exploit it by sacrificing their morals?
I'm aware that the world isn't black and white, someone who submits a truthful resume to a job posting where they don't technically meet the qualifications has only made a little white lie that's almost universally forgiven, you're correct that they'll likely look ambitious and confident if they tell the interviewer "if you want to be super technical about it I don't meet this one little qualification but I think you should ignore that because factors X and Y make me a great candidate".
It's this culture of pervasive little white lies which is harmful. Be brutally correct, not just sufficiently honest to brush off these occasional inconsistencies. When someone does make a little white lie, call them on the lie and take the mandated action. Otherwise people who are most flexible with what's acceptable will advance more than those who require correctness.
They haven't lied at all. Where is the lie in saying, "I don't meet your requirements but I think you should hire me anyway"?
Yeah, I'm honest in interviews. Getting past Automated Resume Sorting Equations (ARSE) is tough. As soon as I talk to a real human, I'm honest and explain what I know and don't know.
If you didn't know ahead what your options were, and you were willing to accept someone who isn't an actual surgeon, maybe you would have preferred the person who whittles, has a biology degree, also is great with DIY videos, was a combat medic, AND isn't squeamish at the sight of blood, unlike me? Because she was turned off by the fact she didn't meet your listed minimum requirements; all you got applying are me and your nephew.
As someone from a rural background where the best case was usually HVAC repair and the not-too-uncommon case was addiction and stagnation, and who came into tech from far outside the normal path, this is the problem to fix, and tech company job requirements are way too late in the pipeline to exert much leverage there. This needs to be solved culturally, across years and generations.
That would be great, but if we can substantially reduce the impact of the difference in confidence by being honest about minimal job requirements right now, shouldn't we also do that?
> you also have to teach to people how to be ambitious
This is a jobspec, not a carrer coaching session.
Filtering out people who feel self-conscious or experience impostor syndrome ends up disproportionally hurting minorities.
https://www.pnas.org/content/pnas/117/48/30303.full.pdf
I found it interesting to read, having gone down a small rabbit-hole after your comment :)
No idea if that's true. I heard it claimed by many. I guess it sounds kinda implausible for a large company, they would need to create possibly thousands of fake job listings.
The key word here is tech company. There are many other sectors that employee below average labor for HR recruitment but the work an engineer can do there can be quite amazing, especially when the engineer realizes there is lots of room to innovate and optimize their workforce and what/how they output.
He was going to transfer to a different company and was told that company rules meant he had to go through HR "as a formality".
He was blocked by his HR interviewer on the grounds that he was too successful and therefore wouldn't be "hungry" enough for such a competitive position.
He couldn't believe it. They didn't want someone with a proven record of repeated long-term success?
The person who was trying to recruit him was furious, but as my brother said, this was indicative of a wider problem, and so he declined to move there. Instead he won his Industry Award for the following year at the company he did move to....
In the end, I'd say that HR person did your brother a solid.
To be clear, not all of the jobs I've hired for sucked. But there was one project that was designed to chew up your soul (mine included), and we had very specific requirements- and people that had "extra" skills weren't qualified. I learned A LOT from that project.
Or those automated gun turrets?
In our area, we had 2 teams racing VERY FAST to 2 different objectives:
1) migrate ALL code and data to the new system (because it needs to be available on the new system) AND
2) archive everything (because we might sell all of our stuff and be unemployeed)
It was gut wrenching to look at code that I put my heart and soul into and know it would never run again. Or to look at code with comments like "I just threw this garbage together - it needs to be fixed, circa 5 years ago" and know it would never be fixed.
Then they are mislabeled as "minimum requirements." They must be relabeled as "preferred requirements."
Are you looking at the same Facebook job advert as me?
I can only hope that other HRs in other companies are a bit more useful.
For example, when dealing with accounting jobs, they'll sometimes ask for specific certifications.
We've ended up just basically saying "3 years experience with developing software" and shoved everything else into "some of the following would be nice".
I haven't really had any issues finding folks with experience outside of our stack when doing this.
Another big issue is the lack of precision in the description. When can you claim you know or are an expert in tech X? And then do that for 10 out of the 10 listed competencies/technologies? Who determines if I'm highly motivated? The specs they list are simply not realistic and ask for everything and the kitchen sink. Candidates have seen through this BS and just apply to anything that might possibly fit them. This means that companies get a ton of underqualified candidates. If they were just real and cut the BS, that could make the whole process more efficient. Dont even get me started in "5 years experience" in a tech that's only been out for 3 years or less.
Reading job posts is probably something I hate even more interviews. At least in interviews you can have a conversation and get some questions answered.
For me? Never. For my agency? As soon as I complete a single job well.
Here's your mistake. Don't involve HR except to sign paperwork.
Yes, HR is bad at hiring engineers. Nonetheless hiring engineers is a lot of work, and engineering departments need someone somewhere to take that load.
The solution is hard[1], but at the end of the day needs to be something much closer to "better HR" than "don't involve HR".
[1] And something very few large companies have cracked. Small outfits can usually get by with networking via their existing staff, but that doesn't scale well and leads to feedback effects like toxic monocultures.
It depends on the HR department. Some are under pressure to "add value" to hiring, so they insist on rewriting job reqs and screening all applicants. At a Fortune 50 company I worked at, my boss got in trouble because he sweet-talked someone in HR to print out all the resumes they rejected and secretly deliver them to him. He resorted to this after he informally recruited a new hire, wrote a job description specifically targeted at them, and then, after waiting two weeks for their application to filter through the system, found out that HR round-filed it because they supposedly weren't qualified.
HR refused to collaborate with him on editing job descriptions, so every time he submitted one, he had to check every day until he found out what garbage they posted so he could go beg them to fix it. They would randomly add technologies and "change the wording" of desired qualifications (how do you "change the wording" of proper nouns and jargon from somebody else's field?) and they were especially fond of turning nice-to-haves into absolute requirements because we supposedly didn't have enough. My boss was convinced they were under pressure to filter out a target percentage of applicants, because he begged them to just pass all the resumes to him, and they refused, hence his cloak-and-dagger tactics to get his hands on them.
Centralized HR is for managing benefits and setting policies. They never help with the hiring process, in my experience.
One of the engineering managers I had been working with as a consultant had tried to recruit me more than once, so I decided to accept. But shortly after a mandatory HR screening call, I got an apologetic rejection email from the engineering manager.
I did exactly this, though I'm pretty sure I'm not your boss.
As a side note, HR's insistence on doing the initial resume review and phone screens usually skews the entire recruitment process. I've had situations where HR gave me 20 resumes and didn't even look at the rest.
Edit: My apologies everyone. I actually read this as "cover letter" instead of CV.
I agree a resume (as noted below) should be required, but CV (academic style) is probably a US term not applicable here.
Sorry!
edit: saw another response which said a cv was a resume, this is correct. In the UK we use Curriculum Vitae (CV) instead of resume. They are the same thing. Not sure what you may have thought a CV was, however I would be interested to know.
I read all of them, even the greyed out ones, until I'd read enough to trust that the HR team's filter was well-calibrated, and I also let the HR team know when they got it right/wrong so they could improve their filtering process.
Overall it worked great but I understand that such functional HR teams are the exception, not the rule.
I'm from a pretty small town, low income family. Edit/ I also did my Computer Science degree at a small university that was a community college when I started my degree. /Edit. Making my way in the world often feels like being a small fish in a vast ocean. People from wealthier families, or who have built-in connections from growing up in the big cities or going to prestigious universities don't really understand what an advantage their networks are.
Be good at what you do, genuinely help people, without expecting or calculating whether it'll be beneficial to you, stay close with those who help you, and who you helped.
Eventually, you'll find your way into a good cluster. Some start in the middle of it, we started in the periphery. Accrue good faith and trust and it will only keep growing. It's non linear. Something something preferential attachment.
I have also had bad luck with jobs so far. Everywhere I go, people above me seem more inclined to try and keep me where I am than help me improve and grow. I always have very good relationships with my teammates though, so I know I'm doing something right.
I think this has been a big source of my grief so far. I keep winding up in heavily political companies.
Thank you for the advice. Networking is definitely something I intend to take more seriously. It's become much more clear to me how important it is as my career progresses.
When people say "I'm not political" they're really just confessing to low social status and acumen. I personally wish things were different, but as you note they're not. So one may as well accept reality and play the game as best as one can. One can have a very successful career as a follower if one recognizes the traits of good leaders and the traits that good leaders are looking for.
Right. Politics is a tool often used to keep people with low social status where they are.
Much like gossip, politics is pack violence and order by other means, and is usable by people who have less physical power but more social influence. If you don't have either physical and social power, then you're dismissed as not a threat and ripe to be stepped-on. Gossip is often a political attack technique to take-down a physically-strong leader.
I was in a similar situation to you and through work I've developed a pretty good network of former colleagues. After about 10 years, it my network ended up stretching so far that I had contacts at basically every major company my city.
I mean, very few of my former colleagues ended up in the upper echelons of businesses, but almost all of them are in senior IC roles for which a recommendation carries a lot of weight, especially for an opening on their own team.
I don't think I was supposed to know the name of the internal candidate, but having friends who worked for the uni, I knew the name and, well, the internal candidate would certainly have had a better culture fit.
It took one manager months to get “Windows NT” removed from the description for a network position.
On the same team there were a couple people who came from non-coding backgrounds like Unix systems administration and production support, they loved the job and had been at the company for many years. Why weren't we looking for more of those people? My boss told me that HR was judged by the qualifications of the candidates they allow to proceed in the process. No one would ask questions if you raised the hiring bar, or you might even get kudos. This made no sense to me as that would be like an engineer who only did work one day per month, not taking any chances on touching systems or code that had any chance of introducing a bug.
This was my first job out of school and it taught me that in these large Fortune 100 companies, through no malice at all, silos can create policies that make complete sense to them that don't actually accomplish anything.
If you look at FB job reqs in prod network engineering (network in title, infrastructure is area of work), the qualifications should be reasonable. This covers most roles that are not pure SWE or rack and stack (SWE and "deployment and support" cover those roles).
~3-4 years ago a director shared a req and asked that we pass it on to our friends / anyone that might be interested. Some of us asked why specific items were in the req since they didn't reflect the team or our work. We also noted how it reinforced bias (women tend not to apply if they do not meet _all_ quals. men tend to apply if they meet _any_ quals).
Response was "good point, we'll remove them" and our reqs got a lot shorter and less exclusionary.
You might note that we tend to not have any education requirements. At one point the req listed university degrees. This was funny because we had a bimodal distribution of uni drop-out (maybe no high school diploma) on one side and MS or Ph.D on the other.
e.g. zero education requirements section in job reqs for my team: https://www.facebook.com/careers/v2/jobs/468265564478223/
https://www.facebook.com/careers/v2/jobs/190442889615860/
That means it's too big and time to cut full time employees and hire contractors.
If HR are in charge of hiring for technical positions, the company has deep issues...
The hiring manager writes the job description and comes up with the requirements. In many cases these job descriptions are written by a senior IC and the hiring manager just massages.
We recently had a person who did COBOL apply, which through recruiting for a loop.
I do get frustrated with the way our engineering manager write job descriptions. Especially since they can be wishy-washy on what they actually want (early on, candidate is good, but later on, mgmt wants more experience). It's been even worse recently as they've been just throwing out seemingly random job titles in order to just get candidates to bite. So I go for an interview and see they are applying for a job title like "data science engineer," and when I ask the manager wtf that is, they say, oh, that's your position (def NOT data science), but that job title gets more applicants.
I used to think HR was the problem, but the more I make sausage, the more I realize that engineering managers are a big part of the problem.
We once had an open position on a team that was tied to our office in a lower-population city in a low-population US state. The wording of our listing made it clear that the list of technologies was mostly "nice to have" and not strictly required.
The first recruiter just punched in all the technologies into LinkedIn search and sent a form message to everyone that matched and already lived near the office. The result: My entire team got emails offering them to interview themselves for their own jobs.
Part (but not all) of the problem is resume spam. There's a small amount of people who apply for every job under the sun, even though they aren't qualified.
That, IMO, is what HR resume filtering should be: Making sure someone isn't just spamming their resume. Otherwise, the "We use FooLang, so your X years of experience with BarLang is okay" really is a decision the hiring manager needs to make. [Edit] Ideally, HR should know enough to not pass along a resume from someone who just completed a 3-month coding bootcamp for an architect-level position.
While that might work for most software teams, my team has a couple of specialties that are not just hard to hire for, but also hard to train for, and sometimes take years to learn. If we hire someone with general software engineering expertise, we typically consider their entire first year to be a training year with extremely limited productivity...even if they are a well experienced senior level engineer.
So we try to put out more specific requirements: Experience with geospatial information systems and standards. Or experience with constraint programming or other forms of mathematical optimization like LP, MIP, IP, or QP. Or experience with spectrum licensing regulation or 3gpp standards.
And because they don't put out easily searchable reqs, we never get candidates that we wouldn't need to train extensively, unless we do their job and seek them out ourselves.
I call this fingerprinting.
If there’s 5 different choices for each layer and there’s 5 different layers, assuming an even distribution, there’s 3k combinations right there. If you require that combo, you’ve just eliminated 99.97% of candidates.
It’s not just an IT problem.
“We want someone with experience in (already niche industry) but uses our (unusual choice of) system”.
I get the problem you’re trying to solve with a shovel-ready candidate, but…
Perhaps the solution is to not always aim for the narrowest possible fit. There are many people who would like an opportunity to learn new things and grow.
I understand that this thinking can't be applied to all positions. If, for example, you want to bring in someone new to your company and put them in charge of "everything Foo-related", then you need someone with suitable experience in Foo. However, too many companies tend to extend that too far down the ladder.
I am trying to find front end devs to work on an Electron app, using react. Recruiter is ignoring people with Node/ React or Vue, angular etc and just replying that there are no candidates!
In all my jobs we ALWAYS sidestepped HR to do any form of hiring, even though we used recruiters which had their own ways of sourcing candidates (that was mainly useful to get candidates of a certain race and gender to fill in diversity quotas). The CTO has the budget and agrees benefits with HR. After that the job post and ways of sourcing candidates is through the engineering team.
Once we do an offer, the ball is back to HR and they finalise the contract / bureaucracy.
99% of the jobs that high quality developers could do that they're screened out of are because of poor concepts of what is needed to be successful.
If someone has decent problem solving and analytical skills, can understand the problem domain and has the capacity to learn a new language/framework/construct in a short period of time (which frankly most of us can, and do with frightening regularity), unless you have something miraculously niche and technical, they're capable of doing the job. All you need to worry about is are they a competent developer and whether they'll be a good personality fit for the team.
They say we rise to the level of our incompetence, but most developers never really grow out of solving problems and only get better with time and experience.
Most degrees and professional certifications are meaningless to people who only care about the knowledge - there's no point in chasing paper that's out of date the minute the course is designed. We don't want that knowledge, it's old. We want current information which the courses and qualifications haven't been designed for yet.
This is a stretch. Most of what you learn in a CS curriculum is extremely useful. Things like algorithms, computer organization, object oriented programming, operating systems, networking, mathematical approaches, etc. aren’t going anywhere anytime soon.
But knowing what they are, and when to use them, is useful. As is the general background knowledge when it comes to understanding something new (since everything devolves to machine language eventually).
And I never divided four digit numbers per hand, yet I don't think we should drop the requirement for primary school math. I fully agree with your second point, but I think the critic is getting too hung up on the vehicle used for teaching these concepts. You don't need to implement a linked list per hand in your day job, but you need to grasp the concept and have an easy task to learn to program on.
My undergrad course didn't say shit about losing cache locality + indirection overhead, allocation cost per entry, etc. You will almost always be better off using whatever the default List implementation is in your standard library, and if performance really matters you will be better off using some optimized tree or whatever fits your use case and measure. Languages these days are not C, you are provided with really good defaults, reading the usage docs and ignoring the internals will yield better results than basic theory without testing your assumptions. You really need to know what you are doing to beat the standard library offerings - and knowing what is available > having a grasp of the underpinnings.
Knowing about algorithms can be useful, recognizing your data structure is a cyclical graph or a DAG, implications of it, knowing how topological sort works, etc. is useful - but even there - if you are good with search you can find the solution to your problem, you will just take more time.
This requires way more knowledge than I got from my undergrad classes and in comparison learning that part is trivial forward to the hard part that you can pick up in "refresher" part of a book/article on the topic.
I doubt your average undergrad could do it so I disagree with the extremely easy part as well (heck I doubt they could write a bug free version in the first place, even less a better performing one) that a correctly selected std lib container. Well at least not without researching and testing a bunch at which point the background knowledge is trivial in comparison.
"We have to reinvent the wheel every once in a while, not because we need a lot of wheels; but because we need a lot of inventors." -- Bruce Joyce
For me, the biggest benefit of a degree is more to show you what you don't know in pretty broad strokes. It's up to you to investigate deeper either on the street or with a more specific curriculum.
Broadening the possibilities of knowledge is pretty big. I've known of several otherwise great self-taught developers who didn't know much about database design because they just never really ran across it.
When that assumption is explicitly discussed and dropped, the job postings can be backed to realistic levels of expectations and interviewers get more leeway on choosing profiles that could be interesting down the line instead of just playing Tetris with the listed qualifications.
Realistically, even the basic "we want someone that's 100% efficient from day one" is the most unreasonable expectation you can have as a hiring manager, and is usually the one spurring the "high quality candidate shortage" complaints.
I could probably jump into a new position and start cranking out code fast, but it would be different than any code in the existing code base, and could apply techniques not used by anyone on the team. This would result in an awful piece of code to maintain for the team.
There are just so many different ways of writing code that a dev would probably need a few weeks to get comfortable with the code base. I speak openly about this during interviews. One interviewer from a fortune 1k company said I would be given about 6 months to get comfortable with the code base and start with smaller tasks. Another company said I would be building trivial things for a few weeks before touching the codebase.
Unless it is a fresh project there is no such a thing as jumping in and cranking out code day 1.
Now maybe there is some discussion to have about what "100% efficient" means. Of course they will not hit their peak of productivity on day 1, and anyways if 100% efficient means the most productive day they've ever had, then they will more days than not be < maximally productive.
Now I am sure you had cases where you hired someone that didn't quite fit, but seemed interesting, and you were confident they'd get up to speed and pull their weight in a reasonable time frame (3 weeks ~ a month ?).
I'd argue focusing on the second category of hires as a target, and consider it a lucky event when someone exactly matches what you're doing, can lead to a more stable/less homogeneous team.
Agreed. And this was how hiring was done up until about 15, 20 years ago. For example, if you knew C++ they figured you could pick up Java. Or if you knew Perl, you could be assumed to be able to pick up Ruby or Python. But in recent years that's not been the case - you mostly get screened out well prior to any human seeing your resume if you don't have all the right buzzwords. Hopefully the tightening job market with companies (supposedly) having trouble finding people will get us back to more sane hiring practices.
For sure there will be places on which the person weeding out resumes might miss that a competent programmer on most interpreted languages can jump between them and get up to speed pretty quick. Such places I would avoid anyway. At least on my echo chamber, I thought these were on the minority nowadays?
That's why FAANG still do whiteboard/algorithm questions.
If implemented properly you get a good idea of who can code and solve problems, and who can't. Of course, there are false positive and false negatives, but the signal to noise ratio is pretty good.
> If implemented properly you get a good idea of who can code and solve problems, and who can't. Of course, there are false positive and false negatives, but the signal to noise ratio is pretty good.
I see the idea, and I try to focus interviews on 'show, don't tell', but is there research supporting better outcomes?
Sadly it's all empirical.
Do you trust HR or the hiring team more to filter candidates?
It's a valid question. Keyword / minimums tilt the balance in HR's direction. Whiteboard / algorithm questions tilt towards hiring team.
I essentially hired one guy I interviewed because he seemed intelligent and did motorcycle work on his own. Had some background in the specific subject, but I'd rather hire a demonstrated ability to learn & initiative. (Afaict, he's thriving and a great fit for the position)
Me too, and I respond similarly to information like that. But the #1 hiring bias is hiring people like yourself. It's possibly I am just falling victim to that bias.
Keywords are almost always pointless. I've seen extraordinary resumes that ticked all the boxes, yet 20 minutes in there was not a working FizzBuzz on the door.
Do you see that as a maturation process? Is this about moving into management?
> Most degrees and professional certifications are meaningless to people who only care about the knowledge - there's no point in chasing paper that's out of date the minute the course is designed. We don't want that knowledge, it's old. We want current information which the courses and qualifications haven't been designed for yet.
A couple of additions or objections (depending on how some of those terms are understood):
If you care only about knowledge, then you don't care if it's the latest thing or has any application (though I rarely encounter knowledge that has no application). It you care about job skills, and about knowledge only to the extent it serves those skills, that's a different matter.
Also, you can learn about all those technologies, old and new and future ones too, by learning theory. Theory is the most applicable knowledge; it applies to and predicts everything - just like theories in physics predict how every object behaves, now and in the future, not just specific objects in specific contexts. Theory empowers you to solve novel problems and learn the novel tech.
Generally, I think the best way to learn knowledge, including theory, are good degreed programs: They are designed by experts (how do you design a course of study for a subject you don't know?), you have experts guiding and coaching and mentoring you along the way, and you have access to assets from labs to libraries to peers.
In the online world, job ads are not hard to find. People apply to them en masse. You might as well just set a harsh limit so you only consider the best and don't waste your time. I guess the other approach is to just hire the first 'good enough' to walk in. But everyone wants value for money.
It's the exact same as having a UAI/TER score to get into University here. Sometimes it indicates required intelligence, but often it's just a popularity cutoff. They can't accept everyone.
> In the fall of 1988, the eighteen-year-old Carmack reluctantly enrolled at the University of Kansas, where he signed up for an entire schedule of computer classes. It was a miserable time. He couldn’t relate to the students, didn’t care about keg parties and frat houses. Worse were the classes, based on memorizing information from textbooks. There was no challenge, no creativity. The tests weren’t just dull, they were insulting. "Why can’t you just give us a project and let us perform it?" Carmack scrawled on the back of one of his exams. "I can perform anything you want me to!" After enduring two semesters, he dropped out.
I'm not discounting higher education, but to me, degrees are a way to filter people by arbitrary forms of selection, and calling that "merit", and then justifying that "losers" deserve their social status because their failed at school.
Universities should be open for everyone, students would help each other, professors and teachers would organize to deliver education the best they can. Students who fail to follow will just stop coming to classes by themselves. There is no need to filter, because eventually, you will filter out students who actually learn and have the potential to use that education.
Just keep universities open.
I'm constantly hearing that teachers and professors spend a large portion of their time filling paperwork, instead of just teaching and helping students.
And I'm not even in the american education system, I live in france, which educate a large portion of the best math students.
Only way I'd agree to free higher education would be if it could only be staffed by people who have actually held the jobs they're claiming to be educating you for. Nothing seems more absurd to me than paying someone thousands to prepare you for a job when that person themselves has never had a real job outside of the academia clique which is far removed from the real world.
Anyway... these aren't to be taken too literally.
> "So basically they’ve already given it to Michael Abrash but HR said they have to look open minded."
I suspect this holds true for most creative or intellectual jobs.
Hey John, Jack, Matt, etc.. would you like to join us ?