Scams In Software Engineering

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

КОМЕНТАРІ • 1,7 тис.

  • @RenanGreca
    @RenanGreca 7 місяців тому +4628

    Now that Prime quit his job to focus on making videos, I'll have to quit my job to focus on watching Prime

    • @ij9375
      @ij9375 7 місяців тому +66

      😂 Greatest comment of the year

    • @janhorak5363
      @janhorak5363 7 місяців тому +18

      based

    • @ncpeaksean4278
      @ncpeaksean4278 7 місяців тому +13

      Prime is the goat of Internet

    • @bugzpodder
      @bugzpodder 7 місяців тому +14

      did he really quit his job?

    • @soundrightmusic
      @soundrightmusic 7 місяців тому +2

      Makes sense

  • @octavioavila6548
    @octavioavila6548 5 місяців тому +525

    A lot of great tech entrepreneurs dropped out of Harvard, MIT, Stanford, etc. However, they also got accepted into Hardvard, MIT, Stanford, etc.

    • @tyrabjurman3584
      @tyrabjurman3584 4 місяці тому +62

      Getting accepted is just a matter of being born to the correct parents.

    • @BrainInAVat7
      @BrainInAVat7 4 місяці тому

      @@tyrabjurman3584At Harvard, yes, MIT, no

    • @LPFan33
      @LPFan33 4 місяці тому

      @@tyrabjurman3584 oy vey you posted an antisemitic comment!

    • @EpicGamer-ny1fu
      @EpicGamer-ny1fu 4 місяці тому +20

      It's easy to get accepted into Harvard if your parents are super wealthy.. or you have a good memory.. but neither of those things make for a good developer

    • @uberboat4512
      @uberboat4512 3 місяці тому

      ​@@tyrabjurman3584No. It's definitely more than just rich parents. I had very poor parents and made it to a t5 on full financial aid. Most people at my uni are extremely rich AND very talented AND hardworking (for the most part). It's alot of factors but I would agree that a large part is your life circumstances and luck.

  • @sandiprai1383
    @sandiprai1383 7 місяців тому +2592

    Prime turns 4 min video into 31 min long. This is almost 10x developer and streamer 😅

    • @xpmon
      @xpmon 7 місяців тому +77

      He is a 6x developer

    • @mrmadhan8557
      @mrmadhan8557 7 місяців тому +49

      ÷10 developer

    • @plaintext7288
      @plaintext7288 7 місяців тому

      ​@@mrmadhan8557faang level 🔥🔥🔥

    • @Kane0123
      @Kane0123 7 місяців тому +10

      Take a few more off since he loves agile. Confirmed in this video.

    • @web_alchemist_
      @web_alchemist_ 7 місяців тому

      Average autist activities

  • @QuintonDolan
    @QuintonDolan 7 місяців тому +344

    My experience from doing a CS degree decades ago, core subjects aside, even if you know more than the lecturers about some things, it fills in a lot of holes in your knowledge you don’t know about. Being self taught is great but you don’t know what you don’t know.

    • @JBatesProductions
      @JBatesProductions 7 місяців тому +51

      Yeah comp sci and eng degrees are what people rail on when they don’t know what’s taught in those degrees. You don’t learn how to code in a degree, you learn fundamental building blocks and how to think about how to engineer projects. How to find efficient ways to solve problems, how to simulate and model, how to create project scope, how to identify key problems and hinge points in which your project could fail. Learning python for instance is a side effect or a subset of how to solve a problem, ie a means to an end. You can learn that shit on your own anyway. Hard to learn how to model a digital low pass filter so you can tackle it with code much easier; though.

    • @vulpixelful
      @vulpixelful 7 місяців тому +11

      Yep this was my experience working as a self-taught, developer and earning my CS degree while working. I was more effective pretty much immediately.

    • @MrSlowestD16
      @MrSlowestD16 6 місяців тому +9

      I've worked with one (1) engineer who was self taught and good. Rest of the self taught people I've ran into in industry were interviewees who couldn't tell their head from their asses. I eventually stopped accepting resumes if they didn't have SOMETHING on there in terms of education outside of high school. At big companies these are generally filtered out.

    • @JasonEspin
      @JasonEspin 6 місяців тому +9

      Too many people without CS degrees entering the industry doing React and not knowing base JavaScript or Computer Science principles.

    • @AZEMBadlen
      @AZEMBadlen 6 місяців тому +4

      Reason why i didn't get into cs is because most of cs resources are on internet. Microelectronics is gate keeped as hard as it could so I choose that, I can always go and learn ASTs and stuff, but I can't learn how to grow GaN ingot.

  • @TheDoubleBee
    @TheDoubleBee 7 місяців тому +866

    "Pull request the size of Epst*in's list" - that's a killer line right there

    • @y00t00b3r
      @y00t00b3r 7 місяців тому +42

      Epst*in's list didn't write itself.

    • @yegorzakharov8514
      @yegorzakharov8514 7 місяців тому

      ​@@y00t00b3rnot to worry, nowadays most code is written by GPTs anyway 😂

    • @jearsh
      @jearsh 7 місяців тому +5

      it's a banger of a line...but it's also rookie logic.
      people think that if you have a large app, and you break it into smaller parts, that you end up with the same size app but a million more pieces. maybe if all your code is procedural.

    • @portalteam5832
      @portalteam5832 7 місяців тому +5

      the "aint nobody reviewing that" that you left out was the best part of it

    • @blarghblargh
      @blarghblargh 7 місяців тому +5

      ​​@@jearsh if you're not writing procedural, you are doing yourself a disservice.
      Learn OO. Learn FP. Use procedural. Thank me later

  • @me-low-key
    @me-low-key 7 місяців тому +411

    prime calling frontend glue engineering and moments later getting hit by the same line for backend had me dying 😂

    • @mrmcpherson2722
      @mrmcpherson2722 7 місяців тому +9

      Hilarious!! 😂

    • @jasqui1512
      @jasqui1512 7 місяців тому +23

      and lets be honest its the same for both depending on the context

    • @davidchavarriamendez9091
      @davidchavarriamendez9091 3 місяці тому +6

      We all are glue engineers. Even people who make new libraries use a set of libraries to create.

    • @hanvyj2
      @hanvyj2 2 місяці тому

      Even the car analogy - you think engineers at BMW or whatever when they start making a new car go design an engine from scratch? Nah. It's all bolting together shit that's already been designed too.

  • @dezly-macauley
    @dezly-macauley 7 місяців тому +717

    I was told if I learned Rust, Linux, and Neovim... I would have a moustache like Prime.
    It's been 6 months. STILL no moustache! #SCAMMED🤦🏿‍♂

    • @Excalibaard
      @Excalibaard 7 місяців тому +192

      You need a split keyboard to create space for the moustache to grow

    • @pyaehtetaung
      @pyaehtetaung 7 місяців тому +4

      😂

    • @adam7802
      @adam7802 7 місяців тому +19

      Using the wrong flavour of linux is your problem. Where is your gentoo build?

    • @dezly-macauley
      @dezly-macauley 7 місяців тому

      @@adam7802 I chose Arch because it's like Gentoo but you get to keep your sanity

    • @dezly-macauley
      @dezly-macauley 7 місяців тому +27

      @@Excalibaard Arch Linux alone was supposed to turn me into a neckbeard. All I got is a chinstrap. 😔 Scam!!

  • @williamrgrant
    @williamrgrant 7 місяців тому +345

    Clean Code was helpful, even instrumental, in my early years of SWE.
    I propose a rule to maintain society's sanity:
    *if you haven't read the book, be skeptical of hot-takes about the book*
    I have read (and re-read) Clean Code, so to follow my own rule, I'll just speak to that one.
    It is extremely simplistic to reduce the entire concept to a simple rule of "4 to 6 lines".
    I just flipped through the section on functions, and I couldn't actually find the "4-6 lines" rule anywhere.
    He does say they should be small as possible, but the main focus is on things like:
    - functions should do one thing
    - one level of abstraction per function
    - use descriptive names
    - limit the number of arguments as much as possible
    - limit unintuitive side effects
    These concepts are generally agreed on, with some nuance at the edges.
    It is sad how often "the baby is thrown out with the bath water" due to this telephone-game of influencers riffing off of lame takes that are super reduced versions of good ideas - to the point of not resembling the original.

    • @LoganS91
      @LoganS91 7 місяців тому +33

      Clean Code is great. I read it often. It was the book that I read when I decided to make programming not only a job, but my art.

    • @SufianBabri
      @SufianBabri 7 місяців тому

      Best response to Prime's lame rants about the clean code.
      I'd rather read a call to a function called "checkCourseAvailability" than a complex-looking AND statement inside a "enrollStudentInCourse".
      Since we're reading code more than we are writing, avoiding these seemingly small issues has a huge impact when developers are strangled with deadlines which are neither reasonable nor proposed by the development team.

    • @rojastegulu
      @rojastegulu 7 місяців тому +15

      thank god, I just bought the book and was so turned off by the video LOL

    • @arkie87
      @arkie87 7 місяців тому +22

      I think the main lesson is that any coding concept can be taken to the extreme. Dont blindly follow coding concepts. Only implement the rules if they make things better.

    • @SpeedfreakUK
      @SpeedfreakUK 7 місяців тому +3

      How does he define “one thing”?

  • @ObtecularPk
    @ObtecularPk 7 місяців тому +566

    Candidate: yeh so this is how you build an engine..
    Interviewer: but can you build an engine in reverse order?

    • @Kane0123
      @Kane0123 7 місяців тому +74

      Can you build an engine in such an order that you can drive it a little faster after each milestone?

    • @boratsagdiyev522
      @boratsagdiyev522 7 місяців тому +9

      ​@@Kane0123hold my beer

    • @Vysair
      @Vysair 7 місяців тому +32

      "How about I interview instead, are you qualified to interview me?"

    • @CatwaiiYT
      @CatwaiiYT 7 місяців тому +8

      ​@@Vysairgenius right there

    • @JAODc-fo9gf
      @JAODc-fo9gf 3 місяці тому +4

      @@Vysair you smashed both his moral and the chances of getting the job

  • @SerTony16
    @SerTony16 7 місяців тому +39

    I learned programming like a slow burn, and being able to combine knowledge of so many different technology concepts now is extremely valuable. Knowing Linux, networking, virtualization, security, scripting, THEN programming feels so much better.

    • @Donald-f5w
      @Donald-f5w 5 місяців тому

      Im on the same path, currently focused on malware since its related to all of them, got good feelings about it

  •  7 місяців тому +277

    The easiest way to have a consensus is to make everybody angry.

    • @brianviktor8212
      @brianviktor8212 7 місяців тому +9

      The problem is that there are too many people who prefer a safe route, or simply do not understand. I am working on a space combat/exploration game, and I have a certain vision for it. A LOT of parts have to harmonize for it to work. One friend suggested I scale it down to encompass maybe 10-30 solar systems, which I then populate well with content. This is not my vision. My vision is to have near infinite galaxies with billions of solar systems. To bring out the best of procedural generation I can, to avoid barren wastelands of boringness. I already know the problems, and they are well fixable.
      But players cannot simply move anywhere they want - FTL movement has its limits, which is resources and progression. To reach another galaxy, progression has to be very advanced - meaning you better have a capital ship. And once it is done, players could create galaxy crossing warp-gates.
      Anyway, the point is that I cannot let my vision be compromised by people who either do not understand it or dislike it. I have no choice but to be the decision maker. Any form of Democracy would bring death to my vision. As of now, it has a chance to achieve greatness or total failure... and the safe way leading to mediocrity is likely closer to failure than success.

    • @tisaconundrum
      @tisaconundrum 7 місяців тому +10

      @@brianviktor8212 I agree to a certain extent with what you're saying, but the biggest problem with it is that you're going to lead yourself into burnout. The thing about compromise is that it gives you the ability to dictate and give parts of your project over to someone else while you can focus on the more important aspects. And I do think that your friend making a suggestion about going with 10 to 30 solar systems is a much better approach than trying to encompass such a broad stroke on something that you haven't even realized yet. What I think I mean to say is that if you've created an app and the app has zero users and you're trying to build the app to be scalable while still having zero users, what use is it to have an app that is scalable with still zero users?

    • @karmatraining
      @karmatraining 7 місяців тому +2

      I'm only seeing facts

    • @ultimaxkom8728
      @ultimaxkom8728 7 місяців тому +4

      @@brianviktor8212 Why do you need near infinite galaxies with billions of solar systems? What is the goal here design-wise?

    • @brianviktor8212
      @brianviktor8212 7 місяців тому

      @@ultimaxkom8728 The idea is to create a near-infinite world. Think of Minecraft - even though the world is big, almost everybody resides within the x,y,z coordinates below 2000. What is important is that you can decide to move anywhere, and there will be something. Sometimes it will be something excelling, which may cause players/guilds (and NPCs) to fight for it.
      The additional galaxies serve as additional end-game content. It also extends this concept beyond the first galaxy. All except the main one will be special - more dangerous enemies, better/different resources, visual/structural differences. The algorithm will create something interesting.
      I already have the algorithms to create the main galaxy, so why not just reuse them?

  • @redman_plus
    @redman_plus 7 місяців тому +48

    I recently had an idea to have a coding interview structured like so:
    1) Your company has a little dummy project in a currently used stack (maybe multiple projects so the interviewer can choose which one to use in the interview)
    2) In each of a dummy projects you have some amount of small tickets, like ones you evaluate around 1 or 2 in the sprint planning
    3) When the interview starts, the interviewer gives the person the project, lets him onboard for some amount of time (e.g 15 minutes) and then gives the person one of the tasks.
    4) The goal of the interview is to not watch how well a given person studied his binary tree conversion, or how well he knows the nitty-gritty of given technologies, but how he actually WORKS and SOLVES the given task, which is what a technical interview should be doing in a first place.
    If anybody encountered a similar interview structure or (for some miracle) has it in their own company, please let me know, it would be interesting get some feedback on the idea

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

      Won't work. 30 mins too little time to learn a realistic size codebase.

    • @Alex-rt3po
      @Alex-rt3po Місяць тому +1

      So interviewee does free labor?

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

      It’s basically how I got hired. We do a project that is take home, build a small web app that does like 2-3 things using whatever tooling you want. Then we did a code review. It was all very realistic tasks and self paced, no leetcode at all. Just questions about knowledge related to the stack we would be using, general software dev knowledge questions. Still here almost 5 years later.

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

      ​@@cushmfgdamn now i want to in too

  • @blocSonic
    @blocSonic 7 місяців тому +68

    Context is everything. Hard/fast rules are usually based in some truth but fail to live up to hype because each project and each feature has its own context which will steer experienced engineers somewhere in between the "rule" and some opposite of that rule. However, rules are useful to learn when starting out. You can better "break" the rules once you've had some experience following them.

    • @retagainez
      @retagainez 7 місяців тому

      I always thought it was contradictory that he rants against basic ideas like trunk-based development, CI / CD, clean code, and pair programming for a guy who preaches that the beginning struggle is an important phase when learning a new topic (which he himself admits that the struggle might be more commonly avoided when you rely on LLMs). I suppose one might overlook this contradiction if you only take his videos with a grain of salt and a pound of entertainment.

    • @pflakon
      @pflakon 7 місяців тому +2

      this. it is like traffic laws. as a beginner, you have to learn and obey all. as you gain experience, you make adjustments, learn which ones you can take a bit more flexible or ignore in certain situations

  • @BadRobotXIII
    @BadRobotXIII 4 місяці тому +44

    Being a car guy who's built cars and a software dev, the term we use for glued together is "Bolt Ons". Anyone can bolt things together but not understanding the impact of what you are bolting nets you poor results.

    • @Mordecrox
      @Mordecrox 6 днів тому

      Reminds me of network certs enabling you to multiply your workforce by teaching a few basic guidelines based on the taught science.
      So field workers mostly know, cut this, untwist that, crimp like this, with no clear figure for how things are done this way.
      Then you plug the power meter, and graphs alone draw the figure, strangled cables, pairs too untwisted, you get the idea.
      Very few care to know why that actually matters (and the few who do, time is short) and think you're being a pedantic diva about your cables and got nothing better to do to inspect zip ties.

  • @KRIGBERT
    @KRIGBERT 7 місяців тому +55

    Most universities in Norway have a mandatory class called Examen Philosophicum where you get an introduction to philosophy - as well as one called Examen Facultatum that introduces you to the scholarly tradition of your faculty, they're half a semester each. They sound like a good alternative to what Prime had to take :p

  • @dmytrooleinichenko9865
    @dmytrooleinichenko9865 7 місяців тому +11

    I see a lot of blames around clean code... from the people who never read it. They possibly heard some concepts like "function should do one thing" or "function should be less then x lines of code" and take it to the absolute without any context which book provides.

  • @laughingvampire7555
    @laughingvampire7555 7 місяців тому +207

    SCRUM has never been agile, is just recursive waterfall. Agile is about prioritizing people over process, and SCRUM is about prioritizing process over people. You should read the manifest and check how many of the statements do fit SCRUM.

    • @y00t00b3r
      @y00t00b3r 7 місяців тому +22

      Valuable comment, thanks.
      I am not a fan of either, and I will likely never utter the word "agile" when advocating for anything. I've never liked it, but maybe it had become tainted by the carnival barkers from the very beginning decades ago.
      But "prioritizing people over process" is a phrase I will keep in my quiver. It's great as an ethic, all on it's own.

    • @thewhitefalcon8539
      @thewhitefalcon8539 7 місяців тому +4

      But then also it's sometimes supposed to just be a starting point to build your own process but also nobody treats it like that

    • @kristianlavigne8270
      @kristianlavigne8270 7 місяців тому +41

      SCRUM is mostly just micro management. Deliver as much as quickly as possible with no consideration of technical debt 😂

    • @defeqel6537
      @defeqel6537 7 місяців тому +13

      Scrum is also just a process framework, that should be customized for the team, but it's been turned into law, probably because Scrum Master go through training nowadays, but don't actually learn to be flexible, just to "follow the process"; very "middle-managemently"

    • @therealsunnyk
      @therealsunnyk 7 місяців тому +17

      I don't think any of you understand what Scrum actually is. Scrum is a negotiation we lost before we started. A manifesto is nice and all but you can't write software through a manifesto. You need a process, and developers created one, and it involved stakeholders who were not developers, and the stakeholders immediately carved up their piece of the pie and then some, and we the devs were idiotic and took every single compromise. After being cucked by every other discipline we go back and blame the only bit of organising we as a field have actually done in this domain.

  • @OrphicPolytheist
    @OrphicPolytheist 6 місяців тому +11

    I found that clean code helped me work with larger code bases such as those found in video games. It greatly reduced the time required to find which part of the code to look at to fix a bug, and managing the entire project. As a solo game developer I couldn't possibly manage the entire game by myself without it.

  • @ANONAAAAAAAAA
    @ANONAAAAAAAAA 7 місяців тому +136

    I personally value the experience of writing C compiler 100x more than random boot camps or software engineering degrees.

    • @pelayovalero1312
      @pelayovalero1312 7 місяців тому +36

      My software engineering degree made me write a C compiler, and that was one of the best projects I ever did there. I don't know if it's common for other students in other degrees.

    • @cit0110
      @cit0110 7 місяців тому +12

      @@pelayovalero1312i think compiler courses should be required in CS. I'm in my senior year it it's changing me.. this late. i wish i dove in earlier but honestly idk if i could do it without the structure and guidance of my TA and professor.

    • @meltygear5955
      @meltygear5955 7 місяців тому +5

      "btw here's my boot dot dev link" - prime

    • @thesaintseiya
      @thesaintseiya 7 місяців тому +11

      ​@@pelayovalero1312 I'm so jealous when I read people learned to do shit like this. I don't even know what was the point of my course besides learning about some obscure outdated tech that won't help me irl at all. was this a bachelors btw?

    • @blarghblargh
      @blarghblargh 7 місяців тому +1

      ​@@cit0110I didn't go to zee college, but I was under the impression the better programs made people pick implementing a bare metal OS or building a compiler

  • @headcode
    @headcode 7 місяців тому +14

    13:10 - One alternative to leet code could be showing an actual code commit and asking the dev to do a code review on it. Include intentional but subtle mistakes to see what the candidate picks up on, and have him back up his comments by explaining why he'd leave that comment or why he'd let something go. Ask why he missed something, if he did.
    To me, having them do a PR live gives way more insight into a developer's mind than having them solve a leetcode problem which rarely ever reflects a real-world scenario. There are a ton of devs who could solve leetcode problems all day but couldn't do simple things like the proverbial "center a div."

  • @ElvenSpellmaker
    @ElvenSpellmaker 7 місяців тому +182

    In the UK university is basically _just_ the subject you applied for. I was shocked when I heard American Universities do tons of side subjects that are not related to the main degree.
    Also while it's not needed to have a CS degree I can nearly _always_ tell when someone does and they're usually better / more well rounded.

    • @foreigngodx6
      @foreigngodx6 7 місяців тому +21

      UK bachelors is 3 years right? The extra 1 year in US is basically general subjects not related to degree.

    • @ElvenSpellmaker
      @ElvenSpellmaker 7 місяців тому

      @@foreigngodx6 Yeah it's 3 years

    • @sir_no_name1478
      @sir_no_name1478 7 місяців тому +8

      Same in Germany.
      I found some subjects even here a bit off from what I want to learn and did not understand right away what he wanted to tell us.
      At first I thought he was talking about some kind of pre university degree.

    • @daredemoikari
      @daredemoikari 7 місяців тому +21

      in the US you get the "extra subjects" in the uni/college, because they don't do it in the high school like in most of Europe.

    • @-Jason-L
      @-Jason-L 7 місяців тому +15

      ​@daredemoikari ??? History? Foreign language? Umm, yes - we do have it in HS

  • @POLlyy23
    @POLlyy23 7 місяців тому +51

    Listening to UA-cam programmingfluencers is about as helpful towards becoming a programmer as listening to UA-cam fitnessfluencers is about becoming fitter.

    • @sadiqshaikh8715
      @sadiqshaikh8715 4 місяці тому +1

      fr, but what do you think is the best way to learn programming?

    • @patrikkarlsson9523
      @patrikkarlsson9523 4 місяці тому +8

      Lifting is the best way to get stronger. Probably the same goes for programming.
      But what do I know, I'm not especially strong or smart.

    • @patrikkarlsson9523
      @patrikkarlsson9523 4 місяці тому

      ​@@sadiqshaikh8715 i just felt like every day some new fittnessfluenser says a new method of training, eating, sleeping. Is the fastest and best way to get fit only to turn on it when the trend dies. Same seems to go for programming in my opinion.

    • @em00k
      @em00k 3 місяці тому +2

      You’re not listening to learn how to code but discuss the topic of coding. It’s theory for the practical.

    • @patrikkarlsson9523
      @patrikkarlsson9523 3 місяці тому

      ​@@em00kHow many of us have spent hours watching fitness channels for similar reasons and are still unfit?

  • @haskellelephant
    @haskellelephant 7 місяців тому +78

    The agile manifesto was created at a meeting of "lightweight method leaders". One of these so called "light" methods was extreme programming. I feel like a lot of the current agile process schemes like SAFe just cannot be characterized as "lightweight" just by the amount of text required to describe it.

    • @chauchau0825
      @chauchau0825 7 місяців тому +22

      one of the regrets by the people who cocreated Agile Manifesto is that they didn't trademark the term. At a result, everyone is able to abuse the term to scam people

    • @lyndog
      @lyndog 7 місяців тому +2

      You mean we shouldn't hire a new Agile Coach to change up all our processes every 3 years?

    • @NoX-512
      @NoX-512 7 місяців тому +1

      @@chauchau0825More like, SCRUM people, amirite?

    • @defeqel6537
      @defeqel6537 7 місяців тому +5

      SAFe is an atrocity; should be declared a human rights violation

    • @Veretax
      @Veretax 7 місяців тому +3

      What is Scrum is kind of a red herring because it is simultaneously a Schrodinger's Paradox of agile it on the surface may sound agile until you go to implement it and then observe it and then when you observe it you realize how it is it both is and is not agile at the same time

  • @cariyaputta
    @cariyaputta 7 місяців тому +55

    "Money made including time being laid off average out to be equal working at McDonald" so true lol

    • @vulpixelful
      @vulpixelful 7 місяців тому +6

      This is really not true. Most software engineers are paid so that they could actually save regularly for layoffs, get decent severance packages for being laid off, and have a skill where they can be confident that they'll eventually get a high-paying job when they find another job. Most people who get laid off outside of our industry can't say the same.

    • @MrSlowestD16
      @MrSlowestD16 6 місяців тому +3

      @@vulpixelful If you're getting laid off a lot, IDK what to say. It ISN'T that common. The fact that the video creator and this guy are saying it's happening all the time is a really interesting claim. Most engineers I know have been laid off MAYBE once....? I've never been laid off. And most others I know haven't ever been. It isn't common at all.
      But yes, you should be able to save, it is DEFINITELY not minimum wage income, I have nice cars & a solid amount of money & equity, people saying they get laid off all the time is absolutely nuts and I think it speaks more to the types of jobs people are taking than anything else.

    • @vulpixelful
      @vulpixelful 6 місяців тому

      @@MrSlowestD16 Who says I get laid off a lot? All I said was an engineer's salary allows them to save _on a regular basis_ (monthly, biweekly, whatever) so they would be more prepared for a layoff

    • @MrSlowestD16
      @MrSlowestD16 6 місяців тому +1

      @@vulpixelful I meant "you" in a general context. I agree with what you're saying, I'm just adding onto that that the creator AND prime AND the OP all agreed with the notion of getting laid off a lot, and in my experience they're pretty rare, so if one finds themselves getting laid off a lot IMO they should look inward, not at the industry.

  • @deenaxic9134
    @deenaxic9134 5 місяців тому +56

    Saying Computer Science degrees is a scam, is so funny. Computers are more than just writing a javascript file.

    • @maxmustermann5590
      @maxmustermann5590 4 місяці тому +22

      This sentiment comes from the american educational system. People go hundrets of thousands in debt to get a confirmation of skill, thats unreliable at best. I don't think many people think getting university education and sound fundamentals at university is something bad at all. Haven't heard this sentiment here in germany, because it's free and actually about education and not about paying off a 'diploma and getting to know rich folk' fee.

    • @djunidvanmourik7134
      @djunidvanmourik7134 4 місяці тому +9

      Yes you're right. But american education is very flawed. I live in the Netherlands and with our bachelors you immediately go into the subject matter of your major

    • @kylekinnear8878
      @kylekinnear8878 3 місяці тому +4

      I used to feel like I was a little scammed doing CS, but now Im thinking the industry is generally underqualified and need less reliance on magic.

    • @valentinrafael9201
      @valentinrafael9201 3 місяці тому +3

      It’s the US lens. JavaScript will get you a job quick, while going in debt will get you homeless quickly.

    • @QuangPham-gh5un
      @QuangPham-gh5un Місяць тому

      What they actually meant is some College degree from certain institutions is a scam. My College program actually taught us a lot on business analyst, requirements, market research and project management, it's actually more like a business degree with some programming sprinkled on.

  • @jayjeckel
    @jayjeckel 7 місяців тому +3

    My cousin wanted to skip going to state college, instead starting his own business, and he tried that "Zuckerburg dropped out of Harvard" bit on his mom. She told him, fine, you can forget college and start your business as soon as you've also dropped out of Harvard. I laughed so hard.

  • @JimmayVV
    @JimmayVV 7 місяців тому +19

    We've had the debate about take-home tests vs whiteboards and if the take-home is designed to be done within 2 hours or less, how is that meaningfully different than asking someone to take an entire day off from work to do a whiteboard in front of their faces? A 2 hour take-home to then open yourself up for a more meaningful collaborative conversation about how to iterate on it from there I think is a perfect way to introduce a candidate to a team without adding the pressure of someone watching you reason about a problem in real time.

    • @binayakthakur5122
      @binayakthakur5122 7 місяців тому +3

      For leetcode you literally have to prepare for months , no matter how busy you are they don't care if your college is over and you don't have bunch of free time with you ... While take home you can give literally 10 min each and get done with it

    • @Salantor
      @Salantor 7 місяців тому +5

      Companies out there will ask people with families and full-time job to provide a portfolio links and yet we are still talking about whether or not spending a few hours on a task is too much or not.

    • @dmitrygronsky2832
      @dmitrygronsky2832 7 місяців тому +1

      Most of my "2-hour-take-homes, no reasons to worry brother" turned out to be 10+ h assignments

    • @dmitrygronsky2832
      @dmitrygronsky2832 7 місяців тому

      And that's the way it should be, takeaway assignments trade psychological onsite pressure for offline complexity, you just cannot give an offline leetcode-like problem

    • @felixmoore6781
      @felixmoore6781 7 місяців тому +1

      I can't decipher your run-ons, so not really sure what you're saying, but you can easily cheat on 2-hour take-home challenges by not having a life and spending 20 hours on solving one.

  • @SidewaysCytlan
    @SidewaysCytlan 7 місяців тому +11

    My favourite interview method: I tell the candidate "Bring a personal project that you've made yourself and that you're proud of. It doesn't matter what it is, it doesn't matter what language or what technologies you used. Bring something that you've made and that you're proud of, and we'll discuss your code." I don't care if they can or can't invert a binary tree on a whiteboard. Show me your code! It tells me far more about the candidate than any brain teaser question ever could (and why I insist on being a part of the interviewing process; I have yet to see HR hiring a good candidate on their own. They always hire the person with the flashiest resume, which is always a terrible candidate.)
    What if the candidate brings a project that isn't their own? Then they'll have a difficult time answering high-level questions about planning, workflows, problems, design decisions and further improvements. If I ask "Tell me about a problem you had when making this, and how you solved it", and they reply "I didn't have any problems", then that's a red flag.

    • @MrSlowestD16
      @MrSlowestD16 6 місяців тому

      "I have yet to see HR hiring a good candidate on their own."
      - I have yet to see HR hiring ANYBODY on their own. What are you talking about? I've never heard of that - ever - hiring managers are always involved in the process, wtf....
      There's tons of problems with bringing your own project.
      Best way to interview people is to ask them questions about what they'll be working on. Present them with real problems that you or a co-worker have run into, and discuss it with them, have them write some code to solve it, or do part of it, etc. Whether they can invert a binary tree is useless, true, but discussing a project they've worked on is only appropriate for a manager interview, it's not appropriate for proper technical interviews.

  • @laughingvampire7555
    @laughingvampire7555 7 місяців тому +68

    Agile as it was defined originally by the people who signed the manifesto is 100% great, the gigantic problem is that managers co-opted the term to mean everything pointy haired bosses were doing in waterfall.

    • @krumbergify
      @krumbergify 7 місяців тому +4

      Yes! Some of them even hesitate to continue using the term “Agile” because it has been so misshandled.

    • @thewhitefalcon8539
      @thewhitefalcon8539 7 місяців тому +8

      No this happens with everything. It always sounds great and then you try to transfer it into the real world and it's less great. Always.

    • @dv_xl
      @dv_xl 7 місяців тому +4

      ​@@thewhitefalcon8539I think by definition aglie is supposed to adjust to the real world by adjusting to the team using it.

    • @thewhitefalcon8539
      @thewhitefalcon8539 7 місяців тому +4

      @@dv_xl which conveniently means the original manifesto can never be blamed for anything

    • @thewhitefalcon8539
      @thewhitefalcon8539 7 місяців тому

      ​@@dv_xl everything is supposed to adjust to the real world too. I've never heard of something that wasn't.

  • @loganmedia1142
    @loganmedia1142 6 місяців тому +2

    Those methodologies that encouraged toxic open plan environments have a lot to answer for. In the old days we seldom had our own offices, but we at least had a semi-private area in which we each worked. Now there are no barriers and you sit so close together that you're almost on each other's laps.

  • @ivanjermakov
    @ivanjermakov 7 місяців тому +5

    20:50 What I love about Neovim is that personal setup and plugin development is literally the same thing. You can decouple your config and make it a plugin and in reverse. It's especially powerful when you can peek how plugins did the thing you try to configure.

  • @MementoMoriMementoVivere881
    @MementoMoriMementoVivere881 6 місяців тому +5

    The amount of combined sarcasm, inside dev jokes and twitch humor truly drained my brain power. But I loved it.

  • @ivanjermakov
    @ivanjermakov 7 місяців тому +14

    12:40 Interview alternative to leetcode is: few language knowledge questions (e.g. Java collections hierarchy) + system design (e.g. go through your thoughts on designing delivery app ) + code reviewing (give some project's PR and see what interviewee focuses on).

    • @Kane0123
      @Kane0123 7 місяців тому +4

      Code review… that’s an interesting idea.

    • @drakey6617
      @drakey6617 7 місяців тому +7

      Refactoring task is also a good one. Or giving the interviewee absolutely horrendous code and letting them explain it to you

    • @SkaiDragon
      @SkaiDragon 6 місяців тому +1

      I agree, even take-home projects are better than leetcode. Why? It usually takes 6 months of practice to get good enough to be able to get a job. This means that you have to spend at least 1 hour each day for 6 months vs doing a 10h project.
      It is much better to ask relevant questions about programming languages/technologies and reviewing a PR is a good way to filter out coding monkeys who memorize leetcode problems.

  • @MorningNapalm
    @MorningNapalm 7 місяців тому +4

    Agile is a great 5-sentence idea turned into several books. The reality of agile turns agile into the thing that agile wanted to fix.

  • @Altrue
    @Altrue 7 місяців тому +39

    I feel like we are being scammed by Prime here. "I have mixed feelings about leet code" => No, for the longest time you were fully FOR this "secret handshake that will get you employed".

    • @SandraWantsCoke
      @SandraWantsCoke 7 місяців тому +12

      He always said he did not like it, but it's the way it is and if you want a job, then you need to do it. The necessary evil he sometimes called it.

    • @SlyElliot
      @SlyElliot 7 місяців тому +2

      @@SandraWantsCokebro has a clip where he writes a quick sort just to flex on chat

    • @DanDelarge
      @DanDelarge 7 місяців тому +1

      Making a quick sort is a flex?

    • @SlyElliot
      @SlyElliot 7 місяців тому

      @@DanDelarge strawman

  • @stormbread5096
    @stormbread5096 3 місяці тому +2

    7:43 I completely agree!! At my university, I had to take many writing classes where I didn’t learn anything about computer science yet we didn’t have a web development course. They require us to take classes unrelated to computer science and math, yet they force us to learn web development on our own.

  • @oscarhagman8247
    @oscarhagman8247 7 місяців тому +7

    we actually have tradeschool for software development in my country, that's the path I took. 2 years of hands on development, it was great

  • @Ne0_Vect0r
    @Ne0_Vect0r 21 день тому +1

    When you gave that shout-out to LSD while studying you just gained my loyalty my friend

  • @mattymattffs
    @mattymattffs 7 місяців тому +7

    Trade schools for programming exist... We hire from them a lot. It's usually a technical college, but it doesn't go low level. It's surface level, but it's good

  • @RafaMakowski-lg7jn
    @RafaMakowski-lg7jn 7 місяців тому +4

    Maybe I misunderstood Prime, but I don't think that LoB means that you put all code into single few-hundred lines long method like Prime seems to understand it. You still divide code into smaller methods for readability but put them in the same file so that everything needed is local to the core method. Extracting and giving a name to a meaningful portion of a long method eases reading and understanding a lot.

  • @Readraid_
    @Readraid_ 7 місяців тому +19

    4 minute video into 32 minutes reaction is a certified prime aging moment

  • @Trezker
    @Trezker 7 місяців тому +3

    Frontend? I remember s and table layouts. And we couldn't convince customers that "the web is not made to look they way you want, the tools don't exist, we have to cobble this together with sticks and ducttape". Or use flash...

  • @steamer2k319
    @steamer2k319 7 місяців тому +39

    I have a phrase for the opposite of "locality of behavior". When you have to jump back and forth to try and understand what's going on, it's because "everything is defined somewhere else".
    The best reason to break some statements into their own function is because the same functionality is needed from multiple call sites. If you're just doing it for stylistic purposes, and not to avoid repeating yourself, yer probably doing it wrong.
    Use early returns / guard conditions to avoid deep nesting and then just let it be a couple hundred lines if that's what's needed.

    • @-Jason-L
      @-Jason-L 7 місяців тому +12

      Seperate intent from implementation details. Nothing is worse than wading through a few hundred lines of code to reverse engineer the devs intent.

    • @lyndog
      @lyndog 7 місяців тому +3

      100% this. That does mean some methods end up being a handful of lines long but the benefit is that the larger function is easy to read and understand. It's just pushing things down levels of abstraction so it's easier to reason about what is happening at that point in the code. It's analogous to saying "I drove to work", rather than describing in excruciating detail your whole journey to work. Sure you can get carried away with it, but it's just a case of using your better judgement and being pragmatic rather than dogmatic.

    • @steamer2k319
      @steamer2k319 7 місяців тому

      @@-Jason-L
      Use long, descriptive function names or doc-comments or commit notes for intent. If the dev couldn't communicate via that or variable names or test logic then functions for their own sake isn't going to help either.
      I usually care a lot more about what the code actually does than what the dev was hoping it would do, though. If the non-technical stake-holders (the ones who don't read code) can't tell you what the software is supposed to do, that's a much bigger problem than any code style issues.

    • @-Jason-L
      @-Jason-L 7 місяців тому +2

      @steamer2k319 that doesn't explain the actual logic. You have to reverse engineer the "algorithm" from the code - after 30 years in the profession, that is what i consider bad code.

    • @steamer2k319
      @steamer2k319 7 місяців тому

      @@andyk2181
      Yeah. I've learned, especially when debugging/troubleshooting, not to trust a function to do what it says in the tin. However, if the definition is inlined, a lot of the time you can see the bug just by a quick reading of the code in e.g., the GitLab web UI without even having to fetch a local clone.

  • @TheGingrBeardMan
    @TheGingrBeardMan 6 місяців тому +1

    I had many interviews with candidates over the phone or video chat where it's obvious they browsing Google, SO or using AI to answer the questions. But my favorite interview, is one candidate who actually had the confidence, or maybe ignorance, to tell me "hold on, let me google that real quick." That was a short interview but I'll never forget it.

  • @yaminnather521
    @yaminnather521 7 місяців тому +37

    Tbh I feel people just think its cool to dunk on the books on Clean Architectures and SOLID(I read through only these two books). If you use the patterns to solve the problems when you need the benefits of it, it'll make more sense than following it word for word for word all the time every time and then complain that you have to type more or whatever.
    Yeah functions being only 4 lines is a dumb take lol, buttt there's still some good advice in them.

    • @TehKarmalizer
      @TehKarmalizer 7 місяців тому +7

      I would take 4 line functions over 4k line functions.

    • @climatechangedoesntbargain9140
      @climatechangedoesntbargain9140 7 місяців тому +6

      Small functions aren't that bad as well IF the functions are at the same abstraction level such that you don't have to switch to the individual function to understand one function

    • @defeqel6537
      @defeqel6537 7 місяців тому +3

      It's another case where you need to actually know and understand the principles so you know when to apply them and when not to

    • @Salantor
      @Salantor 7 місяців тому +2

      The industry overhyped both books and way too many people were parroting them without deeper understanding or asking themselves if using them is the right thing to do, so now we are one the opposing end of the pendulum swing.

    • @Rob43955
      @Rob43955 7 місяців тому +8

      I don’t know why people focus on that the lines of code guideline the more important advice was functions should do one thing. It’s like a single sentence some disagree with and then they dismiss the whole book wtf.
      To be honest I find this anti-clean code and SOLID trend bizarre, why the hell would you throw away the best practise lessons learned with basically no justification.

  • @HeraldoS2
    @HeraldoS2 7 місяців тому +3

    😅 Good to know I am not the only one calling for locality of behavior... One of the first open source project that I have read, lit. has 3 functions per file each always calling functions on different file all across +60 files and it is just an endless 🍝.

  • @ercntreras
    @ercntreras 7 місяців тому +14

    Agree 100% with you about DSA, kids never understand that 'cause they don't know how valuable it is but one day or another they will be in need to learn it if they want to grow and make the next step

  • @ceigey-au
    @ceigey-au 7 місяців тому +3

    In Australia we don't do the "year of general education" that US universities do - though there is plenty of space for that in your electives generally, so you have some freedom to learn interesting things that aren't 100% relevant to your major or minor.
    That said, I think the international study market is particularly interesting, because post-graduate degrees (like masters) are very popular, largely because they're a little more concise, but also because they open up international job opportunities too.
    I do agree with the sentiment that trade/tech schools might be a good fit for IT (and I think that education should still come with the same level of respect, employability and count towards migration for foreign workers). But that's something for society as a whole to sort out eventually.

  • @kuhluhOG
    @kuhluhOG 7 місяців тому +14

    9:03 As a non-American, it's interesting to see what you do at college.
    In Germany we get e.g. our CS degrees at university or at Fachhochschulen (some translators say you can translate that as "technical college"). But we only do stuff for our degree there except if we voluntarily decide to do something else additionally.
    What Prime is talking about here is something we would do at the schools before that, e.g. the Gymnasium (one the schools you can go to after elementary school until 12th or 13th grade (we don't reset the counter)).
    13:40 I like apprenticeships, also for programmer (notice, not Computer Scientists). But it's not a 6 month thing or something along these lines, it's a standardized multi-year apprenticeship (in case of programmers it's 3 years; yes, the same system exists for all kinds of jobs) where companies and job schools work together (with you working for some time at a company and studying for some time at school) which you do when you are fresh out of school (normally). You also get a certificate afterwards (so you can apply at different companies) and normally also get hired by the company you made your apprenticeship at. And you don't do some specific technology in that time, but more generalized.

    • @Alex-lu4po
      @Alex-lu4po 7 місяців тому +1

      I wanted to comment that as well

    • @natescode
      @natescode 7 місяців тому +1

      American, that's what I did. 2 year technically college ONLY programming classes. No debt either. That was 10 years ago now

  • @tobix4374
    @tobix4374 6 місяців тому +2

    The 4-6 lines of code per function could be a remnant of old NASA coding guidelines for space-/aircrafts. They suggested that a function should be printable on a A4 sheet of paper with some specific fontsize.

  • @Seven-ez5ux
    @Seven-ez5ux 7 місяців тому +108

    Software Engineering is the biggest scam

  • @williamrgrant
    @williamrgrant 7 місяців тому +3

    Whenever something goes from 'idea' to 'massive industry around training and certifying people to *correctly* implement that idea'.
    You're screwed.

  • @dlbike76
    @dlbike76 7 місяців тому +18

    The VIM discussion is reminiscent of the old VIM vs EMACS wars

  • @disguysn
    @disguysn 7 місяців тому +4

    I've actually talked to Uncle Bob at a Ruby conference years ago. I believe he got the 4-6 line number from working in Ruby on Rails. Usually those functions are very short and Ruby devs would get bent out of shape if you wrote longer controller functions.

    • @vulpixelful
      @vulpixelful 7 місяців тому +2

      And we probably got that from Erlang

    • @disguysn
      @disguysn 7 місяців тому +1

      @@vulpixelful yeah it's likely the Ruby community got it from somewhere else.

  • @eXit-ubermensch
    @eXit-ubermensch 7 місяців тому +9

    Clean Code was an amazing book that helped me tremendously

  • @chrisorg170
    @chrisorg170 6 місяців тому +2

    I’m technically a “scrum master” but the key is to trim all of the corporate bullshit part of the methodology, fight for your teams development time & meet on blockers and design. Or you may as well make the mantra of Agile (always changing and never deliver)

  • @fabianmuhlberger6153
    @fabianmuhlberger6153 7 місяців тому +12

    I always understood CC as more of a guideline than a strict rule. And it's the cause for its controversy. It is generally solid advice but put to the extreme and making it a strict rule just hinders progress. And when organization is everything, there is a huge overhead on being creative and productive. I saw 1000 line 4 deep nested switch cases in production code from a big company, and we can agree that this is just garbage. It's all about finding the balance, and never about just following one advice. Read, learn and improve, but don't get stuck on advice. Best

  • @ccgamedes33
    @ccgamedes33 7 місяців тому +1

    The problem with unqualified (or the requirement to achieve) "locality of behavior" is "reference [un]transparency". That is the unsolicited state changes or "the pulling of the rung from underneath".

  • @khatdubell
    @khatdubell 7 місяців тому +12

    LoB is the polar opposite of clean code.
    You're wrong.
    They go together like a horse and carriage.

  • @markgraybill737
    @markgraybill737 4 місяці тому +1

    Uncle Bob's work has got me to think, but by the time he published it I had a couple of decades of learning the hard way. Pragmatics usually rules and hard rules drool.

  • @georgehelyar
    @georgehelyar 7 місяців тому +10

    Prime: The middle ground is where the worst ideas are from
    Also Prime: we should have something in the middle of bootcamps and degrees.
    Those unspecialised years at the start of US college do seem like a waste of time though. Most places don't do that.

  • @piptarou
    @piptarou 7 місяців тому +2

    Where I live (east coast Canada) community colleges are a bit different than the states and are considered trade schools. I'm just finishing my first year in programming and it's a two year course. I don't know anything about ABET accreditation, but it is a well-recognized college with locations all over the province.
    We cover pretty much everything you listed; Git has been required for handing in projects (started the second semester), we've learned both Windows and Linux, we've briefly delved into cloud computing, etc etc.. It's nice to get actual tangible skills.
    Edited to add: In order to actually graduate from the 2 year program you have to have a 5-week work term as well. Forcing you to go out and make connections in the industry and getting some minor industry experience.

  • @mmmhorsesteaks
    @mmmhorsesteaks 7 місяців тому +6

    Just write good code. Doesn't have to be complicated.

  • @garloin
    @garloin 3 місяці тому

    Thanks Primeagen, here a guy from Bilbao. This is more fun than watching Netflix by the way. Thank you very much!!

  • @Youtubeaccount-jw9eu
    @Youtubeaccount-jw9eu 7 місяців тому +10

    There's a trade school called 42 you might like to look into. It starts of with a 1 month boot camp, but the boot camp is just a selection process before you can truly join the school. The core curriculum lasts from 1 to 2 years and you can then stay longer to learn about more specific subjects

    • @Youtubeaccount-jw9eu
      @Youtubeaccount-jw9eu 7 місяців тому

      The school has no teachers and forces the students to learn by building projects and communicating with other students

    • @johnsitarski4158
      @johnsitarski4158 7 місяців тому +1

      I have a friend who is in it now, and another friend who has gone in to help mentor the people there. I can see the progression in my friend and would say it's much more fast paced than a university CS degree.
      I'm more worried about them trying to find a job after especially I live in the city where 42 runs and know the job market pretty well now, unless they have connections to some small to med level companies it will still be hard to land your first gig without a classical university degree.

    • @ruysg
      @ruysg 7 місяців тому +2

      I did their "pool" or selection process. Wouldn't recommend it for anybody. Their teaching style is based on fear and leaving the students with vague and imprecise requirements, and then rejecting your assignments because you used stuff that's "not allowed". Then you ask them what's allowed, and they say that you should figure it out yourself. It was not an emotionally healthy experience. I still fail to see how throwing a bunch of beginners with no orientation into coding, give them no theoretical or partial guidance and then not let them use printf is some how a good teaching methods

    • @Youtubeaccount-jw9eu
      @Youtubeaccount-jw9eu 7 місяців тому

      I'm sorry it felt that way to you. The "pool" is complicated and the students from the years before are not allowed to help you during it as it would be unfair if you were helped and other candidates were not.
      As for using disallowed functions like printf, I think the goal is to make most students start off at a similar point since people that try to prepare for the "pool" will have learned about printf and not about syscalls like write. (The goal being to not give too much of an edge to people that have the time to prepare, for example if you have children you would not be able to prepare as much)
      It's also about learning about abstraction level since you start your education using C with only syscalls and then proceed to use higher level functions once you have a better understanding of the basics.
      I have do disagree with you when you say it is not indicated what functions you are allowed to use as they are clearly indicated in each exercises.
      The goal of throwing the students at problems without any ressources apart from a few videos is to see how good they are at finding information with nothing more than the internet and they fellow students. This is a skill that is necessary if you ever want to be able to create a project without the help of a tutorial or a mentor
      (English is not my first language, I hope this wasn't too hard to read)

    • @Youtubeaccount-jw9eu
      @Youtubeaccount-jw9eu 7 місяців тому

      ​@johnsitarski4158
      To my knowledge all 42 schools are free for the students and sponsored by companies that invest money in the school to make students want to work for them, the sponsors may be a good start for your friend to look for a job if one of them works on projects that interest them

  • @cajunguy6502
    @cajunguy6502 7 місяців тому +1

    I was looking at a local junior college with my son, they had all kinds of great tech centric majors. The networking degree has Net+ and CCNA built into the program. The certs are worth more than the Associates degree that they come with! This is a good sweet spot, I think. Learn a vital skill without completing sacrificing the educational value of a core compliant college.

  • @yahi06
    @yahi06 7 місяців тому +4

    I don't understand design pattern, and I have to protect Jr from understanding it!

  • @matthewread9001
    @matthewread9001 3 місяці тому +2

    9:55 My Software Engineering degree made us take
    a Compilers class and make a compiler
    OS class to make an OS
    Data Structures and algorithms class to implement these and then test them against each other
    much more hands on
    it was fun

  • @deanschulze3129
    @deanschulze3129 7 місяців тому +39

    I first heard 4-6 lines of code in my first programming class using Pascal over 40 years ago. Uncle Bob didn't create that.

    • @ArturdeSousaRocha
      @ArturdeSousaRocha 7 місяців тому +2

      That's the idea of locality in some way. I think clean code just went too hard on it.

    • @retagainez
      @retagainez 7 місяців тому

      It's just a meme at this point. I dont think anyone claims he made that kind of a conclusion besides people that are just trying to purposefully bait people.

    • @sk-sm9sh
      @sk-sm9sh 6 місяців тому +2

      @@ArturdeSousaRocha book has like hundreds of little advice that are pretty good. And yet people somehow only bother to talk about this one point about number of lines in function that so obviously depends so much on language and project that is being built and obviously if you have function that case a switch case in it with 100 switch clauses then obviously function can't be 4 lines long. Much better advice that can be found in the same book about functions is that functions should maintain single level of abstraction and that function's name should describe what it does. If you can write function that is 200 lines long and it maintains single level of abstraction and if you gave it name that perfectly summarize what it does then you are still following most of advice of the book.

  • @nitinmadan4009
    @nitinmadan4009 3 місяці тому

    For the life of me, I could never imagine a tech dude live stream on YT can be so funny and insightful at the same time.
    Way to go!!

  • @RA-xx4mz
    @RA-xx4mz 7 місяців тому +3

    My dad was one of the best mechanics out there. Top tier mechanic at a top tier rolls Royce/jag shop in Beverly Hills.
    Dude has built engines. It was also taught how to do it in the 80’s at his trade school.

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

    actually the "few lines per function" is epic if used right:
    1. its easy to cover properly with tests
    2. you can reuse that method
    3. when reading small function that call small functions (with good names) you can understand the flow with ease instead of following whats going on.

  • @herrquh
    @herrquh 7 місяців тому +9

    On the point about small functions: The 4-6 lines I think is arbitrary but it should be something like the function name describes what it does without seeing the entire implementation, and if the function is small enough then it's likely that the function name doesn't lie. So instead of reading 6 lines of code to know what is done you just read the function name and understand what it does. It's an aesthetic/readability choice more than anything.
    I don't think it conflicts with the LoB principle as I understand it from the HTMX explanation. You are still calling the functions locally. There isn't any invisible system assigning behavior. You explicitly call the behavior. It's visible locally, even if the full implementation isn't.
    Compare that to the HTMX example of jQuery where you have a section of HTML with no visible calls to anything, and a locally invisible system assigning behavior to it. You can't know that "button" calls "click" from just looking at the button declaration. The "better" from HTMX is a function call located on the button.
    In fact I think the HTMX explanation in their point "Surfacing Behaviour vs. Inlining Implementation" points to this. I might misunderstand it though. It's got Latin in there and I can barely understand English.

  • @emmaeilefsen7214
    @emmaeilefsen7214 7 місяців тому +1

    10:00 Norway actually just recently started offering a trade school course to become a "IT-developer" as a split path to the existing IT trade. Same structure as becoming an electrician!
    The first class is graduating this year, so its really exciting to see if it will start showing up in job listings as a qualification soon.

  • @TheFoyer13
    @TheFoyer13 7 місяців тому +3

    As a gear head and a software engineer, you couldn't be more right about that analogy, nailed it.

  • @JChen7
    @JChen7 7 місяців тому +2

    People conflate bad execution with the idea being bad....

  • @LucasCordeiroSimao
    @LucasCordeiroSimao 7 місяців тому +8

    Came faster than Prime configuring another Vim macro

  • @barrykp
    @barrykp 7 місяців тому +1

    The keyboard made me burst out laughing. He got you good.

  • @meltygear5955
    @meltygear5955 7 місяців тому +4

    Blows my mind how software engineers will soon discover how apprenticeship was always the solution, and they were merely blinded by their own arrogance to admit it.

    • @granitetie
      @granitetie 7 місяців тому

      Hard disagree here. I’ve worked with engineers in high school who were more productive after one week than engineers with multiple years of experience. The difference is their ability to break problems down and that’s a something I want to figure out before I hire and invest time in them.

  • @SuubUWU
    @SuubUWU 7 місяців тому +5

    The issue with "Probably shit company and you probably didn't want to work there anywhere" is that the alternative is flipping burgers for minimum wage or breaking a back for $17 in a warehouse.
    I'd rather work at that shit company for a year just to get some experience under my belt and I know there are many of us where this is the reality. We don't have parents to fall back on, rent and insurance is due; we need a job just to survive and look for another job.

    • @rusi6219
      @rusi6219 7 місяців тому +1

      Insurance is pure extortion

    • @jeffwells641
      @jeffwells641 7 місяців тому +2

      @@rusi6219 It's not pure extortion.
      It's only mostly extortion.

    • @maciejglinski6564
      @maciejglinski6564 7 місяців тому

      @@rusi6219 get ready to hear about rent

    • @rusi6219
      @rusi6219 7 місяців тому

      @@maciejglinski6564 at least with rent you enter a contract and it isn't imposed upon you

  • @yoyocswpg
    @yoyocswpg 7 місяців тому +1

    I am navigating through a million-line codebase and I keep asking myself what would happen if each function is actually 5 lines of code 😂

  • @RickYorgason
    @RickYorgason 7 місяців тому +4

    Canadian colleges are basically the trade school you're asking for.
    Note: in Canada, colleges and universities are different.

  • @defipunk
    @defipunk 5 місяців тому +1

    Regarding interviewing and hiring: people used to work for just one company for their life. If companies didn't force people to keep hopping for career advancement or salary, ANY interviewing process would be fine and acceptable, because it's a once or twice thing in your life.

  • @thought-provoker
    @thought-provoker 7 місяців тому +5

    _"Agile is communism."_
    True on so many levels. Even to the point that back in 2013, I was in a Scrum training and people brought up the concept of identical paychecks for everyone.
    I was baffled: "So someone with 20 years of experience should get the same as a college fresher?" - "Yes, _because in the Complex you don't know who contributed how much, and a team succeeds as a whole."_
    But some are more equal: _"The Scrum Master should always get more salary than the highest-paid developer."_
    If your BS detectors aren't tingling by now, you may need to see a psychiatrist.
    There's so much nonsense going on in the Agile space, and it's really hard for an outsider to see whether you're getting taken for a ride.
    Disclaimer: I spent over 10 years as an Agile Coach/Consultant.

  • @BrunodeSouzaLino
    @BrunodeSouzaLino 7 місяців тому +5

    The moment programming stopped being about solving problems and started becoming about buzzwords and jargon, it's gone downhill from there.

  • @Mkoivuka
    @Mkoivuka 3 місяці тому +1

    5:40: it's a common issue. The trap of thinking that small teams must communicate in a standardized way. So you end up with teams spending time doing stuff that has nothing to do with their core function. Reporting and documenting instead of solving problems. We see this in healthcare in the form of "structured medical records" which eat anywhere from 30 to 50 % of a doctor's daily working time.

  • @SeaBike007
    @SeaBike007 7 місяців тому +4

    @ 1:50, @ThePrimeTime is incorrect about the premise that Uncle Bob has a hard suggestion of 4-6 lines. That is not what the book says, that is not Uncle Bobs suggestion. Without correct premises, it's a straw man argument. There are a lot of valid & insightful criticisms of clean code, but those start with a correct premise.
    The book says (page 34): "The first rule of functions is that they should be small. The second rule of functions is that they should be smaller than that." A bit further on the same page, as an *example*, the book states: "Every function in this program was just two, or three, or four lines long. Each was transparently obvious. Each told a story. And each led you to the next in a compelling order. That’s how short your functions should be!" The advice on function length is that functions should be as small as possible in order that they are transparently obvious and tell a single cohesive story (and to get there, they in effect need to be short). That is _not_ a flat statement that all functions should be 4-6 lines long. There is both a distinction and difference there.
    Personally, I think there are a lot of caveats to that advice and it's a deeper story. I think there are elements of that sentiment that are good. More is needed though for it to really be good advice.

  • @nox5282
    @nox5282 6 місяців тому +1

    I started programming in high school, been working in the industry 5 years I’m over 30. It’s ridiculous but I lost my passion but also ability to actually program. Seems day to day work has degraded my skills.
    I’m now rediscovering the joy, by starting to program without expectation.
    Take a problem / goal
    Break it down as much as you can
    Google things you cannot figure out on the top of your head.
    Build, build and build some more.
    Yes I know design patterns, database management, scrum, tdd, devops, etc, yet I freaken forgot how to just program

  • @frydac
    @frydac 7 місяців тому +2

    I've read design patterns (GOF) and most of uncle bob's books. I learned a lot from them, you don't have to agree and use all of it.. the books themselves tell you that, it is not gospel/dogma. At the very least they are thought provoking, and contain many interesting idea's, when applied with thought can work in the right circumstances.
    Like the 4to6 lines is really over the top in most circumstances, but most students for example, just write one big function for basically the whole program, and I've seen professionals do that too. I did that too when I was a student, and you learn to split your code in reusable functions. But you I didn't really think about it, when i then read about SOLID and think about having one level of abstraction in a function, that makes sense and helps me think about how to design my functions in a way that they are more easy to name and understand. Anyway, content like this is mostly created to be popular and get engagement, and I got baited.

  • @ClaudioBrogliato
    @ClaudioBrogliato 7 місяців тому

    The reverse normal distribution feels so true. It reminds me how I feel every time a scrum master (or a facilitator) gets in a heated discussion trying to find a compromise and move on: that idea is BS.

  • @AlizabelaRosa
    @AlizabelaRosa 7 місяців тому +2

    the error handling and its logging is already 6 lines, but if we are talking about lines of work, short is better as long as it's not over-abstracted, you don't need a function to order a list for example, but if the abstraction is named well then you should be able to hold what it does in your head "let clients = getClientList()" gets the client list, if the client list is not being returned incorrectly that's as much depth as you need.

  • @amanullahmenjli
    @amanullahmenjli 7 місяців тому +1

    Me seeing the video constantly in UA-cam every single day: I'll just watch it later "Add to Watch Later"
    The Prime made a reaction video: Stops everything to watch the video. It's the Prime Time!!!!

  • @pockerface9505
    @pockerface9505 4 місяці тому +1

    About the college thing, I think one of the biggest problems is finding good teachers. Usually CS teachers are good teachers, not good software engineers, so they don't know how the industry actually work now.

  • @RoadToStrength-nv8ei
    @RoadToStrength-nv8ei 6 місяців тому +1

    If you break a big function into smaller parts where each part does one logical thing on it's own, combined with good naming it can make it very easy to understand. So when you're reading the "parent" function that calls all the other functions it should all read like english. So that you understand at a high level what everything is doing. And then if you need to understand some detail, you just go to that one "child" function to understand. For example:
    parent calls validateUserData then it calls getResults then parseResults. That's a very easy way to structure things. However, in the real world there are times where you can't break everything down that easily and some people really suck at naming things or don't abstract at the right level making it really hard to understand everything as you're jumping around from function to function.

  • @FlashPulse
    @FlashPulse 5 місяців тому +2

    In denmark the have CS education that is 2½ years which is like an AP Graduate degree, which I took. They didn't make us create a compiler or an operating system :P, but we did have courses in systems development (analysis & design), databases, programming, networking, and so on. So it was all focused around software development, and it was a lot more practical than a regular CS degree. Each semester you basically create an actual software product for a real client (they had companies or people who needed something come in).

  • @Al_L.
    @Al_L. 2 місяці тому +1

    "6 months apprenticeship, no way" in Europe it is MANDATORY to do so if you want your Bs/Associate's

  • @thecollector6746
    @thecollector6746 3 місяці тому +1

    Scams in Software Engineering : Every single Boot Camp and nearly every "Coding Influencer" on UA-cam.

  • @Tigersoulification
    @Tigersoulification 7 місяців тому

    Man I have recently know you. But you have already inspired me as a developer and as a person to be better just by your takes and opinions on this video. Definitively going to check your other mentioned opinions referenced in this video.

  • @rileyschilling9268
    @rileyschilling9268 6 місяців тому

    As a poet, I greatly appreciate your many shout-outs to the Artist Language . And I wonder what code snippets of your own have ever felt like Poetry?

  • @cweasegaming2692
    @cweasegaming2692 7 місяців тому

    That trade school idea you’re talking about is literally what I’m finishing now in Canada. 2 years of practical learning