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.
> 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.
> 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.
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?
> 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.
> 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.
I worked at a job for nearly 20 years. Good job, good people, really hard to leave. The folks at the company who hired me at the time (dot.com era) "Just wanted people who could think about second order effects". They didn't care about resume much. They wanted "thinkers".
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.
It's probably lucky you were rejected. Almost certainly, that's not the same company you left. Large corporations attract cost-cutting groupthinking bureaucrats and heavyweight processes governed by straightjacket apps like SAP or Office 365. In that world, everyone is a replaceable cog in the machine.
Agreed. When I heard I got filtered by default ... I didn't really want to work there. It was a red flag for me as far as if I wanted to ever be there.
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.
Many people think that a company is guilty of some injustice if they don't respond to a qualified candidate, as if the job of the company was to correctly assess every candidate as opposed to finding one to hire in the least possible cost. Of course good candidates are going to be screened out, the job of the company is not to test everyone but only to find one. When there are 1000 candidates applying for a position and you have at most 100 hours of people's time to spend on phonescreens and panel interviews, then you are much better off throwing out 95% of your candidates and only spending resources on assessing the 5% than trying to spread your resources over assessing each of the 1000. Even randomly tossing job applications is much better than trying to assess everyone. But if random tossing is needed, why not toss based on qualifications/keywords?
Because random tossing is guaranteed to not come with a bias, whereas tossing based on keywords may introduce negative biases. Example: tossing out everyone that doesn't have a particular Microsoft certification is probably going to significantly reduce the average quality of remaining candidates. There's also the Game Theory aspect: if everyone else is hiring the gems out of a small pool (e.g. Master's, only young, white, etc.) then you get a better average by considering the outcast pool rather than by throwing out the same people everyone else is.
That very much depends on to what degree people pad their resumes with keywords to not be filtered. And I suggest the best ones with this information are the companies. I'm not ruling out that you are wrong, but this is a quantitative question in which I doubt job applicants have access to more information about candidate behavior than job screeners.
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.
> Another option is to have some sort of escrow based service of verifying references
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.
I have always not-so-secretly wondered if the degree escalation is really about establishing a cushy eco chamber and nothing at all to do with attaining operational excellence.
There’s probably an ACLU case in there at some point, given all the -isms that are implied by this spurt of activity.
It's really just about making hiring easier. If you can say that someone with a Master's in CS will know all these things we think are important, then you can set the bar at MSCS and ignore all the people with a BS even if they have the same knowledge.
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.
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.
When I worked at a small consultancy, we had similar requirements, Masters or higher. I asked our hiring manager (who himself was a 22-year-old student) why they did that. He told me that in any week they'd get 100 applicants, while hiring only about one dev per month. Sure, by requiring a degree they'd weed out a handful of great people, but also literal hundreds of idiots. And while there are idiots with degrees (as evidenced by the 80:1 hiring ratio), the number is apparently much smaller than for the general population.
I did not and do not agree with the practice, but I can also understand why it is in place.
This reminded me of another story I read in 2012 that was actually posted here.
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."
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.)
> 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.
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.
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.
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.
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.
>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.
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.
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.
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.
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.
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.
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.
> 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.
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.
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'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.
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!
> 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.
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.
> 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.
> 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 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.
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.
>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.
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...
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.
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.
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?
> Except that women and minorities tend to be easily discouraged
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.
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.
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.
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"
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.
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.
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.
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.
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.
> 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.
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.
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.
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.
>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.
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).
> 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.
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.
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.
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.
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.
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".
> 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.
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.
> 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.
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'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.
> 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.
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.
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.
> 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…
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 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?
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.
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.
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.
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.
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.
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.
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...
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.
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
>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.
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.
- 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".
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.
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.
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.
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.
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.
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.
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.
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?
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.
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.
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 work for a large corp. We used to get resumes from HR (not sure what filtering they did) and follow up with a phone screening. If that went well there was an hour interview and a panel interview. I don't think our process was the best.
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.
Does this mean the applicant doesn’t interact with the team before getting hired? This seems strange to me. I would like to interact with team members before I accept a job.
I am not sure how it is at the more experienced levels but for new grads and juniors you apply for the company, then have a "general" interview (think leetcode, some nominal system design stuff). If you clear the bar, you proceed to some team matching stage (this where the companies start to differ). Your experience and your input is taken into account and you are matched with a team where you fit in best. Some companies have the team manager talk to the new candidate to check for fit, others have different processes.
I'm in my early thirties, and I have been applying to remote jobs since this pandemic started. I still have not landed a single interview.
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.
I'm not sure how to phrase this in a blameless manner but the problem almost certainly is not the fact that you dropped out of college. In my experience (and the experience of most people I know who've applied for remote roles), implicit location/time zone requirements have been a way bigger disqualifier than education.
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.
For me, as a hiring manager, the part that sticks out is "I live in a 3rd world country." That's going to make it hard for the majority of companies to hire you. They don't have a business presence there, they don't know the laws, taxation, etc. You're also not going to have timezone overlap with the rest of the remote team you might work with. Very few companies will even look at your resume because of that.
Not a single interview? That’s got to be a incredible amount bad luck because it’s a pretty hot market right now for SWE.
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
Sorry about your situation. I would suggest doing two things.
1. Build a github profile. Do some interesting side projects that shows you can code. They don't have to super complex, small scripts that are useful or a CRUD web app is fine.
2. Make a linkedin account, add a bunch of recruiters, people from FAANG and start ups, start sharing your side projects on linkedin.
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!
Your advice is pretty good but it only really applies to junior level roles.
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
That sucks, I'm sorry. It sounds like what you really need is a network. You get interviews from ex-colleagues and friends when you don't have a reputation that speaks for itself.
This is a terrible advice, please don’t do this. If found out you will not only be blacklisted by the company but also by all the companies of recruiters network. Not worth it.
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.
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, 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.
> 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
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"
I've seen several job postings requiring 10 years' experience with the cloud platform I work with. It released in 2015.
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.
The most straightforward example of how this happens is:
- we're hiring a principal engineer. That is 10+ years experience
- engineering says required skills are ML & Graphics Programming.
- our handbook says graphics programmers have degrees
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”
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.
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.
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.
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
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.
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.
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.
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?
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
> 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.
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.
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.
> 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"
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'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 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.
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.
Sometimes when a job listing shows impossible requirements, it's because they already know who they want to hire for it and they are just going through the motions. For example, if a US company wants to hire a specific person on an H1B visa, they have to show that they couldn't hire a US citizen or permanent resident for the job. And if the person they hire doesn't fit the requirements either, they don't worry about that because it's very unlikely that anyone would ever check each individual hire.
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.
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.
One of the first things I learned in the field as a professional, even during college, was to basically ignore the listed requirements and apply anyway.
It common knowledge for some people, that's why these positions still get filled. It's also been observed that for people who are less confident they belong in a position that they will self-exclude themselves from these jobs, which includes all the groups of people who are already underrepresented in the field.
Experience leading consumer-based projects with industry-wide impact
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
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.
Unsurprising a nice dark pattern on cookies at the job site:
"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."
I would urge everyone to push back on your recruiters/hiring managers when they want to post requirements you and your team don’t meet. It’s harder to come up with the “real” requirements, but boy does it make you feel less scummy once you have.
I think listing all technologies used in the project as requirement is a huge problem. I have personally learned to ignore large part of this and apply even if I don't know everything (and then make sure the client understands). But I know a lot of candidates treat requirements as gospel.
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)
It is definitely bad that jobs often have illogical requirements posted. We should work to change that. Meanwhile, when applying for jobs, keep in mind that you need not totally fulfill all requirements even if it say you do!
It's the easiest thing in the world to set up an Asshole Filter where you only get to interact with people who are willing to transgress the boundaries you set.
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.
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.
I feel like this is a lesson that basically any college dropout learns fairly quickly: the job requirements simply aren't. If you have the ability to do the job, and pass the interview, it's not too hard to get companies to overlook your lack of formal education.
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.
And how many of those requirements are not even real? A prior job wanted experience with test driven development. We skimped on testing and there certainly was no TDD.
Certainly learning about TDD and trying to practice it has some benefits, it can really help you suss out some edge cases of your API designs. But at this point I've professionally done some level of work with around 200 developers and never once seen actual TDD practiced.
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.
Job listings are written like this to give the illusion of being an equal opportunity employer. It's meant to be impossible to fill, through the front door, because they are holding out for someone coming through on a personal recommendation. Because people tend to only socialize with people just like themselves, personal recommendations for jobs end up reinforcing the existing corporate culture.o
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.
The VAST majority of the comments here are missing John's point entirely.
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.
He easily makes way more than that. E5s can hit 500k with refreshers and stock appreciation. I would be shocked if he's making less than 2 million. Not that he even needs it.
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.