Why Didn't He Get the Job? Let's Find Out! // Code Review

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 พ.ย. 2024

ความคิดเห็น • 690

  • @TheCherno
    @TheCherno  4 หลายเดือนก่อน +147

    Your move, Дмитро.
    Don’t forget you can try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/TheCherno . You’ll also get 20% off an annual premium subscription.

    • @raffiepro
      @raffiepro 4 หลายเดือนก่อน +26

      I agree, Дмитро should learn some basic maths from brilliant

    • @makesnosense6304
      @makesnosense6304 4 หลายเดือนก่อน +9

      Could it be that the Debug runs the TestApp, Release runs the "real" game?

    • @JavedAlam-ce4mu
      @JavedAlam-ce4mu 4 หลายเดือนก่อน +14

      I wonder if he was trolling?? Quite an elaborate troll if so.

    • @connorskudlarek8598
      @connorskudlarek8598 4 หลายเดือนก่อน +13

      "Just give me the .exe"!
      Basically that.

    • @RPG_Guy-fx8ns
      @RPG_Guy-fx8ns 4 หลายเดือนก่อน +11

      Cmake is gross, and silently installing dependencies is disgusting. All of this is terrible security. I would rather not have any software auto update. Cmake needs to be replaced with something simpler and safer.

  • @MaxTheDragon
    @MaxTheDragon 4 หลายเดือนก่อน +1153

    Pro-tip: Always try to build your project on a completely different computer before you submit it.

    • @dummyaccount1706
      @dummyaccount1706 4 หลายเดือนก่อน +89

      Or on a VM

    • @strider3438
      @strider3438 4 หลายเดือนก่อน +11

      ​@@dummyaccount1706containers though?..

    • @rafal9ck817
      @rafal9ck817 4 หลายเดือนก่อน +12

      I just set up Jenkins CI/CD and have it built in docker runner

    • @strider3438
      @strider3438 4 หลายเดือนก่อน

      @@rafal9ck817 yep yep

    • @MrSofazocker
      @MrSofazocker 4 หลายเดือนก่อน +20

      Its so easy to make a dockerfile to build, especially when you do cross-platform.
      Essential for running tests on each platform

  • @Syndiate__
    @Syndiate__ 4 หลายเดือนก่อน +725

    This is a prime example of "It works on my computer"

    • @RemoteAccessGG
      @RemoteAccessGG 4 หลายเดือนก่อน +12

      Not using Docker, the best tool in the world moment

    • @imo098765
      @imo098765 4 หลายเดือนก่อน +15

      @@RemoteAccessGG it works on my computer, then gives entire docker container of computer

    • @mattboemer4549
      @mattboemer4549 3 หลายเดือนก่อน

      @@imo098765ez

    • @kdhlkjhdlk
      @kdhlkjhdlk 2 หลายเดือนก่อน

      Can't buy second computer until have job.

    • @MikkoRantalainen
      @MikkoRantalainen 12 วันที่ผ่านมา +1

      Obvious he should have used Docker. Once a developer said "it works on my computer". Another developer: "Fine, we'll ship your computer." And Docker was invented.

  • @kewqie
    @kewqie 4 หลายเดือนก่อน +258

    You weren't harsh at all tbh, even as a friend or colleague I would be like "dude, shit ain't working".

    • @CrabSully
      @CrabSully 2 หลายเดือนก่อน +7

      Yeah, I was surprised people were saying it was harsh. I think he was completely respectful and just focused solely on the code and explained the mistakes, or how it should be done. It's actually a really good critique. Even straight off the bat, it was good advice - make this easy.

    • @irrelevant_noob
      @irrelevant_noob 2 หลายเดือนก่อน +2

      @@CrabSully not "on the code" tho, that part wasn't even reachable... The focus was on the opening "credits".
      Also, wdym "how it should be done"?!? Didn't see any bit about a fixed script, the closest was turning off the CLR flag, but that was done in VS not in the ps.

  • @nexovec
    @nexovec 4 หลายเดือนก่อน +593

    On his way to a complete game, he forgot how to run the game.

    • @nijucow
      @nijucow 4 หลายเดือนก่อน +58

      he forgot the basics while trying to impress the reviewer with fancy stuff

    • @ibrahimhussain3248
      @ibrahimhussain3248 4 หลายเดือนก่อน +3

      Or a VM

    • @MikkoRantalainen
      @MikkoRantalainen 12 วันที่ผ่านมา

      Maybe the game was about figuring out how to build the game?

  • @ProGaming-kb9io
    @ProGaming-kb9io 4 หลายเดือนก่อน +322

    The game is the build we fixed along the way

    • @nitinrawat4522
      @nitinrawat4522 4 หลายเดือนก่อน +2

      lol XD

    • @luffytaro-tg1gm
      @luffytaro-tg1gm 4 หลายเดือนก่อน +1

      @@nitinrawat4522 🤣

    • @Darqonik
      @Darqonik 4 หลายเดือนก่อน +3

      😂😂😂

    • @martinmetskula6384
      @martinmetskula6384 3 หลายเดือนก่อน

      😂

    • @zissler1
      @zissler1 3 หลายเดือนก่อน

      That's deep

  • @hanes2
    @hanes2 4 หลายเดือนก่อน +192

    I always try to make it a three step process in the readme…
    1. Git clone
    2. Cd; build
    3. Run

    • @severgun
      @severgun 4 หลายเดือนก่อน +3

      Sounds like Go project

    • @phee3D
      @phee3D 4 หลายเดือนก่อน +97

      @@severgun sounds like a normal, well designed project in any language/system.

    • @and_then_I_whispered
      @and_then_I_whispered 4 หลายเดือนก่อน

      How about no steps at all. As soon as he opens the email, everything runs automatically 🦴 (yeah, I tried to type skeleton to get ☠️, but you get it).

    • @dagoberttrump9290
      @dagoberttrump9290 4 หลายเดือนก่อน

      git clone
      conan build
      ./build/release/myapp.exe

    • @oguretsagressive
      @oguretsagressive 4 หลายเดือนก่อน +7

      @@phee3D ever tried to build Chromium? Or Pytorch? Tensorflow?

  • @mattiapezzano1713
    @mattiapezzano1713 4 หลายเดือนก่อน +297

    Harsh but deserved, as an applicant you must act as if you were advertising yourself, straight to the point, you gotta give an easy path to the good stuff to the interviewer.

    • @Schwuuuuup
      @Schwuuuuup 4 หลายเดือนก่อน +8

      And if you bit off more than you could chew this is a huge red flag for the interviewer as well. I'll take a small project that runs over a project with huge ambitions but doesn't compile any day

    • @abuDA-bt6ei
      @abuDA-bt6ei 3 หลายเดือนก่อน +1

      Yes the interviewer, the one who is already a professional should have it made easy, because figuring out how to compile and run programs never happens on the job. Maybe the interviewer just lost a promising programmer due to their incompetence in figuring out the problem.

    • @xXCheapTofuXx
      @xXCheapTofuXx 3 หลายเดือนก่อน +9

      @@abuDA-bt6ei Imagine this, you go to the mall to buy a shirt, you don't really care about the brand you just want a good quality shirt. There are 100s of stores at the mall. You walk down the path and start smelling shit, then turn your head and see a store that's flooded with sewage water, the sales rep assures you that they store their products safely in a vault in the back and they have the best quality shirts in the mall! Would you go in or just try one of the 100s other stores that are not covered in shit.

    • @abuDA-bt6ei
      @abuDA-bt6ei 3 หลายเดือนก่อน

      @@xXCheapTofuXx If that shit covered store truly did have the best shirts and I went somewhere else, I would’ve missed out on the best shirts. If getting the best shirts meant the success of my totally legal offbrand shirt selling company, then I just missed out very on much profit, all because I made my decision off a first glance and didn’t even look at the product itself..

    • @xXCheapTofuXx
      @xXCheapTofuXx 3 หลายเดือนก่อน +2

      @@abuDA-bt6ei you will never get to buy your shirt if you have to spend 20 minutes in 100 stores.
      Your problem is that you don't see the bigger picture. You want the BEST shirt in the mall in the LOWEST amount of time.
      Cost/Benefit.
      If you go into the shit covered store you HAVE to also go into every single store.
      So instead of buying a shirt that day you will spend the next week shopping and going into every single store. Whereas you could have gotten a really really good shirt in 1 hour.
      You do this yourself everyday.
      You want a new phone? are you going to spend years reverse engineering every single phone on the market so that you understand every single part, or are you just going to act on face value and known facts.
      you probably bought an android because "apple sucks"
      but did you spend 5 years learning every single function of code inside the apple device so that you can come to the conclusion that its bad or did you just take it at face value that apple is a shit company.
      again, you would never have a phone then.

  • @GamingDemiurge
    @GamingDemiurge 4 หลายเดือนก่อน +230

    While I agree on every single point you make. I will like for everybody to step back and appreciate how ridiculous the build process is in C++. It is absolute madness. CMake was created by a completely insane person. It is important for juniors to realize that they are not stupid. The system itself is crazy.
    You don't have to learn just the language. You need to learn about toolchains. different compilers, ... . In mid to big projects you will have people just dedicated to maintain the build system. It is wasteful, unnecessary, and stupid.

    • @ea_naseer
      @ea_naseer 4 หลายเดือนก่อน

      we had that in java or so I heard then we all duked it out with Maven. Call Stroustroup

    • @ColinBroderickMaths
      @ColinBroderickMaths 4 หลายเดือนก่อน

      You pay a price for the complexity and power (and admittedly historical baggage) of these languages.
      While I understand your criticism, I can't really fully agree. The basics of CMake are simple and easy, and the basics are all you need for a project like this. A minimal CMakeLists.txt is like four or five lines. Then it's just "paste this bit to add this dependency". I haven't checked the websites but I bet all the dependencies used had something like "insert this shit in your CMakeLists.txt to use this library". Seems like this person massively overcomplicated this work to their detriment.
      If CMake is too much for this beginner, they would have been much better off just saying "install this dependency" and then sticking with a raw VS solution. I would accept that from a junior without another though - I know they don't know everything yet. They shot themselves in the foot by massively overdoing it, and doing it very badly, and making everything more difficult for the reviewer.

    • @user-sl6gn1ss8p
      @user-sl6gn1ss8p 4 หลายเดือนก่อน +9

      I'm mildly allergic to cmake, but I've found premake to be way friendlier. Not always an option, of course.

    • @CodeStructureTalk
      @CodeStructureTalk 4 หลายเดือนก่อน +14

      Yeah, the CMake sometimes works, but it's not very well integrated, you still need to keep notes how to run it because of -G, -T, debug flags, etc. Each OS still requires it's own defines. There are legacy and nonlegacy parameters, static and dynamic linking, symbols, it's not easy to use.
      And the point about having one person dealing with CMake is exactly right. One person on CMake, one on Docker, one on CI, and then we wonder why everything is buggy and takes so long to develop.

    • @daven9536
      @daven9536 4 หลายเดือนก่อน +37

      And this is exactly why this has no business being part of the evaluation. The applicant doesn't know anything about the interviewers system (and the potentially very restrictive IT policies placed upon it). It is complete nonsense to expect someone to provide a one-click solution in the complete and utter clusterfuck that is the C++ ecosystem.
      Imho the interviewer should provide a minimal project for the applicant to build their stuff with. Then the jumping through hoops part is placed on the applicant and things are guaranteed to work out without too much of a hassle.

  • @onejdc
    @onejdc 4 หลายเดือนก่อน +44

    Don't put friction between you and the interviewer. Not an exact quote, but man, that nails it. You could have the most beautiful code on the planet, but if you make the interviewer jump through a bunch of hoops, you've already put yourself at the back of the line.

  • @danleedev
    @danleedev 4 หลายเดือนก่อน +49

    I interview coders as part of my lead dev job, and I would say that my tolerance for the state of this submission would be entirely based on the level of the role. If I was hiring a junior, I would pass the code to one of my intermediates and have them debug and configure the code to something I can evaluate. Anything higher than junior, and I would reject the submission.

    • @Dom-zy1qy
      @Dom-zy1qy 4 หลายเดือนก่อน +19

      Tbh I just assumed universally everyone would instantly reject anything they can't immediately evaluate.

    • @CarKiller92
      @CarKiller92 3 หลายเดือนก่อน +3

      Yeah, especially today's job market, any small red flag just means instant rejection.

  • @blablabla7796
    @blablabla7796 4 หลายเดือนก่อน +90

    This is why all my projects have CI/CD pipelines that automatically sends a random person from Fiverr a request to install and run my program. It also sets up a video conference call using an AI avatar to check if they were able to do it successfully. On pipeline failure, it sends a command to a Raspberry Pi to send me a gentle electric shock to wake me up from sleep so that I can start working on the project. This is naturally set up to run on pre-merge as well as on a nightly schedule.

    • @jfht318
      @jfht318 29 วันที่ผ่านมา +3

      You're missing the part of the pipeline where you humble brag about this on linkdin.

    • @blablabla7796
      @blablabla7796 29 วันที่ผ่านมา

      @@jfht318 don’t worry, it’s on LinkedIn, Twitter, my TH-cam channel of 2 viewers, my tech blog with only 1 article, and of course, my Reddit account. The same one I use to comment on thirst traps with. 😎

  • @ricky2629
    @ricky2629 4 หลายเดือนก่อน +48

    Powershell is actually cross-platform, and has been for a while.
    But that still doesn't explain using it for a build step where all you do is call cmake.

    • @irrelevant_noob
      @irrelevant_noob 2 หลายเดือนก่อน

      Guess he either didn't know about bat files, or needed more than they could offer.

  • @t6ixfury
    @t6ixfury 4 หลายเดือนก่อน +18

    I just finished my BS in Computer Science and currently prepping for job interviews. The information explained was valuable. This was a great help. Thanks!

    • @enemyofzestate8136
      @enemyofzestate8136 หลายเดือนก่อน

      Hows the hunt going?

    • @t6ixfury
      @t6ixfury หลายเดือนก่อน

      @@enemyofzestate8136 Ruff lol but I do have an interview tomorrow!

  • @bladman9700
    @bladman9700 4 หลายเดือนก่อน +297

    "Please roast code at full capacity"
    Shouldn't have said that blud

    • @varunfighter4871
      @varunfighter4871 4 หลายเดือนก่อน +28

      the roast went so hard we barely got to the code part

    • @w花b
      @w花b 4 หลายเดือนก่อน +3

      ​@@varunfighter4871 when the rest is so roastable you can't even get to the main part

    • @scififan698
      @scififan698 4 หลายเดือนก่อน +3

      I always hate it when job applicants assume confidently that their code will be good enough for a roast, while I can spot a pile of garbage from a mile. It's insulting.

  • @sherazali8691
    @sherazali8691 4 หลายเดือนก่อน +60

    I always run my code on someone else's machine to check if it throws any errors. Most of the time, what happens is that we have all of the required tools installed and configured on our machine and when we give the same code to someone, it simply doesn't work due to some missing installations/configurations.

    • @EmiliaHoarfrost
      @EmiliaHoarfrost 4 หลายเดือนก่อน +4

      Can you not instead use a virtual machine?

    • @MrSofazocker
      @MrSofazocker 4 หลายเดือนก่อน +20

      ​@@EmiliaHoarfrostYes, yes you can! But honestly just setup Docker and run all your build and tests on all platforms you target
      no more surprises

    • @sherazali8691
      @sherazali8691 4 หลายเดือนก่อน +3

      @@EmiliaHoarfrost Yes you can but for me it's more convenient to test on some other machine.

    • @tokarevart
      @tokarevart 4 หลายเดือนก่อน +1

      @@MrSofazocker docker is not a VM, can't emulate a whole operating system, so you can't check whether your app runs on windows if you're running docker on linux (and if you're running docker on windows it seems you're just running docker inside linux VM)

    • @elcugo
      @elcugo 4 หลายเดือนก่อน +4

      Yeah, but if your friend's machine also have installed an undeclared dependency then you'll still miss it. It's better to test in a clean environment to be sure IMO.

  • @TheCoolSquare
    @TheCoolSquare หลายเดือนก่อน +3

    I actually had a similar experience as as the interviewee once. I was given a take home to add some small example feature to some open source c++ project and it would not build out of the box. I spent like 8 hours figuring out a bunch of broken build system stuff and then realizing that the project had additional runtime dependencies not included before telling the company that it was bullshit basically (in a very thoughtful and constructive way) and that I wouldn't be completing the test.
    Predictably they didn't proceed with my candidacy.

  • @_CJ_
    @_CJ_ 4 หลายเดือนก่อน +21

    I think that everyone of us was there. Everything works fine in IDE... then you try cmake or some standalone build and there is rabbit hole of fails and errors. Nevertheless that is lesson and you have to test, nowadays it is easy to just fire up sandbox or other virtual machine and try there on clean system. One command to build, one command to run. I would even consider unpopular way with adding executable with warning (if you already have powershell scipts it does not matter :D )

  • @collwyr
    @collwyr 4 หลายเดือนก่อน +73

    being asked to make doodle jump as a code test wouldn't surprise me, about 4 years ago I was asked by one company to write my own animation system in unity and they didn't allow me to use any of the libraries in Unity to assist with it, and this was a fresh out of Uni job post and application.

    • @and_then_I_whispered
      @and_then_I_whispered 4 หลายเดือนก่อน +1

      Did you get it?

    • @MrStaples441
      @MrStaples441 4 หลายเดือนก่อน +48

      small game dev team just needed an animation system and used you to write one ;)

    • @collwyr
      @collwyr 4 หลายเดือนก่อน

      @@and_then_I_whispered I didn't even bother attempting it, I had three other job assignments that were far, far more reasonable to do and made sense, they emailed me like a week later asking how I got on and I told them I wanted to withdraw and focus my attention on other applications.
      in case anyone is interested the other assignments I were given were games that I had to both add additional gameplay aspects to and find and solve bugs in the current version of the game. far, far more enjoyable tests that actually tried to understand my level of programming expertise.

    • @collwyr
      @collwyr 4 หลายเดือนก่อน +11

      @@MrStaples441 generally what I thought they were trying to do, I was very conscious of this potentially happening when I was applying for the lesser known/lower workforce game companies. the thing is, if they didn't explicitly forbid me from using the libraries Unity has to assist in making the animation system I probably would have given it an attempt as it would have been an interesting learning experience, but I had far better job applications at the time that actually made me excited to do.

    • @unitydev457
      @unitydev457 4 หลายเดือนก่อน +4

      @@collwyr yeah this actually sounds like a really fun unique challenge, but I had the same thought regarding them trying to outsource free work from interview candidates

  • @nijucow
    @nijucow 4 หลายเดือนก่อน +286

    That's not a code review. That's a code roast 🤣

    • @wakannnai1
      @wakannnai1 4 หลายเดือนก่อน +36

      I don't think it's even that. He never even got to the code since it's a nightmare to build...

    • @prashant4174
      @prashant4174 4 หลายเดือนก่อน +24

      Which code? I see no code, all I see is powershell and build errors.

    • @呀咧呀咧
      @呀咧呀咧 4 หลายเดือนก่อน +22

      It’s a build system review

    • @digital_hoboz
      @digital_hoboz 4 หลายเดือนก่อน

      there was no code dawg

    • @nexovec
      @nexovec 4 หลายเดือนก่อน +2

      It's a no-code review, lol

  • @soniablanche5672
    @soniablanche5672 4 หลายเดือนก่อน +42

    new series: Build review

  • @vaclavsimak502
    @vaclavsimak502 4 หลายเดือนก่อน +86

    The fact that there are 61 source files makes me think that there might be hidden actual game somewhere. No?

    • @ColinBroderickMaths
      @ColinBroderickMaths 4 หลายเดือนก่อน +66

      You may well be right, but sadly from the perspective of the interviewer it doesn't even matter. There are far too many excuses to throw this application in the trash before you even get to the game.

    • @TehIdiotOne
      @TehIdiotOne 4 หลายเดือนก่อน +13

      Yeah the game is probably there, but if an interviewer has to run through this many hoops to get it to work, then you've already failed.

    • @ragnarok7976
      @ragnarok7976 4 หลายเดือนก่อน +8

      ​@@ColinBroderickMaths Yeah if I were the interviewer this would be an omen that my colleagues and I would likely be spending a lot of time polishing his turds. Kudos to him for trying but he's got a lot to learn. Might actually get a critique back from the employer if they could actually build/run it lol

  • @wazreacts
    @wazreacts 4 หลายเดือนก่อน +77

    I invite everyone to change speed to 0.5x for Cherno's "drunk code review"

    • @mspeir
      @mspeir 4 หลายเดือนก่อน +4

      🤣 OMG!

    • @onionknight249
      @onionknight249 4 หลายเดือนก่อน

      Damn it feels real😂

    • @RaveYoda
      @RaveYoda 4 หลายเดือนก่อน

      Wow

    • @shulehr
      @shulehr 4 หลายเดือนก่อน +2

      well, i watched at 1.5x

    • @cabji
      @cabji 4 หลายเดือนก่อน +1

      I noticed how rapidly "Cplusplus" kept spitting out of his mouth

  • @CharlesBallowe
    @CharlesBallowe 4 หลายเดือนก่อน +33

    That README almost looks like the assignment. The email has a bunch of "English isn't my first language" constructs but the readme is basically perfect and well structured and seems to be describing "what the project needs to do".

    • @ShishirTandale
      @ShishirTandale 4 หลายเดือนก่อน +14

      chatgpt

    • @Ginto_O
      @Ginto_O 4 หลายเดือนก่อน +2

      That's just an AI

    • @paultapping9510
      @paultapping9510 3 หลายเดือนก่อน +2

      yeah, that's how my bootcamp requires readmes to look. hundreds of lines of 'what is this project' before anything technical.

  • @ScorpioHR
    @ScorpioHR 4 หลายเดือนก่อน +103

    This code was sponsored by IKEA.
    You need to assemble it yourself

    • @peterholzer4481
      @peterholzer4481 3 หลายเดือนก่อน +2

      But Ikea's instructions work.

    • @irrelevant_noob
      @irrelevant_noob 2 หลายเดือนก่อน +3

      @@peterholzer4481 and that's why the OP said _sponsored_ by, not made by. ;-)

    • @BizarePlayer
      @BizarePlayer 18 วันที่ผ่านมา

      @@peterholzer4481 Yeah but only if you can figure out what TODO.

  • @sanderspeetjens
    @sanderspeetjens 3 หลายเดือนก่อน +6

    A big red flag is also not using version control (git), can be seen by the commit code space copy
    The best way to build cpp projects in my opinion is creating a build/run docker container

  • @Psanyi42
    @Psanyi42 4 หลายเดือนก่อน +13

    Honestly having myself spent multiple days debugging why a github project would not build for home project; as an interviewer I would not have went for the trouble to try to fix it, but at least I would have given them a chance like Cherno is giving now, that "look this has to be a one click build for me, please fix it".

    • @daven9536
      @daven9536 4 หลายเดือนก่อน +3

      This is an impossible task. "One click" builds that work on all system configurations don't exist in C++ (if they did, people would use them). If you think that is not true, then you just haven't seen enough. If you managed to do it in the past, you were just lucky.

    • @Psanyi42
      @Psanyi42 4 หลายเดือนก่อน

      @@daven9536 So you are saying everyone spends hours to try to get running these interview assigments? I think you are in the wrong here. I understand that it could be hard but here we are talking about visual studio on windows. Everything should be just recognized automatically at least that is my experience with that. Of course if you want to build something with XY additional function obviously you have to make those changes, but if you want to build something you shouldn't have to run 6 different scripts and fix error messages.

    • @Riya-zj2mk
      @Riya-zj2mk 4 หลายเดือนก่อน

      ​@@daven9536even if we have two builds, we can write a wrapper build to conditionally execute one of the builds based on os

    • @bobsemple9341
      @bobsemple9341 4 หลายเดือนก่อน

      ​@@daven9536skill issue

    • @zararianrock
      @zararianrock 7 วันที่ผ่านมา +1

      @@daven9536 It definitely is possible for a project of this size. Besides you don't have to support every single configuration imaginable, just the most common ones used by other developers. Baring that just make the steps to build and run your project as minimal as possible. It's not rocket science. This guy is building a simple 2D game not an operating system.

  • @sebastianschneider326
    @sebastianschneider326 4 หลายเดือนก่อน +10

    This is a very interesting code review because coding is actually just a part of being a software engineer. I know so many people who know great features about the language but don't have a clue how the build system works (or vice versa) and this often leads to very messy projects. Tip from my side: Try to deploy the code to various target platforms in one step, this will "force" you to understand how a build system works and how to write target independent code and leverage the build system instead

    • @tjdoestech
      @tjdoestech 4 หลายเดือนก่อน

      Very much agree. You can't just always take the toilet paper-roll approach to every project and zoom in on your daily duties, disregarding the rest of the flow (QA, wink, wink anyone?). However, for an interview code test/project?

    • @nandakoryaaa1401
      @nandakoryaaa1401 3 หลายเดือนก่อน

      You will use whatever build system is already used in the company, it's set up in one day and does not deserve that much attention.

    • @sebastianschneider326
      @sebastianschneider326 3 หลายเดือนก่อน

      @nandakoryaaa1401 I am working in an embedded environment and every 2-3 years, when we start new projects, we have to setup a complete new environment based on the product needs. And we as developer are making the decisions.

    • @nandakoryaaa1401
      @nandakoryaaa1401 3 หลายเดือนก่อน

      @@sebastianschneider326 then make a decision, no problem. You don't have to show your decision to some random guy on youtube to be approved.

  • @antongrant8827
    @antongrant8827 4 หลายเดือนก่อน +89

    Actually, at least in Ukraine, it’s a common practice to give a person some sort of a test assignment, to check for technical skills before inviting to the interview. My task, for instance, was to write a pong game :)

    • @musashi542
      @musashi542 4 หลายเดือนก่อน +1

      whats the job title ?

    • @antongrant8827
      @antongrant8827 4 หลายเดือนก่อน

      @@musashi542 it was for a junior c++ developer position

    • @mgoonga
      @mgoonga 4 หลายเดือนก่อน +11

      I remember spending the whole week-end(like 25 hours) to write a copy Tank 90 Dandy game with QT. Another week-end was spent on small copy of MS Paint. I was a "switcher" with no work experience and was ready to accept any challenge. It was a hard time!

    • @mikolash8246
      @mikolash8246 4 หลายเดือนก่อน +12

      @@mgoonga I would not agree to do such a huge test assignment. In my opinion, the approximate time to complete a test task should not exceed 4 hours.

    • @mgoonga
      @mgoonga 4 หลายเดือนก่อน

      @@mikolash8246 Sure, one needs to be desperate to take such assignments. I was taking any assignment because there was not much choice and I was dying to switch to c++ programming. Now, 7 years latter, I work for Samsung as a Senior C++ dev in Advanced graphics department.

  • @tolkienfan1972
    @tolkienfan1972 4 หลายเดือนก่อน +10

    I was given a coding task many years ago. I had a key insight, and selected a linked list, because I knew the distribution of inputs in the real world data meant that almost all the activity was modify/insert/remove at or very near the head of the list.
    At the interview I completely forgot to mention it! 🤣
    Without that understanding a red black tree or similar would be a much better choice.
    Despite that I got the job 😁
    Still there 16 years later

    • @AlexSwanson-rw7cv
      @AlexSwanson-rw7cv 11 วันที่ผ่านมา +1

      That's where I'd add a code comment, either for interview or IRL. Explaining why often more useful than explaining what.

    • @tolkienfan1972
      @tolkienfan1972 11 วันที่ผ่านมา

      @AlexSwanson-rw7cv I would these days. :-)

  • @PaulEmsley
    @PaulEmsley 4 หลายเดือนก่อน +5

    Not harsh at all. If I had a project for which I wanted feedback from a colleague - this is how I would want it.

  • @urugulu1656
    @urugulu1656 4 หลายเดือนก่อน +5

    can we just admire how that code compiler w/ 0 warnings or errors? he atleast hasvdone something right ( atleast the one time you build inside of powershell

    • @scififan698
      @scififan698 4 หลายเดือนก่อน +1

      No. And you forgot a closing bracket. lol

    • @uNiels_Heart
      @uNiels_Heart 3 หลายเดือนก่อน

      Well, let's just hope they actually have all the usual warnings enabled and then some. It could easily produce 0 warnings by disabling them.

  • @NathanaelCrapo
    @NathanaelCrapo 13 วันที่ผ่านมา

    idk why youtube recommended this video when it did but a great experience seeing you go through this and give actual feedback to someone.

  • @ville_syrjala
    @ville_syrjala 2 หลายเดือนก่อน +3

    IMO an ideal build system would be something that's 100% declarative so you can't include malware/etc in random scripts, can't refer to anything outside the source/build trees apart from normal packages installed on the system so you can't accidentally pick up other random stuff you didn't declare in the build, and especially it shouldn't have the capability to download potential malware off the internet.

  • @JavedAlam-ce4mu
    @JavedAlam-ce4mu 4 หลายเดือนก่อน +73

    I have a strong suspicion that was some strange form of elaborate code trolling...

    • @gasun1274
      @gasun1274 4 หลายเดือนก่อน +26

      Never assume malice when incompetence explains it

  • @chudchadanstud
    @chudchadanstud 4 หลายเดือนก่อน +16

    Imagine having to do work for your interview.
    > Umm can you spend your week making this game thank you!
    >Uhmmm no.
    No wonder game devs get abused. You guys need to stand up for yourselves.

    • @gagaxueguzheng
      @gagaxueguzheng 3 หลายเดือนก่อน +2

      When my current employer asked me to do homework, I declined politely and got the job.

  • @dusha3030
    @dusha3030 4 หลายเดือนก่อน +38

    Am I the only one that finds crazy the fact that you should have projects on your resume AND need to make a small project for the company to even get a CHANCE of getting the job ?

    • @ea_naseer
      @ea_naseer 4 หลายเดือนก่อน +15

      CS is a field that's weird like that

    • @eucalypt444
      @eucalypt444 4 หลายเดือนก่อน

      and yet theres still morons running rampant so maybe it should be stricter

    • @and_then_I_whispered
      @and_then_I_whispered 4 หลายเดือนก่อน +10

      I don't think he had projects on his resume.

    • @MrHaggyy
      @MrHaggyy 2 หลายเดือนก่อน

      Every discipline has it's speciality. In mechanical engineering they really want an intership report, group project report or your thesis (basically any of the 50+ pages documents you made). Which is hard if all of this is under some sort of corporal nda.
      In electrical engineering they will call you and ask you to take them through every single step of developing something. And either in that call or in person meeting they ask you all the formulas and numbers relevant.

    • @hamesparde9888
      @hamesparde9888 2 หลายเดือนก่อน

      Yeah. I think if you had a really high chance of getting the job might be justifiable, but their are usually loads of applicants. I mean just imagine how much time you could waste and end up with hardly anything to show for it (because usually what they ask you to do is enough that it's going to take a bunch of time, but not enough that it's something really worth showing off or that you'll learn a whole lot from.) I let's say they ask you to do something small and it takes or or 10 hours and you apply for 5 jobs like this. That's like 25 or 50 hours. It's sort of ridiculous. I feel like if you're going for an entry level position they shouldn't expect that and if it's a higher level position you should have work that you've previously done that you can show off.

  • @aboliguu1168
    @aboliguu1168 4 หลายเดือนก่อน +71

    This is so C++, spend the whole video trying to get the build system working 💀
    Edit: but hey can you make another video where you look at the code? It would be interesting

    • @marcotroster8247
      @marcotroster8247 4 หลายเดือนก่อน +16

      Gosh, this reminds me of this stupid uni assignment where I spent half a year building this Unreal Engine car simulator because I had to do a source build to load the damn custom vehicle of my supervisor into the simulator.
      It was like Docker calling Bash calling CMake calling C# calling clang. Like how ridiculous can you make this stupid build pipeline?!
      This crap build process ran like 3 hours and generated 300GB whereas only 12GB were actually needed to run the game. Gladly it was not my PC and the SSD survived somehow.

    • @theforeskinsnatcher373
      @theforeskinsnatcher373 4 หลายเดือนก่อน +9

      If set up correctly, building a C++ project should be as simple as typing "cmake " and then "ninja" or "make" or whatever you use

    • @marcotroster8247
      @marcotroster8247 4 หลายเดือนก่อน +2

      @@theforeskinsnatcher373 Yeah, I'm setting up proper CMake for my own projects as well like any sane C/C++ developer would.

    • @ColinBroderickMaths
      @ColinBroderickMaths 4 หลายเดือนก่อน +3

      The small snippets we saw looked pretty bad, so it would be another roast for sure. I don't even mean the code necessarily, just the sheer volume of code/comment detritus that was littered around not doing anything. From the perspective of an interviewer, that looks extremely sloppy and I would not be keen to hire that person when I have a hundred others waiting for a chance.
      Honestly given how poorly they seem to understand their compiler and build system, I'm surprised and perversely impressed that this person ever managed to get the game running at all.

    • @ColinBroderickMaths
      @ColinBroderickMaths 4 หลายเดือนก่อน

      @@theforeskinsnatcher373 Yeah, arguably that's all that CMake is really for. To automate all these complicated build preparations so the user doesn't have to worry about it.

  • @glewfw7989
    @glewfw7989 3 หลายเดือนก่อน +3

    petition to cherno to make an entire video on his native language just to see how different and intimidating he could sound.. like this for happening

  • @Volian0
    @Volian0 4 หลายเดือนก่อน +30

    I miss code reviews of small projects written from passion, not for work

    • @anthonysteinerv
      @anthonysteinerv 4 หลายเดือนก่อน +12

      Which he also didn't reviewed because he didn't liked the readmes or didn't build, and talked half an hour of building and readmes, this "series" Is a joke now. Just cherno farming videos.

    • @bobsemple9341
      @bobsemple9341 4 หลายเดือนก่อน +3

      ​@@anthonysteinervyou're just mad. If you can't make a decent project just admit it lol.

    • @daphenomenalz4100
      @daphenomenalz4100 4 หลายเดือนก่อน

      @@bobsemple9341 ngl but this a project in C, and it's inherent to be longer to setup and is pretty hard too if the guy didn't know about containers.

  • @oleksiistri8429
    @oleksiistri8429 4 หลายเดือนก่อน +21

    9:46 "well, python.. it's LIKE a programming language.."
    lmao🤣

    • @classZak
      @classZak 3 หลายเดือนก่อน +1

      Python is imposter.

  • @CodeStructureTalk
    @CodeStructureTalk 4 หลายเดือนก่อน +16

    Can we take a moment to appreciate how awfully ridiculous the C++ build system is?
    In the old days Visual Studio would just use the project files that work out of the box, now you need to deal with CMake, Ninjas, vcpkg, etc. And it doesn't get any easier since there are always problems with static/dynamic, flags, defines, etc.

    • @velho6298
      @velho6298 4 หลายเดือนก่อน +3

      Worked out of box lmao Vc++6 was not that good

    • @goczt
      @goczt 4 หลายเดือนก่อน

      Huh? VS and CMake have nothing to do with that really. You can still just download the dependencies manually, add them to your VS soulution, zip it and send it wherever you want IF you don't care about what CMake/Ninja/vcpkg are trying to solve. People used to do that, and now same people don't want changes to C++ because it will break compatibility with their 20 year old .dll's that they have no way to rebuild since they lost the source code or whatever. It's just the requirements changed over time and people desire easier dependency management (because we don't want to redistribute zips manually between 100+ developers in the team, and a hotfix 1 day later in a similar manner), easier cross-platform builds (because Windows is not the only OS that exists and is bad for a lot of applications actually), independence from VS (because some of us prefer other compilers and code editing capabilities) and so on.

  • @raq1024
    @raq1024 4 หลายเดือนก่อน +2

    before sending it to a reviewer send it to a friend or someone and ask them to build/run it - easiest way to avoid such mistakes

  • @br3nto
    @br3nto 4 หลายเดือนก่อน +10

    25:24 Yep. Is a do not hire.

    • @ravenecho2410
      @ravenecho2410 2 หลายเดือนก่อน

      Ummm, in what level all of this is trivial devops, u hadnt spent one minute looking at actual code or ideas. Sure its important to be polished, but if an interviewer was running untested scripts in my company from an interviewer like... they should really really be looked at if not, like who the eff knows what shell contains...

    • @br3nto
      @br3nto 2 หลายเดือนก่อน

      @@ravenecho2410 I guess it depends on the level being hired for. If a junior dev then it might be fine, because they might not know better, and can be taught . But anyone with a couple of years of industry experience should know better, so an immediate no. I don’t want people on my team who will create broken stuff and make the app harder to work with. Likewise, if it did work but the process to get it up and running is long and convoluted, that would also be a do not hire.

  • @Jergos
    @Jergos 4 หลายเดือนก่อน +1

    The build system highlights the knowledge level of a candidate with respect to software engineering. I have worked with many developers who don't understand how software is organized and combined. In my experience, build knowledge almost always relates to the quality and organization of the code that the developer produces. I believe this because working with build systems requires lots of reading documentation, knowledge of how systems and components communicate, definition of protocols and data interchange formats, and writing documentation. Without some basic knowledge about how basic software works, my guess is that this leads to a developer repeating the mistakes of others. If people don't understand what CMake, Meson, Bazel, are doing, I really don't expect them to be able to understand the ever increasingly large and evolving C++ Standard.

    • @paradoxicalcat7173
      @paradoxicalcat7173 3 หลายเดือนก่อน

      You want a build expert, not a developer. I learned C back in the mid 1990s, and ran build and link manually from the command line. I understand very well how the system goes together. Modern build environments are bloated crap, like pretty much everything else.

    • @someonespotatohmm9513
      @someonespotatohmm9513 3 วันที่ผ่านมา

      @@paradoxicalcat7173 manualy linking? That sounds like archaic "why not run the code by hand" crap ;P

  • @TheArcV
    @TheArcV 3 หลายเดือนก่อน +1

    If the task of the interviewer was to obtain a sample game, the tooling parameters of that game should have been very specific: build it a specific way and for a specific platform using a specific IDE and release. With a one step build script.

  • @vivas555
    @vivas555 2 หลายเดือนก่อน +1

    Ok maybe its me who's weird but every time I interview a junior, I basically tell them that if they have a degree I assume they have the mental capacity to actually code so I have them skip any technical test or "homework" because they passed so its serviceable and I can work with that. Now if they don't have a degree then yeah I grab some random stuff just to see if they can make it work somewhat. But the real test, I actually get in a call with them and I give them one hour to do the gilded rose kata with me in share screen and I ask them to walk me trough what they are doing and why. Because 98% of programmers don't write new code, so I really don't care for new code, I wanna see what kind of mess you'll make while editing code, what test you're gonna write and mostly how open you are to learn.

  • @TheFreshMakerHD
    @TheFreshMakerHD 4 หลายเดือนก่อน +5

    This whole building and compiling mess makes me wonder what Cherno thinks of the Zig programming language and their C/C++ build system

  • @RMDragon3
    @RMDragon3 4 หลายเดือนก่อน +3

    Job interviews are basically a greedy algorithm where interviewers try to find a good candidate in as little time as possible. Fully evaluating and comparing all candidates would take way too much time. If interviewers find something like this, they are likely to reject whoever submitted it. Of course, someone MIGHT be an excelent programmer despite making it so difficult to compile their code. However, it seems more likely that there is someone better further down the list. Wasting the interviewers' time is the best way to get rejected.

  • @Black-Kakarot-Age-Of-Empires-2
    @Black-Kakarot-Age-Of-Empires-2 16 วันที่ผ่านมา

    The Cherno: after 3 month of hard testing, redesigning and reprogramming of all the code i happy to announce that the game works now!!!!

  • @Mariuspersem
    @Mariuspersem 4 หลายเดือนก่อน +6

    I have seen worse build steps and environment setup at my current workplace, this is easy in comparison

  • @JonasHertzman
    @JonasHertzman 3 หลายเดือนก่อน

    Fantastic video! This highlights exactly what I hate about c++ and why I switched to c# as my main programming language.

  • @surfacing3579
    @surfacing3579 4 หลายเดือนก่อน +1

    If you're using CMake at all, you really should take the time to thoroughly learn it, treat it like the scripting language that it is. Even if it can be confusing at times, it is powerful, you can use it to detect the OS, run console commands, download a package manager, build and install dependencies, convert binary files to C headers, etc. all chained off just by configuring/building the project.

  • @XeZrunner
    @XeZrunner 4 หลายเดือนก่อน +3

    I love this video.
    No hard feelings towards the person that made the project. People generally need to take a step back and "unlearn" some of the complexities for their projects.
    The ways I see it: people have built some incredibly complex tooling and frameworks over the years that are way too overkill for smaller projects, yet people rely on them to start out.
    Instead of using the complex material you learn from other sophisticated projects to replicate in your own, attempt to minimize as much as possible. The technology stack in use by many software today is insanely huge.
    The more we minimize over time, the better understanding we will have of our own projects as well.

    • @ferinzz
      @ferinzz 4 หลายเดือนก่อน +2

      I saw someone on another video that essentially said he has his own library of functions/ extended classes built up over the last 20 years.
      Along with all the issues in open source that are being found out, it seems like this would be the best route for everyone.

  • @markbauermeister5449
    @markbauermeister5449 21 วันที่ผ่านมา

    Instead of writing half a dozen Powershell scripts, people should learn to use CMake's own internals. CMake actually allows you to download files and there's plugins like CPM that enable vendoring in other CMake projects (as well as non-CMake projects, with some additional work).
    Alternatively, one can always use Git Submodules or even just straight up add a `vendor` directory as part of the main repository.

  • @samljer
    @samljer 4 หลายเดือนก่อน +5

    the hair is an entity of its own.

  • @gianluca.g
    @gianluca.g 4 หลายเดือนก่อน +7

    "it works on my machine" (tm)

  • @Baekstrom
    @Baekstrom 20 วันที่ผ่านมา

    Ouch! That hurts, but at least the guy got the feedback he needed to find out how he can improve his chances of landing a job.

  • @asagiai4965
    @asagiai4965 4 หลายเดือนก่อน +1

    Your criticism here is valid.
    A gamer,
    An interviewer,
    And a
    A programmer
    Would find this very annoying and a hassle.

  • @etaosin
    @etaosin 3 หลายเดือนก่อน

    You're not harsh; you're honest! And everything you say is true, so I'm also going to start a new project using your advices. If this documentation is useless for someone intending to run your repository, how likely is it that you'll be seen as a potential team member? Teamwork is about explaining your needs and getting explanations from others.

  • @QuicksilverSG
    @QuicksilverSG 2 หลายเดือนก่อน +5

    This video analysis confirms my suspicion that modern developers no longer do much traditional programming. They have become what we used to refer to as build engineers, i.e. maintainers of project databases who are responsible for compiling and linking all code modules into an executable suitable for submitting to QA. It seems like modern developers are expected to take responsibility for all aspects of software product development, from source control management down to market localization, and figure out how to deal with any resource or documentation gaps on their own.

    • @tristen_grant
      @tristen_grant 2 หลายเดือนก่อน +3

      Yes. Just like most graphic designers are expected to know how to design, write copy and do basic front-end code.

  • @maervo4179
    @maervo4179 4 หลายเดือนก่อน +4

    Who the fuck writes doodle jump from scratch for a job? I would never do that lmao 😂

  • @aidennwitz
    @aidennwitz 4 หลายเดือนก่อน +2

    i did the same game for an interview, i was asked explicitly to make a Doodle Jump clone and was given the same graphics assets that were used in this attempt

    • @addsynth-programming5391
      @addsynth-programming5391 4 หลายเดือนก่อน +1

      What company was it for? Or are you not allowed to reveal them?
      Edit: Oh, wait. Is it in Ukraine? It may not apply to me then. Unless they accept online workers / work from home.

    • @aidennwitz
      @aidennwitz 4 หลายเดือนก่อน +1

      @@addsynth-programming5391 it was for an Unreal Engine internship at Dragons Lake

  • @ColinBroderickMaths
    @ColinBroderickMaths 4 หลายเดือนก่อน +2

    They should have just asked the interviewer to install SDL2 manually and then provided a raw VS solution. I would accept that from a junior. I know they don't know everything yet. By unnecessarily over-complicating it with very bad use of PowerShell and CMake, they drew an awful lot of negative attention to things they are bad at.

  • @stevebob240
    @stevebob240 3 หลายเดือนก่อน +1

    He could have done better, but the fact he made all this just at a chance to get an interview is at least worth something. It's tough to get an interview these days.

  • @Saturate0806
    @Saturate0806 4 หลายเดือนก่อน +10

    crazy that you run random scripts without being in a VM

    • @MrDasfried
      @MrDasfried 4 หลายเดือนก่อน +3

      Maybe thats a non issue when you look what the Do first? Its no magic after All

    • @michaeldamolsen
      @michaeldamolsen 4 หลายเดือนก่อน +4

      @@MrDasfried "Maybe thats a non issue when you look what the Do first? Its no magic after All" - The recent xz utils backdoor begs to differ.

    • @paradoxicalcat7173
      @paradoxicalcat7173 3 หลายเดือนก่อน +1

      You implicitly trust the developer not to have provided source code to a virus! The build environment being hostile is the least of your worries.

  • @OREYG
    @OREYG 4 หลายเดือนก่อน +7

    The worst part of it, is that half of those problems are inherent to the modern C++ build pipeline. Even with more steps added if you're using Conan or the likes.
    The fact, that CMake is de facto standard build system is a tragedy.

  • @mikefochtman7164
    @mikefochtman7164 4 หลายเดือนก่อน +1

    Yeah, been a few years but using MSVC it's pretty easy to end up with 'stuff' you don't really need, like that CLI. To be 'helpful', MS has rolled a lot of things together, you really have to take some time to figure out just what all the various options actually do. But for the build to not even finish the right 'game'.... that's pretty sad.
    One thing I've liked about Python is the virtual environment stuff. This developer needs to learn how to set up a blank 'VM' to test his build stuff on. I'd bet that he's set some global settings that he's long forgotten about so things work on his (and his only) machine.

  • @valdimer11
    @valdimer11 4 หลายเดือนก่อน

    That face after finally building it. 😂. That pretty much sums it up. If the interviewer went above and beyond like you did just to end up with that??? Yeah, you werent harsh.

  • @atiedebee1020
    @atiedebee1020 4 หลายเดือนก่อน

    17:26 fun fact: the C++11 standard actually specified a garbage collection API (removed in C++23, i dont think anyone actually implemented and used it)

  • @tjdoestech
    @tjdoestech 4 หลายเดือนก่อน +1

    Over-engineered for the project he was trying to submit, but then again, who knows what position he was interviewing for. Cool that it can (maybe?) build for a couple of Linux Distros. Most interviewers will probably want to see you implement the most simple, efficient solution to your code test. Not a "I am going to implement everything to my knowledge about this language/build system" approach, IMO.

  • @gapspt
    @gapspt 14 วันที่ผ่านมา

    As a game developer and interviewer, a couple of things this video gets wrong right off the bat:
    - We usually ask for a specific game, it's not a good idea to leave that decision to the candidate for a number of reasons (evaluate multiple projects fairly, not overwhelm the candidate with choices, focus on a single problem, etc.)
    - We definitely do want to see the final product and not just the code. If the product looks like crap we don't even look at the code. Animations are highly valued as it shows not only that there was extra time to polish the game but also that the candidate understands the importance of (and how to make) a visually appealing game.
    As long as the code is not a mess, the looks of the look&feel (or UX) is what matters the most in a game homework.
    Guys, please don't send game take away exercises for a server, web, fullstack, etc. dev, to review, as you will be left with very bad feedback that doesn't match the reality, like in this video.

  • @marcotroster8247
    @marcotroster8247 4 หลายเดือนก่อน +29

    For a junior role "works on my machine" mentality is fine. Just show him how it's properly done. He's clearly self-taught and willing to learn.

    • @The1Wolfcast
      @The1Wolfcast 4 หลายเดือนก่อน +15

      too bad no one wants to hire juniors anymore unless they got 30+ years experience and personally developed C++ with Bjarne himself 😭

    • @marcotroster8247
      @marcotroster8247 4 หลายเดือนก่อน

      @@The1Wolfcast Just transition to Rust or Go then. Or write C++ extensions for Python. There's plenty of demand for performance.

    • @not_ever
      @not_ever 4 หลายเดือนก่อน +8

      Works on my machine is not even acceptable for a university assignment.

    • @severgun
      @severgun 4 หลายเดือนก่อน

      He did build scripts but did not test them on VM or docker. That is the lesson.

    • @marcotroster8247
      @marcotroster8247 4 หลายเดือนก่อน +1

      @@not_ever Indeed. For an assignment the program has to work. At least if the supervisor isn't even too lazy to execute the code.

  • @yairlevi8469
    @yairlevi8469 4 หลายเดือนก่อน

    Honestly, the same way you should start your project with blank boilerplate and already deploy it, you should start by writing the build process, and treat it as if it should be a test to be passed for the program to be considered "working properly".

  • @robuandrei5969
    @robuandrei5969 5 วันที่ผ่านมา

    During the interview:
    Him: It was working on my machine...

  • @Macciejable
    @Macciejable 12 วันที่ผ่านมา

    It looks like an entry task for Dragons Lake internship.
    I did an internship for them myself, and later was also reviewing some of those applications.Are you sure you were suppose to use SDL2? They didn't provide you their own framework? In my days, you would get autofail for using your own libraries, as it was specified to use provided framework only. And that would be sole reason you failed. Also they didn't tell you why you failed? I used to pass the feedback to all candidates I reviewed.

  • @UhGoomba
    @UhGoomba 4 หลายเดือนก่อน

    Good timing for reviving the series, especially with the simd stuff. Hope this continues

  • @ghobashi2000
    @ghobashi2000 4 หลายเดือนก่อน +1

    Harsh scary review, but helpful
    Thanks for your precious time.

  • @nimrag659
    @nimrag659 9 วันที่ผ่านมา

    the fact that it makes you build sdl is insane since theyre just a few dlls for you to throw in your project directory and forget about, theres no reason you should have to build anything related to them

  • @mjthebest7294
    @mjthebest7294 4 หลายเดือนก่อน +6

    You should do a code review of the Handmade Hero project, that would be pretty fun to see lol

  • @rrutter81
    @rrutter81 3 หลายเดือนก่อน

    you're not harsh at all. shit should just build or move on. if anything, you spent way too much time on it. im impressed by your patience

  • @and_then_I_whispered
    @and_then_I_whispered 4 หลายเดือนก่อน +2

    22:36 I laughed so hard at this part, lol.

  • @varunfighter4871
    @varunfighter4871 4 หลายเดือนก่อน

    Pls do another video where you review the actual code. Would like to hear ur tips for writing such projects that will be professionally reviewed

  • @electricspeedkiller8950
    @electricspeedkiller8950 4 หลายเดือนก่อน +5

    I was also required to do a doodle jump game. But was required to make it so they only type "main.exe 800x600" or sinilar and it runs with this resolution. Due to funny circumstances, I was extremely pressed for time, all the code wasashed into one file, didnt know how to do it other way, naming conventions out the window and so on. I also got flamed for using pointer arrays for polymorphism, because idk, i terviewer said it in such a tone that I was dumb for not knowing and it was painfully obvious why not to do it. Didnt help that classes had a "type" variable, which basically meant classes had different behavior based on this one integer value. Ah, total mess. Still got invited to interviews and missed the job as well.

    • @uNiels_Heart
      @uNiels_Heart 3 หลายเดือนก่อน

      We all start out dumb and then we learn. And learning never stops (well, it will eventually, when our brain stops having the capacity to learn or when we kick the bucket, whichever happens first).

  • @enzozbestetti5992
    @enzozbestetti5992 หลายเดือนก่อน

    This is a very good example of why self-taught programmers not only have a disadvantage compared to those with formal training, but also why they're generally passed over. You can teach yourself C++ syntax, sure, but that doesn't mean you learnt good coding practices. Just using a million libraries isn't good practice. Using CMake like that isn't good practice. We didn't even see his C++ code but I'm almost 100% certain it is bad code, with a high potential of being badly designed as well. Why does this happen? Because self-taught programmers usually follow a couple of tutorials on how to get going with the language but never learn how computers work, why they work, and especially why C/C++ works one way and, say, Java works another way. Without understanding the basics of computation, you can't possibly expect to be able to produce anything good with a computer. I'd say this person needs to take about 500 steps back, start from the beginning, and then maybe he'll have a shot at employment

  • @allocator7520
    @allocator7520 4 หลายเดือนก่อน +2

    Imagine getting tasked to make doodle jump 💀for a job

    • @stevebob240
      @stevebob240 3 หลายเดือนก่อน

      For the possibility of an interview, to then get ghosted. 💀*

    • @allocator7520
      @allocator7520 3 หลายเดือนก่อน

      @@stevebob240 nah 💀take my game engine dont have time to make useless shit anyway

  • @fkeyzuwu
    @fkeyzuwu 4 หลายเดือนก่อน +63

    day 723 of cherno not actually reviewing code in a code review video 👍🏻

    • @bobsemple9341
      @bobsemple9341 4 หลายเดือนก่อน +5

      Make you're shit easier to build and he might?

  • @simspawn
    @simspawn 5 วันที่ผ่านมา

    Super question; do you ever get feedback from those whose code you are reviewing? Is there some way to post the review,and then add in any feedback recieved?
    If possible, I think that would be a great segment to add at the end of each review.

  • @velho6298
    @velho6298 4 หลายเดือนก่อน +1

    I would imagine whoever reviewed this by the company tripped up when the stuff just didn't work and moved on

  • @-Kailinn-
    @-Kailinn- 4 หลายเดือนก่อน +1

    No, you're not being too harsh. If people want a job it's a necessity.

  • @DanStrohschein
    @DanStrohschein 9 วันที่ผ่านมา

    We used to call the C++/CLI monstrosity "Managed C++" - and none of us would touch it. Either give me C# or give me C++, so I can use their unique strengths, don't merge them into some kind of abomination.

  • @SPeeSimon
    @SPeeSimon 4 หลายเดือนก่อน +6

    A huge risk for a developer using a distributed scm like git, is not pushing the code to the remote repository. I have seen many times that a collegue had finished a task, but his work was nowhere to be found. After asking, it was *oops, let me push my local changes*. Being a solo developer you don't get that feedback. So you must be diligent to make sure the code is pushed to the remote. Otherwise someone else is just looking at an old version. You may be thinking it is the correct version with everything in it, but it is not. I am guessing something like that is also in play. For sending your code to review for a new job, you must be extra sharp on this.

    • @paradoxicalcat7173
      @paradoxicalcat7173 3 หลายเดือนก่อน

      Git is its own set of problems. Screw that - I just copy the damn folder! I do that even now as Git is too much BS for a simple copy operation.

  • @davidpatry4195
    @davidpatry4195 3 หลายเดือนก่อน

    This is good critical feedback. True love is not about being nice. Well done Cherno.

  • @sephirapple7317
    @sephirapple7317 12 วันที่ผ่านมา

    @27:00 "this needs to be refined" that's a very polite way to put it...
    I was more thinking it's in need of being burned to the ground and rebuilt from scratch:
    😢😭💔😯
    🤔💭💡🔥
    💥💣💻💥
    🎉🤩👌🎉

  • @RajVenkatVijayakumar
    @RajVenkatVijayakumar 4 หลายเดือนก่อน +2

    This video explains why i have a windows virtual machine in a windows machine

  • @moamber1
    @moamber1 4 หลายเดือนก่อน +2

    Do not, ever, write any code for a "future employer".

  • @TheFreshMakerHD
    @TheFreshMakerHD 4 หลายเดือนก่อน +2

    Classic "but it works on my machine"

  • @edw0rd21
    @edw0rd21 4 หลายเดือนก่อน

    hey cherno, are you planning on making the algorithm videos that you talked about in your c++ series video?
    if yes, could you maybe make a comprehensive series like the c++ series about data structures and algorithms? as i feel like you did not dive deep into data structures as a whole (like graphs, trees, maps, etc), and there were no algorithm videos at all i think
    having a seperate data structures and algorithms series as comprehensive as your c++ series(best one online imo) would be immensly helpful!!

  • @ahmadashbat
    @ahmadashbat 4 หลายเดือนก่อน +2

    Hello Yan, Thank you for your videos!

  • @MrHaggyy
    @MrHaggyy 2 หลายเดือนก่อน

    I'm with you on the build system part. But for a first job they really should have agreed on a buildsystem and what tools to use. Like here is a VisualStudio Version/Project, here is the vendor code, make it work.
    Like it's not respectfull with the time of the interviewer to make the thing build, it's not respectfull to let applicants make an entire buildsystem. Especially if you don't expect them to setup new projects from time to time.