Note that I wouldn’t pass the listed minimum requirements
twitter.com
twitter.com
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.
I worked in tech support and had a great relationship with engineering and etc. They'd ask tickets get assigned to me because they knew I was honest and thorough when it came to documentation and etc. It was a good gig.
Eventually we were acquired and before selling the company off as pieces they laid a huge % of people off, including myself (it was ok, I was ready to move on / and would eventually change careers).
The company that got a bunch of the engineers eventually needed support people and the engineers reached out to me to apply. I applied.
But the job requirements had changed, masters degree required. I no longer qualified (I didn't / don't even have a degree). I applied, but didn't make it past new company's filters. The engineers were told that if I didn't make it through the filter they wouldn't consider me.
20 years doing that job in one form or another, and there's maybe a handful of people who know the proprietary side of their equipment... but no masters = not even considered for job.
This was a technical job to be sure but it was largely IP (and some proprietary stuff) networking troubleshooting. You could take capable high school students and they could do it with some good guidance.
The hiring people industrial complex is insane.
If they can't hire a guy who knows their product up down left and right, not sure I want to be there while they reinvent the wheel and hire more people who just check HR boxes. Seems like a bad direction to take.
Interestingly we can think of other solutions to make the interview process manageable. This is where something like an IQ test would help a lot but it would get slammed by the equity crowd -- Thomas Edison historically gave intelligence tests to candidates that could be screened quickly, and I suggest he had a lot more efficient hiring processes than we do today. But once you rule out any kind of objective measures of raw skills, you are left with a need for a replacement if you want to do better than average, and as you point out, it's hard to find one that can't eventually be gamed.
Another option is to require payment, say $50 for each application. That alone would help reduce the problem of ob application spam and would create pools that are smaller and made by more serious candidates. But this, too, would elicit howls from the equity crowd.
Another option is to have some sort of escrow based service of verifying references, so the burden is not borne by each company. Think of a pgp-style web of trust. LinkedIn is trying to accomplish something like this with its endorsement feature, but I'm thinking of something a bit more complete, in that people with good recommendations have their recommendations weighed more, e.g. something like pagerank but for recommendations, with the authenticity verified by trusted third parties. Then someone with a high recommendation score would go into the smaller pile.
You can brainstorm many other options, but as long as it is illegal for companies to try to measure the raw intelligence of candidates, they are going to go by past accomplishments and this actually shuts the door to newcomers and makes it harder to break into the job market.
Companies still verify references?
I've never in my career been asked for references, nor would I be willing to provide them. Maybe I have some ex-FAANG privilege there, but references feel like an antiquated (and very gameable) model for verifying ability to perform job.
Toxic positivity.
Its just as likely that their prior company was also doing something to candidates that wouldn't allow candidates to guess that it was a good job with good people.
There is really no filter that allows a candidate to know if their specific team or work environment is going to be good or bad.
There’s probably an ACLU case in there at some point, given all the -isms that are implied by this spurt of activity.
Having the MS means you filter out a bunch of people that may or may not have the skill you need. The filter reduces the number of resumes you need to evaluate.
It's stupid, but makes sense in the eyes of HR and as long as you can fill your pipeline with enough people, it works.
I did not and do not agree with the practice, but I can also understand why it is in place.
Any sort of low level job would easily get 200+ applications. A hiring manager threw away half the resumes to cut down on review time: "I don't like unlucky people."
1 - https://news.ycombinator.com/item?id=3804134
2 - https://web.archive.org/web/20130116104843/http://raganwald....
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?
This reverse-sexism/racism reads as if you believe on an ideological level that women and minorities have inferior character defects and need special accommodations.
> 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/
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.
>- 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.
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.
Recently, hiring was overhauled. Every office that needs engineers submits a list of requirements. All interviewing is handled by a hiring panel that consists of HR and engineers with relevant experience, but who do not work on the team or with the project. The hiring panel hires people without any interaction between the team and the candidate and without any input from the team.
Basically, we sent in a posting and they send us an engineer. I'm curious to see how this plays out, though I'm not very hopeful. I think someone looked at how much money was being spent on staffing at the lower level and decided to consolidate it.
Anyone have similar experience?
I was an active "reverse code engineer" around 2005-2011, I worked on reversing popular software protections on both Windows & Symbian, and was involved with a certain famous (at the time) team that released tutorials on those subjects under pseudonyms.
That was back when I was in high school and early years into college.
I live in a third world country, and in my early twenties I dropped out of college to support my family.
I built a business that's unrelated to tech and the pandemic put an end to that, so I started thinking about applying to remote jobs thinking that I can easily land an interview and ace it.
Well, the problem was getting an interview.
I worked extensively with x86 ASM (MASM, FASM), wrote packers/unpackers in C back in the day, wrote extensions for IDA at some point. When I built the family business, I had free time so over the last few years and I've learned and used a few other languages (Golang, Rust).
I've been doing LC and LC-like problems over the years, so I can comfortably solve most DSA problems that I've seen thrown at FAANG candidates, tackled system design questions as well, so I'm familiar with SW architectures of modern software.
However, since I don't have a college degree, nor an active online portfolio (github and the like), I don't meet any requirements for any of these jobs which I can do better than a large portion of the SWEs complaining on Blind about their 6 figure TC and how awful WLB is at Facebook. I could do their jobs at a fraction of the TC.
Unfortunately, I was an idiot and dropped out of college.
Do cold reach outs to recruiters on LinkedIn. This is all a lot of work obviously, but it will work. Don't worry about college degrees, no one really cares tbh. Good Luck!
If you’re applying for mid level up and the only relevant experience you have for the role is a github profile with side projects, thats not going be enough to get an interview. Recruiters who screen candidates won’t even check out github profiles let alone evaluate their content.
Degrees are not really a hard barrier nowadays to get interviews. What’s important is relevant experience. OP doesn’t sound like they have relevant professional experience to the roles they’re applying for. which is probably why they are not getting interviews and is incorrectly blaming their lack of degree as the reason
Like I’m a high school dropout who also doesn’t have an active online portfolio and I currently work as a SWE at a tech company but I’m on a search for a new remote role in the last month or so and have done multiple interviews for remote roles. Even FAANG recruiters have reached out for interviews. A lot of job postings don’t even list a degree as a requirement or nice-to-have.
Are you only missing a degree when you look at job postings? Because while I do think there are companies who filter out candidates who don’t have degrees, I don’t believe that it’s a hard barrier nowadays to not even get a single interview.
If you’re missing all of the requirements how do you know you can do better than most of the folks who have the role? Seems odd to bring down the folks who have the roles you’re trying to get
I'm also from a third world country (and not one with the best of reputations). I don't have a degree either and have way less work experience (or experience of any kind!) than you do. But I've found and held remote jobs, not with ease, but I did it. I did go through a period where it seemed I could not get a single interview, and what I eventually realised after feeling very sorry for myself was that I needed to both package myself better (my CV, while nicely formatted and free of errors, was pretty bad at conveying my strengths) and target my job search better. There are companies out there that are actually remote-friendly (or even remote-first), are open to hiring people outside North America and Europe, care about experience over tertiary education, and compensate well. Yet I kept applying to roles I knew I didn't have an equal (or any!) shot at largely because the companies were popular.
We are a small bootstrapped SaaS looking for backend engineers.
> "So basically they’ve already given it to Michael Abrash but HR said they have to look open minded."
Hey John, Jack, Matt, etc.. would you like to join us ?
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?
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.
I always go by the "75% rule" - if I meet 75% of requirements they ask for, I apply. You never know who actually wrote and contributed to the posting. The requirements can be far removed from what the hiring manager actually cares about.
https://www.manager-tools.com/2010/06/career-tools-rule-job-...
And the listing gets made by doing: for each requirement, (role number of years - 2) years experience in (requirement).
“ 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?
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
> 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.
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"
Job adverts are filters. Some job adverts are written to encourage certain people not to apply.
In 'Masters of DOOM' Carmack explained his process for making anything.. As I understand it, first do the absolute simplest, easiest implementation you can think of.. and if it's fit for purpose (passes benchmarks, whatever) happy days! move on to the next highest priority thing.
I follow this almost religiously.
The CEO / business guy at my company is the opposite tho, he is a perfectionist. Usually he tells people to do more work and polish things, and I tell them that its done, move on, keep going and get it all roughed out 1st, maybe return and polish later.
Just thought I'd share and see what peoples thoughts here are on this + do they have any good anecdotes.
Anyway... these aren't to be taken too literally.
Is this not common knowledge?
Everything definitely had some impact across every industry, not always good.
Proven cross-functional partner, working across functions to drive solutions
CS, electronics and economics.
Experience in mentoring/influencing senior engineers across organizations
7 years guest university lecturer
12+ years of experience in programming languages (Python, C++, Java or R) with a technical background
Started in 1997
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
Build and deployed 20 or 30 projects in all areas since 1997 PhD in economics and computer science
Highly experienced in the mobile graphics pipeline and interaction across display and optics
only been doing that for 10 years or so.
Experience in encoding/compression technologies in graphics display pipeline
dds isn't that special
Experience in working with graphics hardware and drivers on mobile platforms
vulkan crashes a lot.
____ Now mine.
#1 Not US based
#2 Not an evil company
.... Oh dear, good luck everyone.
"Some cookies are required to use our services. To continue to Facebook, review the available cookie controls and make any optional changes you'd like before selecting accept below."
There is only Accept Cookies button.
Not only are you needlessly screening out great candidates, in terms of personality you’re often disqualifying the absolute best candidates.
Rather than doing that I try to list only most important ones as requirement, and everything else as part of description of the project.
So, the description for senior Java dev might look like this: We require very good knowledge of Java (11) and experience with Spring applications. Other than that our project uses ... (list of technology stack, databases, etc. follows)
https://siderea.livejournal.com/1230660.html
Now, sophisticated consumers of minimum requirements will know that these aren't necessarily meant to be taken seriously and that ignoring them isn't really transgressing boundaries. But that's still filtering out a lot of people from different backgrounds, inexperienced people, and literal minded people.
Until very recently, I was a college dropout who managed to finagle my way into senior-level positions at big companies, and I think it's mostly because I almost never bother even reading the "requirements" section of a job posting, instead applying to anything that seems interesting.
- not to include anything re: education requirements
- for Sr. to be 5 years experience and Jr. to be 2 years.
Kudos to HR departments that give you this latitude.
"Sorry, something went wrong."
"We're working on getting this fixed as soon as we can."
Has anyone made a screenshot or archived it otherwise?
I suspect this holds true for most creative or intellectual jobs.
This is about credentialism, not experience. John definitely meets the listed minimum requirements in terms of experience, but he was too busy inventing an entire industry to go get a Master's degree, or any degree, for that matter.
Oculus has done extremely impressive hardware and software for VR and created the only viable mass market headset in the world and most importantly managed to ship consistently.
If he wanted to work on that there isn't really another company that he could have worked at. Valve doesn't take it seriously enough, and personally I believe they would have actually abandoned it already if Oculus hadn't been competing with them, they just lack the ambition and making hardware successful is infinitely more work than just running a videogame store.
But that's off the point. It's not the product I'm salty about.
Résumés: There are too many liars and too many lazy hiring managers and HR who will let anything pass.
Certifications: Skills tend to be inversely proportional to most certs.
Buzzword bingo: Okay, fine, I'll grocery list everything to check the robotic résumé scanner's boxes.
In truth, "minimum requirements" are wish lists and "preferred skills" are wet dreams.
I swear, modern HR operates like a person trying to find their soulmate with one meaningless signal.