No One Hires Jr Devs So I Made A Game

Поділитися
Вставка
  • Опубліковано 21 лис 2024

КОМЕНТАРІ • 736

  • @JonnyJKF
    @JonnyJKF Місяць тому +1934

    "Nobody is hiring high school chemistry teachers any more so I made my own meth lab empire."

    • @gunt-her
      @gunt-her Місяць тому +28

      relatable

    • @fuzzy-02
      @fuzzy-02 Місяць тому +8

      @@JonnyJKF asmongold editor 'Jesus Christ!' sfx

    • @TheFoyer13
      @TheFoyer13 Місяць тому +1

      nailed it

    • @ptf42069
      @ptf42069 Місяць тому +8

      yo, Mr. White.

    • @THESJS
      @THESJS Місяць тому +1

      biach (lets pretend the a is t)

  • @mq5432
    @mq5432 Місяць тому +2084

    nobody hires sr. dev so I made a hello world app

    • @not_a_cool_handle
      @not_a_cool_handle Місяць тому +48

      I made a hello universe app

    • @do8456
      @do8456 Місяць тому +27

      Nobody hires jr web developers so I made a poorly done animation in AfterEffects
      Nobody hires jr game designers so I made a mediocre Twitter /Shopify clone

    • @sarevoker
      @sarevoker Місяць тому +2

      HAHAHAHA

    • @Reavenk
      @Reavenk Місяць тому

      @@not_a_cool_handle "I scaled up the app; see, 3 extra letters and a larger noun."
      I used to do R&D and had a pathological term called "hello-universitus" with how some tech-illiterate project managers fawn over junior projects that just reimplement simple tutorials with a few parameters changed. Which is a whatever thing in itself, until managers start shuffling around resources and ignore arguments about how it's not actually the next big thing, and then act surprised like nobody told them repeatedly point-blank when it blows up in their face a month later, and then repeat this pattern ad-nauseam like they're incapable of learning - especially since it's from a small army of managers that enable each other.

    • @chanhokim7750
      @chanhokim7750 Місяць тому +11

      Using rust

  • @Dylan_thebrand_slayer_Mulveiny
    @Dylan_thebrand_slayer_Mulveiny Місяць тому +735

    Interviewer: "That's all very nice. But you couldn't do a quick sort on the whiteboard so we're going with a different candidate. "

    • @stylishskater92
      @stylishskater92 Місяць тому +64

      Yes, but did you check the company? They are the number one manufacturer of quick sort in the country!

    • @SlavaThereshin
      @SlavaThereshin Місяць тому +21

      It's a great game and all, but the only quantifiable metric of SW.Eng. quality is quicksort implementation on this very whiteboard. This interview is over, thank you for your time.

    • @DavidWoodMusic
      @DavidWoodMusic 22 дні тому +1

      "I can, but I won't. Thank you for your time."

    • @S-we2gp
      @S-we2gp 18 днів тому +1

      @@SlavaThereshin 😂😂😂

    • @milanlabus1582
      @milanlabus1582 17 днів тому

      Thats nice but Jims uncle works at the company so we are going with him

  • @Mayday-cr7pr
    @Mayday-cr7pr Місяць тому +978

    Nobody hires nuclear engineers under 45 so I made a bomb.

    • @chrisstucker1813
      @chrisstucker1813 Місяць тому

      Nobody hires prostitutes anymore so I…actually, never mind.

    • @Demiuuu
      @Demiuuu Місяць тому +54

      This works, the recruiters will come to you(r house)

    • @kelvintakyi-bobi3155
      @kelvintakyi-bobi3155 Місяць тому +1

      ​@@Demiuuu😂😂😂

    • @XDarkGreyX
      @XDarkGreyX Місяць тому +7

      Forgotten craft in some countries

    • @surajgurav1303
      @surajgurav1303 Місяць тому +4

      Getting wrongly inspired is such Pakistan thing to do

  • @andyschannel687
    @andyschannel687 Місяць тому +529

    This sounds very familiar. I spent 6 months looking for a job after recently getting laid off. After about 60 rejections I decided to make a game. I started by trying to make a multiplayer RTS and spent about 3 months working on that and gave up after realizing it would take me too long to finish so I changed focus. I decided to focus on making smaller sized local/multiplayer games. I made 3 games in the last 3 months. Each game uses split-screen and supports up to 4 players.
    So now it's a year later I still don't have a job, but at least I made some games.

    • @m.o.o.n.c.a.k.e
      @m.o.o.n.c.a.k.e Місяць тому +26

      is this real? I feel like poop been looking for a junior web dev job since March 2024 I'm still without a job... maybe I will never get something or I guess I should really expect anything...so frustrating

    • @doleo_metal
      @doleo_metal Місяць тому +17

      ​@@m.o.o.n.c.a.k.e i think it's just bad timing with the job market. Demand will cycle up again

    • @andyschannel687
      @andyschannel687 Місяць тому +24

      @@m.o.o.n.c.a.k.e Yes, but my biggest problem is I'm a senior dev and most of my skills are out of date. So if you are a junior dev, I think you might have an advantage being that your skills are better fit to the market.

    • @andyschannel687
      @andyschannel687 Місяць тому +39

      I'm trying to learn React right now, and I hate it so much. Just give me vanillaJS and jquery and I'll work some magic for a website, but all these modern frameworks drive me crazy.

    • @kelvintakyi-bobi3155
      @kelvintakyi-bobi3155 Місяць тому

      ​@@andyschannel687try learning svelte instead

  • @fuzzy-02
    @fuzzy-02 Місяць тому +464

    Welp, time to make a todo app in Unreal Engine 5 with jiggle physics

    • @OldTomato44
      @OldTomato44 Місяць тому +12

      That's actually a great idea lol - it would be memorable for sure

    • @zakhoskins6404
      @zakhoskins6404 Місяць тому +21

      Sounds complicated. I can never remember anything once jiggle physics is involved.

    • @fuzzy-02
      @fuzzy-02 Місяць тому +5

      @@zakhoskins6404 what's complicated? What are we talking about?
      (xd)

    • @lukasz96
      @lukasz96 Місяць тому

      @@fuzzy-02 The "(xd)" made me cringe so hard, my f god. YIKES

    • @erincarson8998
      @erincarson8998 24 дні тому +1

      "Gel-o-Do"
      Make your tasks gel.

  • @deminc314
    @deminc314 Місяць тому +523

    "If you have a remotely competent interviewer..."
    Welp... We're screwed...

    • @omsrswt
      @omsrswt Місяць тому +24

      at this point i would celebrate with champagne if i got one interview

    • @do8456
      @do8456 Місяць тому +20

      @@omsrswt There are no competent interviewers, at best they can weed out most of the poor performers without inadvertently tossing talented people. There is almost zero chance they can identify top talent in an interview

    • @omsrswt
      @omsrswt Місяць тому +14

      @@do8456 i'm a decent coder but a better talker; i just want to talk to a human for once

    • @jonathan2847
      @jonathan2847 Місяць тому +11

      I'm pretty sure I've been rejected from jobs because I couldn't describe the Linux file system. Its stupid because people really just know what they work on, if you ask people about stuff they don't work on their obviously not going to know it. Why ask people about things not on their CV if they knew it it'd be on their CV. It's just replacing leetcode with trivia.

    • @burhanbudak6041
      @burhanbudak6041 Місяць тому

      Yeah, HR sucks and they have zero accountability when they fail to find good people, they look only at personality.

  • @mindasb
    @mindasb Місяць тому +122

    "but it does not mean our story ends here" is such a beautiful phrase. Props to HR who came up with it.

  • @darklajid
    @darklajid Місяць тому +37

    The amount of time that went into the video production and visuals _on top of the game_ is mind-blowing. Amazing find!

  • @AQDuck
    @AQDuck Місяць тому +95

    I made a website so interactive you could change basically every aspect of it. It even had a physics engine and was so modular I could add a new feature/mini-app in less time it takes to deploy the docker image.
    It was also my first ever web project.
    I couldn't get a job because I didn't have any prior work experience.

    • @jermaineholmes1233
      @jermaineholmes1233 Місяць тому +9

      Story of the market these days lol

    • @thewiirocks
      @thewiirocks Місяць тому +1

      I assume by your use of past tense you have since achieved employment?

    • @AQDuck
      @AQDuck Місяць тому +13

      @@thewiirocks Nope, started studying Java because the job gap was getting too big.
      *Edit in case Prime somehow sees this:* I didn't have a choice! It was that or working at a callcenter.

    • @muhammadzohan4436
      @muhammadzohan4436 Місяць тому +2

      @@AQDuck HERESY!

  • @tomcorwine3091
    @tomcorwine3091 Місяць тому +53

    My absolute favorite interview format (on either side of the table) is a review of a project the candidate made on their own. The candidate is usually at easy since they’re talking about something they’re familiar with, and the interviewer can judge code quality, decision making, tradeoff evaluation, library selection, etc. It also allows for great conversation.

    • @wmouse
      @wmouse Місяць тому +20

      It's much more realistic too. I could talk a long time about all sorts of topics that relate to actual project work at my job. I can discuss the pros and cons of an array of technical decisions in depth with my coworkers. What I cannot do is design a system in 15 minutes for something I've never ever thought about before while a bunch of judgemental strangers breathe down my neck.

    • @draketheduelist
      @draketheduelist 19 днів тому

      This would completely hose me over. My "pet project" is an app to calculate the nutrition facts of my homemade curry. It's a _console app._ I literally didn't need anything sexy or elaborate, and I hard-coded the nutrition facts into the code anyway. If I feel particularly lazy, I hard code the ingredient _amount._ I didn't make it to impress anyone. I made it to solve a problem.
      I don't have big sexy impressive-looking projects because I don't have big dreams anymore. And I don't have big dreams because I don't have hope.

    • @milanlabus1582
      @milanlabus1582 17 днів тому

      In reality: Please reverse this binary tree with pen and paper, you have 5 minutes

    • @wmouse
      @wmouse 17 днів тому

      @@milanlabus1582 Turn the paper upside down and hand it back.

  • @EdmondDantèsDE
    @EdmondDantèsDE Місяць тому +369

    I counted 8 rejections. Those are rookie numbers.

    • @Exilum
      @Exilum Місяць тому +47

      Most companies in the game industries staight up never email you when they reject you. Most of the time they only email you if you got an interview and then didn't pass. After resume screening they just don't care.

    • @macchiato_1881
      @macchiato_1881 Місяць тому +10

      ​@@Exilumhey, this sounds like 95% every company I sent an application to. Weird coincidence.

    • @EdmondDantèsDE
      @EdmondDantèsDE Місяць тому +19

      ​@@Exilum Was he applying to game dev companies? I just assumed he was a web dev.
      The languages he chose support that assumption.

    • @mango_water169
      @mango_water169 Місяць тому +1

      Should be enough to get the point

    • @cesarrodrigoramirezfranco5740
      @cesarrodrigoramirezfranco5740 Місяць тому +4

      Because only those 8 companies gave a response

  • @IloveGod-q4q
    @IloveGod-q4q Місяць тому +25

    Every employer when they see this, they will just swipe over it, thinking we not making games here.

  • @Vintagestep
    @Vintagestep Місяць тому +50

    I like how he introduced it, he introduced the features or mechanics of the game clearly, like bullet points. Later on, these will become the requirements of the program, solid start.
    If he doesn't have a job yet then I don't what wrong with this world, I'm only 10 minutes in and I can see he's quite competent, maybe he might lack strong personal and sales skills to take hirers to his turf, but otherwise, this guy would be a good asset for most companies.

    • @computernerd8157
      @computernerd8157 Місяць тому +18

      The only thing wrong with him is nobody hired him because he has no exprience this world is a joke.

    • @neon2633
      @neon2633 Місяць тому +5

      This is one of the things I’ve understood late as a self-taught. Programming is just identifying your problem and the data at hand then coming up with a solution. This is all done without even touching code.
      Data Oriented Design video really enlightened me on this.

    • @StefanHanrath
      @StefanHanrath Місяць тому +6

      It is mostly due to the kabuki theater on the hiring side, the hiring funnel in a bunch of orgs isn’t great. They cannot decide if they want generalists or specialists, or they throw out an enormously wide net for early funnel stages and bag more candidates early in the pipeline than they can ever screen by hand. Thus promising candidates like this can get their resume auto-rejected, because they wanted to have 10k candidates in the pipeline.

    • @Vintagestep
      @Vintagestep Місяць тому

      @@StefanHanrath Absolutely, I can see that happen, and since I guess they work like consulting companies they get paid even if projects suffer because or how they handle the hiring process, they're likely to use the number of applications "reviewed" to milk more money from their clients while offering very low value to the job market.

  • @vsueiro
    @vsueiro Місяць тому +8

    Loved the distinction between “Jr” being based on your *professional* experience - not based of how good you are. I’m halfway through the video and this man KNOWS HIS STUFF

  • @macchiato_1881
    @macchiato_1881 Місяць тому +294

    We live in a world where psychology degrees and business majors get more job security and job availability in tech company positions than the developers themselves. What a time to be alive.

    • @do8456
      @do8456 Місяць тому +8

      Some people know how to make money and run a business, some people know how to write code. Few can do both well.

    • @masterflitzer
      @masterflitzer Місяць тому +43

      ​@@do8456 it's not about running a business oneself, it's about getting a job at a business

    • @do8456
      @do8456 Місяць тому +11

      @@masterflitzer You can be the best Haskell or Cobalt programmer but if your skills are not in demand you have a hard time finding a job. The same applies to javascript, c++, or whatever else you do. Being good at running a business and making money, getting sales, that will always be valuable. Full stack wannabes are a dime a dozen.

    • @masterflitzer
      @masterflitzer Місяць тому +6

      @@do8456 yeah of course demand decides it, but imagine the demand is thete, but they just fire senior to hire mid level engineer to save money and also don't hire juniors because they're to inexperienced, that's what's happening in the entire industry, i experienced it first hand (multiple senior devs in my team disappearing)

    • @mustafaemin7389
      @mustafaemin7389 Місяць тому +1

      If the person is good in software development then companies will hire the person. Everything is about can you make money for the company

  • @neilhatly
    @neilhatly Місяць тому +30

    Bear in mind this dude created the presentation too.

  • @Allthingslearningg
    @Allthingslearningg Місяць тому +7

    That guy is not making a game for the first time, and thats pretty clear!!!! Internet is full of imposters!

  • @SimGunther
    @SimGunther Місяць тому +215

    nobody hires principal engineer so I made a OS

    • @TravisBerthelot
      @TravisBerthelot Місяць тому +3

      What OS did you make?

    • @VEAFY
      @VEAFY Місяць тому +29

      @@TravisBerthelottemple os

    • @TravisBerthelot
      @TravisBerthelot Місяць тому +7

      @@VEAFY May "Terry A. Davis" RIP.

    • @JonnyJKF
      @JonnyJKF Місяць тому +2

      @@TravisBerthelot Hannah Montana Temple

    • @MrMysticphantom
      @MrMysticphantom Місяць тому

      This... Hurts... Didn't do the OS yet ..but I feel like I now have to.......

  • @BrayanRuiz-m3w
    @BrayanRuiz-m3w Місяць тому +26

    Then they ask him to do a medium LC question and he doesn't pass it because he didn't have the time to study for making the game

  • @silverado_vila
    @silverado_vila Місяць тому +39

    Nowadays it's harder to get to the interviewer, you know, the person that understands what the job is about. Most people will fail at the ATS review, which is the non-human part of the process.
    Oh, and I hope you never have to do an interview with an interviewer who clearly doesn't want to be there. Had way to many of these in my life.

    • @macro776
      @macro776 Місяць тому

      Dont forget tho that the interviewers are meant to “act” like they don’t care to see how people work under pressure

  • @SBqwerty
    @SBqwerty Місяць тому +23

    Key up/down: animation on keydown, action on key-up. Depends on the nature of the application - if mistakes are punished, if speed is necessary, etc

    • @yjlom
      @yjlom Місяць тому +1

      action on keydown allows for hold-to-repeat keybinds
      action on keyup allows for using anything as a modifier

    • @funkdefied1
      @funkdefied1 Місяць тому +6

      My boss will click down on a link and linger for a good 2-3 seconds before releasing. It’s a form of gut-check, I think. He really depends on the “animation on key-down, action on key-up”

  • @krux02
    @krux02 Місяць тому +11

    Making a game isn't just hard, it is also quite easy to review the competence. Great value there.

  • @henrykkaufman1488
    @henrykkaufman1488 Місяць тому +48

    You act on press in action games and on release in strategy / turn based.
    Cool video. Can't believe this guy had problems with getting hired. He's 10x dev junior.

    • @snakefinn
      @snakefinn Місяць тому +14

      You can be a 100x developer but if you can't get in front of the interviewer or hiring manager there is no chance

    • @henrykkaufman1488
      @henrykkaufman1488 Місяць тому +5

      @@snakefinn I don't think this happens in my place. Is it because he tries to get to a place where they arent hiring or because of AI and automatic rejection because of experience requirements?

    • @Jonatron101
      @Jonatron101 Місяць тому +3

      This makes sense, moving off on release has saved my butt in XCOM soooo many times.

    • @henrykkaufman1488
      @henrykkaufman1488 Місяць тому +1

      @@Jonatron101 exactly, you wanna be sure of your choice in strategy games, and you dont want to press anything by mistake

    • @Muskar2
      @Muskar2 Місяць тому +1

      Act on press is superior in almost every way. The primary disadvantages I know of are:
      1. Misclicks cannot be avoided by superusers -> Solution: require additional confirmation action, or make the action readily undoable
      2. Misclicks are more expensive in poorly performing apps -> Solution: maintain a lean performance-aware codebase, which is hard if it's already bloated dependency bridging

  • @ENCRYPTaBIT
    @ENCRYPTaBIT Місяць тому +25

    Omg I just watched this and now you're covering it sick.
    On the note of getting hired: This is exactly how I got hired. After 8 months of endless rejections and studying and leetcode grinding, I didn't write a single line of code to get hired here. Instead my interviewer asked me to talk about my magnum opus at my last gig, which was breaking apart a monolith into microfrontends, stitching them together with module federation and using a shared library to manage state between all of them which was super cool to me because I had never even heard of module federation before they tasked me with research and implementation.

  • @YaroslavFedevych
    @YaroslavFedevych Місяць тому +205

    So these are expectations for a junior dev now? Right? Right?

    • @realharo
      @realharo Місяць тому +15

      I mean, sure? I didn't see any part here that a competent junior dev wouldn't be able to do.

    • @computernerd8157
      @computernerd8157 Місяць тому +14

      Keep in mind, if this guy is not trying to be a game dev, he will still have issue in a web dev role simply because its not a web project. I am not sure how game dev jobs will treat him. If they act the same then its even tougher. For example I made a game in Godot. If I apply to a company that uses Unity, I wonder if they will pass on me lol.

    • @Packeselt
      @Packeselt Місяць тому +22

      ​@computernerd8157
      I'd sure hire him over someone who didn't have a project though

    • @computernerd8157
      @computernerd8157 Місяць тому +1

      @@Packeselt I would as well, if I was in that position.

    • @OneDerscoreOneder
      @OneDerscoreOneder Місяць тому +61

      @@computernerd8157dude what are you talking about. If he can figure this out he could figure out anything in web dev.

  • @AL-kb3cb
    @AL-kb3cb Місяць тому +22

    If this guy didn't get hired, you won't.

  • @ErazerPT
    @ErazerPT Місяць тому +10

    The onPress and onRelease issue is pointless when devoid of context. If want your gun to fire on press, but you probably more comfy with your grenade starting on release. You probably don't care much if your motor starts on press or on release, but you CERTAINLY want your emergency stop button to work on press.

  • @Othilion
    @Othilion Місяць тому +15

    The debate about whether to act on button press ("down") or button release reminds me of my experiences playing RTS and MMO games.
    I recall using an add-on that triggered skills immediately on the key press (down event) rather than default release event.
    It felt more responsive and felt like a slight reaction-time advantage, which matters in competitive play.
    For any regular work situation? No way...

    • @MrXaxen
      @MrXaxen Місяць тому +3

      The conversation really depends on the context. What prime came up with, the whole mouse down cancel stuff is perfectly valid, i use it myself sometimes. It is actually a good and considerate way of doing mouse realated actions imo.
      But when i'm trying to strafe shoot in a fast paced competitive FPS game, that better not have a movement action on release, cause there will be blood.

    • @asdfqwerty14587
      @asdfqwerty14587 Місяць тому +1

      Mostly it comes down to "how important is it to do it quickly". In action games/FPS games and the like, doing it quickly is really important, so it should be on press. In a turn based strategy game.. doing it quickly isn't important at all, so it being on release to reduce the chance of misclicks is fine.

  • @WileeRunner42
    @WileeRunner42 Місяць тому +14

    A cool part of making the video, he is presenting his tech interview. He could put a link in his resume.

    • @silverado_vila
      @silverado_vila Місяць тому +18

      No one would watch it tho. Most jobs postings are automated, they ask for your portfolio and never look at it.
      it's a shame really

  • @Dolanor
    @Dolanor 22 дні тому

    This guy is so good not only on the tech side, but also on video communication/editing, making concepts approachable. What a guy!

  • @sunggwanchoi5729
    @sunggwanchoi5729 Місяць тому +12

    20 years ago: fizzbuzz
    2024: No One Hires Jr Devs So I Made A Game

  • @CalamityStarForce
    @CalamityStarForce Місяць тому +4

    My first big solo project was a multiplayer turn based strategy game, Nodrog's Fortress. It taught me so much despite being unsuccessful commercially so far. I wouldn't trade that experience for anything though. Just go build something that sparks your passion and I promise you will level up.

  • @mikocst
    @mikocst 14 днів тому

    I appreciate you analyzing this content. It made me realize that I should build something that's for real real that's intentional and solves a problem. I decided to jump into react since I'm a front-end developer and I'm making a component library.
    My thought process was to make website the users can view components, view the source code, and a breakdown of why the component was designed / animated the way it was. I also plan on having a page about the library and talking about the thoughts of designing and coding it from scratch.
    Thanks for inspiring me / highlighting this video. Love the analysis from you and the breakdown of kodestan going through their project. Super cool to watch through.

  • @Dr_Speedy
    @Dr_Speedy Місяць тому +19

    "Do something for real real" Yea this is the biggest thing I look for when hiring. If you've got real projects and can walk me through your logic on a couple of examples, you're in.

    • @viliml2763
      @viliml2763 Місяць тому +1

      What if I don't have any ideas for projects?

    • @Muskar2
      @Muskar2 Місяць тому

      @@viliml2763 There's such an abundance of valuable things to do.

    • @ciekawki6574
      @ciekawki6574 27 днів тому

      @@viliml2763 Make a game :)

    • @milanlabus1582
      @milanlabus1582 17 днів тому

      @@viliml2763 Copy someone elses project, its not illegal to copy design for a personal project

  • @guilhermewhite7274
    @guilhermewhite7274 Місяць тому +11

    i have been on computer science for 1 year looking for a internship role, i literally never got a interview, seriously been thinking on giving up on life, i just wanna learn in action

    • @klauseba
      @klauseba Місяць тому +1

      I gave up on web dev after 4 years of learning. My advide is go where there is a high demand and low competition like a Service Desk. Learning never stops so it doesn't really matter on the long run that these X years are really bad for certain jobs. Just like how there are 1000 men for 1 woman on dating apps, there's lots of applicants for 1 job. So go where there are less men to women ratio, like the nursing home :))

  • @rod6722
    @rod6722 Місяць тому +32

    No one hires junior devs, so I'm making a Game Boy emulator.

    • @stevez5134
      @stevez5134 Місяць тому +2

      I'm thinking to make an NES game with WiFi so the game state is synced up to a couple of bytes and runs like a normal game

  • @Jorrit_200
    @Jorrit_200 Місяць тому +4

    6:12 I implemented web sockets once. it was actually a very good experience for me, and surprisingly straight forward. Web sockets (and most of http) has very well written RFC's. I learned a lot from it. took me a day or so (although I only did the bare essentials, not completely in compliance with the rfc, though I might finish it for fun). I recommend everyone to give it a try.
    ps: this guy definitely made the right call by making a lib handle it for him. there was no reason to get his hands dirty with it for his focus.

  • @zander008
    @zander008 Місяць тому +1

    Man that multiple sine wave trick for the shake is beautiful! Love this video!

  • @shinjiku144
    @shinjiku144 Місяць тому +7

    8yrs experience but I may as well be junior dev since I never finished my degree. Its hard out here to find work guys.

  • @ashish_prajapati_tr
    @ashish_prajapati_tr Місяць тому +76

    Nobody hires a fresher. so I made my own startup.

    • @lastmanstanding5423
      @lastmanstanding5423 Місяць тому +7

      That's exactly what I'm working on right now.

    • @mmmnxjsoskzk
      @mmmnxjsoskzk Місяць тому +2

      same here

    • @notanomba4598
      @notanomba4598 Місяць тому +2

      for some reason I misread 'startup' as 'starship', i guess that could work too

    • @hermes6910
      @hermes6910 Місяць тому

      Who doesnt make a startup in 2024 ?

    • @IARRCSim
      @IARRCSim Місяць тому

      Startups aren't that impressive. If you turn a profit that you and some employees can live comfortably from, now that's special. Starting a profitable business that lasts more than a couple years would not make you a great software developer unless you were also actually making it as part of the business. Maybe that wouldn't bother you much at that point anyway because pivoting your career would already be working for you.

  • @niclash
    @niclash Місяць тому +31

    I hired a dude on the spot because he was passionate about writing a DHCP server from scratch. Passion and non-trivial challenge -> job

    • @coelhoigor
      @coelhoigor 27 днів тому +1

      I'm so inspired by what you said and I'm not even a developer (just a hobbyist).

    • @test-rj2vl
      @test-rj2vl 27 днів тому +2

      When I was looking for job after university, no body cared about my passion projects. And it's not about projects being bad - they simply didn't care - they literally said they only care about how many years of experience I have and that hobby projects are not same as real work. My hobby project was fully functional content management system with advanced stuff like group based permission management and self made template engine - quite a bit more than just todo app. And to remind you - this I did during university time - no one teached me these things. Most of university projects were doable with about 100 lines of code, some even less.

    • @niclash
      @niclash 26 днів тому +1

      @@test-rj2vl I think in reality, you were applying for jobs in companies where you didn't want to work anyway. If you truly love programming, the employer's culture becomes more important and you would turn down offers instead. It seems that you have overcome the initial hurdle, and I hope you are happy where you are.

    • @ando5563
      @ando5563 25 днів тому +3

      @@niclash i think thats very naive, the first programming job you get now days isn't the one you want, its the one you (maybe) get. even in my country where the demand for junior devs is relatively high compared to the US it took nearly 3 months from the start of my job search to getting a job and even then it literally paid less than I was making as a cashier. (took the job because earning potential is still waaaaaaaayyy higher later on and its what I want to do).
      anyway, it still took me 3 months to find a job that paid less than I already made when I had a fully functioning point of sale system that handled both in-person and online transactions and a fully functioning website that could handle the online sales.
      thankfully I have a better job like 14 months after the fact but the first hurdle is always the initial work experience required.

    • @bullshitdepartment
      @bullshitdepartment 20 днів тому

      @@niclash what is it with the whole "do what you love" thing specifically for programming? People don't work because they want to, they work to make money.

  • @BoredyTF2
    @BoredyTF2 Місяць тому +1

    The explanation at 34:36 is actually mind-blowingly helpful as I'm currently in the early stages of developing a game myself. I planned to implement an enemy that had motion kind of similar to a "Snatcher" or "Angry Trapper" from the jungle biome in Terraria, where its motion has a random wobbling component. This implementation, with multiple sinewaves of random frequencies summed together and then pinched with a tapering function, is perfect. I'll probably implement some kind of "Oscillation" class which can handle a variable number of dimensions, durations and max amplitudes. It could be reused not only for game entity motion, but camera shakes and even potentially UI elements as well.
    I did not expect to have this kind of revelation when I clicked on this video. Thanks lol

  • @ioplop2943
    @ioplop2943 Місяць тому

    Dude, the website about hexagonal grids helped me SOOO much, it's truly amazingly well comprehensive and well written

  • @mrchedda
    @mrchedda 25 днів тому +1

    No wonder I don’t have a job. I have 4 years experience in front end web application development but this is on another level.

  • @manofacertainrage856
    @manofacertainrage856 Місяць тому +27

    So he coded this and also has the presentation skills at 3:30 to make this look like polished training. I thought I was faking before, now I know for sure...

    • @voskresenie-
      @voskresenie- Місяць тому +12

      don't feel down, try doing something similar. I bet he didn't know how to do most of this stuff when he started building it, either. Even if you don't get something this polished, as long as you don't quit when you encounter the first difficulty, you'll figure it out. if the graphics seem too complicated you to figure out right now, start with an ascii game that completely redraws the screen on every change. then you can focus on just the game logic. separate the drawing logic from the game logic with an interface and then you can more easily swap it out if you later decide to use graphics. build the smallest amount that is necessary to get a running game as a starting point, then improve from there.

  • @vsueiro
    @vsueiro Місяць тому

    The clarity and quality of those visual explanations (like the random shake one) honestly feels like something from Sebastian Lague - amazing!

  • @Drakon0Blade
    @Drakon0Blade Місяць тому +2

    About the reconnect: theres an old RTS game from the turn of the century called Kohan: Immortal Sovereigns that has a beautiful lag and disconnect tolerance system; it'd be worth a look for a reverse engineer.
    The game will sit there an wait until everyone gets reconnected and synced up, couple friends and I played a match for three hours with three ai players and the game never dropped; we had a few pauses for the resync sure, but we were able to finish the entire three hour match.
    Cool system and an amazing strategy game that's complex but not complicated to play.

  • @pixelfingers
    @pixelfingers Місяць тому

    I really liked your point about doing the game logic separately to the presentation/animation, structuring the code that way (for a game like this anyway with commands and visual state updates to perform) would in theory make it easier to move that on to the server (or not.) Really liked that 👍

  • @freman
    @freman Місяць тому +32

    Hex grid is still a 2x2 grid, just rendered 50% off on every other row.
    on-press if there's no or neglegable cost, on-release if there's a cost (ie: changing tabs vs downloading a file or unlimited moves vs limited moves)

    • @freezingcicada6852
      @freezingcicada6852 Місяць тому +1

      I dont like Hex grid games; usually like the simplicity of 2x2 but for a tank game I think its makes sense
      Cause you can track 8 direction facing and have reduced/front, normal/side, increased/back damage. Or some of other game mechanics tied to that idea
      Also why you have to be the ackshually guy?

    • @freman
      @freman Місяць тому +3

      @@freezingcicada6852 he was musing on the subject, I added my musings...

    • @qwerty81808
      @qwerty81808 Місяць тому +2

      Except with (up to) 6 neighbors instead of 4

    • @k98killer
      @k98killer Місяць тому +8

      A hex grid properly implemented is actually a 3-axis grid system that can be modeled as the surface of a cube. Trying to do it with a staggered 2x2 will result in all sots of hacky math issues.

    • @rantallion-hr5xp
      @rantallion-hr5xp Місяць тому

      ​@@freezingcicada6852 what's 2x2?

  • @ksaw3212
    @ksaw3212 8 днів тому

    The fun thing about a hexagonal grid I figured out when I was working on one was that it's just a square grid in a trenchcoat. You just offset the squares slightly and behind the scenes it can work exactly the same way as a square grid would

    • @vast634
      @vast634 3 дні тому

      You also need to calculate the neighbors differently depending if you are on an even or odd row.

  • @InventorOfYouTube
    @InventorOfYouTube Місяць тому

    For display, hexes are just grids where every other line is offset by half. For connectivity, you can store hexes in a grid. There just happen to be "two" below and "two" above.

  • @kecskemetib
    @kecskemetib 25 днів тому +2

    0:49 This is actually a reference to a speech by John F. Kennedy about the mission to go to the Moon. The actual quote is "We choose to go to the Moon in this decade and do the other things, not because they are easy, but because they are hard".

  • @prozacgodretro
    @prozacgodretro Місяць тому +2

    This guy is great. Who's gonna tell him that he'll get a job, but never once exercise anything close to that level of intricacy... from the software side of dev -- stage 1: it feels like 90% is just make a form for a customer, make it look the way they want it, make it store data with an api... stage 2: update user interface to limit the range of a numerical type, make it so the form inputs can't contain some characters, make it calculate things more on the front end... reduce page reloads... etc...

  • @Ahmad-dd6fl
    @Ahmad-dd6fl Місяць тому +45

    if this guy a junior, what are we ?

    • @theDarthLord01
      @theDarthLord01 Місяць тому +6

      still in the womb

    • @IARRCSim
      @IARRCSim Місяць тому +9

      we are sperm cells.

    • @tanachuns
      @tanachuns Місяць тому +8

      No One Hires Jr Devs and Guy on the Internet make a Tank game from scratch so I apply McDonald job.

    • @LOUDMOUTHTYRONE
      @LOUDMOUTHTYRONE 26 днів тому

      I hadn't formed in my daddy's balls yet.

    • @milanlabus1582
      @milanlabus1582 17 днів тому

      he isn't a junior nobody will hire him he still isn't good enough to be a junior according to recruiters

  • @ruslansmirnov9006
    @ruslansmirnov9006 Місяць тому +2

    considering there are going to be much more layoffs of actually good developers in the upcoming years, we are gonna have so many great indie games soon - just like we had in late 80's - when game industry was done BY professionals and FOR professionals

  • @JesseGilbride
    @JesseGilbride Місяць тому +1

    Pertaining to the Carmack click timing thing:
    I think it's case-by-case, and you can assume a user interaction on many things, but there are always exceptions. I think the best ideology is that the user intended to to do the thing they did (just to set a basic axiom), so craft the UI around that. Sure, it takes more effort but it's smarter.

  • @boggo3848
    @boggo3848 Місяць тому

    If you store and update game state totally separately from render state you can do another neat thing (beyond the 'scrubbing'). You can run an entire replay of the game deterministically, which is the beginnings of implementing lockstep multiplayer and effectively testing it for desyncs. If you use deterministic physics or some kind of horrible hack to make floats cross-platform deterministic it all magically works.

  • @ghevisartor6005
    @ghevisartor6005 Місяць тому

    well videos like this makes me thankful for having found a job as self taught (i dont live in the Us) and without any degree. I was very lucky with people trusting me.

  • @paherbst524
    @paherbst524 Місяць тому +2

    re: act on press vs release, there is no hard rule. keyboards act on press, the web acts on release. It comes down to expectations, most mouse presses are on release, to differentiate between a short or long press.

  • @zac9933
    @zac9933 28 днів тому +2

    Chat: Why is a game a good idea?
    Prime: Because it's hard and a lot of work
    Chat: You make it sound easy

  • @ks_snuggles
    @ks_snuggles Місяць тому

    The real key is to do this level of care, but for your own actual "project" that is designed to make money. When one finally works, you are now employeed by yourself congratulations 👏🎉

  • @jordanjackson6151
    @jordanjackson6151 Місяць тому +1

    The past couple of days before seeing this, I've been designing some NES looking (or maybe Sega Master System looking....?) tank style game just for fun. Maybe more like TNK3 or Granada (Anyone remember those)? Been using Lua with a LOVE 2D framework. Everything here is light years ahead of what I'm currently able to do. So I'm glad to see this.

  • @glimpsee7941
    @glimpsee7941 Місяць тому +1

    16:52 My favourite solution is the alternate button cancels the action. IE I left click then right click, that cancels the left click so I can release both with no effect.

  • @briankarcher8338
    @briankarcher8338 Місяць тому +6

    Making a multiplayer game that runs smoothly on the client while having the server maintain state is tremendously difficult. The client side needs to be responsive in an FPS.
    It's generally done by having things like player movement being done on both the server and client. If there's a difference, defer to the server. It's really difficult to account for things like network lag and where the player should be at any point in time. If Player A presses fire, yet the communication to the sever takes 100 ms, what did he hit?
    A must is to totally remove jittering movement even when the client and server are off by a bit.
    The problem is difficult. Good interview question for somebody who has made this type of game though.
    Valve has a good writeup on it for Counterstrike.

  • @idslw3489
    @idslw3489 Місяць тому

    seeing videos like this makes me wanna drop everything I'm doing right now and start coding a project of this kind immediately

  • @ziggytheassassin5835
    @ziggytheassassin5835 Місяць тому +4

    "No ones crowning young Nobility, so i made an empire." ~ Napoleon

  • @Meteotrix
    @Meteotrix Місяць тому

    for the interact on down vs release, i think you might want to have ondown for most buttons, and onrelease for buttons that are harder to undo/get out of, like start game, quit app/game, delete, etc

  • @zayniacgames
    @zayniacgames 22 дні тому

    Subscribed for this video alone thanks for shoutout to gamedevs

  • @donaldslayer
    @donaldslayer Місяць тому +2

    I’m currently on a similar grind, minus the “applied to jobs at game studios” part. As much as it would be great to be part of a team, I have a very specific game I want to make, because I really want to play that game.

  • @adam7802
    @adam7802 Місяць тому +2

    Had a go at a game myself earlier this year. I recreated pokemon (mechanics not a whole game) essentially. Well sort of anyway, I didn't finish everything and I would probably want to start from scratch rather than try finish it in its current form, I made mistakes. But damn, I learned so much... Games are incredibly complex!

    • @jermaineholmes1233
      @jermaineholmes1233 Місяць тому +1

      I respect game programmers! They are wizards and gods. True masters of the craft!

  • @JayMartMedia
    @JayMartMedia Місяць тому

    Activate on down vs. release. I think activating when releasing while over the same element that was also pressed down on may be the best balance of allowing canceling the click, but not accidentally being clicked when dragging the grid.

  • @reaktorleak89
    @reaktorleak89 Місяць тому

    Bravo! I started making MotorCubs RC (early access on Steam) for the same reason. I got told I needed a shipped game to even be considered for a role, a very chicken and egg problem.

  • @Grandalf3004
    @Grandalf3004 Місяць тому +2

    17:47 no, if you fire it on release then you can set it up to make sure the user hasnt dragged their mouse away from the button. this allows them to cancel the action if they accidentally misclick but hold the mouse down, and drag it away. firing immediately is unnecessary. i expect the page to wait while i hold it. thats how its been for years, and it has no bad side effects changing it because you think its more responsive will just piss users off

  • @notBradYourself
    @notBradYourself 10 днів тому

    This is how I got into the industry too, worked like a charm

  • @danahantoiu3808
    @danahantoiu3808 Місяць тому +4

    most of the companies just post jobs for their investors to see that they still have a demand on developers or other roles

  • @StewartW12
    @StewartW12 2 дні тому

    The Hexagonal Grids web page from Red Blob Games is so comprehensive. I don't think I've seen any programming videos where hexagonal grids are used that don't mention it at least once.

  • @MonsterJuiced
    @MonsterJuiced Місяць тому +1

    Yea I see this guy is seriously skilled and passionate. He really knows what he's doing. I think atleast starbucks MIGHT hire him because he'll be able to get the POS system working again so they don't have to call out an engineer.

  • @khzzzzzzzz
    @khzzzzzzzz Місяць тому +27

    Fellas the bar is getting raised

    • @hamm8934
      @hamm8934 Місяць тому +12

      its been raised. this is why people are stacking up at the bottom. people will blame AI, interest rates, mass layoffs, etc.. but it really just seems like the skill floor is much higher than people expected or relative to that of other fields which require pre-requisites like a BS, masters, or PhD. if the position is open to anyone who has a computer and puts the time in to learn, then the floor will naturally rise to high, high levels.

    • @Tudorgeable
      @Tudorgeable Місяць тому

      @@hamm8934 and you'd be a dummy to believe it's for the benefit of the employee to keep raising the bar. Of course it's a good idea to put the time in to learn, but not for free... It's only in the interest of corporations to extract as much as possible from as little payed employees as possible. There's been an artificial influx of newcomers and now they're pinching pennies while reporting record profits... it's an old tale, a cycle that repeats everytime the rich want to get even richer, it's up to the have nots to realize they're being duped and to stop giving in their money and time for free.
      Nothing is free, or nothing appears free for too long.
      Productivity in objective terms does not exist in white collar cognitive jobs, it's a made up concept.

    • @hamm8934
      @hamm8934 Місяць тому +3

      @@Tudorgeable and i'm not stating nor insinuating that it is to the benefit of the employee to raise the bar? i'm describing what has happened.
      when you have a field which does not require degrees, certs, etc., and is based solely on how much time a person with a computer can put in, the bar is going to raise high. even geography is no longer a part of the equation since remote work has taken hold. as such, you now have an industry that forces applicants to work non-stop, since a certification wont secure their position like say an MD will secure a physician, and allows anyone to apply to any position, as opposed to only competing locally, say for a plumper job.
      these are the facts and they're not changing. its going to be like this from here on out unless either (1) degrees matter again to secure your value or (2) remote work goes away.
      sidenote, productivity in white collar jobs 100% exists, it's just harder to measure with a metric.
      it just seems like your venting your frustrations on me for things i didn't say.

    • @musicplaylist6909
      @musicplaylist6909 Місяць тому +1

      ​ @hamm8934 Nah the bar hasnt been raised. You're living in delusion. The person that made the video is not even a junior and you fell for it, that github account is his alt account and he made the youtube channel just to showcase the repository so jokes on you. Funny how you would mention that it is a "fact" that the skill requirements are raised whilst providing absolutely no statistics to support it, then proceed to mention that this is due to the accessibility of programming as a profession, which is pseudo reasoning at best. Where im from, I can tell you from official job listings accross three major listing websites, ALL the jobs for software engineerring roles required an undergraduate degree in computer science or a related engineering discipline, it is FAR from accessible to anyone with "just a computer", let alone a person who isnt even in the country.

    • @musicplaylist6909
      @musicplaylist6909 Місяць тому +1

      "even geography is no longer a part of the equation since remote work has taken hold." False statement number 1. Remote positions are very dependent on company, and many companies will not tolerate a fully remote worker nowadays, hybrid is alot more common, but around the bay area, work from home has decreased a substantial amount.
      "these are the facts and they're not changing. its going to be like this from here on out unless either (1) degrees matter again to secure your value" False statement number 2. Degrees still matter...ALOT for medium to big tech companies, good luck getting past resume screening without having a degree on the resume, unless you have connections that can hold the door open for you to not need to get a degree, then entering the tech industry good luck trying.
      " if the position is open to anyone who has a computer and puts the time in to learn, then the floor will naturally rise to high, high levels." Once again, very very detatched from reality. The fact that you think juniors are expected alot from tells me you might not even be competing in the same market, do some due dilligence and ask juniors nowadays what their entry projects look like, I assure you it is nothing as impressive as what was shown in this video.

  • @xtieburn
    @xtieburn Місяць тому +11

    Triggering on down is essential in many games (Particularly FPS) because people are working at the limits of their reflexes and you need the game to be highly responsive.
    Thats not quite so critical if you are just selecting an action in an application or even a turn based strategy or some such. Then you have to weigh it up against backing out of a miss-click.
    I.e. Id argue its context specific.

  • @zdkama
    @zdkama Місяць тому

    I taught myself programming by building a photo hosting website for a buddy. When I started applying for jobs, I could show them a working website that actually did a thing, that people used. I had _so much_ I could talk about. Demonstrated skills > everything else.

  • @madonobel
    @madonobel Місяць тому +1

    Business + AI raised the bar making seniors devs working both senior + junior, Business needs restructuring

  • @megadeth_9611
    @megadeth_9611 28 днів тому

    This is surely a junior dev bro 😭. And if he is, he definitely has been coding for a pretty long time, with the way he is able to just write stuff. I started coding last year around June, and man i am struggling. I literally scour through your repos and whatever i find on github to learn to how to write like this eventually or build stuff with ass code lmao, and this guy being able to do stuff like this as a junior is really fascinating. Also, really motivating too and gives me hope that i'll be a great engineer too someday 😭 if i keep trying and learning.

  • @Tsukasaelk10
    @Tsukasaelk10 22 дні тому

    Using sine, cosine and tangent for design was super cool the first time I saw it too :P been using fun math like that for about a year for UI element design/fx :)

  • @harshgupta7262
    @harshgupta7262 Місяць тому +3

    My slow ass have been trying to implement a 2d camera following the player and finally after 2 weeks I gave up 😍

    • @Slashx92
      @Slashx92 Місяць тому +1

      Lmaooo me and collision detection. Theres one single fcking bug on it that I cannot for the love of god fix. I'm learning godot now lmao

    • @harshgupta7262
      @harshgupta7262 Місяць тому

      @@Slashx92 Lol, good luck to you. I have been learning the basics in vanilla js for quite some time and right now I can’t decide whether I should get started with Unity or godot.

  • @Zizaco
    @Zizaco Місяць тому +2

    29:19 "How much duplicated logic do you want". That's what I am saying... TS on the server ftw

  • @ianshay2664
    @ianshay2664 8 днів тому

    Just stumbled on this channel. No clue what's going on, too dumb to be here, but I'm digging the vibes.

  • @bonekazz-8441
    @bonekazz-8441 Місяць тому +1

    game dev: "dude, look that algorithm I made for this unique mechanic"
    web dev: "dude look that CRUD"

  • @lavka123
    @lavka123 Місяць тому +6

    If a junior developer comes to interview with this project, he will be hired because, at that point, he is a medior developer, and they derisk themselves.

    • @hermes6910
      @hermes6910 Місяць тому +6

      The hard part is to get the interview, not to pass it.

    • @Ruonim
      @Ruonim Місяць тому

      And that game maker wont even get to interview becouse will be auto trashed in mail becouse not fit via hr key.

  • @zmudilago
    @zmudilago Місяць тому

    I'm gonna be real, I have worked as a developer for 5 years since I graduated and I have done it most of the time just to pay the bills. I have not done any programming for fun for many years, and tbh I have been really sick of it a lot of the time. But since I started following you and I saw the interview with DHH I have gotten a revival in my love of programming and now I have projects I want to do in my free time and I'm looking forward to work. Thank you!

  • @jasonkirby43
    @jasonkirby43 Місяць тому

    This guy is amazing! One of the best vids.

  • @ArielLothlorien
    @ArielLothlorien 10 днів тому

    You can do astar by flipping it and using a single map of distances to the player from the points and that way you don't have to recalculate any particular point

  • @i-use-vim-btw
    @i-use-vim-btw Місяць тому

    I did a 2D isometric game before I became a proffesional dev too!
    This brought back some memories haha!

  • @nullbeyondo
    @nullbeyondo Місяць тому

    This feels inspired by Civilization (Not the game, but the mechanics and style of play) and I like it honestly

  • @LearnValkey
    @LearnValkey Місяць тому

    Eventually he will find a job bc he is passionate. If you are passionate you outwork masses. Always.

  • @economicist2011
    @economicist2011 Місяць тому

    Most of these videos are fun, but this one is just sounds like end-to-end solid advice.

  • @grmn3564
    @grmn3564 Місяць тому +1

    well, there goes all the motivation I had left to keep pushing

  • @MikkoRantalainen
    @MikkoRantalainen Місяць тому +1

    37:00 Handling network failures is really hard but it's not optional if you want any real world users. Especially mobile users trying to use your app in a moving vehicle are going to see all kinds of errors, disconnects and timeouts.
    Other platforms but iOS are less unstable but none can ever be perfect because TCP can only hide problems so much even if the OS were co-operating with your app. Some mobile networks might even change the client IP address every now and then!

  • @Exilum
    @Exilum Місяць тому +2

    28:12 Not exactly but pretty close. You want to think about the server the entire time, yes, but not necessarily server first. What matters is your architecture. You need to identify what might need to be shared, what stays on the client, what stays on the server, what is in both but not synced, etc. Converting a single player game to multiplayer is insanely hard because no one thought about responsabilities and state. If you remember the entire way through that this is a multiplayer game, nothing stops you from making your first prototype single player and doing the server later. What matters is that when it comes to networking, your state is already ready to be networked, and your gameplay logic isn't tangled up.

  • @leoingson
    @leoingson Місяць тому

    Very good video, instant fan of both of you!