Current Software Engineers have no Deep Knowledge (Jonathan Blow)

Sdílet
Vložit
  • čas přidán 2. 07. 2024
  • Snip taken from "The future of software development in video games - Jonathan Blow and Tiago Loureiro"
    Original video: • The future of software...
    #gamedev #gamedevelopment
  • Věda a technologie

Komentáře • 729

  • @halminnesota699
    @halminnesota699 Před 5 měsíci +1238

    I wish someone had a deep enough understanding of audio technology so we wouldn't have to hear this guy breathing directly into the mic

    • @tarn_jihas
      @tarn_jihas Před 5 měsíci +18

      lol'd 🤣

    • @manny7662
      @manny7662 Před 5 měsíci +7

      oh snap

    • @Finefik
      @Finefik Před 5 měsíci +36

      He has problem to breath sitting on all that deep knowledge

    • @festivetosho7376
      @festivetosho7376 Před 5 měsíci +1

      Don't be a besserwisser.

    • @user-sr1uj6pc1q
      @user-sr1uj6pc1q Před 4 měsíci +21

      I wish you didn't feel offended by his talk, somehow..

  • @kamilwezka
    @kamilwezka Před 4 měsíci +46

    My old job: I sit and read books on core concepts. Boss comes and asks: why are you reading instead of working.
    My old job: wear headphones while trying to code and during deep thinking because I couldn't hear my thoughts in the background of sales calls, constant slack pinging, and people chatting loudly etc. etc. Our head of sales: these guys don't want to learn how the company works about business, and instead they listen to their music at work.
    Today, you can't focus for more than 5 minutes without being distracted in many workplaces. I am not introverted, but sometimes anyone needs a quiet space & focus time in order to form deep knowledge - it is the same as training a model; it needs time to reach a certain accuracy. Of course, you can optimise and increase efficiencies, but we have organic brains. Besides, businesses expect workers to switch contexts frequently, constantly learning and adapting without any breathing space. How is this sustainable? Perhaps, I am not intelligent, and probably, at this stage, I don't want to be any more. I can learn how to do underwater welding or something.
    Many years ago I worked as a chef and switched to science and now to technology. Today, I see a technology space as a messy kitchen full of scattered philosophic detritus that clogs all the sinks and often floods the floors. But is it the chef's fault that they can't cook food in such conditions, and they end up most of the time mopping the floors?

    • @user-my7eg3dy3f
      @user-my7eg3dy3f Před 3 měsíci +1

      Most accurately described his bias.

    • @user-mv4oh8yp1y
      @user-mv4oh8yp1y Před 2 měsíci

      It's StackOverflow's fault.

    • @drxyd
      @drxyd Před 20 dny

      Having sales and engineering in the same room is completely mad.

  • @sujitwarrier4857
    @sujitwarrier4857 Před 4 měsíci +338

    As a software engineer. I agree. The more experience I get, the more I feel I dont know anything. I'm always in a rush to catch up with the industry.

    • @MeowFoWowz
      @MeowFoWowz Před 4 měsíci +17

      Dunning-Kruger effect. You’re far from the only one experiencing this in software engineering, including myself. Just keep going man you got this. Sucks I know but at the end of the day it is a job

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

      Catch up?

    • @thomasfitzpatrick2827
      @thomasfitzpatrick2827 Před 4 měsíci +13

      The paradox of knowledge: the more you know, the more you know how much you don't know. Sadly, this reality often means the best people don't get hired or promoted, as they comport themselves with less (over)confidence during the interview process, than their more ignorant contemporaries.

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

      If you are a software engineer and you start to notice that "you don't know anything", that's just what a good software engineer comes to conclude, and where your effectiveness starts, eg. getting things done in an non-bs way. websites are pretty easy if you just have javascript on the client and on the server, NOOO frameworks. Probably what Jonathan Blow (and obviously me) would answer... Descarts realized somehow that no one knows anything FOR SURE. Quite frankly, I fear softwareengineering AS A JOB. Not as a hobby. the JOB itself is quite horrible. I "just" work as a supporter on the phone (??) and i know enough about people's struggle with the whole mess of framework xyz. Even C# is too much. There IS no good framework that fits all purposes. and in web development, there is NO good framework.

    • @avg_user-dd2yb
      @avg_user-dd2yb Před 4 měsíci +1

      So learn C from scratch build your own stuff instead of learn "jobascript"

  • @BattlewarPenguin
    @BattlewarPenguin Před 4 měsíci +109

    A great quote I heard regarding this
    'As the island of Knowledge grows, so do the shores of our ignorance'

    • @jetroid
      @jetroid Před 4 měsíci +6

      The greater our knowledge increases the more our ignorance unfolds. - JFK

  • @tensor5113
    @tensor5113 Před 5 měsíci +612

    TLDR: Companies don't want experts, they want code monkeys
    These guys hire and interview for leetcoders, so they get leetcoders then cry about it. Deep knowledge isn't what got me the job, its leetcode. So until these companies hire for deep knowledge instead of toy problems, then keep expecting this problem to occur. Stop blaming the engineers, and blame management/recruiters. There are objective ways to tell who is a good or bad engineer, but most management who hire are not competent enough to understand this. Anyone solving the domain issues that are being addressed in the video are not on leetcode, they are solving the issues with their hands, but these guys still don't hire them.

    • @user-zg2bx4oz2p
      @user-zg2bx4oz2p Před 5 měsíci +18

      Isin't leetcoding deep knowledge tho? It is useless af but gives you some deep insights?

    • @GoYoops
      @GoYoops Před 5 měsíci +85

      ​@@user-zg2bx4oz2p Depends, majority of leetcoders that can solve medium-hard questions are simply applying a pattern they memorized over and over. So it turns into basically an exercise of how well you know that specific pattern that has nothing to do with real world applications.
      Is it a good sign that the applicant knows the syntax of that language? Yea sure, but that's pretty much it.

    • @user-zg2bx4oz2p
      @user-zg2bx4oz2p Před 5 měsíci +12

      @@GoYoops pattern recognition is the pillar of IQ tests, I guess that's why companies push it

    • @GoYoops
      @GoYoops Před 5 měsíci

      ​@@user-zg2bx4oz2p Except the real world application problem solving is not simply just pattern recognition. There is a ton of ingenuity and creativity that is required for problem solving unique solutions that can't be googled. If the job was simply to apply patterns you can google and memorize over and over then a leetcode candidate is perfect. Screw that, just have 1 dev ChatGPT everything, but that's not the case. Some business requirements are too unique to simply google and you have to meet a deadline.

    • @tensor5113
      @tensor5113 Před 5 měsíci +51

      @@user-zg2bx4oz2p Its useless because knowing leetcode doesnt mean you're going to know anything specific for the domain. These domain specific items can take years to learn. So be ready to spend at least 6 months training an employee to get anything done, then waiting years for them to accumulate expertise. This is the leetcode hiring model. It doesnt help when they also layoff employees or try to get them to quit in their early career

  • @warrenhenning8064
    @warrenhenning8064 Před 4 měsíci +203

    We just sit around in meetings and glue things together. If you act like Jon and demand to rewrite everything from scratch, you absolutely will be fired.

    • @spocot
      @spocot Před 4 měsíci +16

      Especially if you're an engineer at a company that isn't a "tech company". It can be really hard to convince some product owners with no understanding of programming that resolving tech debt produces "tangible business value" =/

    • @igboman2860
      @igboman2860 Před 4 měsíci +8

      Why would rewrite everything? This is a business not charity. There is a database oo I want deep knowledge let me write my own.
      It's rubbish with all due respect

    • @tetrabromobisphenol
      @tetrabromobisphenol Před 4 měsíci +5

      Don't worry, rather soon an ML model will be able to replace said expensive meetings and glue as a means of generating code, and it WILL rewrite entire code bases, possibly even overnight. You're getting fired one way or another given enough time. Those with the integrity and courage to not write dogcrap code with garbage tools will be the last ones to be replaced/fired.

    • @igboman2860
      @igboman2860 Před 4 měsíci +10

      @@tetrabromobisphenol what are you on about? We all have jobs to do, the primary goal is to fucking get the job done, not some purist idea of writing the perfect software.

    • @ForTheOmnissiah
      @ForTheOmnissiah Před 4 měsíci +3

      ​@@tetrabromobisphenolPeople have been saying programmers will be replaced by such-and-such since the dawn of programming... yet here we are. Who do you think will have the knowledge to actually interface with AI models to get a desired output that isn't garbage? Who do you think creates AI models? Programmers aren't going anywhere. The day AI replaces programmers is the day clients know how to actually create clear and concise requirements... Which is never going to happen.

  • @greed7513
    @greed7513 Před 5 měsíci +219

    I want to pay attention but that dude's breathing directly to my ear

    • @jonasbaine3538
      @jonasbaine3538 Před 5 měsíci +18

      Basically you’re not good enough and never will be. Same speech always been preached in IT.

    • @greed7513
      @greed7513 Před 5 měsíci

      @@jonasbaine3538 I agree with him tho. We should be software developers, not framework developers. He points out time complexity as basic knowledge, and luckily it is. The basics are well documented and easy to understand with a good book or course in my opinion, so there’s really no excuse for not getting better.
      i say luckily because I think it’s easy and 100% possible for anyone to escape the react bubble in less than a year, just put the time in and practice dsa

    • @rumisbadforyou9670
      @rumisbadforyou9670 Před 5 měsíci +16

      @@jonasbaine3538 Get off habr, bro. That's not what he's saying.

    • @anenga
      @anenga Před 5 měsíci

      So bad

    • @jonasbaine3538
      @jonasbaine3538 Před 5 měsíci

      @@rumisbadforyou9670 then go ahead and summarize it.

  • @BitwiseMobile
    @BitwiseMobile Před 4 měsíci +33

    I started out deep. I taught myself Assembler on a DOS machine back in 1985 using the DEBUG command. I used the library for sources of information, but most of it was trial and error. That started a desire for constant deep knowledge. Assembler just wasn't enough for me. I wanted to learn what happens when it sees the opcode for MOV AX, BX. Then I got into electronics and computer design. I majored in CSE (CS and EE mix) in university, and to this day I enjoy creating my own ISA and chipsets. I'm a software engineer by trade, but I design entire systems from the ground up as a hobby. I wouldn't be in this job if it didn't have the depth it has. You can continue to peel layer after layer and you don't really have to stop until you get down to the electron level :)

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

      Same here. I despair at the lack of knowledge of some modern younger software devs. Also studied physics and chemistry so know how everything works down to the atoms in the transistors on the chips level.

    • @91dgross
      @91dgross Před 4 měsíci

      is the electron level, a level of abstraction just before boolean functions and boolean gates (the physical implementation of boolean functions)? In other words, is the electron level, quantum computing?

    • @mito88
      @mito88 Před 4 měsíci

      I start reading books from the last page

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

      The practical impact working on high level software is that there's no intuition about performance and maintainability if the deep knowledge is lacking. But you could get quite far and bulldoze terrible ideas over real engineers with enough shallow knowledge.

    • @IronFire116
      @IronFire116 Před 4 měsíci

      I went to school for electrical and computer engineering. I understand it all down to the electrons.

  • @danielmondragon2476
    @danielmondragon2476 Před 5 měsíci +193

    The problem is in all subjects, not only CS or engineering, I come from other areas of knowledge and it is the same.
    The problem that Jonathan argues, is not related to our field, it is a social problem, people need to survive before they know how to do a Dijkstra's algorithm, and it is not good or bad, it is just the reality, whether we like it or not.
    The rules that determine our relationship with life are not the rules of science or the rules of knowledge, they are the rules of the market.

    • @alexwatson6370
      @alexwatson6370 Před 5 měsíci +6

      Disagree because there's not some guy that got a degree in marketing going into medicine and gaining the title of MD because he read books at the library

    • @NoobeyTunes
      @NoobeyTunes Před 5 měsíci +19

      Believing "it is not good or bad, it is just the reality, whether we like it or not." will not lead to improving on the status quo.

    • @fearsomefoursome4
      @fearsomefoursome4 Před 5 měsíci

      Yeah because legally you can't do that. There's something outside of the market preventing that from happening. If instead you got a degree in marketing then went to the library and studied coding you could get a job in coding.@@alexwatson6370

    • @germanassasin1046
      @germanassasin1046 Před 5 měsíci

      ⁠​⁠​⁠​⁠@@alexwatson6370medical profession isn’t comparable with cs tho. Both need hands on experience, but while in medicine you can’t just kidnap someone to hone your skills, in cs you can practice and fail as much as you want as long as you have a pc. I think someone with marketing degree can totally become professional on his own without a degree. And hey it is not like this piece of paper magically makes you competent, I’ve seen a plenty of cs people who cared only about passing grade and in the end their level is a little bit over hello world

    • @nou4605
      @nou4605 Před 4 měsíci +3

      ​@@alexwatson6370Yeah because software engineering is not remotely as important as medicine genius

  • @empereurdigital
    @empereurdigital Před 4 měsíci +6

    Nerds love "expertise".
    But in the real world, the market needs people that can get things done for a reasonable price.

    • @piotrd.4850
      @piotrd.4850 Před 4 měsíci +1

      These are not mutually exclusive, however definitoin of 'done' has changed lately...

  • @PiyushGupta-vx6qi
    @PiyushGupta-vx6qi Před 4 měsíci +51

    Meanwhile in job posting, we require this very specific framework that came 2 years ago. We need 5 years of exp in that framework

  • @zenon544
    @zenon544 Před 4 měsíci +65

    This is just natural. The complexity of software is increasing, so we have to climb the ladder of abstraction in order to keep up. We can't reinvent the wheel for every piece of software we write - its not efficient and the product will be worse.
    In the past, there were also polymaths. Today, it is utopian to imagine being an expert in all fields. We have to specialise and build our knowledge "on the shoulders of giants", as Newton might say.

    • @whitecountryoldroad
      @whitecountryoldroad Před 4 měsíci +1

      Right on the nail

    • @FabricioDeMarchi
      @FabricioDeMarchi Před 4 měsíci +3

      A double-edge sword! 🙂
      Sure, it works and there might be a lot one does not need and should learn while building a product but it makes you dependant of way too much shit stuff when you try to build an application with dozens or more dependencies you have no control over. I am not sure there is a simple solution to that but there is nothing wrong on point that this is will be a disaster to maintain and pratically impossible (due to the amount of time it might require) to upgrade in 5 years.

    • @zenon544
      @zenon544 Před 4 měsíci +1

      ​@@FabricioDeMarchi Absolutely! You have to assess the risks that some dependencies can entail. You should also make sure that, wherever possible, dependencies are loosely coupled via interfaces so that they can simply be replaced by other systems in case of doubt. The use of open source dependencies naturally also reduces such risks.
      But even your own systems can quickly become a maintenance hell if they do not fulfil certain quality characteristics. With the definitive edition of Stronghold, for example, it has been seen that well-known bugs could still not be fixed, even though the engine was originally developed in-house. Presumably a software quality problem.
      But that's a really good point, which was perhaps swept under the carpet a little too much by my comment.

    • @hannesRSA
      @hannesRSA Před 4 měsíci

      That's not the point.

    • @piotrd.4850
      @piotrd.4850 Před 4 měsíci

      That's why it causes problems.

  • @AndrewPetersonGameDev
    @AndrewPetersonGameDev Před 5 měsíci +197

    Sorry guys, software engineers don't have deep knowledge because I stole all of it. It's all mine. No, you cannot have any of it. I am a dragon laying on a pile of gold, except the gold is deep knowledge.

    • @mostexcellentlordship
      @mostexcellentlordship Před 4 měsíci +15

      I see my plan is working. This deep knowledge of yours: it’s shallow. My knowledge is at least n squared as deep as yours and I hid it in between the three ordinary dimensions of space. And time, and various other dimensions you have yet to discover.

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

      👌😂

    • @user-hp6gf7lu8c
      @user-hp6gf7lu8c Před 4 měsíci +1

      @@mostexcellentlordship and still your knowledge is nothing compared to me.

    • @user-zb2st6zi6j
      @user-zb2st6zi6j Před 4 měsíci

      @@user-hp6gf7lu8c Watch out, the electrical engineers are stealing your pile. Fortunately there is not very many of them.

    • @sef-kc9vk
      @sef-kc9vk Před 4 měsíci

      same...

  • @mostexcellentlordship
    @mostexcellentlordship Před 4 měsíci +11

    I wish upon you all just one percent of my breathtakingly deep knowledge. Look at my works, ye mighty, and despair.
    My knowledge is so deep I don’t push to production, production pulls from me out of respect.
    My git branches are so well-organized they are studied by botanists and my code reviews are so profound they count as continuing education credits.
    My wisdom is so deep and fundamental that my programming paradigms have their own philosophical schools of thought.
    Heck, my code is so secure quantum computers use it to encrypt their data.
    Woo be upon the mortal that questions the profundity of my deep, deep knowledge of n squared.

  • @egglyph
    @egglyph Před 4 měsíci +35

    I heard the same sentiment about 30 years ago. More or less established guys in their 40-50ies were LAMENTING the new generation

    • @hannesRSA
      @hannesRSA Před 4 měsíci +1

      Doubt it.

    • @Alfie-ni7lx
      @Alfie-ni7lx Před 4 měsíci

      @@hannesRSA
      I think he means not just in programming, because if he does then this statement is 100% truuuu

  • @tcurdt
    @tcurdt Před 5 měsíci +62

    The problem is really that so little work places care about deep knowledge. It often is cheaper to throw money/abstractions at the wall than to do the right thing. Building on top and on top without cleaning up the lower layers. Engineers have just adapted. It's shocking really when you meet what should be seasoned engineers that just live in their abstraction bubble.
    Just look at the things done in 700KB back in the days. Now a binary, for software that is barely more than a "hello world", easily comes as a 100MB deployment. Not to say "the good old days", but for better or (rather) worse the focus has very much shifted for solving problems.
    It's also sad to see how much generational knowledge gets lost and gets re-invented. It often just comes in a different package with new name. The cycles in time are just fascinating.

    • @philipbotha6718
      @philipbotha6718 Před 5 měsíci +6

      Just saw a blog where a 20KB scipt was turned into a 17MB docker file for distribution. Balena etcher (150MB ) vs Rufus (2MB) ?

    • @asdfqwerty14587
      @asdfqwerty14587 Před 5 měsíci +4

      I'm not sure I recognize it as being a problem in the first place to be honest. I mean, the things people are creating today are much, much bigger in scope than things we did in the past. If we spent the same amount of effort focusing on every little detail of how it worked, then it would take so long to create that there would be no point even trying to create it without cutting corners - either the costs would be way too high (hiring extra and more qualified software engineers is usually much more expensive than whatever efficiency improvements you're talking about) and/or the time it would take to develop is so long that it would already be obsolete by the time it was finished.

    • @tcurdt
      @tcurdt Před 5 měsíci +7

      @@asdfqwerty14587 As I said: It's obviously much cheaper to build on-top and accepting to not have a clue what your are building on top of.
      The "things people are creating today are much, much bigger in scope" made me smile thinking of the last point in my comment.
      But even efficiencies aside, this does create problems in the long run. And be it just that at some stage there are too few people left to build and maintain what your are building on top of.
      If you don't see that being a problem, you are being part of it. I think Jonathan has a point.

    • @asdfqwerty14587
      @asdfqwerty14587 Před 5 měsíci +9

      @@tcurdt Well, if I have to choose between:
      1) Developing some kind of software that doesn't do things as optimally as you'd like
      or 2) Not developing it at all because it's prohibitively expensive to do
      I'm going to pick the first option. And most people and companies will too, for good reasons. That's why that outcome is happening. because In most contexts it's entirely impractical to develop things the way you're imagining.

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

      ​@@asdfqwerty14587 As a good engineer or even good engineering manager, a main duty is to find the right balance between the two.
      But hey, random person on the internet: I am fine with you disagreeing with me.

  • @edwinontiveros8701
    @edwinontiveros8701 Před 5 měsíci +21

    mediocre scrum practices, focus on deadlines and ambiguous metrics and weekly delivers rather than quality delivery, relience on either FOSS libraries / tools or closed source with awful documentation that break API or ABI on each new update, environment mismatch among teams and projects, serverless and cloud migrations gone bad, non existent or badly applied CI/CD and testing practices, companies hiring in mass for cheap due to nearshoring, salary / responsabillities discrepancy, non technical people as managers and project leaders, pessimal architecure design, tech stack and initial design decisions, new frameworks every month that promise 100x performance and 100x development time reduction and scalability. All of this makes an already frantic and swift industry 100x more so, without proper tools and methodologies to follow up.
    There isn't enough time to learn everything as we should and are often forced to approach make-shift solutions that will surely break sooner than later.

  • @dave7244
    @dave7244 Před 4 měsíci +6

    It the same old rant. The fact is that they don't value deep knowledge. They need certain tasks done by a certain date for a particular budget.
    Jonathon has spent writing a game for years and a custom programming language when he could have just used a decent existing language and a few libraries.

  • @kjetilhvalstrand1009
    @kjetilhvalstrand1009 Před 4 měsíci +21

    I tried looking up how QR codes works, all I see people copy pasting etch other, giving half answers. peaple write about anything to get noticed, that is what I get out of it.

  • @oleksandraverchenko9920
    @oleksandraverchenko9920 Před 4 měsíci +7

    Market wants engineers who solve business problems as fast as they can and they pay for it.
    Naturally it leads to developers in a search of abstraction to solve the business problem sacrificing code quality and resource efficiency.

  • @foxdie8106
    @foxdie8106 Před 5 měsíci +205

    The main reason is your health. You need deep knowledge in order to work without anxiety.

    • @Taddy_Mason
      @Taddy_Mason Před 5 měsíci +6

      Awesome comment!!! A 1000% this.

    • @sumup-iz1zx
      @sumup-iz1zx Před 5 měsíci +11

      This is worth elaborating more. Please do.

    • @foxdie8106
      @foxdie8106 Před 5 měsíci

      @@sumup-iz1zx Imagine that you are a surgeon and you know how to cut a skin and extract something but you don't know more, and when you are in a surgery you need to search in google how blood works. You will have a life full of anxiety, depression and more. It's how current software developers lives.

    • @boot-strapper
      @boot-strapper Před 5 měsíci +26

      ive found that the more I know the more stressed I am. They say ignorance is bliss for a reason. There is a reason that python has taken off.

    • @academai11
      @academai11 Před 5 měsíci +4

      ​@@boot-strappersame, the more I know the more I don't know, if that makes any sense

  • @anonimowelwiatko4455
    @anonimowelwiatko4455 Před 4 měsíci +7

    Actually opposite is true. People usually care too much about understand everything or knowing how to do X the best which leads to insecurity, burnout, quick resignation. Not to mention complexity and amount of things to learn. Learn what you need and try making things. Look how other make things, learn from them. Read books from people who teach how to make things, learn. Adapt it to your own intuitive style and own it. If your program works, does what you wanted it to do, has 0 performance issues and you don't care about scaling it or preserving in the future, who cares if it's 1000 else if instructions of highly abstracts architecture. You will improve with time. Just do stuff and learn by solving issues you face. Don't look into things you might never make use of. It will just be a white noise in your brain. Learn stuff as you need it.

  • @-es2bf
    @-es2bf Před 5 měsíci +26

    Interesting projection

  • @gabrielfono844
    @gabrielfono844 Před 4 měsíci +6

    As software engineer , I totally agree .

  • @seccentral
    @seccentral Před 5 měsíci +136

    So after most people play pretend for a decade and a half - usually - , doing "school" mid,high,college etc, are we surprised that they have the absolute same approach to anything else in life ? Of course they will not be interested in the deeper meaning of things, they just want the paycheck. Yes it sucks, but it's understandable. Any sort of creative and curious nature that would have developed a deep appreciation and love for knowledge is systematically and carefully erased from the child until the adult becomes a mediocre opportunist(just enough to pass) or a goal chaser(straight A-s), just like the system intended. Knowledge ? What's that ? More importantly, why should the adult care ? Looks good ? I guess, but the idiot imbecile who couldn't be bothered to begin asking why is the one getting the promotion or the job because he conforms to what is expected and he never dares to inquire.
    Yeah Jonathan has a point, but his is only one side of the story

    • @jordixboy
      @jordixboy Před 5 měsíci +41

      Idk why this guy is so popular... I don't think he is so smart as people claim to be... he has his opinions, and I don't think they are right, actually no opinion is 100%...
      I'm a self taught SE. Love low level fundamentals, I build os'es, compilers, in my free time. But this stuff literally has 0 relevance on my job, it's actually far away. I don't think my job requires me to know this stuff to do a good job.
      The first thing they teach you in SE is abstractions, don't care about the underlying things you use, someone else already did, unless you are the ones writing them.
      His statements are sometimes ridiculous and really out of touch, really egotastical dude.

    • @tiranito2834
      @tiranito2834 Před 5 měsíci +14

      @@jordixboy ok, don't care about the underlying implementation because someone else already implemented it... unless you are one of the ones writing such implementation... so you think that you disagree with jon when you are saying the same thing...? uhm... hello? ok, here's a question. If everyone followed the same path of not caring about low level and underlying implementations for anything because someone else made it and someone else will work on it... when will someone else work on it? like, I think it is pretty easy to see where this is going, but somehow you've missed the entire point.

    • @HyperionStudiosDE
      @HyperionStudiosDE Před 5 měsíci +12

      @@jordixboy He has edgy opinions and speaks to the crowd that has a fetish for low-level programming.

    • @HyperionStudiosDE
      @HyperionStudiosDE Před 5 měsíci +4

      @@tiranito2834 Someone will work on it when they notice the current implementation doesn't fulfill their needs. Not that complicated. It happens all the time.

    • @illogicallogic2039
      @illogicallogic2039 Před 5 měsíci

      ​@@tiranito2834As ling as the underlying code serves you well there is no need to undetstand if someone runs into issues they can either work on it or go find something else that works. The notion that you need to understand these things at a lower level is what's ridiculous. Very few people want to dedicate their limited life span trying to understand an endless pit of knowledge.

  • @fearmear
    @fearmear Před 5 měsíci +49

    Let's not pretend anyone has the time to deep dive in every software engineering topic or even shallow dive. There are way too many new things.

    • @kklowd
      @kklowd Před 5 měsíci +19

      You're stuck in shallow waters. If you have deep knowledge all these new concepts are based on the same fundamentals and you missed the point completely

    • @rabbitcreative
      @rabbitcreative Před 5 měsíci +18

      @@kklowd > If you have deep knowledge all these new concepts are based on the same fundamentals
      This. In 20th year of programming all I can think is, "so you made a dumber way to do the same thing we've been doing for 20 years".

    • @papermartin879
      @papermartin879 Před 4 měsíci

      @@kklowd not a helpful answer when most peoples simply do not have the time to acquire that deep knowledge, and learning resources on low level subjects are worse than ever. Anything you're looking for you'll find 20 different resources on, all outdated or wrong in different ways and you have no way to know how without already having the knowledge you're looking for

    • @walterclementsjr.5947
      @walterclementsjr.5947 Před 4 měsíci

      @@papermartin879 when someone says they "do not have the time" then i'd say it is what is is. people acquire knowledge by spending time learning it. find and read a good CS book. don't read craps on websites that are SEO engineered to be the top results and waste more of your life.

  • @dan-cj1rr
    @dan-cj1rr Před 5 měsíci +96

    it's because everything has guidelines in civil engineering and law that everyone must follow. But software is never ending evolving

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

      We have guidelines in the current software industry, but the guidelines are idiotic. SOLID for example.

    • @johngoldsworthy7135
      @johngoldsworthy7135 Před 5 měsíci +8

      Wrong. There’s foundational knowledge in every discipline

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

      Because engineers have regulatory bodies they must answer to to remain engineers.

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

      @@johngoldsworthy7135 not when it's been Stripped to the bone for profits sake.

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

      And why are the guidelines there? because when things go wrong stuff physically breaks and people get hurt or die... in most (other than a few select instances) software projects the worst thing that happens is your code just runs a little slower than it should or is a pain to interface with or your webite is a little off, but no real measurable harm is made

  • @WidiarRavenhorn
    @WidiarRavenhorn Před 5 měsíci +76

    I agree with the opinion, but the root causes are very deep in the industry. Starting from open source people's obsession with new features over fixing the old to companies to not wanting to pay for research and education to hiring architects and designers who lack the basic knowledge of how to choose a proper stack for a project - or design properly before starting. So we end up changing the stack 3 times a year and use 70% of our work time fixing deprecated open source libraries whose creators couldn't care less about "backward compatibility" - like seeing 8000 new Stackoverflow questions about "workarounds" is their very oxygen to breath. To put it simply, there just isn't time to keep up with everything in a "deep level" if you want to have any kind of life outside the screen. (P.s. NVIDIA Broadcast with Noise and Echo removal helps quite a bit, for those running NVIDIA cards... )

    • @shikothe1st
      @shikothe1st Před 5 měsíci +4

      Sounds like a work with js/ts...

    • @nikitam7479
      @nikitam7479 Před 5 měsíci +8

      A small reminder - open source creators are not obligated to keep their major changes backward compatible. If you want that - go fund them and work together on a backlog

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

      100% correct but I do believe these can also be summarized under that same umbrella of a lack of stakes. In civil engineering, a fuck-up can result in many deaths. In software engineering, more often than not a fuck-up results in a minor inconvenience. Combined with the rate of change, a civil engineering project is expected to last 10x the time software is expected to last before a total replacement is due. As a result, the focus simply isn't on maximizing upkeep and efficiency. It's forward-facing.
      Most of these problems discussed here would vanish if the incentives changed, but they can't in the current model. The only alternative would be to incentivize behavioral change in other ways. If the force of circumstance isn't an option, it'd have to be voluntary. Like higher status for better engineers, with some certification criteria issued by a governing body. Essentially speaking, if you inject some academic mentality into the industry, it could result in maintaining a higher standard for engineers who would like to apply themselves to that standard for an increase in status, pay, or opportunities.
      Similar in nature to what happened to car manufacturers with their electricians. They'd knee-capped the standard wage for electricians and invented a tier system, calling their electricians "tier one." To advance to tier two, they'd have to have a bachelors degree for example. It's a fast and loose analogy that isn't 1:1 applicable to the software dev space, but you get the point. This can only be tackled if we engineer the value system at each step in the production pipeline.
      I could be off-base. It could be fruitless. Especially considering large portions of the industry currently value experience over certification. But I'm convinced that if there were a discernable difference to the higher-ups in the industry between top-end senior engineers that pride themselves on being incredible for the art of it, and middling senior engineers, there'd be a way to pull more middling engineers towards the higher ideal.

    • @nikitam7479
      @nikitam7479 Před 5 měsíci

      @@datboi_gee I get your point but we can't compare apples with oranges. In civil engineering you can't see people building or fixing old bridges in their spare time without being paid. In open source projects, and especially in the MIT-like one you can freely copy or vendor the code for your commercial purposes - so it's a little strange for me to even complain that the nebraskas author of library didn't thought about some if the implications of API - whatever change.

    • @ThePC007
      @ThePC007 Před 5 měsíci

      I kind of hate how lightly many open-source developers treat breaking changes. There are cases where breaking a few eggs is necessary to make an omelet, but in many cases, things are just being broken for seemingly just the heck of it.
      It’s particularly bad in machine learning frameworks. Most ML code is written by researchers who abandon their projects once they publish a paper about them (or shortly thereafter), so the breaking changes never even get addressed.

  • @matthewj6026
    @matthewj6026 Před 4 měsíci +7

    I feel like C++ developers have got it good nowadays

  • @rischio7678
    @rischio7678 Před 4 měsíci +7

    😅he is hurt there are more developers now

  • @thedaygomotion
    @thedaygomotion Před 4 měsíci +3

    *Tunes out deep online video game type mic breathing from other guy*

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

    This a great point

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

    dude suckin up all the air in the room

  • @CaneSugarHD
    @CaneSugarHD Před 5 měsíci +24

    People should see the programming abstractions meme where there's a line of guys in space pointing guns at eachother saying "Always has been". Your C/C++ code is not as low level as you think it is. There's no need for a web dev to know how n-type or p-type doping works or how logic gates work at the silicon level, that's not our job to understand. It's all abstractions built upon abstractions, always has been. Guys working at ASML or intel might not think of you as engineers either. Same way you guys look at JS or python devs as not being real engineers.

    • @birbies
      @birbies Před 5 měsíci

      exactly, oh my god. everyone in this comment section is jerking each other off so hard because they can code in a Real Man's language like C and they know what "xor rax, rax" means

    • @grenadier4702
      @grenadier4702 Před 4 měsíci +10

      Arrogant people who idealize the concept of a TRUE programmer

    • @_ClericalError_
      @_ClericalError_ Před 4 měsíci

      I see this attitude a lot, and it is strange. Webdev isn't really programming most of the time, it's more like configuration.
      Also, web developers are somewhere around the bottom tier on the programming ladder, but they are always the loudest.
      The vast majority of programming does into embedded devices, microwaves, TVs, hard disk controllers, remote controls, 90% of the object you touch on any given day has embedded software running.
      That's without getting into the really hard stuff, aerospace, medical etc.

  • @isaiahthompkins6523
    @isaiahthompkins6523 Před 4 měsíci +3

    Jons right that many programmers aren’t aware of all science in computer science but the entire engineering frame is about thinking logistically not “taking responsibility”. The beauty is not needing to know too many things per se & from a collection of a few lower level primitives one is able to build new machines capable of solving novel issues. Understanding an api is valid task in appreciating complexity & design, this video feels a little like gatekeeping to me.

    • @_ClericalError_
      @_ClericalError_ Před 4 měsíci

      Gates are built to be kept.
      The software industry has needed serious regulation for a while now, similar to civil engineering or doctors. I'm sure it will happen eventually, software-caused financial failures and injuries/deaths can only go on so long before those in charge are forced to act.

  • @GRHmedia
    @GRHmedia Před 4 měsíci +1

    I've been programming since 1983. I also went into the US Naval Nuclear Power program trained as a Reactor Operator, In college I was studying EE and CS, Went to work doing Electrical and equipment engineering after the Navy without my degree continued learning CS. I can easily tell you in all that time every decent programmer I ever worked with start off in ASM and a few in C. People who start at lower level languages end up far better programmers. Why because they understand the way the program is working at the hardware level. They learn to solve problems with less. They learn not to over complicate issues. For me all that additional work and training gives me more insight into how things are put together what the needed requirements are to get to the end goal.
    We have so many bad programmers these days we have resorted to hand holding. We created TDD to hold their hands so they could actually create a product. Rust is cross between C and C++ with hand holding. To do the same thing in C or C++ in rust you have to explicitly tell the system it is intended. That is asking permission to do something or hand holding.

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

    n log n is deep knowledge? Dafuk

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

    This is recipe for analysis paralysis. You can always deep dive when you need to. But back in the day deep meant 3 levels of abstraction, compiler, assembler, machine. These days there might be 20+ layers. No one needs to dive 20 layers deep. I am a boomer, but this guy sounds like a boomer.

    • @hansu7474
      @hansu7474 Před 28 dny

      And yet, the strongest engineers are people who 'can' go up and down the abstraction layers whenever needed. The strongest engineer I've met so far was trained as a reverse engineering hacker for a decade before turning as a software engineer. All the difficult problems that went over average engineers head, he solved it.

  • @friendly__drone9352
    @friendly__drone9352 Před 5 měsíci +8

    Great video but the nose whistle is reaaally hard to ignore

  • @cykes5124
    @cykes5124 Před 5 měsíci +7

    Bad take. Devs have more knowledge now than devs have ever had to learn. When job descriptions start hiring for "deep knowledge" then you'll get whatever bogus definition that is, right now "deep knowledge" is described as learning the exact details of libraries and systems someone else has made then creating specific systems from them. When job ads stop hiring for that knowledge then the problem will be resolved.

  • @Test-iv4pm
    @Test-iv4pm Před 4 měsíci +24

    It takes a long time to acquire deep knowledge now. Tech has advanced so much. There's a million different specialties with endless technical things to learn in each of them.
    The example he uses of Graphics is excellent. Can easily spend 10 years, solely in graphics, and still have tons of depth to continue to learn. The complexity of graphics has increased immensely over time. Like everything else.
    Deep Knowledge isn't what it used to be.

  • @RvcC-cu1zh
    @RvcC-cu1zh Před 4 měsíci +4

    So only people with photographic memory should be software engineers then. Normal humans do not have the time to learn everything, for they must also waste time learning leetcode and never ending new frameworks, libraries and languages that essentially all do the same thing along with insane SCRUM deadlines making them too burntout to learn new things when work is finally over.

  • @riverm5889
    @riverm5889 Před 4 měsíci +10

    I totally understand what he is saying! I was working with some motor controllers and looked into an api that was being used and learned a lot about usb communication. It's really fun looking under the hood.

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

      Look, all I'm trying to do here is center a few divs...

    • @BarrySlisk
      @BarrySlisk Před 3 měsíci

      @@shangothrax
      Let me know when you have the solution ;)

  • @pandabearguy1
    @pandabearguy1 Před 4 měsíci +3

    As a mathematician, I know the difference between nlog(n) and n^2.

  • @grenadier4702
    @grenadier4702 Před 4 měsíci +3

    Deep knowledge is needed either if you work in the area where it's needed (embedded, for example) or just for some achievement. Other than that it's just useless knowledge, basically.

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

    this breathing in the background.. killing me.. 😂 that being said - 100% agree, depth was replaced by breadth, and this kind of breadth leads us nowhere.

  • @mepipe7705
    @mepipe7705 Před 4 měsíci +1

    i guess a big portion of the problem is, that the most people who are alife today, did not go all the way through when the "basic things" happened. A computer nerd, living in the 80s, might have discovered every possible techical detail of his own computer - down to maybe building an own kernel or such. Today, children grow up with "smart" devices in their hands, on which they do not even really own "the inside" anymore. Additionally, now there are 100s of abstraction Layers - if you FIRST need to learn all technical basics, you will never come to the point of actually write state of the art code. So, of course, you start with hands on coding in one modern framework and do, what all the other kids do. And even chosing a specific JS framework is a challenge already

  • @willembeltman
    @willembeltman Před 5 měsíci

    I just learned i was using a technique ages ago that is now been made into a javascript library which can replace react and angular, according to the specialists.

  • @hobocraft0
    @hobocraft0 Před 4 měsíci +3

    The whole thing about software is that you're basically writing on top of what somebody else built and this allows you to go pretty far. So how can you really define expert knowledge in this field?

  • @wavereader8847
    @wavereader8847 Před 4 měsíci +3

    Part of the reason is ignorant CTOs and managers that want the popular thing and ignore everything else. They were pushing for React even though there are better Javascript API and libraries that does the same thing for free and are significantly faster. So they will get someone who specializes in React but may not even be that knowledgeable with Javascript.

  • @slider799
    @slider799 Před 5 měsíci +7

    So an example of "deep" knowledge for example is looking at a javascript lib in nodejs which somebody recommends. Looking at the API at a high level. Coming to a hypothesis as an outsider with no prior inside knowledge that a set of unsolvable bugs / issues exist eg performance, stability, state control issues. Then checking the currently active bugs set and confirming the hypothesis as a fact and they reject the proposal to use that lib.
    People who can do this need to be the tech leads, interviewers, teachers, mentors. When you hear people say things like its single threaded it can't have races... Run... run very very fast in any other direction away from that person. (They failed to realize the other threads are just external eg in database, filesystems, sockets etc...). So all their program will be full of data state races and issues with control of state.

    • @malusmundus-9605
      @malusmundus-9605 Před 4 měsíci +1

      Hey now a single threaded process can't have data races if it doesn't modify data which another process will access during its lifetime, and another process doesn't ever modify the data the process uses. It is possible to know this ahead of time, especially where the program we're talking about is very simple... like a hobby project that doesn't utilize external libraries.
      You could also carefully design a large project to support multiple threads later in the development process, skirting around aspects of the project which must, by their nature, be thread safe and reducing the time required to output a demo.
      So it's totally possible for a single-threaded process to be incapable of a data race.

    • @slider799
      @slider799 Před 4 měsíci +1

      ​@@malusmundus-9605 Incorrect. Even a single threaded process in linux has 2 threads. One user-space one kernel space which can preemptively interrupt the user-space thread.
      In order to make your statement correct. You program can't actually do "io" for example. eg a firmware on a hard disk is a "threaded". Other processes can also access files, change things as your reading them.
      This is why people like yourself are so freaking dangerous in the industry. You just know enough just to shoot yourself in the foot with full confidence the gun was unloaded at the time.
      Realize i consider your statement so bad i consider it trolling. So i won't reply to future messages.

  • @user-hr8ow4pq3t
    @user-hr8ow4pq3t Před 4 měsíci +2

    Strongly agree

  • @bokunogentoo4420
    @bokunogentoo4420 Před 4 měsíci +3

    While I do this sort of research during my free time for fun, the fact is I don't need this so-called "deep knowledge" to add a button to my company's site when they ask me to. Simple as.

    • @rayecast
      @rayecast Před 3 měsíci

      Yes, everyone already knows that web developers don't really know what they're doing. That's why you've all been laid off so much over the past year

    • @dawidkotlinski
      @dawidkotlinski Před 3 měsíci

      @@rayecast What do you think is especially hard about embedded? It's just harder to debug, requires more boilerplate (to manually manage memory and explicitly handle errors, which is trivial) and your stuff won't work if you make completely retarded performance errors, that's it.

  • @marcobaldi138
    @marcobaldi138 Před 5 měsíci +57

    I think the gist of the issue is that you have a minority of devs/engineers who actually know the fundamentals and are actually interested in doing a good service for their clients and you have people who just want their paychecks. The latter is the majority and it shows in quality of the products.

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

      Yep, I was thinking the same thing. My take is that the market size for developers is really massive and doesn't match the supply of great devs. The end result is that most devs aren't very good but they make the the majority of the voices in the space. To be fair, it's not really their fault, it's just that a lot has changed in very short period of time and people who weren't there at the beginning haven't got the historical context.

    • @boot-strapper
      @boot-strapper Před 5 měsíci +19

      There are plenty of people with deep knowledge that also just want payechecks.

    • @vmz1231
      @vmz1231 Před 5 měsíci +7

      The dreadful thing is that the latter is often what is valued by employers - just "do a thing" ASAP with minimal costs

  • @vanechka222
    @vanechka222 Před 4 měsíci +17

    I wish someone had a deep enough understanding of video technology so we wouldn’t have to view this whole video as Picture in Picture in Picture

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

      And there's a fourth picture being projected onto the presenters.

    • @pllpsy665
      @pllpsy665 Před 4 měsíci

      Unfortunately that type of technosorcery has been lost to the ages.

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

    Technology moves so fast and you gotta adapt so fast ofc you donmt have the same level of knowledge like for e.g who does Java for the past 20 years.

  • @kellymoses8566
    @kellymoses8566 Před 5 měsíci +18

    I have a crazy idea. Have the really good programmers have apprentices so that they can learn from them.

    • @idedary
      @idedary Před 4 měsíci +5

      Ah, yes. While we are at it we should establish learning institutes so they can have a lot of apprentices to increase efficiency! We can name these things schools! You are genius. Why have nobody ever though of it? Let's make one right now and call it Hogwarts.
      It's a joke. Too good of an opportunity to pass without leaving some sarcasm behind. A good idea, but the really good programmers are either too busy making big bucks or they are teaching at university more than 600+ people other than you.

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

      My son is going to be my apprentice. I'm going full medieval mode on this

    • @RdTrpBrgr
      @RdTrpBrgr Před 4 měsíci +1

      @@Quasindro also solves the problem of requiring 8 years experience in a field, as a fresh grad.

    • @kevinb1594
      @kevinb1594 Před 4 měsíci

      Yeah.. Trusting a population of mostly socially isolated autistic elitists with your education. That's going to work out just dandy

  • @Acadcayed
    @Acadcayed Před 4 měsíci +3

    This sound extremely unpleasant but its true. In general, there isn't a single roadmap ever designed to acquire a certain set of skills to design and create a standalone or isolated software project solely. The only software engineering enthusiast who create their own softwares based on their individual capacity are either unhireable or simply not interested in the corporate culture. Sadly, out of the majority are those who enter in this field because of the Money Factor. They become capable of doing one particular task in general, they wouldn't bother to look into other factors into play or enhance their skills in out of the box approach.

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

    We never have standards and technologies that stick around long enough to have deep knowledge.
    We're always always changing everything so no one ever has the ability to know whats going on. Just do the thing that makes the thing do the thing you want it to do mostly
    You also cant have deep knowledge the more innovation gets adopted. Only the very few will ever know that for a particual azure service the reason why you cant do a certain thing is a chip level issue in a gpu they selected 4 years ago and will take another 2 years to phase out.
    We have to constantly segment our knowledge and go deep in very very few things. It is otherwise impossible.
    In 1980 you could build your computer from chips and parts from radio shack and know exactly what code is programmed into the controllers and other chips.
    Now theres an entire team at amd just dedicated to knowing one chip on a motherboard and you have no clue what that chip is doing to make your printer drivers work or not.
    Abstraction is what we are facing. We love and need abstraction to operate but it competes heavily against deep knowledge.

  • @Jarikraider
    @Jarikraider Před 4 měsíci +19

    This is the equivalent of wine experts being upset that moonshiners don't understand the intricacies involved in creating alcoholic beverages. While they might be correct, you have to acknowledge that programming language advancements, made by the intended experts, as well as an increased rate of information availability via the internet has enabled individuals to write code without requiring the kind of background you'd expect from seasoned programmers. Continuing with the analogy, this is not entirely a negative outcome simply because you can have consumers that enjoy wine and consumers that enjoy moonshine.

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

    solve it by taking CS at school and reading a hell of a lot of books about CS and reading code

    • @kevinb1594
      @kevinb1594 Před 4 měsíci +3

      LOL Most CS grads can't even use these high level abstractions the guy is talking about. They focus too much on algorithms and efficiency when those things don't actually bring business value.

    • @edwardmacnab354
      @edwardmacnab354 Před 4 měsíci

      @@kevinb1594 Most CS grads never competed in some of the gnarly coding challenges that the few top dedicated nerds are into. A lot of them are well aware of the extent of the knowledge base needed to excel in the field beyond the curriculum . For me, it is dismaying to see so many AD HOC solutions flying around and trying to intermingle. No wonder Hackers can breach just about anybody. What a fkn mess !

  • @levantos
    @levantos Před 4 měsíci

    * HEAVY BREATHING *

  • @lifeonmars4088
    @lifeonmars4088 Před 5 měsíci +18

    Hey Blow, just finish your fucking game already.

    • @nursultannazarov8379
      @nursultannazarov8379 Před 4 měsíci +3

      What game? He has 2 games braid and 3d puzzle game. Is he working on some "deep knowledge " based game?

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

    this guy funny af. alright bro let me go ahead and make my own computer

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

    hold on guys ✋ 5 minute yapping session commence now

  • @rosepainting8775
    @rosepainting8775 Před 5 měsíci +72

    Very true, I am victim of this. Now I am learning computer fundamentals, Time complexity, space complexity, Data Structures and Algorithms, System Design - HLD,LLD. Design Patterns, SOLID principles, etc etc

    • @0ia
      @0ia Před 5 měsíci +91

      I personally find "design patterns" and "SOLID principles" to be not very good fundamentals.
      Wish you well.

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

      @@0ia I mean it's better than nothing

    • @phee3D
      @phee3D Před 5 měsíci +38

      You didn't understand what Johnathan was saying in this video at all then if you're learning design patterns and principals and whatnot. What I'm gathering from you is that you are trying to learn things that claim to solve a problem that you haven't even faced yet. It sounds like the same mindset as learning javascript frameworks to me, people learn those frameworks religiously without actually thinking about why they are learning them, why those frameworks exist, what problems they are actually solving and if they even make sense or not.

    • @yessopie
      @yessopie Před 5 měsíci +25

      @@0ia SOLID principles are basically just opinions... but somewhere lurking underneath them is the "deep knowledge" of program complexity, how a program can be viewed as a graph with arcs between the nodes that represent dependencies, and this graph can either be well-ordered or it can be an n² mess.

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

      @yessopie Yea. Sounds good. In my programs I generally like to keep that dependency graph as *flat* as possible and allow n² to not result in mess. (Like making my program work with memory as a primitive without getters/setters).
      Though, opinions about a program that hasn't been written yet are easy for me to misapply.

  • @ProSimples
    @ProSimples Před 4 měsíci

    If you had to know a lot before now you have to know a lot and a lot more.

  • @siddharthbhosale8979
    @siddharthbhosale8979 Před 3 měsíci +1

    Current software engineers don't need deep knowledge

  • @thisiswill
    @thisiswill Před 5 měsíci +14

    Man, this is the kind of discussion when you’re 3 whiskey drinks in at the alumni reunion 😂❤

  • @Transcriptor
    @Transcriptor Před 4 měsíci

    just test everything thoroughly and manage carefully

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

    I tried learning Java in my teen years, but found the community to be frustrating. Constant arguing doesn't help anyone. I found this to be the case for most programming languages. I never thought I'd say it, but perhaps we need it to be regulated and standards created. Like, a licensing board and semi annual testing to recertify (a lot like doctors and engineers) if you are programming commercially. It's probably a bad idea, but I don't think we as a whole community can pull ourselves together. We would have done it by now if we were going to... It's just my opinion though, don't take it too seriously. Might get hurt 😂

    • @_ClericalError_
      @_ClericalError_ Před 4 měsíci

      I agree with this sentiment whole heartedly. The software industry has, over the past 25 years or so, proven itself incapable of self regulation. Privacy breaches that leak sensitive personal information, failure of medical software, cars on autopilot that drive over people, planes that fly into the ground, it goes on forever.
      Software has become so foundational to modern life, and in many cases safety, that it should be regulated exactly like civil engineering, because it serves a similar infrastructural purpose.

    • @dawidkotlinski
      @dawidkotlinski Před 3 měsíci

      How is giving absolute power over the industry to a bunch of 110 IQ lawmakers going to help?

  • @FINALLYQQQQAVAILABLE
    @FINALLYQQQQAVAILABLE Před 5 měsíci +23

    I guess the problem is that software (unlike bridges) can be very valuable without being well engineered. If that's a problem at all. I don't think it is. I don't see a huge demand for great engineers with the kind of deep knowledge JB is talking about.

    • @akshaytakkar6747
      @akshaytakkar6747 Před 5 měsíci +7

      To build something valuable you have to iterate on it, if the code is not well engineered, iterating on it will become exponentially difficult with each iteration of the product. So, I don't think that statement is true

    • @alexanderchisholm2092
      @alexanderchisholm2092 Před 5 měsíci +1

      That is an awful take and a harmful position to have, a bad bridge that works is still valuable, but if we stop demanding that the structural engineers deeply understand the physics that bridges are built, one day our bridges will fail and kill people, just as bad software can and does kill people regularly

    • @tiranito2834
      @tiranito2834 Před 5 měsíci +1

      have fun next time you're using some kind of medical device or flying on a plane. I'm sure that there really was no need to make sure that the software was well engineered to ensure your safety! it just works!

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

      @@alexanderchisholm2092 Absolutely..for example the infamous Therac-25

    • @akshaytakkar6747
      @akshaytakkar6747 Před 5 měsíci

      @@tiranito2834 To be fair, there is in fact that attitude among startups especially that quality code doesn't matter because pushing out features quickly is the most important thing but they forget that low quality code will reduce their development speed dramatically in the long term. I've seen projects where development speed has grinded to almost complete hault because the code is so difficult to understand and the person who did understand it has left the company

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

    Going too deep can be a waste of time. You aren't going to memorize the different brands of transistors for an ARM chip when doing assembly.
    Also graphics apis and shaders are pretty easy to use but are mostly used by game devs. Getting angry that other disciplines don't know it is kind of dumb.
    It's like using an API that inferences a ML model and the data scientist is angry you don't know the particular regression algorithm involved.

  • @lannesromain1453
    @lannesromain1453 Před 4 měsíci

    100% agree

  • @CraccaHacka
    @CraccaHacka Před 5 měsíci +1

    It's so true

  • @wil-fri
    @wil-fri Před 5 měsíci

    Problem is the lacking of know what is happenning and how should some things be implemented and whay that way

  • @noelkelly4354
    @noelkelly4354 Před 5 měsíci +9

    Speaking as a recently retired 60 YO analyst programmer who started with COBOL I can agree this Keynesian sentiment about market/industry irrationality/stupidity.

  • @claytonbennett7797
    @claytonbennett7797 Před 4 měsíci

    totally.

  • @fawadmirza.
    @fawadmirza. Před 4 měsíci

    Have been pondering on same idea of shallow knowledge in computer science. Blow puts a nice question: what defines a respectable software engineer.
    Recently found ISO has published bunch of docs mentioning what a bachelor graduate in computer science should know about.
    I feel this is the way to defining a respectable software engineer, one who has read ISO docs on software engineering.

  • @Razumen
    @Razumen Před 4 měsíci +1

    Fast, cheap, done well. You can only pick two. Companies know this, which is why they don't hire gurus, they hire people that do what they want, quickly.

  • @stanleyshannon4408
    @stanleyshannon4408 Před 4 měsíci +1

    On the other hand, having deep knowledge of technology that becomes obsolete in 5 years seems like a bad personal investment in time. Better to begin acquiring shallow knowledge of the next thing.

  • @sweatypotato248
    @sweatypotato248 Před 5 měsíci +17

    Currently no one is paying high enough to study more, everything is expensive these days, even books, So I'll stick to basics

    • @lucifer-look-
      @lucifer-look- Před 5 měsíci +1

      You may find digital copies of the 99% of books in the internet

    • @sweatypotato248
      @sweatypotato248 Před 5 měsíci

      @@lucifer-look- yeah I know that, but professors always send anyone without a physical copy of book outside the class, Im already graduated though

    • @donjindra
      @donjindra Před 4 měsíci

      This info is free online.

    • @keyser456
      @keyser456 Před 4 měsíci

      @@donjindra I've been working on my own self-funded project for the past year and a half. I've been my own boss. I took it upon myself during this time to catch up on all the stuff I had kind of fallen behind on for many previous years while working a 40hr/wk job. What you find online is not the deep knowledge stuff you're hearing about here. It's really not. There are smart people online, really smart people, and they share tidbits here and there online. But to actually go a level deeper, I've found you need to find SMEs that write about it a level deeper, often in books. Online is a great conversation-starter, a great introduction. The deep knowledge is... well... deeper.

    • @netanelaker4437
      @netanelaker4437 Před 4 měsíci

      Yap. Exactly this. Want more, pay more.

  • @piotrd.4850
    @piotrd.4850 Před 4 měsíci

    Well, few people today could put together engine like one powering 1997 Total Annihiliation or mini-games in Mortal Kombat 2. Also, most things are now undercut by excessive IP protection and remote / cloud processing - we have powerful smartphones that could do many things on device, but there's barely API or documetation. On the other hand, as field matures, craftsmen are replaced by tool makers and tool users. People who do hardware, who build compilers, algorithms, libraries .... and those who apply them to particular problem. At some point, craftsmen had to built their own tools - now the gap / division has grew.

  • @honkycat5442
    @honkycat5442 Před 4 měsíci +1

    We're not allowed to anymore.
    Every project is micro-managed and everyone is constantly fighting over getting the "good" projects.
    The good work is taken up by greybeards who are NEVER moving on until they keel over in 20 years.
    Also education has bee ngutten.

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

    So what is his suggestion? Go back to assembly, machine code? Like what kind of deep knowledge is needed if you get provided a high level api? If you can make money with it or do something useful, I do not agree that deep knowledge in specific areas is need and this guy needs a reality check

  • @dallassegno
    @dallassegno Před 4 měsíci

    I was talking with mechanical and electrical engineers about how not knowing the old forms of math that in the 50s people knew, there will be a point when people forget how to do things. I was met with denial. Well... it is bearing fruit. It has never been more apparent than in programming today. People think the internet will be around forever. I say, not if there is no interest in fundamentals.

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

    I haven't heard about the speaker (Jonathan Blow) until now. But I love him based on this video lol

  • @hyperTorless
    @hyperTorless Před 5 měsíci

    Based

  • @chavruta2000
    @chavruta2000 Před 4 měsíci

    It seems to be the case with many disciplines, because you cam google thr answers for any situation and be done with it. Back in the old days you had to actually debug and engineer

  • @deedoodeedoo6382
    @deedoodeedoo6382 Před 4 měsíci

    I've talked with my buddy. There's just too much stuff to learn that all you can reasonably do is have a cursory glance over that. As a java dev I can name off the top of my head more than 10 things I need to know, all of them well. And they don't stop coming!

  • @SantiagoValdez
    @SantiagoValdez Před 5 měsíci +24

    I apologize, but I was unable to discern his arguments due to technical difficulties with the other person breathing through the microphone

    • @Blashmack
      @Blashmack Před 5 měsíci +11

      If you had deep knowledge on listening, you'd be able to block that out & focus on the message

    • @donjindra
      @donjindra Před 4 měsíci +1

      @@Blashmack You may be right. I didn't even notice the breathing.

    • @marshad82
      @marshad82 Před 4 měsíci +1

      Guess what? There's plenty recordings in existence with breathing sounds. There's plenty jazz records, where musicians hum while playing their solos. Plenty guitar recordings where you will hear fingers sliding over strings. Plenty piano recordings where you could hear pedal noise, or a pianist breath, and at least one where you can hear bird singing in distant background. The real problem is within you, not the recording. You get distracted too easily and, seemingly, struggle to filter out noise. I can see the humorous side, but this is an n-th comment here about that very non issue. Stop being so bloody sensitive, it's within your control (unless it's some kind of disorder, but even then it's not all black and white).

  • @ddHPE2020
    @ddHPE2020 Před 5 měsíci +20

    1. You don't need deep knowledge to get a job.
    2. You don't need deep knowledge to make money.
    3. The job market doesn't demand deep knowledge.
    4. There 1000s of companies building software to abstract underlying complexity.
    5. These companies make millions of $ only because more and more people want to stay at the abstract level instead of getting to the bottom.
    6. So why any should care about getting deep knowledge?

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

      Layoffs inbound.

    • @ddHPE2020
      @ddHPE2020 Před 5 měsíci +8

      @@kuklama0706 people laid off are randomly picked. It was never based on knowledge.

    • @user-rv7eh1ox1m
      @user-rv7eh1ox1m Před 5 měsíci +3

      when the client asks for a particular customization in their product which is build on low code and that low code library doesn't really provide that customization then a shallow developer will pull his hairs out navigating through that low code codebase trying to find the solution for that customization because he was never truly an engineer but just a package assembler

    • @stevenismart
      @stevenismart Před 4 měsíci +1

      ​@@user-rv7eh1ox1mthat's going to use up +$100k in man hours rewriting all that code. The client better have enough money and accept the quote

  • @MsDuketown
    @MsDuketown Před 5 měsíci +7

    Yeah, that's the competition between software engineers / devs / programmers.
    Dijkstra's arguments still stand, and the software industry meanwhile proofed to be more than just a feud.
    So it's about lingualism; not about to what medium these texts are expressed.

  • @-Engineering01-
    @-Engineering01- Před 5 měsíci

    Hey, is there a way to add a diferent subtitle language to your videos ?

  • @0xbadcafe
    @0xbadcafe Před 5 měsíci +25

    Old man yells at clouds "there just isnt much of an idea right now if what a civil engineer is"

  • @mattomwit
    @mattomwit Před 4 měsíci +1

    Sounds like this guy was born knowing how to code. I envy you mister. I had to change job in order to get into developement and I still am not very knowledgeable. It is good to know there are smug people out there who think so highly about themselves becuase they know how to write code properly.

  • @GotThatSwing-up3yg
    @GotThatSwing-up3yg Před 4 měsíci

    Wait, I wasn't supposed to be using the OpenGL matrix stack for lazy reasons?

  • @M_B_80
    @M_B_80 Před 4 měsíci +1

    Why deepdive into something, in 3 months it`s out of service. Buy a TV and you can be happy if you get firmware-upgrades for at least 6 months. And after 12 months its broken somehow, because something is old and out-of-date. An 1990`s TV still works today, as it has been designed originally.

  • @32zim32
    @32zim32 Před 4 měsíci +1

    JS frameworks are so popular because nobody did better alternative

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

    it's like a world where someone calls themself "graphic design expert" while just turning on/off some snapchat filters