7 ms·
> Like what other profession markets themselves as "Hey, our job is so easy that any schmuck off the street can enter the career with 4 months of training." Fo
by jselysianeagle 2mo ago
> Like what other profession markets themselves as "Hey, our job is so easy that any schmuck off the street can enter the career with 4 months of training."
For one, the industry never did professionalize to begin with, certainly not in the way accountants, lawyers etc did. We never had any real body that could certify proficiency, which is what contributed to companies having to resort to leetcode and other such styles of interviewing.
Additionally, it wasn't software engineers doing this, but people looking to cash in on students looking to get a 6-figure job. They were business people, not software engineers.
- WalterBright 2mo ago> We never had any real body that could certify proficiency Good! > having to resort to leetcode and other such styles of interviewing Such test filter out the obvious frauds.
- bdangubic 2mo ago> Such test filter out the obvious frauds. if you need garbage like leetcode to filter out "obvious frauds" you got a whole lot of problems in your company/team/...
- WalterBright 2mo agoA colleague of mine came to me for advice. He wanted one of those high dollar jobs at a well-known MegaCorp. He knew a leetcode test was used by them. I suggested that his top priority was to study the leetcode books for the next 3 weeks. I told him those three weeks would be the best ROI he'd ever make. He did so. He aced the test. He got the job with a huge offer. He agreed that the ROI was out of the park! P.S. I'm curious what your test is for obvious frauds?
- timr 2mo ago> He did so. He aced the test. He got the job with a huge offer. He agreed that the ROI was out of the park! ...and everybody clapped? I have news for you: passing an online leetcode is now so easy that an AI can do it. If you think you're catching the cheaters, you're just wrong. Leetcode was always a stupid test of competence, but it was cheap and it had a high true-negative rate, which filtered the riff-raff. That isn't true anymore.
- WalterBright 2mo agoHe went in for a monitored taking of the test.
- timr 2mo agoSure, sure. So now we have the worst of all possible worlds: an expensive interview process where the candidate has to be onsite, and a stupid evaluation mechanism that doesn't at all reflect real-world job requirements. And in exchange for the inconvenience of an in-person interview, the candidate gets treated like a number and is met with a stupid memorization gauntlet that tests a skill that quite literally will never be used again now that we have AI. Sounds great. Man, there are times when I really hate this industry.
- bdangubic 2mo ago> Man, there are times when I really hate this industry. Or as I'd like to call it - Wednesday :)
- nocman 2mo ago> an expensive interview process where the candidate has to be onsite I'm sorry, but if I'm doing the hiring, the person who isn't willing to come on site to do an interview will be one of the first people off the list to hire (I mean, unless it is a remote job, and the person is nowhere near the employer, obvious exceptions would apply). In-person interviewing can be extremely valuable. Will it filter out every bad candidate? No, some people excel at faking it. However it can be a big help in finding a good candidate.
- zzrrt 2mo agoDoesn't this imply that, had your friend not taken your advice, he would have failed and thus been an "obvious fraud", but a mere 3 weeks transformed him from fraud to competent programmer?
- inigyou 2mo agoNo it means he fooled the interviewers
- wyclif 2mo agoI don't think he "fooled the interviewers." The point of the story is that he focussed down on what the company's culture decided was important.
- SoftTalker 2mo agoIt's like cramming for an exam. Yes you can get enough information in your short term memory to pass, even do well. But a year later (or a month) it's all gone. You never really knew it.
- WalterBright 2mo agoTrue, but it shows a willingness and ability to do the work.
- rightbyte 2mo agoSuch recruiting selects for KPI hunters. It is probably bad for an org to select for people that game it rather than doing "what is right". A dice throw and some chitchat would be better recruiting.
- WalterBright 2mo agoThese arguments all sound familiar to the "high stakes testing" debate about the SATs. The tests were unfair, did not measure college readiness, could be gamed, etc. Then universities dropped the SAT requirements. Even MIT was suckered into dropping them. It was a disaster. It turns out the SATs were a very strong predictor of college success. MIT and others reinstated the SATs.
- selcuka 2mo agoI'm confused. Your example contradicts your point. How is it a good filter for fraud if it can be aced by only studying for 3 weeks?
- WalterBright 2mo agoThe frauds and incompetents don't want to do the work.
- esseph 2mo agoNo but they want the money, so they'll do the bare minimum to get in that door.
- tombert 2mo agoAll this proves is that BigCo puts a lot of value in these idiotic leetcode tests. It doesn’t imply at all that it gets rid of “obvious frauds”, and in fact seems to suggest the opposite given that someone was able to “ace” the test just by buying a book and studying it for three weeks.
- watwut 2mo agoYour friend does not sound like an obvious fraud. He sounds like someone talented and capable of learning.
- marcus_holmes 2mo agoLet's assume that instead of leetcode, the company had decided that the qualifying test for programmers would be sketching a vase of flowers (about as relevant as leetcode for commercial programming). Your friend would have spent three weeks practicing their sketching, right? And they would have made a decent drawing at the interview. And that would have the exact same ROI as spending those weeks on practicing leetcode. The point is not that studying leetcode is good ROI. The point is that large orgs are testing for something that isn't relevant to commercial coding.
- WalterBright 2mo agoWhat do you use to narrow down 100 candidates to 2?
- marcus_holmes 2mo agoWell, in this case, sketching a vase of flowers. This is classic Streetlight Effect [0]. Just because it's easy to test leetcode, and it appears to have something vaguely to do with coding, it gets used. Like I said in other posts, I would use the "pick a bug and fix it" method. But I'd also screen down from 100 candidates to ~20 or so before getting into technical interviews. And, again, I don't think leetcode will scale well to 100 interviews either. You need technical staff in that interview room, and if you subject your team to 100 technical interviews using leetcode they're not going to be happy about it. [0] https://en.wikipedia.org/wiki/Streetlight_effect https://en.wikipedia.org/wiki/Streetlight_effect
- esseph 2mo ago> P.S. I'm curious what your test is for obvious frauds? I interview them and ask questions! Seems good so far.
- bdangubic 2mo agoWe pull in everyone from the Team who is available at interview time into a room with a big a$$ whiteboard and we talked to the candidate. We work through the problem, either current one we are working on or recent one that we completed or we have few "golden ones" we like to have a chat about. Afterwards the Team decides whether or not they want to continue solving problems with this candidate or not. Exactly what we do on day-to-day basis is what we do when we are trying to grow the team. I would guess that 85% of my team would fail leetcode-style screening right now (which is good cause it is garbage)
- leptons 2mo agoI took an online technical interview recently where there was a check-box they made you click before every section, promising you would not use AI to solve the test for you. After they rejected me I had to point out that their test is selecting for the cheaters.
- WalterBright 2mo agoI would view skeptically any testee who turned in a perfect score. When you check in at the airport, the machine asks you to certify you are not carrying banned items. Of course, one wanting to break the law and carry banned items would certify it. The purpose is that if you get caught with the banned items, and you certified you did not, it's an extra charge they can paste you with.
- inigyou 2mo agoOnce we carried dangerous (not banned) items and selected yes and the first action by the attendant was to come over and say we selected yes by mistake and she selected no for us
- sscaryterry 2mo agoHonestly this is purely because time is money. Its a blunt instrument that is surprisingly effective. Unfortunately, it also removes a fair amount of competent people too, that simply don't think/operate in a leetcode mindset.
- WalterBright 2mo agoI'm a little hesitant to accept the notion that people are really great engineers but cannot handle basic algorithms and data structures.
- tombert 2mo ago> Such test filter out the obvious frauds. I know everyone says that, but I really don't think that they do a good job filtering out shitty engineers. I have worked with plenty of incompetent people who managed to get past the leetcode challenge but are wholly unable to do anything useful involving software. I feel like what leetcode primarily tests is "does this person know how to use a hashmap in a way that you shouldn't actually use it because you lose cache locality", and that's literally all they test.
- WalterBright 2mo agoYou might be surprised at how incompetent some engineers are. They get filtered out with the leetcode test. Of course, it doesn't filter them all out, and that's why there's a followup interview round.
- tombert 2mo agoI have given dozens of interviews at big companies and small companies and medium companies so I am not speaking out of my ass. These leetcode tests are not good filters, nothing is “surprising” me. Generally they are just wanky bullshit from some middle manager’s slightly-incorrect recollection of their first “data structures and algorithms” class, and the solution is almost invariably “use a hashmap” or “use a minheap”, even though the scope of these problems is usually so small that in a real implementation you would probably do in a more naive big-O-unfriendly fashion because constant factors are going to matter more. Let’s ignore the fact that most of the people who are designing these leetcode problems haven’t actually done any actual optimization and optimization is virtually never part of the job you’re interviewing for. I don’t know what the “correct” way to interview is, but I am fairly certain that the masturbatory leetcode problem is not correct.
- marcus_holmes 2mo agoAgree 100%. The problem is that leetcode problems are nothing like the actual practice of writing commercial code. Writing good commercial code is about keeping things as simple as possible, as clean as possible, as readable as possible. Use libraries for the complex stuff, don't invent complex solutions. And, as you say, use standard data structures whenever possible. Don't optimise early. Don't fix performance bottlenecks unless you actually know they're causing a problem in production. And even then, throwing more hardware at the problem is often better than making the codebase more complex. None of this is anywhere near what leetcode tests. The best interview method I've seen is getting the candidate to work for a day or two alongside the team. The second-best was picking a bug from the current repo and working it out together with the candidate, getting them (or in this case, me) to work out why the bug was happening, work out a solution, code up the solution, and commit it back to the repo as a PR.
- analog31 2mo agoThis is a "better watch what you ask for" situation. Accountants and lawyers effectively controlled their customers. You can't use accounting or legal work for business purposes without those things coming from licensed practitioners. And they have no other use than to work with regulatory agencies (loosely speaking such as courts, IRS, etc). If you lock down software development too hard, people will write their own. It's easier to hack something together that solves a specific problem than to write general purpose software that can be sold. And eventually the licensed programmers will break their own rules, for instance by using un-approved computers, languages, and development tools, in order to compete with software smuggled in from overseas.
- ElProlactin 2mo ago> For one, the industry never did professionalize to begin with, certainly not in the way accountants, lawyers etc did. "Professionalize" is an interesting way to frame this. As Milton Friedman argued, occupational licensure is almost always pursued by the practitioners rather than consumers. The licensing boards are mostly run by practicing lawyers and CPAs, so you have practicing lawyers and CPAs determining who can compete with them. So what you get are cartel-like bodies. Most people don't know the histories of how these professions came to be what they are today in the US. If you take 15 minutes to read up on it, it leaves little doubt what the intentions are and how much consumers have been screwed. > We never had any real body that could certify proficiency, which is what contributed to companies having to resort to leetcode and other such styles of interviewing. Except that basically everyone in the industry knows that leetcode doesn't test real-world proficiency. It's equally dubious to believe that some sort of body (ostensibly run by practicing software developers) would be able to come up with a means to certify proficiency. Incidentally, many of the outfits "looking to cash in on students looking to get a 6-figure job" placed a heavy emphasis on teaching their students how to interview, not how to be proficient.
- sgarland 2mo agoI, for one, am extremely happy that electricians and plumbers have to be licensed.
- hattmall 2mo agoSure, but are you happy about the requirements of that licensing? Requirements that have continually expanded to require more "experience" over the years. I know in my state it was originally 1 year of experience or completion of a tech diploma and then you had to take the licensing exam. Now it is 5 years of experience and a diploma can count for one of those years. Which of course has pushed prices to insane levels. Are you happy that the license is much less a license to do the work and much more of a license to hire unlicensed people to do all the work. And lastly are you happy that private equity can "hire" the licensed professional to hire 100s more unlicensed people to run a huge company with a catchy slogan?
- Animats 2mo ago> Like what other profession markets themselves as "Hey, our job is so easy that any schmuck off the street can enter the career with 4 months of training." - Submarines.[1] - Homeland Security [2] [1] https://www.buildsubmarines.com/ https://www.buildsubmarines.com/ [2] https://www.dhs.gov/homeland-security-careers https://www.dhs.gov/homeland-security-careers
- nixon_why69 2mo agoOk, but consider if we had professionalized in, say, the late 90s. Would we be insisting everyone writes bad 90s style OO code because that's the professional standard? How do you have standards when the field is still figuring itself out?
- gizajob 2mo ago“The good thing about standards is that there’s so many to choose from”.
- elmer2 2mo agoIt also changes every year or two. Plumbing, for instance, hasn't changed much in decades.
- nixon_why69 2mo agoHave we solidified a little, though? I don't want to overindex on my particular biases given my particular age, but I feel like we ironed out the problems with object-oriented programming and reached a rough consensus about a functional/object-oriented hybrid where nobody likes too much inheritance. Are we at a stable spot now or am I just overindexing on my personal understanding?
- esseph 2mo ago> I feel like we ironed out the problems with object-oriented programming and reached a rough consensus about a functional/object-oriented hybrid where nobody likes too much inheritance. Python and NodeJS are some of your most popular tools and newborn programmers just started checks watch today and don't know what OOP is. They can write hello world if they download 500MB of packages first. Good luck. Oh look, a new electron app!
- ChrisMarshallNY 2mo agoI’m pretty sure that the IEEE tried that, and it never took off. Regulatory bodies generally need a raison d’etre to exist (like people will die, or go to jail, if we screw up). They also need to provide clear benefits (to the licensees), like medical practice, or CPA licenses. I don’t think that ever worked, for software. Companies have been hiring anyone that can spell “algorithm,” for a couple of decades, and making money, hand over fist. In my case, I’m sort of grateful. I have no “on paper” qualifications (high school dropout, with a GED), yet managed to have a long career, working with some pretty heavy-duty pros.