Programmers in 2024 have no Deep Knowledge

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

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

  • @Frostmenn
    @Frostmenn 9 หลายเดือนก่อน +1759

    I mean nowadays they expect even interns to know alot.Stuff like (CI/CD),cloud,containers, frameworks,software delopement lifecycles,etc.. so i understand why people are speedrunning knowledge.The game as of right now is to speedrun concepts and when you get the job , then you can deeply learn them.

    • @andiuptown1711
      @andiuptown1711 9 หลายเดือนก่อน +142

      🎯

    • @absent72
      @absent72 9 หลายเดือนก่อน +207

      Yea that's exactly what I'm going through. I don't know how people expect juniors to have this wide breadth of knowledge as is, but now we have to deeply learn all of it before getting a job as well? That's a fairy tale world

    • @SandraWantsCoke
      @SandraWantsCoke 9 หลายเดือนก่อน +19

      It does not take much to learn the fundamentals. Yes, it takes maybe more than half a year, but this time is well spent and will be with you forever

    • @IvanArdillo
      @IvanArdillo 9 หลายเดือนก่อน +49

      Agree. The problem is the "then" part, when in the end you don't spend time deepening knowledge because you have to go on with the new problem coming.
      "Later" becomes "Never"

    • @officialasim6772
      @officialasim6772 9 หลายเดือนก่อน +17

      @@absent72I changed my major recently, I couldn’t take it anymore I’m looking towards nursing now

  • @alexthornton4450
    @alexthornton4450 9 หลายเดือนก่อน +836

    At least from my experience, I feel like a big contributor to software devs only having shallow knowledge is because they’re expected to know a ton of different things and are never given the opportunity to become highly knowledgeable and proficient in a single thing. Deep knowledge is never prioritized and does not often garner praise/raise.

    • @AIRRAZOR44
      @AIRRAZOR44 9 หลายเดือนก่อน +27

      Very valid comment

    • @Sub0x-x40
      @Sub0x-x40 9 หลายเดือนก่อน +32

      100%. Ut takes 1000 hours to learn one thing well yet junior development need to know 10 different technologies

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

      @@Sub0x-x40 It's a sad problem, juniors have tough decisions to make - depth vs. breadth, depth vs. breadth... DFS vs. BFS ;)

    • @phitc4242
      @phitc4242 9 หลายเดือนก่อน +17

      if you want to know something, you'll learn it *on your own*. "you're never given opportunity" because you're a below average programmer / LITERALLY have no time (wrong job?) / are a LITERAL, first time coder. no one will give you "an opportunity", you have to create that opportunity yourself...
      no words.

    • @square-deal2375
      @square-deal2375 9 หลายเดือนก่อน +18

      This is the comment I was waiting for. Most times many people are forced to have a knowledge of a dozen or so technologies and aren't allowed to specialize, especially in web dev and javascript. There's been many times I wanted to try to specialize but couldn't because I have to constantly context switch

  • @steco5441
    @steco5441 9 หลายเดือนก่อน +1729

    Thats why I started by mining aluminum and copper to make my own PC, hopefully by next year I will be able to start coding in machine language

    • @mijnusernameweetjuh
      @mijnusernameweetjuh 9 หลายเดือนก่อน +193

      I hope you also made your own tools or otherwise it's not deep enough 🫃

    • @cyrilgeorge7818
      @cyrilgeorge7818 9 หลายเดือนก่อน +17

      😂

    • @kgCode658
      @kgCode658 9 หลายเดือนก่อน +39

      start from learning assembly level language😊

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

      @@0x2B you r spoiled kid😐

    • @HarryBallsOnYa345
      @HarryBallsOnYa345 9 หลายเดือนก่อน +5

      Tbh though you would learn a lot

  • @EE12345
    @EE12345 9 หลายเดือนก่อน +414

    Yeah I feel that. I'm a crap "full stack" engineer with only shallow knowledge of a dozen different things, mainly because I had to learn 5+ languages and frameworks on the job with little to no mentorship. You end up learning just enough to deliver on tickets and never have explicit time to dig deeper or learn best practices. I'm left having to find time outside of project work and regular work hours to do deeper learning, but companies also expect me to have 6+ months worth of practice in Leetcode to pass interviews, so I'm spending my spare time on that instead of becoming a better engineer.

    • @marioprawirosudiro7301
      @marioprawirosudiro7301 9 หลายเดือนก่อน +23

      For what it's worth, Leetcode does help familiarize you with algos, so it's not 100% wasted time. That being said, I do think 6+ months is overkill. Better to dive deeper on the languages you use instead - after all, it's the tool of your trade. Or learn another paradigm.

    • @toogoodforthisshit
      @toogoodforthisshit 8 หลายเดือนก่อน +1

      I feel that, and empathize with you on that a lot.

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

      Leetcode is deep knowledge, the current trend is not. There's countless projects from the early 2000s that use a programming language you've never heard of, but the algorithms that these projects implement are typically still relevant.

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

      Well, software architecture is sort of universal, just like algorithms. All of the languages are basically the same. Spending a bunch of time mastering syntax and memorizing functions isn't as useful as mastering algorithms and software design principles. Never memorize something you can look up. Mastering when and how to use algorithms and design choices is the skill, not memorizing trivia about your tech stack. You'll memorize what you use often anyway.

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

      I feel you bro I’m in the same boat but we will sail through💪💪

  • @conor9816
    @conor9816 9 หลายเดือนก่อน +351

    I think a lot of the old school gatekeepers, and I mean that with the greatest respect(I’m old in age but new to the industry), had a chance to naturally grow with new technologies. Similar to the first resident of a small town that became a city. They know their way around and know everyone who lives there. While the new resident gets dumped into a huge metropolis and must figure out his own way to get what he needs and get around. If you stop and ask 10 different old school residents for directions to somewhere, chances are you will get 10 different answers. Nobody knows for certain the best way to learn fundamentals like in other professions. So how is a new engineer supposed to know (especially if there’s a job on the line) ? Learn by doing and hope the pieces start to come together over time ?

    • @willd0047
      @willd0047 9 หลายเดือนก่อน +20

      I like this analogy

    • @HotepSaoirse
      @HotepSaoirse 9 หลายเดือนก่อน +12

      This comment is criminally underrated

    • @AverageCppEnjoyer
      @AverageCppEnjoyer 9 หลายเดือนก่อน +14

      I was convinced by their talk at first.
      But i think your point is way better

    • @JayDee-b5u
      @JayDee-b5u 9 หลายเดือนก่อน +9

      This is a fact. The education cirriculum is inept. Data structures and algorithms should be taught through the context of writing a compiler.

    • @MePatrick73
      @MePatrick73 8 หลายเดือนก่อน +7

      Jonathan Blow has discussed this issue extensively in his talks, acknowledging the complexity of finding a definitive solution.
      Personally, I tackle this challenge by delving deep into my learning process. I immerse myself in the historical context of technological advancements, striving to comprehend the evolution of current systems. This involves studying influential papers that shaped developers' decisions, analyzing source code, and striving for a thorough understanding. In today's landscape, the level of abstraction is such that delving deep is imperative, unlike the past eras where necessity drove individuals to grasp every aspect, from circuitry to operating systems.
      It prompts the question of whether modern computer science education should be restructured to emphasize deep learning and essential insights. However, there's a concern that we might be expecting too much from educators who themselves lack these crucial insights, potentially failing to transmit them to the next generation. While contemporary computer science curricula excel in teaching mathematical principles and algorithms, they often fall short in applying this knowledge practically.
      Many new students express dissatisfaction, noting the perceived lack of value in theoretical courses and the insufficient emphasis on practical, marketable skills like web frameworks. This discrepancy underscores a flaw in computer science education. Spending even a single day delving into the source code of commonly used tools-operating systems, web browsers, search engines, text editors-reveals the foundational significance of these concepts and their pervasive application across various domains.

  • @AntonioDoesMetal
    @AntonioDoesMetal 9 หลายเดือนก่อน +421

    I spent my first 4 or so years in data engineering just getting by with the bare minimum of what I needed to know. Lots of Python, Bash, and whatever database I needed to know at the time. I've spent the past 4 years in my free time diving deep into "deep knowledge" of things like the low level implementation details of operating systems, programming languages, how CPU's and memory works, data structures and algorithms etc. and honestly now looking back at it I can't believe how I got away without knowing so much of this stuff. I was able to turn "I need to learn this" into "I want to learn this because I love it" and it really made this deep dive effortless. Not recommending others spend thousands of hours and dollars in their free time learning, however for me it's been absolutely invaluable in my career

    • @mrmatrix407
      @mrmatrix407 9 หลายเดือนก่อน +5

      exactly same thing happened to me its just like having a new perspective

    • @adamrauckhorst6592
      @adamrauckhorst6592 9 หลายเดือนก่อน +6

      Do you have any favorite resources that you've come across?

    • @deadlock7946
      @deadlock7946 9 หลายเดือนก่อน +1

      Yes. I would also like some recommendations to learn

    • @s_k_47
      @s_k_47 9 หลายเดือนก่อน +12

      My question is whats the outcome of this? asking for genaral info
      spending lots of hours gaining deep knowledge and only fraction of companies or lets say project team of people with Deep K, Big tech are also got polluted now.
      do you still work at same place / level compared to if you had not gained deep knowledge and stayed shallow and got promoted over time ?
      I have seen people being shallow and got promoted and working with very good knowledgeable people.
      People with DK do all the heavy lifting and other just get their slices out of result.

    • @BiancaAguglia
      @BiancaAguglia 9 หลายเดือนก่อน +1

      Are there any resources (e.g. books, websites, courses, people to study and learn from, etc) you think are particularly useful when it comes to getting deep knowledge?

  • @darkwoodmovies
    @darkwoodmovies 9 หลายเดือนก่อน +272

    NGL, I don't completely know everything about the frameworks or libraries I use. But I also feel like to an extent, this is a supply-and-demand issue. Companies don't care about your deep knowledge unless it directly applies to your role, so you only learn what you need to. But having a CS degree gives you enough deep knowledge to understand what the machine is doing and why, and IMO that's sufficient for almost all jobs.

    • @evancombs5159
      @evancombs5159 9 หลายเดือนก่อน +120

      I am a strong believer in just in time learning. If you try to learn everything in depth before you have a use case for it you will likely waste a lot of your time and not retain much. It can be an inefficient way of learning. Instead, you should get a high level understanding of what is possible, then dig deeper once you have a use for it.

    • @asdakuhi8h
      @asdakuhi8h 9 หลายเดือนก่อน +24

      Yup. I'd rather just build products that the business or client wants than slog through minute details to circle-jerk how good niche knowledge is. At some point, you may have to go into the deep knowledge and you can dive in when necessary.

    • @ikilledthemoon
      @ikilledthemoon 9 หลายเดือนก่อน +6

      You can't have deep knowledge with all the products you need to learn

    • @headlights-go-up
      @headlights-go-up 9 หลายเดือนก่อน

      @@evancombs5159 💯💯💯💯💯💯

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

      I completely agree

  • @arturfil
    @arturfil 9 หลายเดือนก่อน +89

    We have to admit that this is the industry's fault too.
    I have ds and algos knowledge, systems design knowledge, db theory knowledge AND STILL, "yeah I see you have projects in Java but we specifically need professional experience in Spring Boot ...". So it's not only people learning but employeers don't care for people who have deep knowledge in general.
    I still advocate that you will be better off, learning ds and algos, systems design and computer theory but you can't ignore the "shallow" knowledge you will be asked to have, when applying to jobs.

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

      Well, it sounds like they would like for you to have deep knowledge in Spring Boot. But, each role has wildly different requirements, so it isn't feasible to have the deep knowledge companies want for any given job listing. That's cool because that means there are more jobs out there because of it. That's also bad because you most likely don't know enough of the right thing to land a job. So, I guess jut learn the most common set of things related to your specialization and hope for the best?

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

      @@iMagUdspEllr Wow 5 months go by fast lol. My statement is more towards employers that say, "We are looking for a developer, you have the programming language so, we are sorry but we are not going to move forward" , and in reality if you know how to do a well architected software in any language, you'll be better off.
      I really think that you can be better off with some dev knowing language applying to a language with 6+ years of experience than somebody that matches the description but has less years of experience overall.
      There are some really niche jobs where sure, if you do api's and suddenly apply for a graphics engine job, sure that is vastly different but api's in one lang. is almost the same in another. Everything can be learned and we as software engineers should always be learning.
      Knowledge is transferible and people doing recruiting in general, are doing a terrible job imo. This is why I hate specialization, people shouldn't niche into a programming language blindly, sure get good at one before you learn another but your knowledge is transferible. It is always more important to learn how to solve problems.

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

      Yes, Spring Boot is quite big and nowadays you don't do any project in Java without Spring.

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

      @@majksu Not the point though, I have personal experience with Java Springboot, professional experience with C# .Net, Go and Nodejs. Creating an API in one language is almost the same as creating it in another with some architectural decisions differing. BUT, you can learn the syntax and be proficient right away.

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

      ​@@arturfil I mean once you land a job you'll probably be a one man army anyway writing in whatever project needs, but recruiters are looking for specific skills just for business needs. Either you talk your way through it or just paste in your cv skills you need for this job. It doesnt matter in the project, it's only for recruitment to be happy.

  • @coreydunkin
    @coreydunkin 9 หลายเดือนก่อน +50

    I was a "framework dev" for a long time, basically just working in the most popular framework of the time and getting by, recently i've been diving deep and your channel/site has been monumental for me and my growth.

    • @dustinscroggins6256
      @dustinscroggins6256 9 หลายเดือนก่อน +6

      Literally same I used the frameworks to get employed and then I really just started going crazy on fundamentals and still do I feel like they matter more as you become more senior

  • @derekdipietro2588
    @derekdipietro2588 9 หลายเดือนก่อน +60

    I agree with him in a sense, but most people are hired to a do a certain job. My job is to be a C# unity developer, I've expanded my knowledge into data structures and algorithms, worrying about performance and what not. But at the end of the day I write code in C#. Could I learn to write code in any language and figure out how to debug what I need? Sure, but at the moment I don't have the time for that. I think he's been working on his own for so long, and is so driven by his own success that he has no idea what it's like to be a normal person anymore who's just trying to survive.

  • @victorekea
    @victorekea 9 หลายเดือนก่อน +85

    He has a point and I do agree to some extent but you have to admit some of these issues are due to the way the industry is wired in general. Technologies are easily replaced and knowledge gained become obsolete. Trying to have a deep understanding of every underlying concept or technology is a noble goal but not sustainable in the long run. Especially for junior programmers

    • @Symmetryful
      @Symmetryful 9 หลายเดือนก่อน +11

      I somewhat agree but I would distinguish between concepts and technologies. Having deep knowledge of concepts is viable and important. Having deep knowledge of all technologies (which are layers of abstraction over concepts) is not practical and less important.

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

      Deepening the fundamental, that is the point.
      Frameworks are like company policies and people skills are fundamentals. Fundamentals can be always tranfer to different enviroment.
      If you are not manager, you won't go deep in how your company works.
      Same with frameworks, most people should not deepdive into every framework.
      Computers fundamentals hasn't change that much in past 20 year, everything is still linear calculation (branches are only to different linear pipe).
      Fundamentals make you understant that one instruction that broduce 100 cells, is a loop regardless level of abstraction.
      You won't make TypeA inside of TypeA object structures, because that is recursive memory threat that can invade whole memory exponentally. Road to hell is one bug away. (And all that wasted calculation that is needed just to avoid memory recursion to happend)

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

      100% It isn't the devs fault if the companies hiring process is so bad that you end up working with a bunch of devs without the required skills/knowledge. The dev accepted a job that was OFFERED to them. It is the management and organizations job to only offer jobs to individuals who fit the criteria of the role.

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

      The principle is that every new thing under the sun is just an iteration on the fundamentals, and someone with a grasp on them will be able to understand Shiny New Thing confidently, and much more quickly. You actually know what you don't know, and what you need to know.

  • @juanandresnunez658
    @juanandresnunez658 9 หลายเดือนก่อน +37

    This hit too damn close. I do not feel "impostor syndrome" because I am straight up an impostor, so it kind of makes sense that I haven't been able to get my first Jr role. I've been studying so hard and tried to practice so much but I still feel miles and miles behind people writing Rust/C++ and being masters of leetcode (not implying those things are mutual). But oh well, what can I do.

    • @insvil8783
      @insvil8783 9 หลายเดือนก่อน +1

      I felt this too hard as well, you're not alone.

  • @Djellowman
    @Djellowman 9 หลายเดือนก่อน +22

    1:07 "everybody hates algorithms & data structures" whaaat? That's legitimately the only programming i enjoy...

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

    When these people starting learning programming, there was probably only the so called deep knowledge required. But times have changed significantly. Even if you don't put time into the deep knowledge, you are still overwhelmed with all the new technology you need to learn to land a job. They had it easier. Much easier.

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

      25 years as a software engineer. You are 💯 correct. Was wayyyyyyy easier back in 1999.

  • @swojnowski453
    @swojnowski453 9 หลายเดือนก่อน +52

    You can't have deep knowledge if you are required to know 1300 libraries, programming languages, techniques, algorithms and others. Building and app can be compared to building a house. But to build a house you need an electrician ,a plumber, a builder, a develeloper. For apps, if you are a dev you are responsible for everything and supposed to know everything deep ;). Go learn to be a nurse, you will have a skill for life, go learn to be a programmer and you are out of date before you have started looking for your first job, even if you have a deep knowledge. You are a hamster on a spinning wheel that is spinning faster than a robot can run ... good luck chasing the dream and thinking in the era of bots you can keep up with them ;)

    • @sarjannarwan6896
      @sarjannarwan6896 9 หลายเดือนก่อน +1

      I think the problem is when you have too much abstraction. The obvious example is is-even/is-odd. Some abstraction is needed but I think we've gone a bit too far.

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

      The great thing with deep knowledge is that it can be applied to every other similar technology once you understand how they work.
      You still need to know many different types of tools like web frameworks or languages, but you don‘t need to learn everything again when you use something new, because they all behave similarly

  • @Salantor
    @Salantor 9 หลายเดือนก่อน +12

    When started the latest webdev project I was explicitly asked about which libraries we gonna use. For everything, from DOM manipulation, to forms handling, even without knowing exactly what parts will be complicated and which one will be not. I ended up cutting some of the list after realizing, that some of said libraries are not only unnecessary, but will slow the development process down. In the same project I see libraries being used in such a minuscule fashion - like comparing two dates and picking the later one - that I have to wonder if people are really able to write JS by hand anymore.

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

      The JS standard library on everything (especially dates) is such garbage that if you need to do anything more it makes sense to use a library. Is there any standard functionality that isn’t much, much worse than some basic 20kb package dedicated to it?

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

      @@frank13621 some places in the world that these 20kb packages are being downloaded to, barely get 3G mobile data. So for mobile apps that use these, you absolutely are adding bloat that is unnecessary, yes the standard library sucks, but its better to write the native code yourself and strip it down to be as small as possible than importing a 20kb library SIMPLY for comparing dates.

  • @s_k_47
    @s_k_47 9 หลายเดือนก่อน +63

    AFTER Reading through all 92 comments currently present, What I realize what JB is saying is actual truth. Most people are defending being shallow and calling have deep knowledge / fundamentals is not required in current environment, there points includes...
    * Current market is evolving very rapidly, you cant catch up having deep knowledge.
    * Companies just want to build and ship, no one wants to spend money for letting their people get deep knowledge.
    * Having deep knowledge in first layer of abstraction is better than having knowledge of core.
    * You dont need to know fundamentals to get the job done.
    IMO, these are those people which JB is referring here in 3:13, Out of 100 people only 10 wants to know fundamental and they are the ones who create packages, which is well created and maintained and have all those abstraction and performance improvements, So the left over 90 people can just install packages and get their job done.
    And both of them are fine, I am not saying first is best and later ones are worst. This point what JB is saying is currently becoz barrier of entry is/was very low the trend is more shifting on 90% side to 95% and 10% are now only 5% and JB wants to say is we need more people on building side than on consumption side.

    • @NeilMartin98
      @NeilMartin98 9 หลายเดือนก่อน +5

      100%. I think generally most developers I've bumped into have always had a good grip on the fundamentals but I can see people jumping into frameworks like React, Flutter or something similar without learning software fundamentals and it just being magic and no practice or exposure to the underlying language.
      We have to understand that the scope for a software engineer has grown fundamentally too. Back in the 90s, you wrote to just interface with a machine and this has now grown to deploying to cloud, pipelines, and potentially other microservices too.
      I think if someone just watched the video and didn't analyse it you'd assume Jonathan is the old guy shouting at the clouds but he's just saying it's moving a bit too fast for people to be able to actively get into the fundamentals first.

    • @yashizuko
      @yashizuko 9 หลายเดือนก่อน +6

      "well created and maintained and have all those abstraction and performance improvements" this made me remember i saw also the other extreme where so much over enginnered shit in the years just for the sake of "doing it well" that the code becomes a damn impossible task to understand creating.... vendor locking to the team that created the code from the start

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

      you just saying nonsense

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

    Honestly software engineering, networking, cybersecurity and Data science is All layers and layers of abstraction. Learning the basics of these can pretty much spring board you because many jobs combine these fields

  • @sejalheart
    @sejalheart 9 หลายเดือนก่อน +55

    idk if this idea is pertaining to this discussion but, it did pop in my mind that I think there are now two types of developers, one who is more into the fundamentals of code - like competitive programming, the math and logic behind stuff and, the other type to build apps to deal with specific problems - like automating something or building a shortcut of lengthy procedures! I feel like as long as the developer enjoys what they are doing, be it CP or projects, and are not in for the money, the domain would continue to flourish maybe.

    • @locinolacolino1302
      @locinolacolino1302 9 หลายเดือนก่อน +7

      The difference is the math developer can do the app developer's job, but not vice versa: and we're stuck with a whole lot of the latter.

    • @JuvStudios
      @JuvStudios 9 หลายเดือนก่อน +23

      It is a spectrum - the lower the level you are programming in, the deeper the knowledge about the hardware you get. Competitive programming is a distinct thing; knowing to simply implement lots of algorithms does not correlate with hardware knowledge.

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

      This is not what I think but I know with 100% surety i.e. - Actually there are programmers in 2024 who have all the knowledge required to create a program but they don't have a deserving job and income for their knowledge which irritates them from new programming auditors of 2024 first time introduced in India, whoever this man is, from whatever era, doesn't appears as he have any knowledge of programming, he appears more like a sarcastic joker, but still for the baby guidance in programming, before having a deep knowledge, a programmer need to be aware of aspects which needs depth and aspects which don't... that's why it's said kids shouldn't enter into programming before being matured.

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

      @@locinolacolino1302 not necessarily, people are always complaining about hiring leetcoders and competitive programmers that can't develop apps. although personally I do find junior-level web development easier than leetcode.

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

      I think you need to compare this to:
      - keyboard/code monkeys pumping out duct taped garbage/spaghetti code (because of time/money constraints)
      - specialists who know nothing outside of their extremely small bubble of e.g. only assembly/C programming
      There seems to be little in between.
      You have a billion different job offers for companies looking for (webdev) code monkeys who are proficient in some variation of a shitstack comprised of "popular" frameworks/languages. No time to master any of the languages in the stack, just copy-paste your way until this whatever app/website is done and the boss can collect his paycheck from the customer. Pretty brain dead and soul crushing if done for long periods of time.
      You literally waste tons of precious time on learning languages and stacks which are as disposable as the websites and apps you build with them.
      At the end of your career, you will have no memory of your first app/website and what you used to build it with, as you will have worked with hundreds of languages/stacks and no time to master them or learn anything useful.
      No clue what you did all these years, but whatever, it brought in a paycheck. Not really a path for someone that loves software dev in their heart and soul. You might as well go out and get a bunch of random jobs to earn a living.
      And then you have the real hardcore low level, embedded/CS stuff for e.g. defense contractors with equally hardcore, tried and true, precision work with assembly, C, C++, whatever.
      Maybe here and there I might see some jobs looking for Java devs but that has pretty much dried up as far as I can see (and for the better in my opinion).

  • @p.o.d9410
    @p.o.d9410 9 หลายเดือนก่อน +38

    I've been coding for 6 months now, when I started I tried to go for a bootcamp where they encourage this sort of behavior. I said to one of the facilitators "I wonder why my code is able to do x" and he simply said to me,"you don't need to know how an engine works to drive a car" so I left that camp and went on to learn python and js on my own, now that I am decent at the two, I am learn c/c++ because screw that guy and his lame approach to life. The way I see it you go all in or stay out.

    • @Ludo045
      @Ludo045 9 หลายเดือนก่อน +7

      yet he's right... You dont need to know how your car work to drive it very well...

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

      ​@@Ludo045Can you even compare the two? If you are going to become an engineer it does NOT hurt to learn the inner working of things.

  • @yashsolanki069
    @yashsolanki069 9 หลายเดือนก่อน +32

    The problem is expecting 5 years of experience from a fresher. Deep knowledge requires handling deep problems. It takes time for a developer to get deep knowledge.
    I would say for devs starting their journey, your curiosity and problem solving mentality is gonna help you get there what discussed in the interview.
    Thanks

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

      Atleast watch full video , deep knowledge here means , if you are coming to me and saying you do not even know what nlog(n) time complexity means why is space complexity important what is stack and what is heap you dont know and how is memory allocated you dont know --- you are shallow dev .. most of these things are taught in undergrad these are basic foundations which many lack

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

      @@seriouscapitalist you have a point but in the case where i know how things are working under the hood but at the same time that's not the concern because ee nee the feature out in production is how sometimes as a jr. Dev i experience so like just build shit and ship it. Unless I'm given the task to look closely into such stuff. The Deep tech knowledge even i know wouldn't make any difference here.
      Thanks for putting your thoughts buddy .

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

      @arvee-4699 You tend to forget that a lot of people don't come from an IT cursus. From experience none of the points you mentioned were introduced to me nor useful for my day to day tasks. What I noticed though is how pedantic can senior be regarding this but they aren't even able to explain them.
      Internet resources, senior, online courses... whatever they are never ever consider those aspects and even if you're willing to learn and deepen that knowledge, you're lost. There is a ton shit of stuff to know nowadays and an overload of bad resources that even just sorting that and find what's relevant to learn is hell. No one agrees, everyone has opinions and in the end juniors are just running after a high speed train. I'm there today and have no fucking clue of a decent learning roadmap for my goals.
      Some junior dev might just be lured by money and don't even care but to me the problem is also companies, industries and how people are willing to teach. I was hoping to get that from some seniors in my previous team and in the end they just were as clueless as me.

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

      ​@@seriouscapitalistThese are topics explained in undergrad classes though.

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

      @@pocolocoheyya3375 oops my bad thanks for correction meant to write undergrad :D

  • @forfreee2222
    @forfreee2222 9 หลายเดือนก่อน +119

    All these people saying deep knowledge isn’t important in software are ridiculous. Having shallow vs deep knowledge of even your terminal and text editor will teach you so much and you’ll be able to see similarities and pull from them in your own software and other tools.
    It’s crazy to think that having shallow knowledge on sumn that you work on a daily basis will have you comparable to somebody w in depth knowledge… literally compare a Junior vs senior dev

    • @ikilledthemoon
      @ikilledthemoon 9 หลายเดือนก่อน +13

      You can't have deep knowledge because you have to learn an entire stack and devops. It's impossible to know everything

    • @asagiai4965
      @asagiai4965 9 หลายเดือนก่อน +5

      Well the argument for that is what do you mean by shallow and deep knowledge?
      Technically all knowledge that are beneficial should be learned.

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

      It's breadth of knowledge vs depth of knowledge. I have 10 years of experience at FAANG and would argue that having a breadth of knowledge of commonly used technology is much better than having a depth of knowledge in stuff like the terminal or a text editor. We all have limited time and energy. Any time you spend learning things like deep knowledge of the terminal or text editor means less time spent learning the basics of other useful tools. I'd rather be good at a bunch of things that just great at a few.

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

      I copy paste everytime, my senior devs made me do so. I asked questions, they gave weird looks, they asked why are you asking this question. I stopped asking questions afterwards. Work is not measured by knowledge, but by delivering features to customer, whether that feature is critical to customer based on that you get payscale.

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

      @@aakashs1806
      pretty much this.
      I do the work, the compagny is happy, the collegues are happy, i take the money so im happy, and i go back home.
      And im a mediocre devs.

  • @SaHaRaSquad
    @SaHaRaSquad 9 หลายเดือนก่อน +11

    Learning frameworks instead of just JS also makes it very difficult to learn other frameworks and libraries because if you don't know the common denominator - JS. You have trouble identifying what part of a code example is framework code vs plain JS, and this gets even more confusing by JS itself accumulating more features and syntactic sugar over time.
    It is really important to understand the basics, the problem is you often only notice this after you already learned them.

    • @alok.01
      @alok.01 8 หลายเดือนก่อน

      I learnt React first then now kind of know NextJS. I don't know the vanilla JS but I do know its importance. I do know the basics but not enough, now I am trying to learn JS and after learning it maybe I will go into some Data Structure or something like that. I really want to build a foundation

    • @vava-lw9ds
      @vava-lw9ds หลายเดือนก่อน

      I didnt know react even existed at first. So I wrote a lot of vanilla js by hand like and then understood in depth about js. I understood about async programming after working in nodejs. Still has gaps in knowledge about the internal workings but still aiming to improve i have been mostly interested in how it work. I remember using react and writing document.querySelector inside it because i didn't know how to use it

  • @headlights-go-up
    @headlights-go-up 9 หลายเดือนก่อน +8

    Some great advice I’ve heard for noobs is to go one step deeper than where you’re working, just one. It’s a good way to gain a deeper understanding without being overwhelmed early on.

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

      I have no idea of 99% of the lingo jargon you use. I do and have always done programming ONLY for myself, for my math research. And, after 43 years of coding, I honestly can say I have no idea how to code in ANY language. I know less now than I did in Summer 1981 when I took my first and only Fortran course at community college. I am 60 now. I desperately need help with Mathematica. But it is not even worth trying any more.

  • @kameraderz
    @kameraderz 9 หลายเดือนก่อน +11

    I think this kind of opinion is the reason why tech or STEM people in general needs to at least try to learn social issues. Maybe a little bit philosophy, like critical realism. Because the way this opinion structured is ignoring the structure/mechanism/tendency behind the empirical event (softdev can't handle deep stuff). It almost likes they blame it on an individual, while the labour market is a part of free market, so when we talk about it we should take politics and economic issues into account. Because by doing that we would realize that this isn't entirely an individual issues, but systemic issues. This isn't skill mismatch issue, this is the demand-side issue.
    There's job scarcity issue, and they blame it on an individual skill? That's irrational. If a country is a labour surplus economy with scarcity of jobs & plenty of unemployment, building up its labour force to fulfill some jobs' technical or knowledge requirements is the least of its worries. Its main problem is generating the jobs to absorb them in the first place. So the demand for deep skill may not reflect actual need of skilled labour or particular composition of labour by the economy. Instead it might reflect more of the business cycle & labour market bargaining power between employers & workers. Moreover the skill mismatch discourse was part of "neoliberalisation" which dismantle the full employment agenda in developed countries & the developmental state in developing countries, among others, that made it more difficult to sustain job growth.
    Conclusion, this discourse on the needs of deeper knowledge ignores structural economic factors such as underdevelopment, scarcity of productive capacities, lack of jobs. The labour market simply reflects this.

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

    gotta have the right balance of learning on the go and knowing the prerequisite stuff

  • @davien001
    @davien001 9 หลายเดือนก่อน +7

    Ive been learning for over a year and went really deep for web development, even into the V8 Engine to see how it all works, to me, regardless of how deep you want to go there's always more to learn. Thing is there will always be someone with half assed knowledge or even someone with knowledge that can't build anything.

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

    2:04 This is true, When I started it out, I made probably 3 Javascript projects and jumped right away into React, now the outcome is that I'm kinda bad at DOM manipulation, now I need to pursue something I should have known. Please, if you are a beginner, don't jump into React, learn JavaScript first

  • @joga9665
    @joga9665 9 หลายเดือนก่อน +7

    I work with a lot of older guys that only ever did C# or Java (only a few tried both). I think it is not a new issue.

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

      There is nothing wrong with that. Those are very widely used and good languages. There will always be job opportunities with those languages, and it gives you the ability to really dig deep into how those languages work to use them more efficiently.

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

    This problem is very complex. On one hand, a programmer is expected to have deep knowledge and on the other - newer and newer frameworks are coming which only add additional complexity and dependencies on libraries and other frameworks to achieve basically the same result as before any frameworks existed.

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

      Yeah, but this is sort of not a problem because new frameworks either don't get adopted or they are basically the same thing with different syntax. It's rare that something new is actually head-and-shoulders better than the current solution. Then, in that rare case you can adopt the new solution if it is worth the time to rewrite the current stuff.

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

    I had an app that I was trying to do for a capstone project for a bootcamp (don't hurt me, I joined the military instead of going to university). Some of the interactivity we needed for our core django app would've required a whole different backend etc .....OOOOOOR - screw it, do it in jQuery. Because I had been passionate about computing for a long time, despite my lack of formal education - being able to say "nah, we can just embed jQuery, it'll be fine" saved the project, because deadlines suck. Understanding what came before and how to do stuff the annoying way without fancy frameworks isn't necessarily always the best thing to learn, but it does come in handy and can't come without some amount of fundamental knowledge.

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

    Frankly speaking I have seen people writing "Litcode" and not knowing any algorithm or concept of cache or even dont have general computer architecture knowledge, able to get into big tech software companies, god knows how by using Proxy, makes me re-evaluate my degree and practice once again

  • @Kyle-rf5mb
    @Kyle-rf5mb 9 หลายเดือนก่อน +6

    I've just got the SICP book to work through because i have a high level programming understanding (junior no cs degree) so i'm now going to try learn the lower stuff see how much it helps me.

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

    I actually agree, I’m self taught and I would say that I’m a developer, the word engineer should be reserved for people who went to college in cs, math or some type of engineering because of their deeper understanding!

  • @Full-Stack-Fernando
    @Full-Stack-Fernando 9 หลายเดือนก่อน +3

    I’m trying to learn to walk before I can run but JavaScript is hard and no jobs are willing to hire if you only know html css and vanilla JavaScript and it takes way too long to fully fundamentally learn JavaScript even tho I do run into a lot of problems I wouldn’t if i fundamentally knew JavaScript fully I wanna put it away until I get a job using react or whatever else places hiring want

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

    What .. there are really developers who use React without knowing JS?

  • @sadBoiDev
    @sadBoiDev 9 หลายเดือนก่อน +7

    I actually agree with this guy 100%. I’ve been a swift dev for about 5 years and did not take the time to learn the basics, I feel so behind :(
    Started reading up on patterns and other languages and feel much stronger now 💪

  • @mohd-arz
    @mohd-arz 9 หลายเดือนก่อน +16

    As an Indian , I can confirm that we are really into herd rather than what we actually like. If someone made OSS and got a good job yikes we all going to do that and get placed and someone did DSA and get FAANG we will also going to get their. But the problem is as myself we most of case don't care about under the hood stuffs and we really into some race... And if some 20 year guy get good salary that's might have his luck and also he might have some privileges towards this field and i promise his knowledge towards low level might be shallow..
    And I'm also followed that same but after i left Indian youtubers and get into international youtubers ie primeagon theo low level learning neet and some more. I realised programming is not and shouldn't be an end goal rathee it's an art like learning musical instruments. It'll take their own time to get truly good at it rather than being shallow good..
    And please take this as my experience and perception... Thankyou 😊

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

      His name is ... Indian--aegen!

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

      It's because d i r t b a g s like you only do things for money.

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

    It is evident that the field of programming is currently experiencing a decline rather than reaching its zenith. This observation is rooted in the belief that the industry is grappling with a substantial presence of subpar programmers.

  • @fairbanj
    @fairbanj 9 หลายเดือนก่อน +1

    Been doing this more than 30 years and I'm a hiring manager for a software company... he is SO correct with what we see with nearly all of the younger candidates.

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

    The solution is actually fostering a culture of apprenticeship. This applies to all subsets of engineering. Don't want people to form bad habits with mediocre skillsets and make the assumption that they should be getting paid like a doctor? Teach them what it takes to be successful.

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

    Speaking from the perspective of a beginner learning html for the first time, I %100 agree with what he is saying. I'm actually about to drop a course because I feel I'm just pushing out projects without having the time to actually learn what I'm doing. A good analogy would be I feel like I'm Bumblebee in Transformers, but with coding. I can string together a coherent sentence, but it's only by copying and pasting from another source. When it comes time to really understanding what I'm saying and formulate my own ideas, I still feel like I can't talk. Which I imagine is normal, but I feel like the attitude with a lot of other students is to just keep doing that and just "get the next assignment finished".

  • @blazinglyfaster9935
    @blazinglyfaster9935 9 หลายเดือนก่อน +20

    should we learn to make a fire with sticks and stones before using a lighter? Most of us actually have shallow understanding about tools we use to live our lives, but we can still effectively use them and continue to develop further with those tools.

    • @beatboy6690
      @beatboy6690 9 หลายเดือนก่อน +13

      I don't think anyone is suggesting that we regress back and use archaic tooling, I think instead we are asking "should you use a lighter before you even know how fire works?" or "should you use tools without first understanding what it is abstracting away from you?". What if your lighter runs out of fluid? What if your lighter becomes deprecated and you need to switch. Someone who has foundational knowledge about what it takes to make a fire, who knows it needs heat, fuel and oxygen will be able to quickly adapt to any tool that they're forced to use (the mark of a truly great software engineer). Someone who only knows how to make fires with their lighter WILL be left behind.

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

      When you become a senior level engineer and have to worry about performance then it will definitely affect how good you know your tools. You can not write efficient code if you don’t know what the underlying code is and how it works. At some point, you will have to write that underlying code yourself or else you get stuck in dependency hell.

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

      @@Trizzi2931 Why not figure out how to deal with performance when you get to that part? Do you think that approach to problem solving is less effective than going deep dive into the root of the technologies that are already solved? I honestly don't believe so.

  • @bladekiller2766
    @bladekiller2766 9 หลายเดือนก่อน +19

    I don't agree that if you don't have deep knowledge, that it will catch up with you in the long run, I've seen Principal software developers who don't know how to solve LC easy problems, or have not heard of Time Complexity and all that theory, but they know how to Design Systems, they know how to Manage Big Teams, they know the necessary Frontend Framework that is used by the company from end to end.
    Often there is a debate who is better programmer, the ones who focus on the CS fundamentals vs those that Experiment with new Technologies, and often the answer is that both can be successful depending on the job.

    • @sebastiankrali2547
      @sebastiankrali2547 9 หลายเดือนก่อน +1

      Deep knowledge != fundamentals, when you know for example how React works under the hood you have deep knowledge about a framework that can probably be applied to every other frontend framework.
      It doesn‘t matter if you know about every abstraction layer down to the cpu instructions, but that you know more than just the syntax of and when to use some technology

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

      @sebastiankrali2547 Deep knowledge is when you know some concept to the fundamentals.
      If you know React under hood, it will serve you no benefit for other frameworks at all.
      Since all of them have different architectural methodologies.
      Also, I meant about programmers who focus on the CS fundamentals side rather than technology speficic deep knowledge.
      I don't think the topic is about deep knowledge here, because I acknowledge that both types can have deep knowledge about different things.
      I mean, you might learn how React creates elements, but would that serve when you design some form or when you are coding a logic for some button with hooks?
      I know quite a lot of high level engineers that don't bother themselves wiyh learning "React under the hood" but they know the general frontend patterns and they can adapt to new frameworks like Angular becsuse there mightvbe reuse of some of them, even tough I would say this rarely happens for the high level patterns since the frameworks have 2 different approaches for the frontend.

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

    I have the opposite problem: I know a decent amount about how C++ interacts with the computer architecture, but I never learned any frameworks because I didn’t know I had to, and now I feel lost

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

      Lol.. that what I was thinking.... Most Dev get job through frameworks

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

    ive done a course in programming and passed the exam and the teacher said alot of people just had no idea about anything, Beacuse they just copy pasted from chat gpt without learning anything.

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

    IMO most people don't have a personality that makes them a good engineer.
    If you don't feel the need to find out why stuff works, you're not made for this. It's all about learning.

    • @vava-lw9ds
      @vava-lw9ds หลายเดือนก่อน

      Honestly I cant do it if i dont have a deep knowledge about it so i always strive for that.

  • @JrTech-rw6wj
    @JrTech-rw6wj 9 หลายเดือนก่อน +1

    Guys trust me when i started learning i skipped all these and when i started learning all these i came to know how it works and the underlying concepts of it . if you are a beginner learn the basics its gonna help you alot And dont learn programming if you want moneyyy learn it if you are really passionate about or you wont grow and its a complete waste of time you will loose interest after a while

  • @carguy-xv2cl
    @carguy-xv2cl 9 หลายเดือนก่อน +23

    Although I kind of know React I only focus on backend skills as id rather be a proficient backend developer than a mediocre full stack dev.

    • @AmonAsgaroth
      @AmonAsgaroth 9 หลายเดือนก่อน +23

      be careful. The job market doesn't (nor did it ever) share JB's opinion. From financial stability POV it might be better to be a mediocre full stack. Especially if you plan to have a life outside of work (family etc.).

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

      These days you'll need to be proficient at both

    • @carguy-xv2cl
      @carguy-xv2cl 9 หลายเดือนก่อน +2

      Well at smaller companies yeah but larger companies tend to hire specialized frontend and backend. Especially with the rise of microservices its easier to find specialized backend if you know a bit of cloud.

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

      Good on ya, I hope you can convince all your colleagues to follow in a similar path.

  • @ELLUHD
    @ELLUHD 8 หลายเดือนก่อน +1

    I think the most important ability to have as a dev nowadays is to be able to learn quickly rather then learn deep, atleast at first.

  • @debasishraychawdhuri
    @debasishraychawdhuri 8 หลายเดือนก่อน +1

    Even the framework developers have changed their documentation style. In the old times, the documentation used to talk about how the framework works.

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

    I feel this way. I never went out of my way to be a front end dev, but just kind of fell into React as part of my job. However, I think that maybe I make up for the lack of deep DOM knowledge via my EE background and literally writing ASM and C?

  • @AANation360
    @AANation360 9 หลายเดือนก่อน +16

    Well civil engineering is a bad example because it needs to be correct. Software most of the time can be incorrect and be updated later. No one's life is on the line unless you're coding some medical software or something

    • @p0tat0627
      @p0tat0627 9 หลายเดือนก่อน +5

      This is true for not Big Giants like MAANG

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

      Or NASA lol

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

      The banking sector will fudge you up if you think like this , you need to be correct

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

      and kids thats why your data keeps getting breached online

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

    how do i know if i am too shallow and superficial?

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

    I would like to add 2:00, as someone who learns to code for 3 weeks now, a huge problem as a beginner is that there are so many contradicting informations on this topic. You just have to google "what language should i learn first when i wanna get into coding ?" or "what basics should i know before i start to learn coding ?" and you get a ton of results, everyone's saying something different plus an absolute overwhelming amount of other informations to a point where i just said "F it I'll just learn C (in my case) and see where it leads". Sure you can't expect random people to handhold you and you have to be really interessted in this stuff to get a deeper understanding of how things work and why you use ceratin tools over others but already getting to this point is so hard as a beginner. And thats just me in my free time. Sure there are always these overconfident people that know one thing about topic X and think they're now an expert in that field, but can you really blame them if there is no clear path that tells them before you do Z you should first learn about w,x and y ?

  • @CodingResoures
    @CodingResoures 8 หลายเดือนก่อน +1

    More books should be written on this so that we all can learn the mechanism beyond the abstractions

  • @Gooseinator
    @Gooseinator 9 หลายเดือนก่อน +1

    My employer at one point pushed a course on learning React. It's a pretty popular one and just assumes you know Javascript, which I definitely didn't. It was a waste to start there.

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

    Moral of the story: Don't be hasty in acquiring knowledge.

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

    well it's not gonna change unless we stop hiring developers over a piece of paper that says they know how to do math and over knowing legacy languages like java.

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

      How else are you going to hire people?

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

    yea, not all plumbers going to care about deep knowledge of plumbing system as long it fixes a leak and earn a living.
    also dont sweat it, just gets better at what you do, dont stop learning

  • @sohelshaikh1171
    @sohelshaikh1171 9 หลายเดือนก่อน +11

    Can you blame the developers tho, majority of them do this as a job and as you said me knowing how to code a http server from scratch won't really help me when I just want to create a api for my service, pair that with the increasing demands of companies and we get people with a bunch of frameworks in their resumes and no knowledge of how or why that framework was created. Also the knowledge of why the framework was developed can't really be obtained while developing personal projects but I agree you should deep dive enough to make sense what you are doing.

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

    As a senior having to PR review work from Jr's that are copy pasting ChatGPT code by trial and error. Ending up with 5 different functions that does the same but neither does it correctly and on top of that when they are on their 5th iteration they don't even remember why they added the first 2.
    This is soooo true. Please don't blindly copy paste nor use AI to bridge massive knowledge gaps. You will end up shooting your -foot- legs off

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

    I agree: build deep knowledge about things. Don't memorize "things about stuff"; understand how it actually works. I keep hearing how Chat-GPT is going to take software engineer jobs, and it's true because we have so many devs just copying and pasting others' code (that probably wasn't very intuitive to begin with). These copy-pasta "developers" have no idea what they plagiarized because they never took the time to understand what they copy-pasted. If all you do is copy others' work, then Chat-GPT is already more valuable because it can at least generate boilerplate code based off of some specs. So, if you want to be more valuable than an AI, then you need to take the time to understand various concepts. It sounds difficult, but it's easier than you think. Just gotta put the time in...

  • @AKITOHASEGAWA-y1e
    @AKITOHASEGAWA-y1e 9 หลายเดือนก่อน +1

    People back in the day spent so much of their efforts in abstraction of low level programming to make it easy for future developers. Relearning them would be just reinventing the wheel. I do enjoy learning the computer science but making developers believe that you're not enough bc you don't know this and that is just gonna make everyone unhappy

  • @Vortex-qb2se
    @Vortex-qb2se หลายเดือนก่อน

    I mean honestly, if you don't understand machine language you haven't studied enough. Like for example you wouldn't be able to tell why this:
    for(int i = 0; i < n; ++i) {
    arr_cpy[i] = arr[i];
    }
    Is SIGNIFICANTLY slower than this:
    for(int i = 0; i < n; i+=5) {
    arr_cpy[i] = arr[i];
    arr_cpy[i+1] = arr[i+1];
    arr_cpy[i+2] = arr[i+2];
    arr_cpy[i+3] = arr[i+3];
    arr_cpy[i+4] = arr[i+4];
    }
    And I'm not saying that you should code in machine language just generally understand the machine you're using. And yes for gods sake work on projects and learn algorithms.

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

    I too agree with most of the other folk here, the main reason is the companies just pushing the limits of devs by forcing them to learn 100s of things right from the beginning, I remember many people told me in the first couple years I won't be given much work in better techs rather I will get familiarized with things, if I join any start up from day 0 itself I will be given lots of responsibility, and this only helps in increasing the sweet numbers in your salary, till some point but sad reality is after certain age you end up getting staggerd on knowledge as you cultivated a habit of learning on demand or just completing on demand not learning deep or worst not learning at all.
    I don't know how someone junior can achieve this, as you will have not just pressure from office to learn but also from society on your salary, evevn though you are doing great you will be treated as a waste, and that does matter not always but still, it's real life not movie...
    It's easier to say, oh you don't have enough knowledge, but try to understand the choices he had?

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

    honestly university did not teach me anything. The only thing I learned in university was getting work done. I did not learn much. I will try to teach myself but there were times when I just could not take more hours of sitting and wanted to go out or do something else. I was burned out. Im trying to find my place in the workfield of computer science cause I feel like I would learn a lot more then I did in school. Everything about university was just a rush of information overflow and my learning became stale.

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

    very true, have seen this in most all companies i have worked in, developers are just surviving from stand up to stand up by saying a bunch of BS to justify why their ticket is not done, recent i have heard: "css is just not playing nice", "3rd party lib does not support this", etc - POs and scrum master have no other option but to trust them. Now if you can code, but you are a not talker and just do your stories on time , give a one min update, that makes you not as noticeable and as if you are not working on such 'hard' features as the above ones - when i am interviewing , i am trying to sift through those 'talkers' who cannot solve an easy leetcode problem - sad.

  • @GoTSkillZ
    @GoTSkillZ 9 หลายเดือนก่อน +1

    well, its the problem with the industry, companies have adopted the aglie method of doing thigns and they want 6 months of work to be done in 1 week, hence API/Frameworks came into being, companies don't allow the developers to learn and dive deep and deliver a good end-product.

  • @nathanielblairofkew1082
    @nathanielblairofkew1082 9 หลายเดือนก่อน +1

    The prototypical approach to programming is full of profundity. Web apis are a good example of apis - they unlock data for the developer. WebGL is a another great example of a good system that opens up options safely for the developer. Game Dev related Graphics APIs, however, are notoriously horrendous, to the point where they not only lock the developer out of the fundamentals of the apps they are writing, but even the coding tools are non existent, webgl has actual proper tools for graphics programming, whilst traditional tools for graphics programming sometimes even lack basic syntax highlighting

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

      By profundity, I am naturally referring to the one shot nature of prototypical languages - unlike OOP, they allow single small programs to work without overly specific declarations, and popular web frameworks are always quick to prototype with and relatively lightweight. In other words, the precise reason J Blow sees not the profundity, is because he underestimates the nuance and meaning available in a small piece of JavaScript frontend code

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

    As a senior comp sci student, I think understanding low level and systems concepts, as well as the mathematical background is extremely important to creating quality software

  • @dustinscroggins6256
    @dustinscroggins6256 9 หลายเดือนก่อน +5

    It’s funny because as somebody from a non traditional background, the “why” behind programming has always been my favorite . I hate just using tools without exploring how they work it feels like I’m guessing lol

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

    Can't lie, as someone who lives somewhere that's not a great place, this speaker you're showing infuriates me.
    I'm making my way through college CS, but there's many of us who really need to meet the foundations of the Maslow Hierarchy. The speaker sounds to me to don't dare go into this field unless you truly love the subject as he does.
    I see this as a shaming tactic. Many people are trying to get into a decent field and live.
    If the argument is: you know, you're still at a beginner or intermediate level. Getting as foundational an understanding as possible will make you more valuable. I can see that.
    These people, I deal with these people at campus all the time, f-ing insufferable.
    Not saying people shouldn't know everything foundationally, it's that a lot of people want to live better at first.

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

    It honestly is the lack of time. I was like how am I able to master Leetcode at the same time learn new technologies and languages at the same time do projects in order to be skilled enough to get a job. So I really don’t blame people with how they deal with things. Because most of these things we are learning by ourselves are supposed to be learnt on the job. But for cost reasons they want a multitasker and expert. I ain’t complaining it just what it is.

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

    About the dom in JS there is know and know. I though I knew about pure JS in the dom before as a React Developer but I was wrong. I had to work in a legacy project for 6 months last year. JS & Jquery without any modern SPA framework and let me tell you why developers dont know about pure JS in the DOM: Its so shit compared to react (or angular and vue) that it is highly unlikely that is in any project that is still running. I found myself in this situation not because I was working on a standard web app but on an industrial web front end that is used in manufacturing. JS on its own in the browser is so shit I am glad nobody is using it anymore. You should get hazard pay to work on Jquery or pure js. (Disclaimer: I am talking about somewhat large projects not about small ones)

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

      same here,I work in the manufacturing industry with a legacy codebase. It is such utter shit that I wouldnt dare anyone to even touch pure vanilla js + jquery

  • @gisellemartinez-sanchez3509
    @gisellemartinez-sanchez3509 หลายเดือนก่อน

    Is there a good guide to "making or structuring a good scaled library" though? I see a lot of sources to do a lot of things - but they are very specific things and they are rarely potentially scalable (unless I missed the scalable ones)

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

    he is talking about programmers, brother i have seen some "mathematicians" who don't know why we do mathematics in the first place, for them its just a subject which gets you the cool/nerd/intelligent/intellectual tag..... and if possible a mid-life career change to programming, cuz " I'm more into building stuff and application( ahem money ahem ) than academics(ahem no point in being intellectual if i have no gfs and an audi) ".

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

      That's what academia has become. I know way too many terrible coders with degrees.

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

    part of the problem with newbies getting into open source is that TH-camrs are suggesting they do. I am a noob and i watched a video were this guy thought that the best way to learn was contributing to an open source project. I thought it was stupid but i am sure that at least some people have taken it to heart.

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

    Hot takes
    1.) Before people boast their deep knowledge. They should know the difference between algorithms and techniques.
    2.) Any shallow knowledge becomes deep. If you deep dive into it. See that person who use web API? If the same person makes your web fast or not resource intensive.
    That's deep knowledge.

  • @anthonyleong4238
    @anthonyleong4238 9 หลายเดือนก่อน +11

    I actually like the algorithms and data structures. I’m just not a good software engineer, though

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

      Same. Those who hate it prolly suck at it 😂

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

      You get better with experience. It's very hard to get good at software engineering if you're not already working in a team of engineers + PMs.

    • @hottroddinn
      @hottroddinn 9 หลายเดือนก่อน +1

      @@arjundureja - *good engineers and good PMs.

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

      @@arjundureja fair enough, I was hoping class and personal projects would help.

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

    I had two juniors on my team this year, one didn’t understand the concept on inheritance and abstract classes and the other one I don’t know how he got the job, fortunately he’s not in our team anymore. Reviewing simple code he wrote took a lot of time and sometimes he couldn’t explain what he wrote himself. People being on software engineers just for money is definitely a thing

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

    I think that this is due to the complexity of the software production world.
    In order to be productive nowadays and be paid to resolve some kind of problem for some company/client you rely 90% of the time on web or similar development, where most of the complexity have been abstracted away, you don't have to reinvent the wheel.
    In the past where everything was more low level you had to deep dive and so to grasp the complexity of the algorithms and data structures, so by now the only way you have to deep dive into the fundamentals of programming is either working on niches of software development (like low level/embedded/os) or work on specific features of products, where performance and reliability is a necessity. But that's the very small part of the programming world, otherwise you have to go by yourself with side projects, where always I find myself not having the drive to do something useful, because it seems always to be a "dumb" useless software project

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

      > complexity have been abstracted away
      The abstractions have often added more unnecessary complexity.

  • @electrolyteorb
    @electrolyteorb 9 หลายเดือนก่อน +13

    I agree word for word with JB

  • @iSaac-kp5lk
    @iSaac-kp5lk 9 หลายเดือนก่อน +6

    Heres the thing... the part of your brain that solves leet code and comes up with all the crazy algorithms is veery different from the one that designs systems and full stack apps in general.
    Ive worked with really smart people who can solve some pretty serious algorithmic problems but somewhat have an issue with putting together a fullstack app.
    So verdict? Well... never stop learning. You need leetcode for the interviews (and to design efficient algorithms), but you also need to know the systems and technologies involved to making an software work. THAT is what deep knowledge is about. Always start from the bottom.
    And this is coming from someone who started with React without knowing js well😅 (but i had to later learn about it).

    • @iSaac-kp5lk
      @iSaac-kp5lk 9 หลายเดือนก่อน +1

      Also, if you're in this because of the money alone then you're screwed😂... I'm sorry

  • @jameswo4794
    @jameswo4794 9 หลายเดือนก่อน +6

    Also it’s interesting how this guys take is that one of the instances of deep knowledge that’s missing is time complexity lol. That’s the one thing we don’t need to worry about for junior engineers fresh off dsa prep

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

      @marcelofernandes6501I never said it wasn’t. I’m saying it’s something that almost all new grads know so it was a poor pick of an example of deep understanding that’s lacking across junior devs

  • @user-ov5nd1fb7s
    @user-ov5nd1fb7s 8 หลายเดือนก่อน +1

    For the most part, people who use javascript are not programmers.
    I share this opinion with Jonathan Blow.
    People who write javascript as so far away from actual programming that it almost has nothing to do
    with programming.
    Use Zig, Rust, Jai and other programming languages and see the difference.

  • @yamix-tr
    @yamix-tr 2 หลายเดือนก่อน

    the moment i started learning a programming language & trying to make something complex, i just come back again to memory, database Queries, Data structures / Algorithms ... that part alone i made a plan for studying it for 2 Years 🤷‍♂🤷‍♂

  • @hurstilthymy4943
    @hurstilthymy4943 9 หลายเดือนก่อน +46

    No point in having deep knowledge when you'll be laid off after working hard.
    Fuck these companies
    Do the bare minimum, get paid, and move to the next one.

    • @p0tat0627
      @p0tat0627 9 หลายเดือนก่อน +10

      And sadly the culture has become like this. Time passed by and the people and companies became more selfish, a sad reality.

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

      @@p0tat0627 Don't hate the player, hate the game. I make $7k a month for doing almost nothing. I'm gonna milk the fuck out of these companies

    • @tanotive6182
      @tanotive6182 9 หลายเดือนก่อน +1

      @hurstilthymy4943
      The problem with this mentality is that it will stunt your growth as a developer, therefore stunt your career growth.
      I've gone deep at my company and have introduced a new language (Go) and built out our monitoring solutions.
      I'm now proficient in two new languages thanks to going further at my company (C# and Go) and now getting new offers out of the wazoo.
      Do more, get paid more and move to a better job when your ready.

    • @189Blake
      @189Blake 9 หลายเดือนก่อน +6

      I think you're mixing concepts up. One thing is working hard; another thing is being knowledgeable in your domain. You can be very knowledgeable and an expert in your niche, yet still do only the bare minimum for which you get paid.

    • @noelcovarrubias7490
      @noelcovarrubias7490 9 หลายเดือนก่อน +8

      This mentality is going to get you nowhere but to be a mediocre person forever.

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

    There is a solution. And lots of people are going to hate it.
    Regulate the industry. Require the same barrier of entry for being being a software engineer that lawyers need to practice law.

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

      There already kind of is.
      If the US required a masters in CS to be a SWE, then people would just go into more debt. Nonetheless, jobs would eventually become just as scarce because tech isn't creating many jobs
      So you're pretty much proposing to go into more debt without much gain

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

      that's not a solution that anybody is going to support, because it leads nowhere. At the end of the day, the businesses out there want to have more software developers. And if they can't find a certified one, they'll find an uncertified one. And sooner or later the companies using uncertified devs would easily take over the companies that rely solely on certified devs.
      Or you could ban any software development to non-certified devs (I don't know how you could do that though). Sure this is only achievable at a country level, not a global level. That country (presumably in your case the US) would just lose the competition for innovation, because less people would enter the field. And the US would then heavily rely on off-shoring the software development, which would only hurt the software devs in the US, because unlike law, software work can actually be off-shored very easily.
      Even when it comes to law, these certifications achieve nothing else than making it extremely expensive to not only become a lawyer, but also to receive legal advice. And that legal advice at the end of the day, certification or not, is going to be very often different from lawyer to lawyer and therefore quite possibly completely useless. So certification has only benefited the wallets of those certified lawyers, but not anybody else.
      Finally, let's say we would have certification for software engineering. You would think and hope that this would mean you would only get to work with competent colleagues. But that's just a dream, a wish, it has nothing to do with reality. In reality, most professions follow the same bell curve, the same Gaussian distribution. And you'd still end up working with a colleague that you'd be asking yourself, how is it even possible that this person has ever passed the certification?
      Not to mention, that many many software devs already undergo something of a small certification -> they graduate from a university. You probably have good enough personal experience with this yourself, but ask yourself. Is graduating a CS program at a university really a guarantee that your colleague will be competent. You have surely, same as I, met many graduated software devs, who simply weren't that good and their knowledge wasn't particularly deep. Certification is not going to solve anything. And it's not even a matter of liking or disliking it, it's just a system that is setup to fail sooner than it even starts.

  • @Aleaths
    @Aleaths 9 หลายเดือนก่อน +13

    Funniest thing is that Jblow has spent 20 million USD so far on developing his upcoming sokoban puzzle game. Could have probably been made using Unity/Unreal for 1/4 of the cost.

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

      He's not just developing a sokoban game. He's making his own programming language and game engine, the game is just a testbed to prove that the language works for large projects.

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

      @@Ryan-hl1btNeither of which anyone besides him will ever use seriously. Previous commenter is right to snicker.

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

      th-cam.com/video/llK5tk0jiN8/w-d-xo.html

  • @DARLINGTON-dn6ex
    @DARLINGTON-dn6ex 3 หลายเดือนก่อน

    What advice can you give to anyone that wants to start programming if u had to start all over again

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

    theres also another aspect to this that some may not agree with. tech has advanced so much that there are just way too many things that one is required to know and if you have to go deep unwrapping every layer of abstraction that was added to everything to make it simpler over these years/decades, it is going to take a considerably large amount of time and effort.
    I dont know how else to say this and I apologize in advance but that older generation had a distinct advantage as they built and learnt things from the ground up as they needed/were made available. they saw and made tech prosper from 0. they are pioneers and a part of that history. everything new from there was incremental knowledge to them which was easy to grasp and build on top of their already rock solid foundations.
    the newer generations on the other hand have to learn the essence and fundamentals of that ~50 years of tech history and then whatever the current tech stack that is in demand (and 1-2 libraries/frameworks) to get a job. there are just way too many levels of abstractions to unravel here unless one decides to stick to and master a specific niche. the evolution of technology has led to a deeper and broader pool of knowledge required for those entering the field depending on where they want to work/contribute.
    Im terrible with analogies but thats kinda like developing low level core tech like say assembly, HAL, OS interfaces, etc. then urging others to stop re-inventing the core tech and instead build things on top of them to make everyones lives easier and drive the tech forward. then coming back later to mock them for not understanding the core tech for some inefficiencies in their higher level implementations.

  • @MgelikaXevi
    @MgelikaXevi 6 หลายเดือนก่อน +1

    well, ppl are pushed to become a leetcode monkeys, who have as many buzzwords in a CV as possible. Ofc you don`t have time to go deep.
    I had some knowledge of time complexity even before I started writing my apps, but I truly started to FEEL that it might be an important concept, only when data I was working with and amount of looping became increasingly heavy, and then I was like "ah, yeah, that is that thing I read about! I can see why it matters..." .
    Then you stop " just knowing" concept, and start understanding it. And then you develop a habit of thinking about " what is under the hood" , "what is good on a strategical level" etc.
    It all takes a lot of practices, a lot of manual work, a lot going back and forth.
    But where is a time for this manual work, when you have to jump from framework to framework and cut corners, when going deep is almost never appreciated by interviewers?
    And then again - you can see how all those leetcode interviews are not helping at all, this is why a code at Google or Microsoft can be as retarded as code anywhere else.
    What truly can help, is to give your devs more time dedicated to reviewing, optimizing and thinking through.
    Getting rid of leetcode interviews, and starting interviewing for analytical minds capable of making some strategical decisions .

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

    My full time job requires me to write vanilla JS. I love vanilla JS for its simplicity. My side projects at home are all on React JS and 90% written using GPT lol.

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

    By the time i get to understand one language the market will have moved to another fancy new thing
    in early years u weren't getting a new fancy framework or pipelines or languages every other day
    so, it was much easier to pick one and learn ins and outs of that specific thing
    but now by the time u learn c++ you are expected to know python, JavaScript, rust, go, php, etc.
    it's not just people's fault, it's just world is moving and u have to keep up

  • @trailblazer3889
    @trailblazer3889 9 หลายเดือนก่อน +5

    It's a job. We're all trying to make money to live the life. If you want real knowledge then stop asking stupid questions.

  • @hellothere5963
    @hellothere5963 9 หลายเดือนก่อน +1

    I suck at Python, but whenever i see an actual good Python dev its always like using some libraries i never even heard of.
    So in order for a dev to be good he needs to just grind and memorise stuff like that? Thats unreal, i feel like the age of that is over, and its about learning how to find things instead of memorising it

    • @alok.01
      @alok.01 8 หลายเดือนก่อน

      Well that's true, really smart people built foundation and others build on top of that foundation

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

    Ooooh boy is he wrong about civil engineering! First of all very little changes in materials and constructions -- the all reuse age old construction methods.
    And when they do something new, they have the time to actually created modes, and test their calculations than upscale to a bigger model and solve issues and only then do they build and even then freaky shit happens. Take the Millenium Bridge in London, the Zwanenbrug in Rotterdam, arguably the Twin Tower and Building 7 that collapsed which no building is supposed to do from fire and debris. I have seen planes that have had serious design flaws where doors blew off (recently even), engines dropped off (Amsterdam 1991), Tanks that killed their own gunner because of moisture in a barrel. Wherever people engineer something new things go wrong, thats a fact of life. Even the space shuttle had serious design flaws two catastrophic failures.
    And him doing merely game development, is not someone who actually does develop systems that have any real impact. Games are generally relatively simple because they all have a few components, input, logic, rendering. The speed at which things need to be done is sometimes challenging but nowhere near as complex as for example automated order pick robots in a chaotic storage or flight control systems

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

      Nail on the head. blow is a clown. He's a megalomaniac who wrote a couple of crappy indie games and acts like he's John Carmack.
      There's something uniquely embarrassing about these (always male) ego driven nerds who honestly think that sitting in front of a keyboard and typing makes them action heroes. They're laughable.

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

    How I learn with AI has been a self contained experience. What’s the fun in generating 1000 lines of code if the point isn’t to go back and refactor the entire thing in every way possible until with the goal of refining into a modular service archetype? I really recommend it to anyone who has the time.

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

    Instead of copy and pasting, I re-right the code several times over until I memorize it, even though I copied it so that I understand it thoroughly. Especially your neet code questions.