LeetCode: The Worst Thing to Happen to Software Engineering

Sdílet
Vložit
  • čas přidán 5. 09. 2024
  • Should you grind LeetCode all day to get a job? Will LeetCode teach you to be a good coder? If you're tired of grinding endless coding problems and starting to hate it, this video is for you. I don’t think LeetCode is an accurate reflection of a software engineer’s daily duties and it can be misleading for job interviews.
    #leetcode #softwareengineer

Komentáře • 777

  • @vitspenatek455
    @vitspenatek455 Před 2 měsíci +568

    Real life analogy of a live coding interview: "Here's a problem, I'm gonna stand here and watch you solve it in a couple of minutes, but no stress, if you don't make it fast enough, you get fired."

    • @AnotherPersonStoppingBy
      @AnotherPersonStoppingBy Před 2 měsíci +16

      This. ☝️

    • @moonasha
      @moonasha Před 2 měsíci +39

      I've heard that some aren't so bad, and that good interviewers just want to see your problem solving process. But yeah I assume the majority are just nasty problems there to filter people.

    • @luisoncpp
      @luisoncpp Před 2 měsíci +17

      Nope, interviwers are more concerned about the thinking process, rather than if you solve the problem or not.

    • @Patrik6920
      @Patrik6920 Před 2 měsíci +5

      @@luisoncpp definetly...

    • @travispulley8899
      @travispulley8899 Před měsícem +4

      @@luisoncpp I'm either thinking about the people I'm talking to or thinking about solving the problem, not both. Doing both is like having one foot on a boat and the other on the dock for me.

  • @EricT43
    @EricT43 Před 2 měsíci +269

    I agree with you on this. 99% of my job as a software engineer involves simple code. If I come across a problem that requires some algorithm that I don't remember, I can research it when I need it.

    • @acasualviewer5861
      @acasualviewer5861 Před 2 měsíci +21

      I've found that when I find some code where I get to use some awesome algorithm, that I've often failed to consider that I can use some other tool to solve it faster / better and in more maintainable fashion.
      Sadly for application programming it's rarely justified to write cool algorithms.

    • @luisoncpp
      @luisoncpp Před 2 měsíci +2

      Code interview rarely ask you about specific coding algorithm, and it's usually pretty simple code. Thinks like linked lists and binary trees are the most simple data structures, asking anything different could be too demanding to do it in less than an hour.
      A simple example of something similar but practical: you receive a JSON with posibbly many nested objects, some of them may have a field named _id of type string with a serialized ObjectId(from bson/mongodb). You want to create a copy of the same object but replacing the _id strings by actual instances of ObjectId.
      That has happened to me in my workday, but asking this questions in an interview would made it too specific about JavaScript and non relational databases, so it would be better to replace the Json by a tree, and the _id by just a special kind of node.

    • @meritocratik
      @meritocratik Před měsícem +1

      "I work on simple stack - everything should be simple". Bro, painting buttons and writing low level code on C - completely different. Im completely sure that you are not working on low level (and I don't say you are painting buttons on css, it's an example)

    • @bobsemple9341
      @bobsemple9341 Před měsícem +4

      ​@@meritocratikyou've no idea what ur talking about. The fact u think C code can't be simple is embarrassing. Maybe it's time to give up being a dev?

    • @meritocratik
      @meritocratik Před měsícem

      ​@@bobsemple9341 where i said that C cannot be simple? what is simple for you? some shit like udp server? or writing driver for linux? or no brain DHT from scratch is simple for you? specify pls. everything is judged by comparison, low level is obv harder than margin right, padding left, that is my point. if u are not agree, never ever talk to me or to any "it's time to give up being a dev" and learn context before making argument. and yes, I wrote code on both stack for reasonable amount of time, so pls dont make any assymptions if you arent aware.
      another thing - difficulty is subjective, if u are not stupid enough you should notice that subjectiveness surprisingly exists in our world and wow (how it is even possible) not all people equal, but as we can see - you didn't notice that, so it's a sad commentary. but objectively, css is simpler than C, ask anyone who have both experience. just relax and go ahead to linux repo, help them with your brilliant easy-coded chad contribution if u are so bored in your work. trust me, its better than trying to some infant flex here presumably while procrastinating

  • @opa-age
    @opa-age Před 2 měsíci +362

    Every company I worked for that required leetcode problems, turned out to be toxic in some way. Every company that I worked for that didn't and instead asked questions relevant to the role, ended up being much better places to work. Just my own personal experience.

    • @athens31415
      @athens31415 Před 2 měsíci +16

      Same here.

    • @cumibakar10
      @cumibakar10 Před 2 měsíci

      Most coding interviews are basic CS fundamentals. You're just hating because you're bad at basic CS.

    • @ronnyperez1998
      @ronnyperez1998 Před 29 dny

      same here

    • @sick911
      @sick911 Před 27 dny

      Care to elaborate on the toxicity?

    • @geigenunterricht8684
      @geigenunterricht8684 Před 10 dny +1

      @@sick911 Maybe, it has something to do with the fact, that the better the interview questions are, the deeper the understanding of your future boss is about the actual problems you will have to solve and what an efficient way to communicate is.

  • @hwhack
    @hwhack Před 2 měsíci +209

    I do embedded systems. I write C code to control real world inputs/outputs. In 25 years, I've NEVER had to do anything with searching or strings; but that's what all the interviewers ask about.

    • @evancourtney7746
      @evancourtney7746 Před 2 měsíci +13

      25 years in C and you never had to write your own search algorithm? But you at least would know where to start, yes?

    • @hwhack
      @hwhack Před 2 měsíci

      @@evancourtney7746 I think you missed the "embedded" part.
      Yes, I know how to research which search algo I'd need but in the bare metal / RTOS world, N is usually very small (like 10), so O(n) search is fast and easy.

    • @shawn_bullock
      @shawn_bullock Před 2 měsíci

      @@evancourtney7746 I'd start with LeetCode "search/find [something]" j/k

    • @BaddeJimme
      @BaddeJimme Před 2 měsíci

      @@evancourtney7746 In embedded systems, you usually only have a few kilobytes of RAM, so it's okay if you just iterate through an array until you find whatever you were looking for, it won't take long so you don't need to do anything clever.

    • @z352kdaf8324
      @z352kdaf8324 Před 2 měsíci +2

      That's weak bro

  • @light18pl
    @light18pl Před 2 měsíci +610

    This is fundamentally not a problem with leetcode. If it wasn't leetcode, it would have been something else. The problem is interviewers are trying to do their job with the least amount of effort.

    • @taragnor
      @taragnor Před 2 měsíci +12

      Sadly very true.

    • @mariolix89
      @mariolix89 Před 2 měsíci +32

      True! But most of the times, interviewers at tech companies are not doing that as full time job but more of a side task. They are just trying to "optimize" the process as much as possible.

    • @CaptainToadUK
      @CaptainToadUK Před 2 měsíci +28

      the actual way to interview is to, well, interview people. Like actual speaking and such. I've conducted hundreds of interviews and hired dozens of good quality coders relying 90% on a face-to-face interview and 10% on a simple exam-style test (using pen and paper) to make sure they're not muppets with the gift of the gab (I've met a few of them).
      Over-reliance on these tests is poor practice by lazy interviewers and it will come back to bite many of them.

    • @mariolix89
      @mariolix89 Před 2 měsíci +1

      It surely sounds an effective process. For personal interest (since I also, need to routinely conduct interviews), may I ask what kind of questions were you asking on the pen-and-paper part?

    • @CaptainToadUK
      @CaptainToadUK Před 2 měsíci +14

      @@mariolix89 certainly. We started with some simple design questions (what is MVC, Ajax, etc., give the pros and cons of soap Vs rest). A couple of coding questions asking for them to show it as they would production code in whichever language they were comfortable with (we were happy to retrain good Devs to c#). And some SQL questions that were not hugely difficult. The candidate was given instructions how to answer and each section was given a percentage score. The gotcha was they had 45 minutes to do an hour test, so they had to prioritise how much effort to give each section. It was as much about technical proficiency as it was time management.
      The point of the test was to see how they operated under pressure and to make sure they had some technical chops. The rest, actual level of competence, could be teased out in the interview. My favourite interview question: what have you worked on recently that you're proud of? The answer was always varied but it was a level of passion and intensity that I was looking for

  • @vectoralphaSec
    @vectoralphaSec Před 2 měsíci +634

    Another HUGE problem is non-FANG companies starting to use leetcode for their interviews because they want to copy these massive FANG companies and be perceived as them. All this does is make it harder for people to actually get a job. Imagine you have to do hard leetcode just to get hired at a small company. This just destroys the industry.

    • @mudi2000a
      @mudi2000a Před 2 měsíci +130

      And then the shocker when they employ the leetcode memorizers and it turns out they don’t know how to tackle any real world software engineering tasks.

    • @BillClinton228
      @BillClinton228 Před 2 měsíci +108

      If you can't answer 20 leet code questions, you're not intelligent enough to work on our wordpress site 🤣🤣 that no one uses.

    • @MartinPowderly
      @MartinPowderly Před 2 měsíci +1

      100%

    • @test-rj2vl
      @test-rj2vl Před 2 měsíci +51

      And they are completely different things. Take someone who scored 100 out of 100 in leet code and tell them to upgrade your Spring Boot app from 2.7.2 to 3.3.1 and deal with all the broken entity classes, H2 dependencies, code breaking elasticsearch changes and so on. And see how well he will perform. And on contrary take senior with 10 years of Spring Boot experience who is Oracle Java Certified and so on and send him to leet code interview and see how well he performs...

    • @quincypitsi8256
      @quincypitsi8256 Před 2 měsíci +23

      Case in point. But the supply of SWE/Developers is extremely high thanks to bootcamps, online certs and coding schools like wethinkcode. They are the ones who truly ruined the industry. Promising someone to go from knowing nothing about programming to a fully-fledged SWE in one or two years. So now the bar for technical skills must be raised to weed out the imposters which to me makes perfect sense.

  • @malfunction5448
    @malfunction5448 Před 2 měsíci +114

    Great video! In 27 years of programming, I've never once been presented with a customer problem that required a software solution within a few minutes or a few lines of code, or that *could* be solved without first spending many, many days understanding the nuances of the problem. The real test of a programmer is seeing how familiar they are with consuming and outputting CSV 😝

    • @bxp_bass
      @bxp_bass Před 2 měsíci +8

      Leetcode and other such platforms are not for mundane manipulation with json and csv. It's for fun, self-improvement, competition, practice and for the art.
      It's great for brain, for coding practice, for learning algorithms and CS.
      It's definitely not everything that programmer should know and if some people think that grinding LC can guarantee them dream job - it's their own fault.
      Just use it right.

    • @clray123
      @clray123 Před 2 měsíci

      @@bxp_bass sounds like "leetcode" is what you ask the llm to do for you these days (because llms are actually trained on such small stupid algorithmic problems)

    • @driguesbarcellos
      @driguesbarcellos Před měsícem +1

      ​@@bxp_basswow, you Just solved the problem

    • @elenatres
      @elenatres Před měsícem

      they should test if you can adjust a button margin instead 😂 that would cover 90 % of daily job tasks

  • @kevinb1594
    @kevinb1594 Před 2 měsíci +241

    The really annoying thing is that a lot of the jobs that require leetcode interview problems DONT EVEN REQUIRE THAT LEVEL/STYLE OF PROGRAMMING. If you're hiring for a front end developer position, you aren't writing these complex algos. Guarantee someone has already written a module that works 'good enough' to solve your problem faster than it would take you to sit down and write out your own. Not only that but they skip critical skills actually necessary to do the job in favor of leetcode garbage. I had team members who passed leetcode interviews but didn't know CSS for a front end developer position!!

    • @BillClinton228
      @BillClinton228 Před 2 měsíci +30

      It's just lazy hiring practices. Just because you're fresh out of college and can solve some algorithm problem doesnt mean you're good at working on large scale corporate software projects.
      But its much easier to let an automated program "determine" the technical level of a candidate and disqualify you than have a lead engineer take 30min of their day to write a "real world" technical assesment pdf document. Come on, who's got that kind of time...

    • @paulscottrobson
      @paulscottrobson Před 2 měsíci +7

      I was once asked to write code to swap two variables over (honestly). I made the point by writing it in every language I knew :)

    • @charlesm.2604
      @charlesm.2604 Před 2 měsíci +15

      ​​​​​@@BillClinton228This!
      Whether someone knows algo or not does not mean they can design database tables efficiently, does not mean they write future proof code, does not mean they can voice shortcomings or concerns to their managers, does not mean they have any kind of experience using the tooling that we use in enterprise, etc.
      If anything it's probably the opposite. Someone who spends months blindly memorizing leetcode solutions and optimizing them is wasting time instead of practicing things that their future employers will *actually* expect from them.
      Most jobs in SWE aren't related to algo at all. I can only think of game dev, robotic/spatial embedded and some specific uses in system programing.
      When you end up wasting thousands of dollars because your API exposes complete data from multiple endpoints because you were too busy practicing bfs algos instead of practicing real design problems, hopefully then it'll be a wake up call.

    • @gabrielbarrantes6946
      @gabrielbarrantes6946 Před 2 měsíci +4

      ​@@charlesm.2604robotics and embedded? Not even close... I don't know about games tho... But I suspect that this things are just almost never used... Same as almost every engineer barely usit the advanced math they learned in college...

    • @charlesm.2604
      @charlesm.2604 Před 2 měsíci

      @@gabrielbarrantes6946 For gamedev algo is super important, trust me I spent countless caffeinated sleepless nights during my indie gamedev phase, that shit gave me PTSD! 😂
      I guess you're right for robotics though the sdk libraries are the ones who implement algo so even in most embedded usecases it's not required 😅

  • @BadSpock
    @BadSpock Před 2 měsíci +77

    When I was in college these were called programming puzzles or programming contest problems. They're like daily brain stretching exercises. No one ever thought of them as job tests because you almost never run into a need to write this kind of stuff. And you wouldn't actually want to inflict some tight recursive backtracking function on the codebase or your colleagues.
    If you're using it as a test you're probably just looking for gatekeeping techniques to find people who like the same kind of puzzles you do or went to the same school. Not looking for software developers.

    • @petaflop3606
      @petaflop3606 Před měsícem +2

      'almost never need to write this kind of stuff' maybe not to extent of mediums/hards on leetcode, and rarely in such arcane ways, but otherwise your statement is just false, or perhaps only true in your own anecdotal experience. Using some of the common patterns like DFS, sliding window, etc, that you learn when solving leetcode problems are for sure powerful in day to day engineering? The truth usually is somewhere in between two extreme views rather than 'almost always' or 'almost never' as you put it. Also... if it means getting paid an absolute ton of money and adding FAANG to your CV, is it really so bad to just play the game and 'learn the secret handshake'? I do agree but just not with the 'almost never' bit

    • @BadSpock
      @BadSpock Před měsícem

      @@petaflop3606 no, really. Almost never. If I was saying such things were useless I would say never. I didn't say that, didn't mean that.
      I'm also not saying developers shouldn't play whatever game hiring managers demand of them. We don't have a choice. You deal with the world as it is not as you want it to be. Rather, I'm saying hiring managers should stop playing this game. It can make it harder/more costly to find people by arbitrarily reducing the pool you hire from. And it is risky in that you may be reducing the diversity of the developer pool by finding people "like you" versus "able to do the job." In this case, you are selecting people who spent time on Leetcode, or who studied in a Computer Science program and maybe competed in programming contests. Does that get you the best bang for your hiring and development buck?

    • @petaflop3606
      @petaflop3606 Před měsícem +1

      @@BadSpock I hear you. I don't agree with the first bit because I have a different experience where it's not 'almost never'. But I hear you on your second paragraph and appreciate you taking the time to respond. Have a good one.

    • @Bladieblah
      @Bladieblah Před 6 dny

      ​@@BadSpockAt least it's a test of abilities that any capable can master if they put in the time. I'd much rather deal with that, than a vague arbitrary ability judgement not grounded in job skills but fluff questions

  • @ytechnology
    @ytechnology Před 2 měsíci +205

    I'm old enough to remember when software development was fun. What happened?!?

    • @Daijyobanai
      @Daijyobanai Před 2 měsíci +69

      People got into for the money alone and not because they are tinkerers.

    • @emperorpalpatine6080
      @emperorpalpatine6080 Před 2 měsíci +25

      you had it good , lucky people.
      I wish I was a graduate in the 80's or 90's ... at a time where people made real software to solve real problems .
      now they're pretty much like google : "I have a pretty good search engine , but let's replace it by a stochastic function to interpolate search results , and call this AI" hahaha

    • @gauravaws20
      @gauravaws20 Před 2 měsíci +14

      FAANG madness

    • @ytechnology
      @ytechnology Před 2 měsíci +25

      @@Daijyobanai True. For me, the change started with Microsoft's infamous interview question "Why are man-hole covers round?" Whether brain-teasers or leet code, neither are effective measures of job performance.

    • @brandyballoon
      @brandyballoon Před 2 měsíci +12

      The internet is what happened. Almost every aspect of life was better without it.

  • @barenjunk
    @barenjunk Před 2 měsíci +38

    Thank you for this. I was caught up in the game industry layoffs at the beginning of the year and EVERY SINGLE interview used leetcode or something similar. I've been a software engineer for around 20 years now and cant tell you the last time i hand-coded quick sort or a red-black tree... but those were the types of questions asked. Never mind that a candidate has worked in multiple languages across multiple industries... "if they cant code a quick sort in 15 minutes, we dont want them". I've been on the hiring side in the past and I think the combination of leetcode questions on timed, web based, non-interactive tests are completely worthless for anyone with experience. I'd much rather a candidate walk me through a problem they solved in the past and we have a conversation where they explain the problem, solution, why they chose the solution, how they discovered the solution, etc. But that takes time and hiring managers who also have a clue.... which seems to be more and more rare.

    • @moonasha
      @moonasha Před 2 měsíci +5

      it's the dumbest thing. For 99% of algorithms a competent programming would just get a library and save time not writing what is essentially boilerplate. For the rest, it should take more than 15 minutes.

    • @luisoncpp
      @luisoncpp Před 2 měsíci

      Implement a quicksort or a red-black tree in the whiteboard?, that seems pretty dumb imho, but at the same time, I'm not sure how much believe you, since I was an interviewer myself in a big tech company and nobody was suggesting that kind of stuff. I also have seen interview problems from a couple of other big tech companies and they didn't ask that.
      Usually they ask for simple things like a window sliding, simple operations on liked lists or a simple operation in the most basic binary tree (not red-back tree).

  • @emanuelfaisca1783
    @emanuelfaisca1783 Před 2 měsíci +171

    As a Full-Stack software dev working for small/medium companies I found that learning stuff like software architecture and coding patterns was much more beneficial than learning algorithms and data structures for these are mostly already applied on the frameworks and its internal methods that I use.
    Technical interviews for small/medium companies that require leet code type deep knowledge are definitely not realistic.

    • @mariuszstanisawczyk8990
      @mariuszstanisawczyk8990 Před 2 měsíci +21

      That's right. After 15 years of being a software dev I've used typical algorithms (e.g. graphs) maybe once or twice.

    • @philmarsh7723
      @philmarsh7723 Před 2 měsíci

      I'm an RF engineer (design of radio circuits e.g. cell phones etc...) and I develop software for internal data analysis and measurements only. This is exactly what I expected. One can and should look up algorithms and can and should get their code from online sources such as Github. Indeed architecture is the big challenge. You can't download that but must create it for each project.

    • @yinspiron3348
      @yinspiron3348 Před 2 měsíci

      Any good books or other sources to recommend for that kind of thing?

    • @emanuelfaisca1783
      @emanuelfaisca1783 Před 2 měsíci

      @@yinspiron3348 In my case I feel I went a long way learning from udemy courses and other online platforms. If you search for software architecture or coding patterns on Udemy you can pick and choose (choose ones with good rating) what you want to learn keeping in mind your personal goals or work requirements. I´ts also very common for me to go back to a section of a given udemy course to review some area that I'm having trouble with or even buying a course to learn something that is required for some work I'm doing at some point.
      Also some tutors update their courses and that makes them better than books ;-)

    • @MasterSannin
      @MasterSannin Před 2 měsíci

      @@yinspiron3348 Clean Architecture by Uncle Bob and any Design Patterns book would be your start point.

  • @mariuszstanisawczyk8990
    @mariuszstanisawczyk8990 Před 2 měsíci +52

    Testing algorithms and data structures in job interview for a senior dev... Yeah, it's still happening. In my career (15 y) I've had to use typical algorithmic approach maybe a couple of times. The most difficult part is not even memorizing how e.g. streams work in Java or how particular framework works. Most difficult thing in software dev is to read code which is already written and expanding it. Second hardest thing is to resolve bugs of external frameworks and libraries and address exceptional cases.

  • @athens31415
    @athens31415 Před 2 měsíci +25

    Strong correlation between Leetcode interview questions and Toxic workplace environment.

    • @onlinealias622
      @onlinealias622 Před měsícem +2

      There’s also a strong correlation between leetcode interview questions and making a lot of money

  • @gppsoftware
    @gppsoftware Před 2 měsíci +68

    The problem is not LeetCode. The problem is that there are a lot of people responsible for interviewing who simply don't have the skills to do so. They see 'Outsourcing' the responsibility of interviewing to LeetCode as a lazy way out but it is abrogating their responsibilities and putting organisations at considerable risk.
    Whenever I interview people, I structure questions in ways that will very quickly reveal whether a candidate knows their stuff or not and to what depth. Any competent interviewer should be able to do this. If they can't, the management of an organisation shouldn't be risking the future of their organisation by exposing these people to interviewees.

    • @luisoncpp
      @luisoncpp Před 2 měsíci +1

      I disagree, I think the problem is really LeetCode. I have been an interviewer myself and I was instructed to care more about the reasoning process, the coding style, and the questions that the candidate makes to ponder edge cases rather than if they found the most efficient solution for the problem or not.
      Interviews are designed to be a conversation with the candidate when they are tackling a technical problem that they haven't found before rather than checking if they memorized the problem or not.
      When I interviewed to big tech, recruiters recommended me a couple of books, those books mention that. Nobody told me to grind Leetcode and I didn't do it.
      If interviewers are not the problems, and recruiters are not the problems, the problem is the community itself that has been created around Leetcode, and probably Leetcode as a company hasn't done anything to stop it because it's beneficial for them.

    • @AshpringtonRoad
      @AshpringtonRoad Před 2 měsíci +1

      @@luisoncpp I'd suggest that it is probably both: Leetcode has a vested interest in the status quo and organisations are 'outsourcing' some or all of the interviewing/recruitment processes.

    • @Bladieblah
      @Bladieblah Před 6 dny

      ​@@luisoncpp As an applicant I'd much rather have an objective test to clear problems and be judged on that, rather than be assessed on ill defined and subjective terms like "reasoning proces", or "coding style", it's way too easy for bias to creep in on that kind of assessment. Because the interviewer has no objective standard to measure by, he/she ends up factoring in their general impressions of the applicant.
      I'm not in tech btw so it's not my problem, just sharing my thoughts

    • @Bladieblah
      @Bladieblah Před 6 dny

      ​@@luisoncpp This channel also has a video (or post) about tech companies doing seven rounds of interviews with no job offer, which is just ridiculous. So a big part of the problem seems to be on the interviewer recruitment side of things

  • @SvenReinck
    @SvenReinck Před 2 měsíci +445

    These problems are perfect for ChatGPT. You don’t need a software engineer for them.

    • @Daijyobanai
      @Daijyobanai Před 2 měsíci

      Going to use that in the next interview.
      Interview with rat-moustache: "how would you [snickers to self] solve this problem [more creepy snickering and inappropriate touching of self]"
      Me "[types problem into AI, tells rat-tache to g*t ****ed] like this".
      Same way I wouldn't spend a day writing a regex when I could go to one of 50 regex checker sites and do it there in the pre-AI days.

    • @shangothrax
      @shangothrax Před 2 měsíci +7

      Just what I was thinking.

    • @januslast2003
      @januslast2003 Před 2 měsíci +70

      Because ChatGPT is trained on LeetCode. 🙂

    • @investing_engineer
      @investing_engineer Před 2 měsíci +29

      Surprisingly they aren’t lol. Because of the volume of bad solutions online ChatGPT has a ton of bad data

    • @test-rj2vl
      @test-rj2vl Před 2 měsíci +45

      @@investing_engineer I would say that ChatGPT team is separating bad and good learning data quite well. But the problem is rather that ChatGPT cant think on it's own. It's like LeetCode student who has memorized absolutely everything but understands absolutely nothing.

  • @MartinPowderly
    @MartinPowderly Před 2 měsíci +29

    Grinding leetcode is like learning scales on the piano in order to join an industry where you're supposed to write symphonies like Beethoven, given time. When you're in the engineering environment, it doesn't work like that day to day... ever... not even in FANG... (trust me on this, I work there).
    I've also worked with incredibly competent engineers who, when made redundant, were asked leetcode style questions by small companies who 'think they're Google'. He didn't get the job, confidence so utterly destroyed that he thought he should change industry.
    On the other hand, the best interview for engineering I ever had was surrounded with questions like: "You live in a country which drives on the left. The government put you in charge of a new initiative to change the traffic system so everyone drives on the right. So... how would you go about it?". You start proposing logistical solutions and in collaboration with the interviewer, you go down the rabbit hole probing the weaknesses with your idea and you collaboratively change the plan and correct your thinking as the interviewer finds holes in your solutions. It's not about 'correctness'. It's about mental agility and can you think flexibly and creatively.
    You can't study for this, and basically the intake of candidates was from people of all walks of life - not just Comp Sci. I got the job and worked with amazing people who were trained in astrophysics, art and textile design. They still work in the industry, some of the best engineers I ever worked with.
    While anyone can be a trained monkey, I prefer to work with creative intelligent people and this was (as intimidating as it was) the BEST interview process I have ever come across. The company by the way is a household name and extremely successful in the UK to this very day.

    • @moonasha
      @moonasha Před 2 měsíci +5

      I would disagree with this analogy, because at least scales are useful and used in music all the time, and are good to practice. Imo a better analogy would be leet code is like learning a 3 second piece of a song. It's completely useless, nobody wants to hear it, and you aren't going to learn to play an instrument that way because literally anyone can learn to play 3 seconds of a song on an instrument given enough time

    • @Bladieblah
      @Bladieblah Před 6 dny

      The elitism here is profound. Calling people who put in hard work, some of who likely out skill you by a lot "trained monkeys", while revelling in your supposed unique special talent that no amount of hard work can achieve

    • @ShayPatrickCormacTHEHUNTER
      @ShayPatrickCormacTHEHUNTER Před 3 dny

      @@Bladieblah hes right. Stop coping.

    • @Bladieblah
      @Bladieblah Před 3 dny

      @@ShayPatrickCormacTHEHUNTER You're also one of the special ones?

    • @ShayPatrickCormacTHEHUNTER
      @ShayPatrickCormacTHEHUNTER Před 3 dny

      @@Bladieblah you should ask those who know me that. That's what reputations are for.

  • @Arrow333
    @Arrow333 Před 2 měsíci +98

    I think leetcode is misused by interviewers who themself don't know much about coding. When I was involved in the hiring process in my previous company we asked a candidate to bring a project they have worked on (privately) and present it to us. We then did a little live code review and asked based on that project how the candidate would implemented a change that comes out throughout the presentation and review. You learn much more about the person and if it is not their own code you will be able to tell. But such an interview process requires experienced coders taking part in the interview as well.

    • @RondellKB
      @RondellKB Před 2 měsíci +5

      This is brilliant! Wish more interviews were like this

    • @oleksandrbespalov9713
      @oleksandrbespalov9713 Před 2 měsíci +5

      Yep, it's the best approach. And I remember the times when it worked. Now it's just a bunch of general questions, leetcode and test task which nobody bothers to even review when it's done.

    • @YDV669
      @YDV669 Před 2 měsíci +2

      Which penalizes developers who don't have time to do personal projects.

    • @Arrow333
      @Arrow333 Před 2 měsíci +3

      @@YDV669 Well, in that case you also might not have time to train using Leeetcode, right?
      And it doesn't need to be, as you can just resort to an alternative plan for the job interview in these cases and don't hold it against the candidate.

    • @casualkuffar2057
      @casualkuffar2057 Před 2 měsíci +6

      Leetcode or no, the hiring process in software dev and to an extent IT in general is very peculiar. I can't think of any other regular job where people are expected to keep working at their job in their free time. "So, mr. Plumber, can we see some private plumbing you've done recently? Do you spend your weekends catching up on the latest advancements in plumbing tape?"

  • @s81n
    @s81n Před 2 měsíci +31

    I can pretty much code anything thrown my way but fail miserably at leetcode interviews. My mind overthinks thing, I panic, and I fail. I also noticed that at places I worked that implemented leetcode it gave us people who could answer tricky questions but couldn’t code their way out of a paper bag and would miss such obvious things an experience dev would get. Do interviewers want someone who can write scalable enterprise software or answer tricky questions?

  • @Daijyobanai
    @Daijyobanai Před 2 měsíci +19

    Interviews generally are terrible.
    Had one recently ask me in the context of structuring a website, "what would that look like?".
    Realised after the interview he meant what would it look like in an architectural or project organization way, ...I think. But as this was right off the back of discussing UIs, I talked about he actual GUI.
    This seems to happen a lot, people have a "I know what I mean" question, but forget that I can't read their thoughts, so they need to be explicit in asking the question clearly. And follow up and clarify instead of just going silent and being like "oh they didn't answer correctly".

    • @luisoncpp
      @luisoncpp Před 2 měsíci +5

      There is another point to consider here: some interviewers present very vague problems intentionally just to hear which questions the candidate asks. A programming job is a constant pondering between different constrains, a way to evaluate if you can detect which constrains are important is to check if you ask the correct questions for clarification.

  • @joejoe-lb6bw
    @joejoe-lb6bw Před 2 měsíci +20

    Excellent! With decades of experience, I rarely had to implement data structure algorithms. The biggest problems were understanding the stakeholders, managing expectations, solving the lack of documentation on systems, and other non-coding tasks. You nailed it. It’s the thinking that matters. Everything in engineering is dependent on managing constraints

  • @kcbrown74
    @kcbrown74 Před 2 měsíci +6

    I've been a developer for 20 years, and I've never had a situation where I only have 10 minutes to devise a solution to a problem. This style of interviewing is certainly horrible. Great video!

  • @mohammedalharbi158
    @mohammedalharbi158 Před 2 měsíci +71

    While I agree that memorizing solutions of LeetCode to pass an interview is bad in ways mentioned in the video, understanding COMMON APPROACHES to write a solution that is memory and space efficient can save so much cost especially using cloud services that base total cost depending on how LONG your code takes to run and how much memory it needs. (reduces the need for scaling vertically or horizontally.)
    simply, memorizing is NOT the objective you should aim for when learning LeetCode, rather understanding the idea on how to forge an efficient code should be.

    • @a.m.4154
      @a.m.4154 Před 2 měsíci +3

      Someone give this man a damn medal.

    • @kevinb1594
      @kevinb1594 Před 2 měsíci +15

      Yeah except you can look that shit up, no need to memorize it and you'd often get more bang for your buck switching the language/runtime than swapping out algorithms when it comes to faster execution of things like LAMDA functions...

    • @josef2577
      @josef2577 Před 2 měsíci +7

      The idea of understanding solutions to problems of any type is good in itself. However, this is not the objective of newcomers (or even some experienced engineers) for using leetcode. Their objective is to pass interviews. The problem is with interviews and the culture of interviewers, which encourages this stupidity.

    • @loon7181
      @loon7181 Před 2 měsíci

      @@kevinb1594yeah, nowadays we can just google it or even ask AI like github’s copilot

    • @opa-age
      @opa-age Před 2 měsíci

      Yes I agree that's why I think some level of leetcode makes sense. Someone good at overall coding and algorithms should be able to solve any easy-level leetcode problem. But the hard-level ones, maybe 0.1% of devs who never seen the problem before can solve them. But with leetcode, people can memorize solutions to these hard-level problems. Which kinda defeats the whole purpose of asking them.

  • @test-rj2vl
    @test-rj2vl Před 2 měsíci +10

    I had interview where instead of LeetCode they gave me frameworks that I had never seen before and asked me to code some features to some dummy 100-200 lines long web app they've created. And what they wanted to see was who well I can read the documentation of framework that I have not seen before and how well I can figure things out - they didn't even care that I finish the solution within given time limit. Since I am not a math person I was fine with it because math questions to me would mean that I could only pass them within time limit if I have memorized it before. But with frameworks if you have general understanding, you will get a ton of hints from autocomplete alone so it's much easier for me and much better for company because my real job wasnt to code algorithms.

  • @jacquesduplessis8944
    @jacquesduplessis8944 Před měsícem +6

    Interviewers seem to not care that these problems are kinda based on CS Data Structures & Algorithms and lots of SWE's don't have formal qualifications, yet the interviewers wants you code like a CS dev when it's not required IRL.

  • @kushaagr
    @kushaagr Před 2 měsíci +8

    Leetcode is not bad practise, overuse of it is and ignoring others aspects of Software Engineering is.

  • @Alan.livingston
    @Alan.livingston Před 2 měsíci +29

    We chose to use a code review for our interview process. We give the candidate a hypothetical ticket and the PR that was submitted against it and ask them to go to town with the red pen. The PR itself is a grab bag of errors we see people commonly making. We chuck in errors in coding style, forget to add unit tests, reimplement a standard library feature because the engineer didn’t consult the docco, nest if/else, basic SQL errors that would deliver a subtly incorrect result, pointless over abstraction, total lack of abstraction, use of inefficient pattern at an architectural level, use of spaghetti algo to solve some real life data requirement, etc
    The most important thing I look for is the tone of the candidates responses. In our teams view of the world, PR’s should be treated like pair coding and a spirit of collaboration is required. One word feedback like “No.” or know-it-alls who take pointless “I’ll die on this hill” positions over trivial or subjective code are the reason PR’s can spend a eternity in review, killing you velocity. Conversely we get people who are awesome at writing greenfield code but lack ability around reading other people’s code, and they are the reason teams, despite requiring two lgtm’s and a trip through QA, still manage to push trivial bugs.
    This kind of process isn’t going to work for a lot of teams given their processes and structure, but for us we have found it gives us the most accurate real world idea of what that person is going to be like when we dump them in the jockeys saddle.

    • @Bladieblah
      @Bladieblah Před 6 dny

      One word feedback being insufficient makes sense, but if you don't want perfectionists or people that have are very diligent when it comes to protocol you should just tell them that's company policy. That practicality and flexibility are preferred over perfection and standardization. Because I swear some people will try to impress you by pointing out all the little flaws just to show how much they know, and you can't really blame them imo

  • @rendomstranger8698
    @rendomstranger8698 Před měsícem +8

    In my opinion, Leetcode should be used for only 1 thing. Learning how to code more effectively. It should be used as training exercises only. Not as an indication of how good someone is at a job that has nothing to with algorithmic programming.

  • @dera_ng
    @dera_ng Před 2 měsíci +8

    IMO, leetCode is great for getting practice questions and storing up on strategies to efficiently solve unnatural problems using data structures and a few algorithms.
    The issue with the industry is the interviewers. Now it's no secret that you need some math skill to be able to solve some problems efficiently while building software, heck you might need it with something as trivial as a clip-path in CSS, however for sometime now the number of math Olympiad style questions masqueraded as DSA (data structures and algorithms) problems has increased greatly on the platform and interviewers might pick that because it has a low acceptance rate or it just seems too hard for a junior engineer to pass. That's where I draw the line.
    If a question isn't relying solely on data structures and algorithms knowledge to solve it, and might require some specific math knowledge (for example combinatorics), then in my opinion, it's a screening interview where only the math-heads get through unfortunately.

  • @lutusp
    @lutusp Před měsícem +3

    In Leetcode training, there's an elephant in the room: a perfect Leetcode interview candidate is a chatbot that scanned all the Leetcode canned answers as its training data set. Faster, less expensive than a biological programmer, doesn't complain, doesn't ask for a raise, no unemployment insurance, etc..
    This means clever, productive, ingenious programmers will be replaced by Leetcode-trained people. Then the latter will be replaced by AI.

  • @genghisdingus
    @genghisdingus Před měsícem +6

    Coding exercises are generally a waste of time because you can make/contribute to functioning projects instead. Leetcode questions teach you next to nothing about broader project structure and working with other people's code.

  • @mind_of_a_darkhorse
    @mind_of_a_darkhorse Před 3 měsíci +20

    It does seem rather pointless using LeetCode because many problems need to be thought out and not just coding a solution from memory! They need to use a real-world problem and give the candidate a test to see if they can problem-solve the answer using reason. This would be a better determination of their coding ability!

    • @codingwithdee
      @codingwithdee  Před 3 měsíci +5

      Exactly! A lot of these problems are so discrete and in a closed environment. It just doesn’t happen IRL. I just wonder how much affect it has on someone grinding leetcode for 3 months and then coming across an actual SWE problem…

    • @mudi2000a
      @mudi2000a Před 2 měsíci +1

      Very good point, also it gives you insight on how the person tackles the problem which is very important. Leetcode will not give you this.

    • @mind_of_a_darkhorse
      @mind_of_a_darkhorse Před 2 měsíci

      @@mudi2000a I totally agree!

    • @brandyballoon
      @brandyballoon Před 2 měsíci +1

      Or ask them to demonstrate and talk through the development process of a personal project.

    • @mind_of_a_darkhorse
      @mind_of_a_darkhorse Před 2 měsíci +1

      @@brandyballoon That is a good point and would do much to show their true capabilities!

  • @viralstuff3419
    @viralstuff3419 Před 2 měsíci +8

    Software engineers from all countries - unite! in order to change the rules of the game and keep the high salaries

    • @rtusiime
      @rtusiime Před 6 dny

      The leetcode is there BECAUSE of the high salary… you can’t have one without the other. If the roles paid like shit, people wouldn’t be willing to do all that leetcode for them. But the reason people choose to grind 5 months straight is because they’d rather do that than get a lower paying job in a different industry

  • @Sarwaan001
    @Sarwaan001 Před 2 měsíci +16

    The company I work for found that there’s a correlation between how well someone answer DSA questions and how well someone answers system design. Might just be because they’re probably interview prepped more but we hope that DSA knowledge bleeds into system design, which kinda makes sense when choosing the right database for the problem.

    • @varunsharma5582
      @varunsharma5582 Před 2 měsíci +4

      Problem solving ability is indeed related. Solving a lot of maths automatically makes you waaaay better at leetcode and system design as well.

    • @taragnor
      @taragnor Před 2 měsíci +2

      @@TapetBart Well technically speaking everything is an algorithm. When people talk about using algorithms, they're talking about the leetcode problems like "Check a linked list to see if it has any cycles."
      And well for the most part, I have to say, the argument is more or less valid. I can't think of the last time I even used a linked list, let alone had a need to run some leetcode algorithm on one. While I use things like Hashmaps, I can't remember the last time I've actually written a hashing function. So for the most part, I don't really need to know much about the algorithm behind the Hashmap, just that it has faster lookup than a vector/list/array.

  • @robertgrant721
    @robertgrant721 Před 2 měsíci +6

    So glad I'm at the end of my programming career rather than at the start! No way I'd get a job today. Back in the day when I was interviewing programmers for a job, we got tired of getting programmers who only knew how to code in theory but had really not put in the time at the computer (i.e. could hardly use the keyboard). In the end I started giving a typing test so we could see if we were getting BSed! :) I guess things have escalated from there!

  • @modolief
    @modolief Před 2 měsíci +2

    Love your commentaries. And am glad you didn't edit out that thing near the beginning. Retired / burned out software eng here. I never had to do much with Leetcode, it was mostly after my time. Though I am giving some of these LeetCode questions to one of my students. I think he needs to know what he is going to face.

  • @CristopherVergaraColombo1
    @CristopherVergaraColombo1 Před 2 měsíci +6

    I have worked with people who solve everything in the LeetCode style and it is horrible, they end up with complicated and untestable code even for the easiest problems.

  • @blah1632
    @blah1632 Před 2 měsíci +2

    Leetcode is a good way to get better at a programming language and writing efficient code snippets. If you do a few questions each week you can get pretty good.

    • @lennypinskiy6598
      @lennypinskiy6598 Před měsícem +2

      Imagine if you took the time you spent on leetcode, and put it into an open source project. You'd learn quite a lot about relevant technologies that you'd be using in your day to day work, you'd get better at a programming language, AND, most importantly, you'd contribute something useful to society in the process by writing actual software that others can use.

  • @mahmoudtokura
    @mahmoudtokura Před 2 měsíci +5

    Right now, I think the software job market needs to strike a balance. It seems DSA is more of an excuse to reduce the number of applicants or some form of hazing ritual.
    If an applicant is tested for basic DSA and then moves on to the core of the job requirement, it will be a more balanced process.

  • @tolkienfan1972
    @tolkienfan1972 Před 2 měsíci +4

    I've been in software engineering for decades. I'd never heard of leetcode, lol. I've interviewed hundreds of times. And the way you describe problem solving irl is how I see it. It's usually a set of trade offs. Not a very specific graph theory problem with a single very specific solution.

  • @jimzielinski946
    @jimzielinski946 Před 2 měsíci +1

    I'm guessing it was about 40 years ago (I'm retired now), I interviewed at a company where they gave me a problem to solve in C. At the that time, it was normal to just write out your code with pencil and paper. In any event, my interviewer looked at my code and agreed that I solved the problem, but dug into me for not solving it the way it was written in the K & R (bible?). She then spent the rest of the interview impressing on me that her masters degree from a big university was enough to judge my work as an expert. I remained polite but was glad to leave.

  • @olafbaeyens8955
    @olafbaeyens8955 Před 2 měsíci +2

    Back in the 1990's I had one very cool hiring test.
    It started with abstract symbols, then it got more and complex basically building a programming language.
    It was a test to see if you as a developer could learn new things fast you never saw before.

  • @Evilanious
    @Evilanious Před 2 měsíci +1

    I haven't done a huge amount of these types of problems, probably a few dozen or maybe a hundred across various types of lessons and exercises I've done. I have done more maths exercises in my life and much more chess puzzles. As I understand it these types of problems have the following didactic purpose, in descending order of importance.
    1. Help understand concepts. Hearing about a tree, or a hashmap is one thing, but implementing it is different. It's possible to think you understand without really understanding, but after you solve a few representative problems you know you at least understand it well enough. Or if you get stuck you know you have some work to do.
    2. Help internalize concepts. This is especially important if these concepts are later going to be a small part of a larger picture. If there is one or two elements of the larger picture that give you pause, you can still piece it together, but it shouldn't be too many. The datastructure and algorithmic side is one side that might give you pause, and if it doesn't you are one step ahead. It will probably be easier to spar with stakeholders if you can quickly think about solutions in your head and that's easier if you've solved some similar problems before.
    3. Speed. The first benefit of speed is that you can solve a problem faster, and the second and underrated benefit is that you can explore more options if you can code your options quickly.
    I have limited sympathy for the idea that leetcode problems abstract away many factors of real life coding. That's sort of the point. You focus on one part of it, to teach yourself that precise part. This only becomes a problem if little practice problems become the only type of study you do. People who know how to learn will supplement this with theoretical reading or viewing that the exercises are hopefully paired with, and with bigger personal projects (coding your own apps for practice, for example), studying important tools, design patters and so on.
    Unfortunately a lot of people study these problems for a fourth reason: to do well on important tests. Job interviews in this case. Studying for a test is usually not didactically sound. In this case it leads to internalizing concepts beyond any need and memorizing problems instead of understanding the concepts.

  • @nyanko2077
    @nyanko2077 Před 2 měsíci +1

    During my 15 years of experience, I noticed there are two types of coders: the ones who actually start to code right away getting to the solution by failing and modifying and the others who think about the problem in their head, ask questions, find the solution and code afterwards.
    So for the first kind, I can see leetcode interview working fine. For the other kind, it must be a real pain indeed.

  • @_Mentat
    @_Mentat Před 2 měsíci +2

    People seem remarkably weak on basic computer sci these days. At interview I asked if 0xAA was odd or even? Some candidates were foxed by the question.

  • @TimSavage-drummer
    @TimSavage-drummer Před 2 měsíci +1

    Completely agree with your assessment.
    Being able to identify when an algorithm is required, what data is needed, and how the feature integrates into the larger application is far more important.
    You can search or just use pre-built implementations (that are already proven and tested) of most algorithms. You can't do the same for application/solution design.

  • @jordanjackson6151
    @jordanjackson6151 Před měsícem

    Your vids always had an honest air about them. I feel like I was waiting for someone to post something like this. Liked and finally subscribed! I wasn't understanding why Leet code was so pushed as of recently. Especially when companies now are in more demand for employing fresh IT blood than ever. I mean, "Oh the industry is in a severe need. So lets make it harder for them to get in the damn door!", is what its starting to look like now.... Not exactly gate keeping (overused term). But it is something counter-effective. And it's stupid weird. I've had fun and trouble with the languages I've so far learned. But the courses I took to learn them all taught me problem solving and product generating measures. You know, the actual shit that is on a job?

  • @dirk-piehl28
    @dirk-piehl28 Před 2 měsíci +3

    the problem isn't just leetcode. at my company we use IKM. the problem with IKM is that it tests for an extremely specific skillset, when the job requires multiple skillsets. so we always overtest and always undertest because the company refuses to administer (read: pay for) the multiple required tests. got so bad for my time i just say ok, 30 minute interview and a thorough check of your CV and i'll take the risk. for the most junior only. for the more senior i do a vague take-home test. the idea is i don't have to tell you to use SOLID and Clean architecture if you're really a senior, it's really how you fill in the technical blanks...

  • @odytrice
    @odytrice Před 2 měsíci +2

    I've been a software developer/engineer for close to 20 years and now I am currently in a FAANG company and I can tell you that such trivia questions are rarely what you will be doing on a day to day basis. The more important skill is the problem solving. You know.. The VERY THING Leet code is trying to determine. Being able to collaborate, think and talk through problems is way more important. Efficiently writing and communicating ideas is also a really useful skill.
    That said, doing leet code to build your Datastructures and Algorithms knowledge is definitely helpful. But we are way past that point with the current Leet Code culture between companies and interviewees

    • @doc8527
      @doc8527 Před 2 měsíci +1

      Based on my own experience, my upset part of the current status is that huge amount of ex-faang ppl are typically weak, comparing to last decade. They used to be the strongest of strongest, a lot of my CS heroes were mostly work in faang during the 05 - 14/15ish era.
      Also, huge amount of leetcode people appear to have no interests in computer science other a pay check, which is fine. But there must be a balance, I just felt like it could hurt the entire industry in a long term.
      Many people from SF just keep talking about leetcode, salary and stock options, many got pissed off when you said something CS (except leetcode) outside of the job.
      I don't know the solution, I also think people should have a simple understand of the runtime of your code in Big O.
      They don't really appear to understand the fundamental data structure other than apply them into the leetcode.

  • @SimGunther
    @SimGunther Před 2 měsíci +1

    Don't you hate that feeling when you solved the problem and the theorem is proven correctly with the three dots, but then you see that it passed only 99% of the test cases and the original beautiful solution has to have a billion if-elses just to handle the edge cases?
    Yeah, me too. 😢

  • @anthonyhawkes4101
    @anthonyhawkes4101 Před měsícem +1

    As a cybersecurity engineer (with some software dev background) who sits in on interviews as a technical interviewer, I spend time looking at someone's resume and asking questions to validate their knowledge as well. If someone manages to get to an interview and that don't exactly meet the requirements we find out if they are a team fit and ask abstract questions to see if they could fit the role. A key question I always ask in some way or another is "if you didn't know the answer what would you do?" and I'm literally just wanting them to tell me they Google it. I'm not an expert interviewer but I've not been disappointed by the several candidates I've given a thumbs up for. To get quality hires, you need quality interviewers, which requires a pool of existing quality talent who don't have an ego so large they need to flex hardcore unrealistic problems on candidates. I've certainly asked challenging questions - I've been surprised to get right answers but I'm more asking to see how they handle a problem.

  • @augustday9483
    @augustday9483 Před 2 měsíci +1

    As a fullstack engineer at a fortune 500 company, I can confidently say that my day to day work pretty much NEVER involves writing algorithms or solving Leetcode-style problems. My experience has been much more geared towards interfacing with APIs, processing real-world data, and managing deployments in complex microservice ecosystems.
    Leetcode doesn't do a good job of teaching programmers practical skills, in my opinion.

  • @rnickerson43
    @rnickerson43 Před měsícem

    I love to see this kind of video. Coding interviews are a real issue with this industry.I've been doing various kinds of software development for more than 20 years and about 10 years ago I decided I was never going to write code during a formal interview again. I'm happy to broadly discuss various strategies for solving problems (heck I would do that for hours if they let me) and describe how I might break down any given problem into smaller, more solvable chunks, but I wont write code.
    If they want to see code I always suggest that they pair me with one of their developers for a few hours. That way I'm solving real problems, not "interview" problems, and the developer I'm paired with will get to see if I know what I'm talking about and how well I work collaboratively with another developer.
    And yes, this means I've had some very short interviews with some companies since the interviewer (often not a developer at all) doesn't know how to proceed if I wont write code on the spot. But I've still been very successful and I think handling interviews this way has helped me to find projects and jobs that I enjoy far more than I would have otherwise.

  • @BovineFreedo
    @BovineFreedo Před 17 dny

    It helps me learn different to look at problems and apply stuff I have learned.
    I do it because I want to solve a problem, as a fun challenge. Like solving a sodoku. I will normally spend an equal amount of time looking at answers, to see more efficient solves than mine. Often reminding me of solutions I knew existed, but did not think to apply.
    Excellent video.

  • @vinitvsankhe
    @vinitvsankhe Před měsícem +1

    We are a startup and we also do Coding challenge. But it's a full stack project of the candidate's choice of problem statement and technology for 3 days.
    This gives us a holistic view of their critical thinking, design thinking and also skills. And then we ask them to explain it by scanning the code and propose scenarios e.g. best data structures for improving a given logic or best infrastructure architecture that would work for a given question or if the technology used moves from SQL to Nosql etc.
    It keeps them grounded and forces them to learn the code even if they had to do a blind copy paste

  • @RasmusFrederiksen169
    @RasmusFrederiksen169 Před měsícem +2

    I just enjoy the puzzles and making them performant after; but it is a tiny amount of time during my week

  • @raybod1775
    @raybod1775 Před 2 měsíci

    I’m subscribing to your channel because you don’t hold back, wonderful to hear your perspective. Keep it up!

  • @andrewdempsey5312
    @andrewdempsey5312 Před 2 měsíci +1

    As a Product Leader who has not written code for over a decade - you are so right. As a hiring manager who has hired over 100 people over the years - you are so right.
    A good software engineer always asks clarifying questions on edge cases and failure modes. After all, with big data even a small percentage of edge cases, is still a lot of edge cases…

  • @zudwa9280
    @zudwa9280 Před 2 měsíci +1

    - Welcome, this is your first day in our company at senior engineer role. Here is your first task: we need to develop an app for our customers so they could upload photos to our server. Connection must be encrypted, multiple servers are available.
    - This is not possible, neither sliding window nor bfs solve that.

  • @willtyler
    @willtyler Před 2 měsíci +2

    I like leetcode for challenges against friends, but agree that it isn't a great interview tool

  • @mariusg8824
    @mariusg8824 Před 2 měsíci +1

    My typical workday contains three questions:
    1) What's actually is our problem?
    2) Can we fix it?
    3) Should we fix it?
    Fixing anything has often a ton of side effects that you need to consider. So you need to communicate A LOT with stakeholders.
    Question and Answer riddles like these are unrealistic, because in reality you don't even have the question.

  • @chrisg5433
    @chrisg5433 Před 2 měsíci +1

    When I saw this video I was initially very skeptical. However, as a software developer of 30 years I agree with everything you say here. It seems you are giving out genuinely relevant advice and not just looking for clicks/views like some other CZcams "developers"

  • @scottmorton21
    @scottmorton21 Před měsícem

    After 25 years of Software Engineering, I can honestly say that I have never heard of LeetCode. I am blessed. After watching this video, it reminds me of preparing for the Engineer In Training exams that are two days long, 8 hours a day. Or maybe for the SAT. In real life, the customer doesn't care and wants the best solution for his problem. The solutions I have found are rarely, and I mean rarely, based on a detailed LeetCode question. God, I hope I never have to deal with this in an interview.

  • @konradhunter1407
    @konradhunter1407 Před 2 měsíci +7

    I’ve been doing leetcode everyday for a couple months. Don’t know if it will ever lead to work, but I’m thoroughly enjoying it. It’s like doing the crossword puzzle for me.

    • @brandyballoon
      @brandyballoon Před 2 měsíci +2

      Glad to see a comment here from someone else who does it for fun!

    • @rikthecuber
      @rikthecuber Před 2 měsíci +2

      Same, I do CodeForces and LeetCode for the fun of it. Getting THE job will be favourable, but that is not the primary motivation.

    • @luisoncpp
      @luisoncpp Před 2 měsíci +1

      I'm a critic of leetcode myself, but I think as long as you are learning something it's worth doing; just pay atention to recognize the time to move on.

    • @luisoncpp
      @luisoncpp Před 2 měsíci

      @@rikthecuber I would advise you to eventually ditch LeetCode and just stay with CodeForces. Leetcode is like an eternal beginner difficulty and CodeForces it gets more difficult.

    • @jacquesduplessis8944
      @jacquesduplessis8944 Před měsícem

      Doing it for fun versus looking for a job are 2 different things

  • @ecavero1
    @ecavero1 Před měsícem +1

    I had the best job ever! It was kind of a niche. I was programming in Groovy; a language none of my colleagues new about and it required fluent English which I also am. The coding problem I was given was a homework exercise. No timing. No stress. It also was written in such a way that the concepts in the problem were ones I would be seeing on the job. I have worked there for 3 whole years, but my contract ended a month ago. Now, I am back looking for a "normal" job in software development and needing to solve these leetcode problems as fast as possible!

  • @Websitedr
    @Websitedr Před 2 měsíci +18

    Leetcode is only for interviews it's not the actual job. Need to start looking at how to interview people for the job.

    • @mudi2000a
      @mudi2000a Před 2 měsíci +6

      Leetcode is also not good for interviews. The only thing a leetcode interview will show is if the candidate memorized / grinded leetcode. It doesn’t say anything else about other skills which are usually more important. Therefore I think it has zero value.

    • @KeepItFresh02
      @KeepItFresh02 Před 2 měsíci

      @@mudi2000a this

    • @jacquesduplessis8944
      @jacquesduplessis8944 Před měsícem +1

      So many good devs who apply based on the ACTUAL JOB REQUIREMENTS are being passed because they can't do coding puzzles? Maybe they should ask questions about how/what/why you dev in vs can you solve this puzzle to get a job, I don't actually know that you can do your daily job but at least you memorised LeetCode to get a job, now will you be replaced after 6 months coz you don't know how to dev in our tech stack?

  • @dheereshagrwal
    @dheereshagrwal Před 2 měsíci +3

    Leetcode is practice, it's not something you want to memorize

  • @gizmoknow-how2022
    @gizmoknow-how2022 Před 2 měsíci +20

    TLDR: Leetcode in itself is a haven of learning software engineering.
    If you enjoy leetcoding to a certain degree, you're on the right path.
    Grinding the hell out of Leetcode while not enjoying it at all just because these fucking corporates set their shitty interviews that way is the real problem.
    I myself was benefitted immensely after spending hours on Leetcode, because I like doing it and learnt a whole lot of new concepts along the way. My programming skills certainly skyrocketed and so did my problem solving skills.
    It also makes you think more low-level about creating your subroutines for a given problem.

    • @bogdyee
      @bogdyee Před měsícem +1

      I think solving problems did enhance my ability to code by a wide margin. When I was younger I liked solving problems but I never had to grind for them. Even tho these algorithms don't really come up that often in my day to day work, It did help me solve some problems in a creative way and helped me design systems a little better since I found edge cases much easier. I'm generally against giving very specific algorithms at interviews (like number theory or really weird data structures) but good devs should be able to solve ad-hoc problems.

  • @oleksandrbespalov9713
    @oleksandrbespalov9713 Před 2 měsíci +1

    One thing I like about leetcode is you can see other people's solutions, analyze them and discover some new tricks which might make your code look nicer or work better. They're sorted by performance and it can really help to adopt better practices in my opinion. But of course grinding and memorizing solutions it's something opposite of programming. I didn't even know it was a thing.

  • @rreiter
    @rreiter Před 2 měsíci +2

    Funny, I remember back in the day, shortly after Java had been invented and had quickly become the buzzword de jour, going to a job fair and coming across HR staff looking for developers with a minimum of 5 years Java experience. I always wondered if the ones in charge of or doing the hiring had to take any tests.

    • @dekalb
      @dekalb Před 2 měsíci +1

      There's also the classic story of the guy who invented a certain framework being rejected for a job for not having more years of experience in that framework than it had existed.

    • @rreiter
      @rreiter Před 2 měsíci +1

      @@dekalb Yes, that was the case at the job fair I spoke of. Those people were seemingly oblivious to the fact the language had just recently been invented.

  • @K9Megahertz
    @K9Megahertz Před 3 dny

    Whenever I see a Leetcode problem, I ask myself how long it took the original engineer to come up with a solution. I'm willing to bet in many cases it wasn't 30 minutes.
    Recently I tackled a problem I had been wanting to work on for many years. Finally sat down and started working through it.
    The problem is this: Given a list of convex polygons, merge them into a larger polygon supporting whatever holes are necessary and then take that complex polygon and subdivide it back down into a more optimal set of convex polygons. I worked on this for months, drew 70+ diagrams of edge/test cases, traced through the code l was writing line by line to compare it with the diagrams to make sure it worked and was doing what was expected.
    There's no CZcams tutorial on how to do this, this is just something you have to problem solve yourself. I don't even know if the algorithm i used is used by anyone else, just something I noodled on for a bit and came up with.

  • @iTzFiNaL
    @iTzFiNaL Před měsícem +2

    As someone who has recently started learning web development and is enioying it, it was very disheartening to get to data structures and end up really struggling with things like algorithms, leetcode problems and big o notation etc. I just want to make websites in react and stuff like that makes me feel like i can't be a web dev.

  • @refusalspam
    @refusalspam Před 2 měsíci +3

    Interviewers need to stop being lazy and create their own role specific coding questions. Your subject domain probably has some problem in it that requires data structures and/or algorithms. Derive a question from that. If your domain doesn’t have anything remotely complicated then why are you asking leet code questions in the first place?

  • @tens0r884
    @tens0r884 Před 2 měsíci +1

    i do leetcode for fun to take a break from usual SWE tasks, and tbh I must say the platform itself I quite like. It's the culture, like you mentioned, which is the issue

  • @akialter
    @akialter Před 2 měsíci +1

    Swe in the past are master of DSA because that’s how they optimized our computers to work under constraints. From making an OS, designing underlying architecture like cache, instructions scheduling. Now we only have to solve a couple of puzzle problems and we are complaining?

  • @gomeztorricellygomez7808
    @gomeztorricellygomez7808 Před měsícem

    I spent 6 months on leetcode,solving 180 problems on every topic,now I can tackle any problem an interviewer throws at me,I can now quickly recognize patterns quikly and eficiently

  • @andrehil
    @andrehil Před měsícem

    Thank you for this video. I've had a grudge with this type of interview since before leetcode (hackerrank, codillity...)
    It absolutely doesn't prove that the candidate is good or knows how to code, it's just lazy interviewing (especially when it's 100% automated).
    In most cases, it just proves that the candidate has already solved it before.
    I passed in two interviews that used this in the past.
    For one of them I barely passed and for the other one I passed with flying colors because I studied for it and knew the solution for the most complicated of the three problems that I had to resolve in 90 min (which was an extremely specific solution).

  • @qwe14205
    @qwe14205 Před 2 měsíci +2

    LeetCode monkey dance is like playing fast rounds of chess for spinal surgeon interview. It's good if you win most of them in general, but why not test skills that will be actually used during spinal surgery.

  • @No-no-no-no-nope
    @No-no-no-no-nope Před 2 měsíci +1

    I didn't know LeetCode at all and in an interview I was asked three questions by the platform. They weren't really difficult and in the end it's fun to solve such tasks. I think that's exactly what the companies want to find out, i.e. whether you enjoy it and how you approach such tasks. They don't want people to practice up and down a platform like this. I'm sorry, every developer should be able to solve the simple to intermediate tasks without having to practise.

  • @MaurizioTuratti
    @MaurizioTuratti Před měsícem +1

    This would explain why big techs suck hard in terms of user experience. We need more developers who can talk with customers and understand their problems instead of being good at parrot tricks

  • @yummyfunnybunny5167
    @yummyfunnybunny5167 Před 2 měsíci +1

    Never used leat code. Self taught myself code and just landed a job 💪🏻

  • @extantsanity
    @extantsanity Před měsícem

    I always love taking in interns and explaining to them that 75+% of the job is talking to non-software people to figure out what they really want, because they usually don't know. It's a hell of a lot of hand-holding, giving them options, presenting a beta version of what they asked for, watching them change their minds, and dealing with the inevitable request for the whole thing to do a whole different thing. The software skill only determines the kinds of questions you ask to minimize your own rework as scope creep sets in.

  • @Phenom0100
    @Phenom0100 Před 6 dny

    I have a Master's in Computer Science and work in IT as a Network Administrator. My coding skills are decent, but whenever I encounter a language or concept I have forgotten or don't know I research what I need.

  • @jumpingphantom
    @jumpingphantom Před 2 měsíci +2

    Imagine being able to solve 1000 Leetcode problems just to not being able to center a div.

  • @aaron-ps7ht
    @aaron-ps7ht Před 2 měsíci +1

    I know this isn't the point of the video, but ive never used leetcode, but after seening the examples you gave in the video I might give it a try. Don't get me wrong, i have 0 aspirations to get into faang, nor am I the "grind for interviews" type, but solving the problems sounds kinda fun.

  • @randomthoughtinstantiator
    @randomthoughtinstantiator Před 2 měsíci

    I’ve been a professional developer for 8 years now. Coding speed and algorithm arsenals will not get you anywhere. People skills get you the requirements. Research skills get you the architecture. The baseline code itself takes a day or two. Out-of-the-box thinking gets you past things like undocumented API’s and unsupported Linux distros. Troubleshooting skills and experience help you resolve things like incompatible dependencies and muted errors. Public Speaking skills let you get buy-in on the finished product. Writing and Graphic Design skills are needed to build documentation. Memory and Traditional Practices help you return to the code for maintenance. And (finally) Humility/Pragmatism let you accept the end-of-life and walk away from it. All these prerequisite qualities are doubled when you need to work collaboratively on a project.
    So focusing JUST on code is like believing you can become a great baker by only learning measurement conversions.

  • @EffKayDownSouth
    @EffKayDownSouth Před 2 měsíci

    Agree with your take that solving thousands of similar small problems does not really help in the real world when you are faced with a problem you've never seen yet.
    The approach you take to tackle these problems, is all the difference between a successful software engineer / dev and those who will not get it.

  • @sarjannarwan6896
    @sarjannarwan6896 Před 2 měsíci

    I'm a Senior Engineer with 5-6 years of experience. I would fail a leetcode interview if I didn't have maybe 2 weeks of prep. Data structures come up day to day, but leetcode style questions don't really map to the job. There are much more important skills.
    I wish we moved away from this so people could spend that free time learning more important fundamentals.

  • @apostolisparga
    @apostolisparga Před 6 dny

    I never understood this logic of solving maths problems to get a real life job. I once applied for a SWE training programme for a large, Scandinavian banking institution. At that time I had build quite a few full-stack apps and put myself through CS-style training. There was a portfolio up for the world to see and my GitHub look decent. While I'm not saying that there were no better candidates, the reason I was rejected was because I scored less than 80% on an 'aptitude test' named 'Alva'. Nothing to do with what I had or hadn't actually done in terms of SWE.
    Couple of years on, I'm happily employed as a front-end engineer and believe it or not I had to actually code a working app and talk to other engineers as part of the interview! Shocking, I know.
    I guess company culture speaks volumes...

  • @turkyturky6274
    @turkyturky6274 Před 2 měsíci +1

    Many of you don't understand, since demand is really high and supply of jobs is low, leet code is a way to weed out candidates. If you can leetcode highly likely you can figure out the job. Hate the game, not the player. Or change professions.

    • @januslast2003
      @januslast2003 Před 2 měsíci +1

      The thrust of the video is that: LeetCode is not a way to identify good candidates, because it rewards memorization, not real-world coding. If you think it is, then let us know why.

    • @joncoedisko
      @joncoedisko Před 2 měsíci

      Leet Code tells nobody anything of their capability on the job. I work as a senior engineer, solving complex, novel challenges daily, meeting the needs of stakeholders, and I cannot solve these pedantic puzzles on the spot. And neither can my colleagues .

    • @turkyturky6274
      @turkyturky6274 Před 2 měsíci

      @@joncoedisko honestly the crazy leetcode questions where asked at faang companies I interviewed at. I bombed them all 😅. Google especially. Other companies leetcode questions, we're a joke. It's 2024 and the job market is tough. Y all have nothing to do anyways. Then when you get a job you can sit at home watch youtube videos and work a couple hours a week and get paid 6 figures.😎

  • @uppermiddleclass
    @uppermiddleclass Před měsícem +1

    As a person who solved several hundred leetcode I wholeheartedly support leetcode based hiring

  • @rushas
    @rushas Před 7 dny +1

    Well, it's easy to butcher the current solution but what's the alternative? How can the interviewing team decide within an hour whether the person is capable of solving problems and coding?

  • @Zayelion
    @Zayelion Před 2 měsíci +7

    Pretty sure this whole debacle was a sinfully effective marketing campaign that has gotten everyone fucked up. For a software company you want as smart a person as you can, with good communication skills but effectively no spine. They arent gonna tell you "no that's a dumb idea, let us not do that" they are just gonna take nootropics and not sleep till they come up with an answer. But you cant say that or your interview will get gamed. Leetcode acts as a cultural barrier and an IQ test. It only tells the interviewer if the person is from the culture of the founders.
    As a smaller business owner you don't want this, its how you end up with a daycare and then a union.

  • @GodLike420s
    @GodLike420s Před 5 dny

    The worst part is that even ml roles and data scientist roles need us to pass the first round of LEETCODE format. Its frustrating

  • @jimsmith5562
    @jimsmith5562 Před 2 měsíci

    Most refreshing CZcams video I have seen in such a long time. Keep making these kind of video'sDee

  • @lepton555
    @lepton555 Před 2 měsíci +3

    LC is good for learning CS. That's it.

  • @laujimmy9282
    @laujimmy9282 Před 2 měsíci +1

    Thank you so much for the advice, I do struggle with Leet codes and finds it not as helpful as it seems in real life experience.

  • @olafschluter706
    @olafschluter706 Před 2 měsíci

    As far as I can tell from more than three decades working in the IT business, we do not have leetcode-like interview questions at all in the hiring process here in Germany. We don't ask them, we don't have to answer them.
    I just recently discovered leetcode on my journey to learn Rust, and took some problems there as exercises on how to do that in Rust. I found that quite helpful. The work on one problem even evolved into a small example of computer generated art. It was fun.

  • @taintedtapper
    @taintedtapper Před měsícem

    I find the YT channel Exponent more meaningful because they give reasonable interview questions and show you reasonably lengthy videos where experts go through each of these problems in a job-interview style. It's quite more grounded than grinding Leetcode.

  • @artificiyal
    @artificiyal Před 2 měsíci +5

    in my country we have to grind 5 different platforms