Scams In Software Engineering

Поділитися
Вставка
  • Опубліковано 7 кві 2024
  • Recorded live on twitch, GET IN
    Reviewed Video
    • Biggest Scams In Softw...
    By: bigboxSWE | / @bigboxswe
    My Stream
    / theprimeagen
    Best Way To Support Me
    Become a backend engineer. Its my favorite site
    boot.dev/?promo=PRIMEYT
    This is also the best way to support me is to support yourself becoming a better backend engineer.
    MY MAIN YT CHANNEL: Has well edited engineering videos
    / theprimeagen
    Discord
    / discord
    Have something for me to read or react to?: / theprimeagenreact
    Kinesis Advantage 360: bit.ly/Prime-Kinesis
    Hey I am sponsored by Turso, an edge database. I think they are pretty neet. Give them a try for free and if you want you can get a decent amount off (the free tier is the best (better than planetscale or any other))
    turso.tech/deeznuts
  • Наука та технологія

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

  • @RenanGreca
    @RenanGreca Місяць тому +3066

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

  • @sandiprai1383
    @sandiprai1383 Місяць тому +1759

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

    • @xpmon
      @xpmon Місяць тому +52

      He is a 6x developer

    • @mrmadhan8557
      @mrmadhan8557 Місяць тому +35

      ÷10 developer

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

      ​@@mrmadhan8557faang level 🔥🔥🔥

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

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

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

      Average autist activities

  • @TheDoubleBee
    @TheDoubleBee Місяць тому +634

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

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

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

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

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

    • @jearsh
      @jearsh Місяць тому +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 Місяць тому +3

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

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

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

  • @dezly-macauley
    @dezly-macauley Місяць тому +508

    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 Місяць тому +142

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

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

      😂

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

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

    • @dezly-macauley
      @dezly-macauley Місяць тому

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

    • @dezly-macauley
      @dezly-macauley Місяць тому +20

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

  • @me-low-key
    @me-low-key Місяць тому +187

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

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

      Hilarious!! 😂

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

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

  • @ObtecularPk
    @ObtecularPk Місяць тому +301

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

    • @Kane0123
      @Kane0123 Місяць тому +46

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

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

      ​@@Kane0123hold my beer

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

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

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

      ​@@Vysairgenius right there

  • @QuintonDolan
    @QuintonDolan Місяць тому +98

    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 Місяць тому +13

      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 Місяць тому +2

      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 21 день тому +2

      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 20 днів тому +2

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

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

      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.

  •  Місяць тому +188

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

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

      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.

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

      @@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 Місяць тому +2

      I'm only seeing facts

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

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

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

      @@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?

  • @ElvenSpellmaker
    @ElvenSpellmaker Місяць тому +150

    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.

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

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

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

      @@Therealpro2 Yeah it's 3 years

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

      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 Місяць тому +18

      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 Місяць тому +13

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

  • @williamrgrant
    @williamrgrant Місяць тому +159

    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.

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

      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 Місяць тому

      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 Місяць тому +4

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

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

      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 Місяць тому +1

      How does he define “one thing”?

  • @ANONAAAAAAAAA
    @ANONAAAAAAAAA Місяць тому +89

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

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

      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 Місяць тому +6

      @@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 Місяць тому +5

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

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

      ​@@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 Місяць тому +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

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

    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.

  • @blocSonic
    @blocSonic Місяць тому +55

    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 Місяць тому

      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 Місяць тому

      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

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

    I fully agree that programming trade schools are awesome.
    In Poland you can choose between regular high schools and "vocational high schools". Regular high schools take 3 years while vocational high schools take 4 years to finish.
    A vocational high school has everything that a regular high school has plus additional subjects specific to a particular profession.
    They are more challenging because you have to learn so much stuff but it's OP in my opinion.
    You also have a practical and theoretical exam regarding your profession at the end and you receive an official license from the government.
    I finished a vocational high school focused on IT and it was great. We had a little bit of everything, computer networks, operating systems, databases, HTML, CSS, JS, PHP, C++. It was an amazing head start. It certainly made me a more well rounded engineer.
    Later on when I went to uni I was sooo ahead of my peers. I also managed to get my first programming job right after graduating from high school.
    The knowledge I gained in high school made it incredibly easier to understand the things they showed us at uni.
    These schools have started to become quite popular in Poland. It's an awesome idea but still needs to be improved. The teaching could be certainly better but if you're motivated you can achieve great things.

    • @CHN-yh3uv
      @CHN-yh3uv Місяць тому +1

      This is how i got into programming in Portugal. I never had the chance to go to college so this was a tremendous solution for me at the time

  • @laughingvampire7555
    @laughingvampire7555 Місяць тому +166

    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 Місяць тому +18

      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 Місяць тому +2

      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 Місяць тому +33

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

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

      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 Місяць тому +12

      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.

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

    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 Місяць тому +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 Місяць тому +2

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

    • @NoX-512
      @NoX-512 Місяць тому +1

      @@chauchau0825More like, SCRUM people, amirite?

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

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

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

      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

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

    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

  • @KRIGBERT
    @KRIGBERT Місяць тому +42

    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

  • @ivanjermakov
    @ivanjermakov Місяць тому +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.

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

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

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

      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 21 день тому

      @@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 21 день тому

      @@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 21 день тому

      @@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.

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

    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 Місяць тому +4

      Code review… that’s an interesting idea.

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

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

    • @SkaiDragon
      @SkaiDragon 26 днів тому +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.

  • @piptarou
    @piptarou Місяць тому +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.

  • @OrphicPolytheist
    @OrphicPolytheist 3 дні тому +1

    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.

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

    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 Місяць тому +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 Місяць тому +4

      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 Місяць тому

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

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

      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 Місяць тому +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.

  • @laughingvampire7555
    @laughingvampire7555 Місяць тому +56

    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 Місяць тому +4

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

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

      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 Місяць тому +4

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

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

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

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

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

  • @Seven-ez5ux
    @Seven-ez5ux Місяць тому +103

    Software Engineering is the biggest scam

  • @Altrue
    @Altrue Місяць тому +34

    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 Місяць тому +10

      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 Місяць тому +2

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

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

      Making a quick sort is a flex?

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

      @@DanDelarge strawman

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

    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 Місяць тому +1

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

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

      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 21 день тому

      @@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.

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

    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."

  • @emmaeilefsen7214
    @emmaeilefsen7214 Місяць тому +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 Місяць тому +2

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

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

    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

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

    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

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

    9:40 The University I graduated from had a spin off of Computer Science under the "University Studies" program which basically means all of those "core" classes are then tailored toward your major... so rather than a traditional English class we had Technical Writing, instead of regular Psychology 101 it was focused on End User Psychology, etc. That was the one saving grace of my school, it sounds a lot like you mentioned as a trade school, but it was a traditional 4 year bachelor degree.

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

    The problem in my org was we had a daily scrum and the beginning minutes were spent recapping the release schedule and other "already should know" topics, like making sure you completed your annual briefings requirements or annual security training courses. This was for a very small group of people with only 3 developers that were working on their own separate projects. Some folk would bring up topics that would stretch the meeting out past the allotted time. For me, I knew what I needed to do and I would have to get past this time to concentrate on my job.

  • @steamer2k319
    @steamer2k319 Місяць тому +34

    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 Місяць тому +10

      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 Місяць тому +2

      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 Місяць тому

      @@-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 Місяць тому +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.

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

      I wonder if the reason some people prefer longer functions is due to mixed levels of abstraction. You shouldn't need to dive into functions to understand what the code does *at that level*, only if you need to go to a lower level of abstraction.

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

    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

  • @cajunguy6502
    @cajunguy6502 Місяць тому +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.

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

    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.

  • @yaminnather521
    @yaminnather521 Місяць тому +36

    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 Місяць тому +6

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

    • @climatechangedoesntbargain9140
      @climatechangedoesntbargain9140 Місяць тому +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 Місяць тому +2

      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 Місяць тому +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

      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.

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

    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 Місяць тому +1

      I wanted to comment that as well

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

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

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

    The type of school you described - 2 years, practical skills, projects, databases, and so on exists. It's called Kood/Jõhvi in Estonia, Kood/Sisu (recently opened) in Finland and at least one in France called School 42. They use the 01-edu system.

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

    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".

  • @kuakilyissombroguwi
    @kuakilyissombroguwi Місяць тому +52

    “Business Logic Translator” being sold as “Software Engineering” is the biggest scam. Most devs I’ve worked with don’t even know what bubble sort is, they’re all about dem frameworks.

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

      So when was the last time you needed to implement your own sorting that wasn’t just .sort?

    • @Manhunternew
      @Manhunternew Місяць тому +45

      I hate carpenters that don't grow their own trees

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

      @@Manhunternew😂Gottem

    • @kuakilyissombroguwi
      @kuakilyissombroguwi Місяць тому +16

      @@Manhunternew Before we devolve into ad hominem arguments and/or trolling, I brought that up as a lame duck example, but a valid one nonetheless. The point here (try to focus) is that a lot of people who call themselves software engineers are not in actuality engineers, all they do is take business requirements and turn that into software (majority web) products.
      The skills required to go from “Business Logic Translator” to “Software Engineer” are in my opinion vast, and in most cases require extended education of some sort, not just a 12-week bootcamp.
      Whether or not folks need to or should invest in becoming engineers is a moot point; that’s not what I’m talking about. If you don’t care about actual engineering, by all means go be a translator. Plenty of jobs you can do just by learning the latest/greatest web frameworks. At the end of the day though, I consider this to be a scam.

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

      I did a bubble sort demo video several years ago and implemented it on an Apple ][ emu. It is easy to follow and understand.

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

    finally! I knew this video was coming since the day I watched Bigbox's video

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

    Your description of your trade school for programming was literally how they structured my Bachelors at Teesside in the UK

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

    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.

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

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

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

    Been working on a large game using an ECS setup and it has made me appreciate the idea of "locality of behavior" so much.
    ECS is, intentionally or not, built entirely around that concept - Every chunk of code responsible for a behavior is stored in a system.
    It's made debugging, and moreso refactoring such a breeze. Why is it not more prominent in other forms of software (not just games)? Or is it and I'm just misinformed.

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

    I mean, I didn't do work doing super serious maintenance in the Marines fixing trucks, but as part of skills development, I did go to school where I rebuilt major components....

  • @tobix4374
    @tobix4374 День тому

    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.

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

    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 Місяць тому +1

      And we probably got that from Erlang

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

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

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

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

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

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

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

    Dude I'm completely with you on the programming trade school idea! What kind of organizations do we think might be willing to invest in a project like that? Seems like a lot of players in the industry could benefit from the talent pool it would generate.

  • @HeraldoS2
    @HeraldoS2 Місяць тому +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 🍝.

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

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

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

    We have the trade school in Nova Scotia, Canada. NSCC Is a provincial tech school. 2 years, all the cs fundamentals without the junk, and add in tons of hands on.

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

    We had programming classes in high school - in Slovakia - between 2001-2005 - and that helped me a lot - a bit of C helped back then. That sort of kickstarted me.

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

    that locality of behavior is similar to referential transparency of functional programming, and why we should use mostly pure functions

    • @MrSlowestD16
      @MrSlowestD16 21 день тому

      Referential transparency exists in all areas, not just FP. Pure functions are.....hopeful for most uses. They often clash hard with OO programming.

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

    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

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

    A trade school for CS would be great. I studied CS 20 years ago, and that's just when my college was transitioning away from teaching compiler construction, database theory, etc to teaching slightly different things, like teaching Oracle rather than how to create a good database. I actually read though and did a self study of the MIT compiler construction course. The market has sold the idea that you have to go to college to learn programming, but I learned to program on a very simple device, and after 4 years of programming classes in HS, I was ahead of my class in college. I tell folks to only go to college if it's absolutely necessary for your career, know what you want to do well before you go to college, and don't be afraid of the trades. In short, choose a career because it's something you enjoy and can make good money from - don't choose a career based on money alone.

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

    There's one very good reason to keep functions small, this way you avoid complex inline expressions which take a lot of time to understand logically for the code reader, and replace that with function calls, whose name tell you concisely what's happening. And it is much easier to test and fix your code when you keep your purpose context small, properly labeled and easily readable.

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

    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 21 день тому

      "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.

  • @Youtubeaccount-jw9eu
    @Youtubeaccount-jw9eu Місяць тому +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 Місяць тому

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

    • @johnsitarski4158
      @johnsitarski4158 Місяць тому +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 Місяць тому +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 Місяць тому

      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 Місяць тому

      ​@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

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

    Ok, Professor of Computer Science here. I went to a Canadian University for CS and I've never even heard of breadth requirements like you're talking about. For the Specialist program, I got one elective every two years....and it was common for people in my program to take Stats or Astronomy as their first-year elective. Why? Because taking Intro to almost never fit in your schedule. I actually broke the mold and took a course on the 20 books that influenced the 20th century. It was pretty cool and my bookshelf looked way more impressive afterwards too. Canada, incidentally does have what you might call trade schools for programming. Our post-secondary system has a hard-(ish) line between Universities and Colleges. With colleges being the equivalent of a trade school and universities being somewhat more research oriented. They are usually better than boot camps but not exactly what you want.

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

    Dude the timing was so good! Right after he went on a tirade about front end too! This was the best reaction I could've hoped for haha.

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

    I started reading clean code today, will add this video to my work tasks later in the day

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

    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.

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

    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.

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

    The paid contract work “interview” probationary period does happen.
    Some companies like Replit do it for their hires with a really short period, and in a lot of companies outside off big tech like tech implementation consulting, it’s typical that you are hired as a 6-12 month contract and from there hired full time by the company.
    Lots of bad practices can happen here to, but it is a thing

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

    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.

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

    a guy on my team loves clean code, now I only have to click 5 times to see the definition :)

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

    Moving from security analyst to software engineering, this channel has not been confidence inspiring for the career path.

  • @RafaMakowski-lg7jn
    @RafaMakowski-lg7jn Місяць тому +1

    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.

  • @ceigey-au
    @ceigey-au Місяць тому +2

    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.

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

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

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

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

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

    The trade school in my area has programming and it’s also free until you’re 25. You can go all day for a year or half day for 2 years. The teacher had a connection to the CTO for a state department that hired interns from the votech.

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

    Whiteboard is a powerful way to know if someone is relying on external tools or not. I always use a whiteboard test for SQL data relation questions and common logic questions.

  • @meltygear5955
    @meltygear5955 Місяць тому +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 Місяць тому

      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.

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

    Came faster than Prime configuring another Vim macro

  • @Nik.leonard
    @Nik.leonard Місяць тому

    Here in Chile we have trade schools for programming and other specialities like mechanics, electronics, gastronomy, etc. (they are called CFT's: "Centros de Formación Tecnica") with 2.5yr programmes, but for them to really work, they have to be improved in a lot of the fundamentals and new technologies, and convince the recruiters to stop asking for the university degree or bootcamp diploma.

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

      Yep, happened to me (wena chuchetumare), I graduated from a CFT, but with a lack of SWE skills

  • @nox5282
    @nox5282 19 днів тому +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

  • @RA-xx4mz
    @RA-xx4mz Місяць тому +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.

  • @eXit-mm3zg
    @eXit-mm3zg Місяць тому +5

    Clean Code was an amazing book that helped me tremendously

  • @huubeijndhovenvan7177
    @huubeijndhovenvan7177 25 днів тому

    Agree that many CS programs lack the fundamental CS subjects like parsers/compilers, operating systems, fundamental algorithms and data structures,(program-)language comparison, thorough intro into procedural, OO and functional etc

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

    We used to have a trade school approach to software development called mentoring. But now everyone becoming out of school seems to think they know everything they need to know

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

    @ 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.

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

    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 Місяць тому +1

      Insurance is pure extortion

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

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

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

      @@rusi6219 get ready to hear about rent

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

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

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

    In Australia, a 3 year computer science/computing degrees has no general ed classes (you do have to take 1 elective class per semester but seemed more relevant like marketing, accounting etc). I have never understand why in the USA you spend the first two years basically doing classes that should have been done in high school. What I learnt in those three years from 30 odd years ago still applies today (building compilers, system design, building libraries, expert systems).

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

    9:50 In Spain we have something called "Formación Profesional", where you go there for 2 years and you learn the trade studying at a school and working on a company. For CS, you can choose 3 variants: web development, apps and programs development, and networks/systems management. It gets rid of all the shit that you don't need in uni.
    In most places you can opt in one FP for basically free, unless you live in a big city, where it's not more than half of minimun wage.

  • @Tian-wi6qr
    @Tian-wi6qr Місяць тому +3

    Bro is a tech version of Asmongold, makes every X minutes video into a 10X minutes reaction video

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

    Prewatched, prereacted, lovely take

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

    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.

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

    So I actually went to a trade school for programming and web dev. However it's treated like a boot camp, we don't have real projects or anything to give us real experience. The class is pretty much taking online crash courses, passing a certification, then moving on.
    So I feel like there's gotta be improvement on that front

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

    How did bro turn a 4 minute video into a 30 minute yapping overload

  • @thought-provoker
    @thought-provoker Місяць тому +4

    _"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.

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

    I went to a programming trade school, it was 3 years with one large project each year plus 2 internships totaling 4.5 months.

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

    I basically did tradeschool (it’s 4 years here in NL) and I did micro electronics. And it had a ton lowlevel CS in it. But these days those schools have gotten so dumbed down that even trade school IT (which they have now) really is nowhere near the level it was in 1990 and before.