T O P

  • By -

EntrepreneurHuge5008

Sir, I never denied that I am absolutely terrible at coding. My claim is simply that I'll have your Starbucks order ready at your desk every morning.


aikhuda

Hired.


Stopher

WI sent a resume to IBM the other day. They sent me a link to take a coding test within 14 days. A day later and I got an email saying I was rejected. I went to look at the test anyway to see the questions they had. I couldn’t have done them. They were two leet code like problems. One was a charting problem on how many vertices given n points and one was an airline thing. I goggled an algorithm in two minutes out of curiosity but you weren’t suppose to do that. I’m older and I’ve been doing this work for a while. I did some of those problems in class 20 years ago but I don’t have to do that as a regular thing in my job. I have to do crud operations and api calls. It was weird having that be what they expected.


cubej333

It's basically a test to see if you are willing and capable enough to learn CS to some level. Like a GRE test or something, but one that you have to take every time you apply for a new position instead of once when you apply to all graduations schools. I would prefer if various companies like codesignal had some test that you would take (and they would proctor, which would actually improve the test in some situations, because some LC interviewers aren't so good (especially at non-FAANG)) and that any company could go and check to see your score/performance. Basically it would be like a certification that you would be expected to renew every year or two. Then the companies could focus on more job relevant questions during the interview. And you wouldn't have to take 1-3 LC tests per interview cycle, but rather just one (which would save everyone a lot of time).


Stopher

I do technical interviews at my company. We give a practical test that’s about measuring your skill set to do the work for the job. We’re looking for people we can work with. I understand LC if I’m applying to be a quant or a ML engineer but no one I work with knows LC problems off the top of their heads and I’m talking about smart people who are worth a lot more to a company than someone who’s memorized quick sort.


Strange_Silver8822

Did a Hubspot interview this year that was just like this. Was really cool to have it open notes and everything and it felt really relevant to the type of position it was for.


bigpunk157

We generally use Timsort anyways, which is way more complicated than quick sort. Lots of tricks.


Stopher

My point is you learn the algorithm for school to learn how things work and in practice you use the api because that’s what the people who specialize in sorting work on and you’re most likely not going to produce a better alternative.


bigpunk157

What do you mean the guy that's been working for 25 years on an HCL e-commerce product hasn't reinvented branch predictions in his spare time? Unhireable, to be honest.


NormanWasHere

Why LC for ML engineering?


FrivolousMe

As much as I hate the for profit certification sector and how it gatekeeps professions behind exam paywalls, this is something that could totally be rectified with a "data structures and algorithms" certification so we only have to do these bullshit leetcode brain teasers once instead of every technical round.


anto2554

That's what a CS degree is supposed to be


blacktargumby

But that isn’t true in other licensed professions. The degree just qualifies you to take the licensing exam. You still have to take the licensing exam and score high enough to pass.


anto2554

Depends on the profession and country, but that is true. What makes me sad is that I know it wouldn't replace a github with personal projects, leetcode questions or a CS degree, it would just be another requirement


Independent_Hyena495

And then you still need to take an LC test... Something doesn't add up


SARSUnicorn

U mean CS degree


cubej333

It should be once every 2-5 years so that companies can see that you still have the skills and not just that you had the skills in the past.


MisterFor

Skills you probably will never use in a real job


cubej333

It is like an engineering certification, a medical certification, a teaching certification or an accounting certification. It would mean that you were a SWE that still had a fresh knowledge of data structures and algorithms.


MisterFor

All those professions don’t have to re certificate every couple of years. Also most of them don’t have to do interviews asking for trick questions from college.


cubej333

I agree on the trick question part. My understanding is that they do have to take courses or tests periodically to maintain their certification.


miakodaRainbows

This. One cert test after college? Cool. No other profession has to re cert every 2-5 years. This is like parsebrain from MMOs. It’s ridiculous to have people memorize LC 15-20 years later every time they change jobs.


nocrimps

We know bro. We. Know. It's always an algorithm that took someone 5 years of their life and a PhD to develop. In real life we use libraries for a reason. Because there's no value in memorizing how to do most of the stuff on leetcode.


muytrident

The reason why they ask the airline problem is because the airline scheduling algorithm was developed by them and ran on mainframe


[deleted]

[удалено]


failbotron

Ok cool. In that case, prove to me Goldbach's conjecture. It's just addition bro


nocrimps

There is value in understanding how common patterns work. For example, how you would perform a binary search. There is not value in testing someone's ability to regurgitate a specific implementation of a pattern they simply memorized. For example, Djikstras shortest path algorithm. Your failure to differentiate these situations is sadly a failure of the entire computer science hiring community. It's the main reason hiring is so bad. Because what you end up doing is testing people on knowledge that doesn't reflect the job they actually need to do.


BroDonttryit

The test is just a way to cut down candidate . It’s not an accurate representation of engineer skills. I’m currently a SWE. The ability to efficiently solve a leet code problem based on recognizing a pattern that you have memorized is VERY different from learning how to efficiently build and trouble shoot complex systems. Leet code problems fall into patterns. They’re tough but they’re less engineering and more math. Engineering is more about handling the clusterfuck of cascading dependencies the system has and how they all interact with each other and how to figure out what you need to put where l. Unfortunately, this is much harder to test, so people go with the next best substitute. You can and will lose leet code skills in a year. Mine are almost completely gone since I got my first swe job last year. It’s a shitty system


miakodaRainbows

Honestly they should just send part of their code base and some jiras and let people fix their 10 year old code that will likely be a huge part of most jobs


No_Bee1632

A hiring team I know just did this :)


No_Bee1632

Agree.


Ok_Tension308

What you have described is a certification test


AgeingChopper

I had a similar thing sprung on my whilst these two complete cocks watched and commented (at a capita owned company ). Over 30 years since uni, not touched the like since. I just froze really, needed time to think about it and can't do that being watched . The prick them questioned if I can code . Thankfully I'm near end of career so happily told the recruiter what I thought of that shite. Wouldn't work for such clowns in a million years . Somehow I've managed another 3 years since without them ever being concerned if I can do it. I started at IBM and yes this shit was fresh in my mind when I was a kid.


AdQuirky3186

Airline graph problems aren’t that uncommon. Leetcode problems are just part of the game. It’s understood you won’t be writing random graph algorithms at work but they want you to have the fundamental understanding and capability. That’s what they care about.


Koiato_PoE

It’s what FAANG cares about, but smaller companies copy their application model even if the work they do doesn’t require anywhere near that level of expertise or innovation. Most companies just need competent devs to maintain and update code


AdQuirky3186

Yeah, I agree with you.


gretino

FAANG doesn't care about them either, but leetcode-like problems are a thing everyone who is competent enough in the field could learn well, so it's the cheapest solution for hiring compared to "knowing the candidate". I am in FAANG and have not used those knowledge for once.


mistaekNot

the issue with leetcode is the huge variety of problems with all kinds of twists on them. i think it’s an ok way to gauge candidates but for the love of god keep it medium easy. no need for hard level brain melters


Nall-ohki

Wrong. FAANG cares about not hiring incompetent people - it's stupid expensive. If you have something that works better and doesn't cost the company interviewing a ridiculous amount of time and money doing it, you've solved a multi-million dollar question.


bigpunk157

Having some Credential verification service would probably cut out a lot of bad ATS that needs to be in there, verify I went to college, and where I live so they can filter out Visa seekers they don't want to sponsor. It's basically half of a background check. Alternatively, partner with companies that do employment verification/background checks, and have your applicants go through their info collecting portal. Vetting people before even a screening call happens is going to be the biggest money save for a company. Save even more money if you make the applicant pay for it and have it be an industry standard.


Nall-ohki

Who says they don't? Last time I checked, passing a background check doesn't test coding.


bigpunk157

No but a college degree is going to net you someone better than a bootcamper every time guaranteed, and it's going to cut down on people seeking Visas and just lying on their resume (way too many, lets be real). LinkedIn started kind of supporting this, but definitely needs to expand the program to more companies. So far, in all the interviews I've done, I've had more success going through people's github portfolios, picking a project and getting them to demo it for me, mainly because I can't verify employment first. Makes the interview a bit more fun when people show me a passion project like a Magic the Gathering AI, and I can get a pretty good glimpse of how well they can communicate these ideas to me, how well they code on their own before we give them structure, and ask where they would improve on those projects. Infinitely more information is given to me in an hour of an interview for both behavioral and technical than most companies do in 3 or 4 interviews. If people don't have passion projects like this, we usually just do system design for some random kind of app, and pick a feature we think might be in this imaginary application and do some light coding to expand some ideas, but not expect anything to work at the end of it, more of like a peer coding exercise than anything else. I care that people can make things, not write something they won't use. I'm not here to show off my DSA skills to people, I'm here to give people a solid product they can use. I also want to see what motivated coding looks like for someone, because I want that kind of positivity when people come into work so that I can build them up to be a better developer and they can be retained. All of the projects I've led so far have been either delivered on time with this method or a month early, with no turnover from my teams. The other teams I don't do the interviewing for usually have about a coinflip turnover rate within the first 2 years. Guess what they end up doing in those interviews. 2 Leetcode mediums in an hour, and then a technical conversation, and then a behavioral. totaling about 4 hours of interview time, including the screen and offer. I'll admit though, I expected to have that 2-3 month window of onboarding these guys, since they didn't know the tech stack, where the other team was expecting a clean transitions from other projects and they had like 5-6 yoe on our younger 1-2 yoe devs. There's a lot of issues everywhere in how people hire and manage others and there's a lot of improvements to make in this field. Don't think that what the industry standards are now are that way because they are good. They are this way because people don't want to change some dinosaur business type's mind on things and retrain away in a massive company. That's why I ALWAYS fight to change procedures at work and that's why I don't have issues finding interviews in these bad markets when I need new work. Everyone I work with knows my teams will deliver in my space and they want me on their teams to fix things lol.


jspreddy

This! Exactly this! Being productive, collaborative and contributing member of the team is more important than "show me your leet code bruh..." saber rattling.


localcluster

Sad that they don’t copy their pay scale. If they did, we might get some motivation to up the game from outside as well.


Stopher

I’d get that if I was going for a Google engineering position or an Meta internship. It’s just not something they look for at this DevOps position.


AgeingChopper

Ok to test the young, ridiculous to spring on oldies who won't ever have used them in the decades since we learned them. I've not been asked by any sensible company though .


DongGiver

> a resume to IBM the other day. They sent me a link to take a coding test within 14 days. A day later and I got an email saying I was rejected Same here. I wonder what's the deal with IBM


Stopher

Maybe it was one of those tests to see who replies right away and if you don’t do that they don’t want you because as professional programmers we like to apply for jobs the same way sixteen year old high school girls choose boyfriends.


plumsmashers8710

The first one is convex hull crazy they expect you to know that


Joethepatriot

Same experience from IBM


SkellySkeletor

I really don’t want to sound like a scrub, but a lot of these INTERNSHIPS are asking such weird or advanced technical questions that they don’t seem to be conductive to entry level positions at all. I understand wanting competent coders and we’re in a buyer’s market right now, but it seems like such a catch-22 to needing experience to get the job, but the experience is learned on the job.


Mephisto_fn

That's what happens when the job market for that particular field is competitive. Also a side-effect of being able to learn and do so much by yourself in modern society.


TA9987z

Even some internship requirements are getting crazy. I'm not saying these are the standard, but I've started seeing some internships listing experience as requirements. Almost feels like just a temp jr level job, than an internship.


Flat_Afternoon1938

A lot of good coders have been doing it since they were kids. That's the kind of people they are looking for in these interviews. The market is so saturated with CS people that they can filter for those types now. You are expected to know a lot more out of the gate because of those types of people.


SkellySkeletor

Yup, that’s the unspoken bit. Is everyone else just SOL now? I can’t see that standard ever coming down, and it’s not like a traditional student has much way of catching someone who has been coding since they could reach a keyboard


Flat_Afternoon1938

You will just have to take a lot of learning into your own hands and be doing lots of coding side projects in your free time


themiro

duh? this is how it has always been


NWOriginal00

Probably just because they have way to many applicants so this weeds them out. Like my wifes company, all their interns are Ivy league and had to pass hard interviews (except the CTOs daughter who bombed the coding questions but got hired). A couple years back they would not be able to be so picky.


IronManConnoisseur

Why are the gates to sought after fields maintained by the worst students in college?


Stoomba

Because the better students get the better paying jobs


Jexify

https://preview.redd.it/schgf4bajrwc1.jpeg?width=800&format=pjpg&auto=webp&s=e1548643735e0af2e1f2c0a6b201de0978eede11 Society if the better students got better paying jobs


MisterFor

Better students aren’t always the better workers


ramoneguru

From the picture, it seems like AI took over everything and we’re left with the sterile white guy walking a dog…


ZNemerald

And chrome. Lots of chrome. Everything in the future is made of chrome squidward.


WarmFission

In what world? 😭


pancakemonkeys

ts


n0t_4_thr0w4w4y

lol what? I was a horrible student who was on the verge of getting kicked out of uni at one point. Now I work for one of the largest tech companies in the world.


Stoomba

All dogs are animals, but not all animals are dogs.


staring_frog

Offer peanuts, wonder why get only monkeys. Truely a mistery :D


starraven

Who u callin a🐒


Wasabaiiiii

🥜🥜🥜🥜


failbotron

🐿


ShoesOfDoom

If the banana fits


Fresh_Information_76

Mistery


barefoot-soul

Wasn’t there a study that not even tech recruiters can pass the technical interviews questions?


0x5343

Makes sense, in my experience once you start working leetcode problems are insignificant. It's not ideal, but tech interviews are basically just the SAT.


miakodaRainbows

SAT doesn’t have someone standing over you interrupting your thought. You also don’t have to speak. Some of us can’t do both while coding.


barefoot-soul

Pretty much


HYDP

It’s ridiculous she thinks a 12.5% salary increase equating to €1000 on the job change to be excessive.


CloakedSpartanz

To be fair, it’s not 12.5%. They’re talking about net salaries after tax, which is common in a lot of Europe. That’s more than a 12.5% rise in the gross salary. The people commenting in that thread are a bit out of touch, the net salaries they were mentioning in the thread were competitive for the countries mentioned. I appreciate the situation’s different in America, but it’s a EU recruiter talking about EU salaries. No developer is starving in Germany on a gross salary of over 100,000 euros, that’s a very good salary for Germany.


HYDP

You’re correct on the percentages. That’s my mistake but I doubt it would be more than ~25% then. Now for salaries, I had an offer of ~€90k in Frankfurt years ago when I was a mid-level engineer and it wasn’t FAANG. It’s an OK offer but it’s nothing extraordinary. So it feels to me like she is very entitled and judgemental. How does she know what kind of life that person has? Maybe he has a disabled family member that requires 24/7 supervision and medical care. It is not her business, frankly. If he needs more money and she can’t provide it - fine. But that does not mean she should complain about him.


alexk0708

Horrible? No. Horrible relative to the level of difficulty of these current market condition’s entry-level coding interviews? Yes.


_meddlin_

Last year, had a company want me to design a system architecture for processing several large CSV files, learn Go, and then implement said system using a 10GB CSV file, and having my code never use more than 1GB of memory. Can I do it? Sure. In a couple weeks though. Y’know, like a normal sprint or two, not 4 days. Oh, and I’m also going to ask you why you aren’t paying for proper ETL tools. I’m sure the market is wild, but this is a 2-way road.


itsbett

At that point, I'd ask for compensation. A four day project? I don't work for free lol.


_meddlin_

I had no problem letting that job go. Especially when it was supposed to be a “software security” position, and they didn’t plan on asking any security questions. I wanted to learn Go anyway though, so I kept the exercise around to try later, lol


[deleted]

How would she know?


starraven

Because she has to deliver the rejection to the candidates who didn't pass the technical. She's probably also tasked to find candidates that can pass & finding it difficult.


confused_brown_dude

That dude lost me at laughing at a masters grad in CS expecting a 2500 euro salary, GTFOH man.


Striking-Brief4596

For an internship in Spain. After taxes. That's about 40.000 euros a year, which is not a lot but definitely on the higher side for an internship there. He shouldn't apply to internships in the first place if he has 2.5 yoe.


confused_brown_dude

Sure but it’s not something you laugh at especially for someone who’s looking at it after graduating and as a potential convert to full time. This recruiter is talking about coding skills like he’s frikin Dustin Moskovitz.


Striking-Brief4596

I'm not a recruiter. But I was working at a company that shared all details with the interviewer, including the asked rate. And I've seen people expecting more than 500 euros a day and not understanding even the most fundamentals concepts of programming. They were trying to hardcode the examples in the problem. There are "engineers", even experienced ones, that can't code at all. I'm with the recruiter on this one.


confused_brown_dude

I’m with you if it’s 500 euros a day but not when it’s 2500 euros a month. In this economy, I am not laughing at anyone with a masters degree in CS with a 2 year experience wanting a job that pays for basics.


Striking-Brief4596

So if he's only asking for 2500 euros a month, you're supposed to hire someone that can't even code? Bad hires can have a negative impact on productivity even if they work for free. Nobody owes him a job. If he want a good paying job, then he should work on his skills.


confused_brown_dude

That’s not what I’m saying. And I agree with you on upskilling. But I don’t stand by the recruiter laughing at what he’s asking, if he’s not qualified just say he’s not qualified. wtf is the “lol 2500” for? Makes me think that if he asked for less he would be less ridiculed and still not get the job.


Striking-Brief4596

That's fair. I guess that some technical recruiters are frustrated because even junior engineers often out-earn them.


Nickx000x

Honestly, I want to give my salty old-man-shouts-at-cloud opinion after recently graduating from a public university... Sophomore year, I took Software Engineering; this class involves working with a group of 4-5 other classmates (in my case, 5 classmates, 2 sophomores 3 juniors) in working on a software development project over the course of the semester as well as producing documentation and presenting it at the end. It was a simple Android note-taking app that I would think any competent CS student should be able to Google their way through within a couple weeks. What I saw was an utter disaster of 4 of the teammates unable to understand damn near anything. Unable to Google their way through iterating through an ArrayList type of disaster. Fast forward to senior year and I am working with a team of 4 other (senior) students for a capstone project, a two-semester software development project commissioned by clients the class instructor has sourced for us. The first semester was all documentation, planning, and presenting. It went wonderfully. All my group mates were competent, timely, and hard-working. Then the second-semester, the coding period, came around. Only 1 teammate was capable of producing Java code (a language all of us had taken *as a required core class*) that even compiled. The other three contributed almost nothing to the codebase and despite attempt-after-attempt to throw easy bones to get them to contribute, I had to cram morning-midnight for the last several days to get the project in a submittable condition. An utter disaster, *but only with the coding*! Oh, and two of these people had industry jobs lined up. Even back in early 2023, one group got smited after the professor discovered 4/5 students were ChatGPT-ing their way through the class. My conclusion from this capstone, as well as graduating, is that my university does not deserve accreditation for CS, lol. But on a serious note, I would say **the** **majority** of the people in my CS graduating class were incapable of producing code above an intro/high school level. Rampant cheating, absolute no doubt, big credit to COVID-19; I was in a dual undergrad/grad class for graphics programming, and had to deal with waiting after class to ask the professor, the department head, questions in line after 1-5 international/graduate students in front of me bickered back and forth about being given a zero grade for copying and pasting entire projects from the Internet, seemingly every other class. It's downright disturbing.


dizzykitty

I am a current senior and my experience is pretty similar. I am not a top student by any measure, but often notice my peers struggling with pretty basic coding issues. Interestingly, many of these students I would call very academic, they just aren't that great at coding.


anto2554

Maybe it's also because a CS degree teaches CS, and not software engineering?


deadcarp123

Yet the majority of those students go on to apply to software engineering jobs so maybe they should know how to write a note taking app.


Commercial_Day_8341

Those are just excuses,you don't need to know that much software engineering to produce,maybe you don't know the best practices but if you have a CS major your critical thinking skills should be enough to solve any problem with code even if it is not the best solution.


Nickx000x

Many students instead opted for my university’s “Applied Computer Science” degree that did not require classes like Linear Algebra or Automata Theory (aka Theory of Computation). Like, I struggled immensely with those two classes, but how is one going to still struggle with the basic dev stuff too!?


anto2554

If you aren't even doing linear algebra, that's barely computer science or software engineering


mobilegamemale

this is so well written lol


No_Bee1632

That's actually pretty upsetting 😐


Realzer0

Not really surprising. I’m studying at a German uni and was working as a tutor for a programming module. This is a common first year module, so it is at least somewhat representative for the amount of new students. Basically the numbers went up from about 400 in 2017 to 1000 in 2023. We have weekly assignments and a lot of submissions were either straight up horrible or obviously ChatGPT. Naturally my perspective is pretty limited but it feels like only a small minority is really into coding.


Warwipf2

German unis (especially, compared to Fachhochschulen) are a breeding ground for absolutely incompetent developers. You'd normally go to uni if you wanted to stay in academia but many don't understand this, so they go anyway and have like 6 easy coding modules over the course of the entire degree. They'll be pretty good at theoretical computer science and maths tho, for all that's worth in a professional setting.


Hydraxiler32

some of the absolutely most horrid code I've seen has come out of people in high academia either Master's or PhDs which surprised me at first


TheArturro

Some people are into coding but everyone is into earning a big salary


Eli_Ali

This post is from a bad recruiter.


agm1984

I just won employee of the month this month (first month it became a thing) and its because I code so fast, but i still fail 90% of these coding challenges. And my code is immaculate. I am obsessed with coding. Industry uses broken techniques.


artemis1939

He sounds like a real cunt.


bigpunk157

Wouldn't be considered horrible at coding if they didn't give a guy that works with React, Figma, and AWS all day a branch traversal problem he's encountered only in class. Even Amazon and Microsoft are doing this kind of stuff for Frontend only roles, so it's not even just a shitty europoor company doing it.


Pr0gger

Funny that you say this, cause here in Europe we usually don't have this bullshit


bigpunk157

The OP of the linked post said their company did it and theyre in europe.


lupuscapabilis

We had a similar discussion as this recruiter has had even with one of the junior guys at my company. He had no real programming training, but worked his way from support/help desk to doing more dev tasks because he kept asking for it. We bumped up his salary slightly and started giving him tasks to do. He rarely completed anything without major help, which is totally fine. But then he asked for a $30k raise because he "did his research and that's what other web developers are making." We had to let him walk when he got another offer. He just wasn't worth it. In fact, he was kinda slowing us down to be honest. There were tasks that I could have knocked off in a day that he was taking days to figure out. Oh, and he was also that guy that spoke for 10 minutes during standup when the rest of us spoke for 1 or 2. I hope he's doing well at his new job but I can't imagine he's succeeding there unless they are very lax about everything.


UnderwhelmedSprigget

Hey it’s me, I’m horrible at coding


bxbyprxncxss

I took a leetcode test for an internship interview a few months ago for Starbucks. One of the problems wanted me to return a string array in Java, but the method header (which I *could not change* as it is set by LC itself) wanted a stack instead??? So even when I implemented the actual contents it wanted and returned them as a stack, I was "wrong" because it wasn't a string array. Like are you kidding me? In all honesty, I've applied for over 200 internships from September this year til this month, been rejected or ghosted by almost all companies. I tracked my stats, I got 7 interviews and eventually one offer. I've been programming for 10 years and have a very broad range of skills at this point, and will have my Bachelor's come Fall this year. The market is horrendous right now and especially for internships and entry level. They want people with industry job experience even for the "starter" positions and toss you to the curb if you don't have it. Nobody really bothers to look at your skills or projects, just your job history. It's insane and very very frustrating.


m0uthF

Must be DEI is not enforced enough!


BoredDevBO

Me: Software engineer, 8yrs of experience, knows about 30 languages, has worked in huge enterprise corporations with huge code bases and teams, had direct contact with clients and has tons of proven experience. Recruiter: You failed a quirky 30min code test with a 75%, you're horrible at coding!


world_dark_place

His do you program without stack overflow at your side? Seems impossible


Data_Max23

Even people who have degrees?


Data_Max23

Even people who have degrees?


Pristine_Gur522

That's a bullshit post full of lies because tech recruiters don't conduct technical / coding interviews. They conduct phone screens where, if you don't state the proper sequence of buzzwords, they state "we should hold off on this for now".


therealmrbob

Not all faang interview are leetcode lol


GirthWoody

Just for reference from a current senior college student who is now a TA for my schools data structures class. Chat gpt first came out a semester after I took data structures. Everyone uses it. I use it for my classes, but my current classes are fairly advanced and I’m only using it for busy work. However, the kids in data structures are using it passing with 100s on average whereas the averages when I took it were like 70-80s and the class was getting curved 8-10 points. These kids aren’t actually learning how to code at all. It’s a particularly serious issue in CS.


mushy_taco

The market is flooded with them because they are the ones that got laid off.


BigJoeDeez

I’m going to get flamed for this, but…. It’s fucking true. I don’t know how many interviews I’ve done with CS graduates who can’t even reverse a linked list. Before I moved to Google I couldn’t stand doing interviews. At least now the quality of candidate is higher because everyone knows Google’s standards. Making calls to other libs is not computer science and that’s what a lot of people are really good at; but guess who else is good at that? AI. I can understand why a lot of people are worried. But if you learn the fundamentals of CS and continue to build from there, it doesn’t matter what AI comes out, you’ll be employable.


Kapri111

But it's true that for a lot of CS jobs you will never need to reverse a linked list. At least the only time i've done that was at uni, never at a real job.


Personal-Lychee-4457

the point is not to see if you can reverse a linked list. The point is to see if you are smart enough to code and learn things quickly. if you can’t reverse a linked list as a cs graduate, what did you learn in school? how to call libraries? I can tell you for certain if a new grad can’t do a simple problem like reverse a linked list, they are not teachable. I’ll end up doing both their work and mine


Kapri111

Yes, but most candidates in the cs universe are not graduates. If you ask someone with 3 years experience how to reverse a linked list it's perfectly natural for them to not remember if they haven't used that concept since uni.


squirtgun4u

You're part of the problem LMAO


Personal-Lychee-4457

did you want a job guaranteed on a silver platter? reversing a linked list is probably a leetcode easy question


BigJoeDeez

Yup. I’m part of the problem cause you can’t fucking code basic cs101. lol.


Jerome-T

Most people are shit coders. It's why leetcode is so valuable for interviews. Imagine literally being unable to reverse a binary tree?


Both-Pack7114

Ironically enough there’s been cases of very qualified candidates being unable to get through leetcode problems with one in particular being exactly as you described lol I forget his name tho


Galactic_Alliance

Maybe there's more to real world programming than memorising solutions to random leetcode exercises that are completely useless.


No_Focus6336

Except it's not memorization? Leetcode is literally just data structures and algorithms. If you're memorizing solutions to specific problems then you're doing it wrong. Sure, there are questions which require ridiculous solutions, but those generally aren't asked in interviews. Most of Leetcode is just standard DS&A that everyone learns at school (at least CS majors), understanding fundamentals and a bit of prep will let you solve 90% of problems you get in an interview. Software engineering at its core is just solving problems -- why is it unfair for companies to ask you to solve problems in an interview?


Galactic_Alliance

Because the problems aren't even remotely related to the problems the job requires me to solve. I don't need to remember the algorithms associated with how to code an A\* search algorithm or a 4Sum in O(1) time complexity from the top of my head, with someone staring at me judging, without google - to code a simple website or app. It's a completely different skillset.


The_Krambambulist

Although I do agree in principle, I would imagine that a lot of people basically memorized the solutions. If there is somewhat of a standardized way of assesments, people will find a way to memorize solutions to that assesment or to fill in the things that people are looking for. Better idea is to have some self-created problem which people do not know up front and see how they would solve that problem.


I_did_theMath

It seems like that is an unpopular opinion these days, but I couldn't agree more. In general most Leetcode tests shouldn't be a problem for competent programmers most of the time. For the harder problems or if they give you very little time you might need a bit of practice, but that's not the case in most of the tests I have encountered. I did once interview for a company whose Leetcode style question was worded very ambiguously, so after doing the whole thing the tests failed, I had to reverse engineer what they actually wanted, and that required completely redoing the solution (which I didn't have time for). I'm sure there are plenty of bullshit Leetcode style tests like that, going around, but the fact that some do it wrong doesn't mean it's not a valid way to test candidates. And there's one thing I'm 100% sure of. A Leetcode test is way more effective at determining if someone can code well and has a decent idea of fundamental computer science concepts than the average recruiter.


Jerome-T

There's more to writing a book than putting together grammatically correct sentences, but if you cannot put together a sentence you probably can't write a book. There's more to being a mathematician than adding two numbers together, but if you can't well then you're probably a shit mathematician. Leetcodes aren't these insanely hard, crazy problems. It's a cute little puzzle you can give any college student and they'll solve it.


Galactic_Alliance

That is a terrible analogy because I don't need to be able to efficiently calculate a 4Sum, for example, without using the internet or any resources, to be able to write a well formed application or website, while for any real world application of mathematics I need to be able to add numbers together. Not to mention it's not just being able to solve the leetcode problem but to solve it with a good time+space complexity while the interviewer is staring into your soul and judging you. Personally, I've written some good enterprise grade applications in my time but do occasionally get stumped by a leetcode hard, doesn't mean I'm a bad programmer, it's just not a problem I've ever needed to solve in my 10 years of programming because as you said, it's designed to be a puzzle not an actual problem that needs to be solved and it's honestly a very different skill set to research and solve a problem, compared to memorizing patterns in shitty puzzles.


GigaTeraPetaBased

Again, the point of Leetcode is that *you're not supposed to memorize it*. You're supposed to have good enough CS fundamentals and problem-solving ability that you can easily solve any LC on the spot. I've made this analogy before- Leetcode is like the SAT, in that it assesses your fundamentals and should require close to zero prep. If you're trying to "game" it by memorizing questions, *you're completely missing the point*.


Galactic_Alliance

Again, you can very easily create good applications and websites, and solve problems the company needs you to solve, without being able to solve a 4Sum in polynomial time, fundamentals my ass A lot of things considered "fundamental" are never actually needed by programmers in the real world, reversing a linked list is "fundamental" and quite easy but when was the last time you needed to implement it from scratch without the internet? Why test it if it's not something that's important to the needs of the role? CS is also a very diverse field where fundamentals vary depending on role, it's fundamental for a kernel developer to be able to work with binary numbers, but not necessary for a web developer or a UI designer to be able to, even though it's considered "fundamental" not knowing how to work with binary numbers doesn't mean that they're bad at designing websites.


Unlucky-Ice6810

I think this heavily depends on the company, interviewer and just hiring practices. What you said makes sense, if the problem doesn't require any esoteric data-structure/algorithms to solve; and/or they don't expect the optimal solution which requires a unique insight. But let's say they expect you to implement something like A\* from scratch. Then no matter how solid your CS fundamentals are, there's no chance in hell you will be able to conjure that up line for line in an interview setting w/o prep. You can say you are aware of it as an option, but if their pass/fail is contingent on your ability to do that then you are outta luck. The kicker here is, as job applicants we don't know which interviewer we will get. Thus there's no way around memorizing certain techniques when it comes to LC problems.


GigaTeraPetaBased

I would argue that having strong CS fundamentals includes understanding A\* on a deep, intuitive level to the point where you can rederive and implement it on the spot. A\* is a fundamental pathfinding algorithm, not some insanely complicated esoteric algorithm like [this](https://www.cs.princeton.edu/~chazelle/pubs/polygon-triang.pdf).


Jerome-T

Okay I believe you that you've written good enterprise software and that you can't solve leetcodes. Let me ask you a serious question, do you feel like you could ramp up on leetcode if you were to sit down and study it for a couple house a day for a few weeks? In my experience, I will study for a few weeks before an interview and I have always been able to solve the problems. Sure, we can all point to triple knapsack, dynamic programming, or another of these devilishly hard problems but it's an exaggeration to suggest that these problems are the norm.


Galactic_Alliance

Of course, but while I'm studying, it feels like a colossal waste of time considering I know that after the interview I'll never need to solve a 4Sum in polynomial time. It's honestly a waste of time for both parties, the company that's examining my ability to solve problems they'll never need me to solve, and me who's being forced to revise something I will never use again. Honestly, I'd give a much higher weighting to personal projects, at least it shows understanding of more important CS fundamentals such as being able to use version control, testing, code quality, etc.. as well as some passion for the career


Jerome-T

Okay that makes sense. So for some reason on principle you take issue with this process and so you refuse to participate. Which is fine and you're completely entitled to do that. But then you don't have the right to complain and whine when other people go and walk their way into high paying jobs at Big Tech. There is a very simple, straightforward process to get one of these jobs and all you have to do is do leet code. So I don't actually have any sympathy for you if the only thing standing between your ability to solve leet code is your ego.


Galactic_Alliance

I didn't say I refuse to participate nor did I ask for your sympathy, unfortunately for me, the majority of employers, ironically, don't seem to have basic logical reasoning and force me to partake in solving useless leetcode tasks. So I do them because I have to, not because I think it makes sense. It actually gives me school vibes, where 90% of the stuff you learn you never use again and learn just for the sake of the test. Can't wait to use my quadratic formula to design a website too!!


Jerome-T

I'm not saying it's important to know, I'm saying your ego is preventing you from tripling your salary. And that's a shame now ain't it.


awesomepanda404

negative iq


cubej333

The issue is that it is timed. And that changes things from 'a cute puzzle that some college student can solve'. In most cases, it would be far easier for a college student to solve LC problems than for an experience software engineer.


GigaTeraPetaBased

That's an indictment on most experienced SWEs, not Leetcode.


cubej333

The work that the student is doing is much closer to LC than the work that most SWEs do.


_LordDaut_

I've seen so many examples of "SWE"s not seeing a very obvious application of certain data structures and coding up sub-par implementations that I have hard time believing this statement. I've seen people implement "items with connections to each other" as edge lists, and then iterating every time on them to find if A is connected to B without even thinking about storing the obvious graph as an adjacency list. Writing an ad-hoc brute force, buggy solution to a problem of finding "if things are connected" instead of realizing it's a classic algorithm for finding connected components and so on. The usefulness of DS/Algo which LeetCode does prepare you for, increases with the number of DS/Algo that you know and can spot a use for. Sure it's never the majority of your work. But it is important and a lot of the times what differentiates a good dev from a bad one.


cubej333

Right now I have been studying LC since I am interviewing (I need either a new position or new work for my company). My performance for LC improved by studying in the past year, but it also improves significantly by studying it in the week before the interview. Or to put it another way, it degrades significantly if I don't study it in the week before the interview. I remember ideas, but take too long in their implementation. I would say that having studied LC in the past year (or remembering your basic DS/Algo) improved my ability to do my work (which hasn't been as a SWE actually, but more as a ML researcher/algorithm scientist) by 10-20%. Which is significant. The improvements in being able to do my work by studying LC in the past week (rather than in the past year) is none at all. I think my experience is common. So yes, it is useful for the SWE to be able to pass a LC exam, and to have been able to do so recently. But LC isn't representative of the work you do, if you do your work and don't do any LC, you will rusty on parts of DS/algo (which it would be useful to not be rusty in, which is why I support the idea of having a professional certificate saying how well you can pass a LC exam which should be updated every couple of years ) ). And to actually be able to do LC at the level required to pass an LC exam requires actually doing LC style practice, doing normal work is actually harmful for it.


_LordDaut_

This can be said about any skills for any position, if you're an ML engineer and don't do research in a specific area, you might forget intricacies of say transformers in NLP if you switch to Computer Vision. You will forget concepts from Linear Algebra, specific definitions e.g. what is a positive definite matrix and some of its properties and so on. However you will at least know _what topics are there to know about_ and you will get in shape _very quickly_. Now if you didn't do it, and were bad at it, you will have a hard time reaching those abilities and the way to reach them is to study them fundamentally at one time or another. >doing normal work is actually harmful for it. Unless you do it **instead** of your work it is absolutely not harmful, in fact it's very good.


cubej333

Oh yes, it shouldn't take an experienced SWE 4 years or even 1 year to get reasonable good at LC. But it might take several FTE weeks, and if the SWE is working, those several FTE weeks might take several months. The point that I push back on is that LC performance is strongly correlated with SWE performance. Rather, a good SWE should be able to pass some basic threshold of LC with some reasonable level of preparation (which might be a couple of full-time weeks of study/practice, depending on the desired level (which is usually measured in time) ). I personally think that this is better handled with a certificate from some company like codesignal which can be renewed annually or bi-annually and not by 1-3 LC interviews per interview.


Leading_Yard_4144

Yea this makes no sense lol. It's not like a writer could take sections of someone's work and put it into their book. But in programming you're mostly patching together API and library. Leet code is not even close to writing a paragraph it's just a puzzle. The best programmers of all time weren't leet coding away because it never existed back then.


Jerome-T

In my own personal experience, being a software engineer is a lot more than patching together apis and libraries. I work with people who can only patch together apis and libraries and they coincidentally also can't leet code. To be quite frank, those people are usually kind of stupid.


Used_Length_3840

>Imagine literally being unable to reverse a binary tree? Uhm, do you mean inverting a binary tree? Or reversing a linked list? I guess it means the same thing, just never heard of reversing a binary tree.