Why CoPilot Is Making Programmers Worse

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

КОМЕНТАРІ • 733

  • @pilotashish
    @pilotashish Місяць тому +730

    One thing that’s true for problem solving skills:
    don’t use it, you lose it.

    • @headecas
      @headecas Місяць тому +60

      Most skills really

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

      I think AI is just another abstraction tier, though. This is as an aggregate over time, and for disciplined programmers, of course. To some, the internet is a place to copy code from. LLMs didn't suddenly change lazy programming in that way.
      As far as lost skills, well we don't retain much ability to write in binary. We have accepted that allowing compilers or interpreters to do the final and tedious step is an acceptable paradigm. We have also accepted Syntax highlighting as an important feature for any editor, despite it being a crutch of sorts. A more mature LLM may become an invaluable tool like all of those before, if the trade-off is deemed worthy.
      I think there are other factors in the software world that pollute the discussion. A programmer at a job counting lines of code as a performance metric will have a different incentive and intent with their LLM than someone using an LLM to help them learn programming in their spare time. Is it the LLM's fault that a company has an awful policy?
      I don't think current LLMs are worth very much loss in ability aside from perhaps boilerplate code that you could have macros for anyway. The future may be very different.

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

      That's why you will need Brilliant the sponsor of today's video

    • @svenmify
      @svenmify Місяць тому +38

      If AI makes you a worse programmer, you’re using it incorrectly. Use it to learn, and use it to automate tedious tasks. Be critical of what it suggests all the time. It’s simply not a good idea to rely on it too much

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

      i mean how much it can hurt just copying some :nth Child and animation CSS from GPT directly...

  • @hookflash699
    @hookflash699 Місяць тому +297

    Breaking: When People Stop Exercising, They Lose Fitness!!

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

      We gain fatness though

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

      AI is like a car it can get you a lot further, but also discourages people from walking for miles.
      Do people actually like coding? I guess it depends on how much proficiency you have cause I don't like constantly looking stuff up, so AI allows me to express my ideas in natural language instead of creating janky code and debugging forever. So AI is more like a scooter where you still gotta put some effort but the ride is much smoother which is better than walking.

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

      @@ckq If current AI is like a car, then it's a car that constantly breaks down and sometimes veers off the road. Personally, I'd rather just walk. 🙂

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

      but you exercise different thing

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

      ​@@ckqyou're not describing programming, you're just using AI, the AI is programming. You're like an "artist" that can't draw and just asks a machine to do it

  • @neruneri
    @neruneri Місяць тому +361

    I've worked extensively as a translator between different languages. As in, not programming, normal languages. The whole part about erosion in your core skillset and even erosion in your language happens even with normal languages outside of a programming context. When I spent more than a year away from my home country, I started having trouble with just retaining my vocabulary in my native tongue. Took me a couple of weeks of being back home before I was back to normal. It's totally a thing.

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

      Genuine question, how are things going these days with translators and the whole AI hype, is it making many in roads into that line of work or is it very much hype driven like the programming world?

    • @VivekYadav-ds8oz
      @VivekYadav-ds8oz Місяць тому +46

      @@padraigconnolly2991 I imagine for formal and important meetings, people would definitely prefer a human translator. Could you imagine if the AI hallucinates something in a diplomatic discussion between two countries? Sht could cause a war 💀

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

      ​@@padraigconnolly2991 A mixture of both. It depends on exactly what type of translating work we were talking about. Machine Translations were already dominating certain parts of the industry, especially in terms of just translating for business sites and things that were "good to have, but not critical". The very cheap translation jobs for translating large amounts of text has been dominated by foreign people using MTL and then roughly editing the output since like 2010, and that section of the market has been absolutely further revolutionized by chat models because it functions similarly to what was already done but gives better outputs for the same amount of labour.
      From what I'm able to see, the scope of that type of work is certainly increasing as well. It's getting good enough that it is "acceptable" to more and more companies, not just the absolute cheapest ones. My take is that it is going to increasingly take over the low-quality and the mid-quality types of jobs more and more.
      "Bespoke" jobs are still going to exist though. There are a lot of types of job where high insight into context matters. Localization work for entertainment is an example of this. I don't foresee these jobs going away. AI tools might start being used here as well, but they will still need more human input to correct for context.
      Most AI and even the old MTL tools are very bad at context, especially cultural and cross-language contexts. Words can have literal translations but mean entirely different things in the other language due to context. This is where humans are unlikely to be replaced IMO.
      I've done a little bit of everything personally. I'm not going to be out of a job because of AI, but there are absolutely situations where AI can be used to help the workflow. AI tools aren't perfect to replace things like one-on-one translator work in person, but it can certainly be used in a pinch. I don't do that type of work anymore, but I don't expect those jobs to completely go away. It will depend on how critical it is to accurately communicate, if that makes sense.
      What I do most of the time nowadays is more along the lines of localization work. Not always creative projects, but my clients do pay me to be able to find the best way to get across the exact meaning that they were expressing in the original language. My type of work will not be replaced by AIs, but it could potentially be used in this process.
      For now though, I still find that it is roughly the same amount of work to just translate a document by hand from the get-go as it is to put it through a chat model and then correcting the result. An example of the kind of area I've done work in is translating medical documents and facillitating communication between doctor and patient. Both on behalf of the hospitals or institutions, but also sometimes on behalf of individual clients.
      The main thing I've seen being useful in that area has been that clients have had an easier time bridging some of that gap by themselves with the help of the AI, but it's not precise enough to always be used as a substitute for an actual person who speaks both languages. It's definitely been *helpful* however.
      Anyway, wall of text, but here's some of my thoughts in general without going into too many details .

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

      ​@@padraigconnolly2991 ​I posted a super long reply but it seems to have disappeared? Anyway yeah, there's definitely an entire part of the industry that has been dominated by machine translations since 2010, and they do very low quality but functional translations that are a little bit edited by humans and then just sent. This is incredibly cheap, and low quality, but it's already a huge part of the industry and that market share is definitely just going to increase over time.
      The theme though is that this is low consequence. While I don't do one on one translation work in person much anymore, I've done both that and translation of documents for hospitals. AI can and is used by patients in a pinch to try to communicate with their doctor, but nothing beats having a person there who can speak both languages.
      AI and MTL sucks at context too, so it'll never be good enough to use for localization work. I explained more in depth about that before my comment got eaten but I can't be bothered to retype it.
      Vivek is on the right track though. High precision, high consequence, or high context sensitive work is inherently a bad fit for automated processes, and that's *generally* what I work with, so I'm not exactly interfacing with the trend as much as other parts of my industry.

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

      ​​​@@padraigconnolly2991I used ChatGPT to learn Russian, and I'm able to have conversations with native speakers and I understand most words.
      I like ChatGPT more than other translators because it's able to explain things where a direct translation doesn't work or doesn't capture the meaning. For example misspelled/slang words, euphemisms, and sayings. Although somehow ChatGPT got it into its memory that I'm learning Russian and will occasionally respond to my English queries about programming in Russian. (I know I can delete "memories", but I find it comical and it's random, spaced repetition). It's been very accurate in my experience .
      That being said I wouldn't trust it to translate anything important, like another commenter said, you wouldn't want it to hallucinate during negotiations. IDK how it would do with larger blocks of text, I usually ask about individual sentences/words. It's good at rephrasing my translation in a more natural way as well, since the word order is arbitrary in a lot of... cases... I tend to default to a correct, but somtimes strange, word order/sentence structure which would be used in English.

  • @anotherdamnuser
    @anotherdamnuser Місяць тому +117

    The biggest trend in programming for the last 10 years was "Become a dev in 3 months", well, some people believed it, now they call themselves programmers, not copilot fault, this "downfall" has been happening for a long time before LLMs.

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

      This is so true.

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

      I'll go you further. Before those become a programmer in 3 months there were these things called boot camps. 😊 You'd go into a boot camp for 6 months and supposedly you could create the great new startup. Some people were actually able to pull that off, the vast majority as in 99% were not. And yet people still carry around that mentality.

    • @What_do_I_Think
      @What_do_I_Think 28 днів тому +1

      You had bad programmers all the time. Even people from universities can be bad in programming. Fact is, that without real experience you ARE bad (that is why they called "junior" btw). The problem is, that LLMs suggests, that bad programmers can be good with the help of STUPID tools.

  • @a097f7g
    @a097f7g Місяць тому +96

    Knowing how to code vs. using Copilot is like speaking Japanese vs. using Google Translate.

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

      What if you know Japanese and still use Google Translate to -supervised by your intelligence and criteria- improve your Japanese texts.

  • @masterwaylon
    @masterwaylon Місяць тому +334

    Anyone else enthralled by the way ThePrimeTime highlights everything in a paragraph except the first and last characters?

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

      yes

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

      Oh my god I didn’t notice that until you said this

    • @AS-wp3hb
      @AS-wp3hb Місяць тому +41

      Off-by-one errors are hard

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

      I'm enthralled that you chose the word " enthralled " from all the words lol

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

      Didn’t notice he did it. I do it because (in my phone) many sites select more than I want when I select the first and last chars. 😂

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

    In my team we have a copilot “license”. Juniors don’t get to use it, and frankly we often turn it off for parts of our work, it just doesn’t do an amazing job apart from boiler plate and data manipulation.

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

      But it's really comfy for boilerplate.

    • @MF9-h4j
      @MF9-h4j Місяць тому +1

      Even with data manipulation it isn't great. Can't even understand that JSON needed to be parsed LOL K then me being half blind and falling asleep at 4:30am and open the editor for a minute and see things that AI can't lol fixes the last bug in 10 seconds at 4:30am when Ai couldn't figure it out... Me using AI to fix a data manipulation bug when over-tired brainfogged and still being better than Ai....

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

    LLMs make pretty good rubber ducks. Surprised it wasn’t discussed at all.

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

      Agree! This is my main use for them. Which is why I actually prefer the chat interface to something like CoPilot. But then I am slowly getting old, and perhaps change-averse.

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

      This is precisely how I use them.

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

      Precisley!

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

      I say this all the time, it's my #1 reason I use them.

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

      Yeah, and obviously that's kind of inherent in the concept of rubber ducking, if i do use an AI, i try to only use if i'm really stuck on something.

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

    Before I was a coder I was an artist & designer. My graphic design class year was the last with all analog coursework. We had to hand set type, make marks with rapidiograph pens to 1/128” precision, and layout pages for prepress with razors & tape. I had been using Photoshop, Quark Xpeess, Aldus Freehand, and 3DS Max on my own for ~5 years as had most designers & publishers so I wasn’t pleased. Control Z is my friend and wubbie.
    Fast forward 30 years and all the cool plugins & most of the desktop publishing tools have become Adobe rentalware, but I learned theory & techniques used to make things making learning new digital tools pretty straightforward.
    Explaining why skeuomorphic icons look like they do to folks under 45 is fun too.

  • @swampdaddy4014
    @swampdaddy4014 Місяць тому +230

    I can't imagine what being self taught looks like in 2024 with all these things.

    • @pixels_per_minute
      @pixels_per_minute Місяць тому +38

      Same as it was before these tools came out. It's not like all the resources these LLMs leached off of no longer exist.
      Just avoid using these algorithms and find/learn what you need yourself without relying the robot. It also helps not using a search engine full of "AI" features.

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

      Looks like when we invented high level programming languages and didn't need to use punchcards, vacuum tube arrays or assembly anymore.
      Whole lot of obsolete details were forgotten or not learned, but the information was still there for the once in a blue moon someone needed it.

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

      @@pixels_per_minute The issue if that youngster tend to use them.

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

      You can spend more time learning things than finding answers and writing it to test it for yourself.

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

      @@iMagUdspEllr Finding answers (which is in fact, solving problem) probably accounts for 50% or more of a developer's work. So it's essential to be able to find answers quickly and efficiently.

  • @idontneedname2529
    @idontneedname2529 Місяць тому +75

    This is so true! I'm a 5th-semester computer science student, and I've noticed that whenever I use the IntelliJ IDE with the "machine learning" autocompletion, it shuts my brain off, and I just end up hitting tab to autocomplete. As a result, I have no clue what I'm doing. By disabling it, I activated my brain again and realized how much effort it actually takes to understand and write code.

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

      I mean, don't take it as a personal attack, but some of you guys probably just shouldn't be doing any mentally challenging work. If you had a junior sit next to you and make poor suggestions would you also accept them without thinking?

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

      First thing I did when installing the jetbrains family editors was disabling full line completion, just feels absolutely horrible.

    • @clark4428
      @clark4428 Місяць тому +38

      @@JanVerny It may not be a 'personal' attack but it is still trying to be an insult. 1) There is a difference between the confidence of an AI tool that you *are* supposed to trust, supposedly, and trusting a 'poor suggestion' from another human where you will have to think it over. Hell, I'd say going with the human's suggestion over the AI's is better because you'd still actually have to write it out yourself and understand it. 2) You wrote this on someone's comment who made the active choice to critically engage with the medium to perform the mentally challenging work.
      Just feels like you wanted to sound superior and say it in the most needlessly snarky way you could.

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

      @@JanVerny But if you can't trust it and have to review it, then it's no better than writing it yourself, completely defeating the purpose

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

      @@Kwazzaaap I was honestly kind od not planning to respond, because, yeah, I was probably needlesly snarky and arrogant in my original comment. But you guys have some big L takes.
      At least try to pretend to be decently competent. You get an insanely fast tireless junior and you can't be bothered to at least check his work? You turn off yout brain because you think you are supposed to trust the machine? What a sad lame bunch of pathetic excuses.

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

    I use AI for explaining what an existing function does. Since it is trained on the docs, it will most likely just simplify 10 minutes worth of documentation into a single response. Asking it "What does this part of the code do" is much more reliable than "please implement a function that does Y". The former it will just explain the quick definition of the docs, while the latter almost always will generate buggy code.

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

      That's it, so a student would really benefit of it, and not only that, you can also ask it to explain things differently til you get it.

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

      Yes, the tools work best if you’re already an experienced programmer and, for new languages, if you’ve already learnt them to a certain level, before being assisted by the AI.

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

      yep this is what i use it for , searching info and docs

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

      @@kevinmcfarlane2752 also good for different versions , sometimes it is timeconsuming to gather the old version docs
      aslo it is much faster to search for concrete info than reading throu documentation

  • @almazu2770
    @almazu2770 Місяць тому +65

    When I learned Chinese I wrote every character by hand and remembered how to write every character I know. Then I started only typing the characters using pinyin(basically pronunciation) and suddenly I realised that I couldnt recall how to write a certain character and I had to look it up on my phone or somewhere else. Copilot seems to work in a similar way

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

      Same for me with Japanese. This is also true for Japanese people. Since we 99% write using computers or smartphones these days, it is not uncommon for people to have to look up how characters because they forgot how to write them.

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

      Good analogy. And as you now there are LOTS of gotchas that will find us in human languages if we don't commit fully and stay committed to all the skills needed to say "I speak that language". We're just talking about learning and staying committed to it, which is easy to let slide too long.

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

      I guess there is a similar thing in english where you can forget how to spell certain words, and your vocabulary can diminish over time if you don't do a fair amount of reading and writing.

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

      @almazu2770 thats transfer knowledge. In order to use something in different domains you need to wire it through your brain at least once. For a language that reading and listening on the input, and speaking and writing on the output.
      Once you expressed something meaningfull like an application, letter, paper etc. you know the character for many many years. But if you only exercise them like vocabulary they only wire on the surface of the brain and loose connection with more usefull stuff.

    • @StevenGamble-g1z
      @StevenGamble-g1z Місяць тому +1

      The interesting twist on this however is that you’ll very rarely, potentially never have to write a mandarin character by hand outside of purely learning as it is no longer used due to tech and typing being more efficient.
      Wonder if that can be applied here too.

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

    learned helplessness is really important. a junior I helped had the problem to just want to solve and rush from problem to problem - never really understanding what or why worked. It is helpful in the short term or when you must solve a problem fast but can hinder your progress extremely overall.

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

      If you dont solve fast you will get fired

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

      To be fair, software is an industry that demands results as fast as possible. There are plenty of senior engineers who do the same thing. They just hide it better.

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

      you cant teach someone who doesnt want to learn

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

    The best advice here: Fix the blind spot. Do not become helpless.

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

    My coworker keeps in memory countless details about past projects, often even those he hadn't even been involved with directly. Meanwhile my brain tosses the info out the window after sometimes even 3 months. Add that to the 'skill' of which I also forget a good portion constantly.

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

    On that LSP and the stdlib topic:
    I often use LSPs, but never use them for learning the standard library. I also never know the entire stdlib, but I am often somewhat familiar with the areas I've previously used. I very often have the stdlib (or third party library) docs open on my second monitor.
    I don't use LSPs for discovery, I use LSPs to make typing out the code that I've already planned out in my mind faster, and to avoid making an accidental typo while doing so.
    What I actually use to aid in discovery is a linter. When I program in rust, I turn on the pedantic clippy lints. It then sometimes catches when I write dumb code or reimplement the standard library and tells me about this stdlib function that I may not have known about before. It's always fun seeing these lints.

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

    Whenever I need to figure out the solution to a complex problem, I just like to take the dog for a walk (I live in the countryside, so plenty of room here) and after a bit the problem and its solution will just come to me. Absolutely no interest in handing that off to an LLM.

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

      @@tonystarkagi what are you talking about 😂

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

      @@OfficialBeeswaxsince you can’t comprehend basically Money is going to AI and the systems that support so it will get better no matter how hardheaded we engineers get

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

      @@cohaya1 are you an LLM? Because I think you're hallucinating

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

      @@OfficialBeeswax lol no I’m an actual Machine learning engineer and was a software engineer for years beforehand. I develop by following the money not hard headed folks like you. Change comes whether you like it or not because you have no control

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

      It is stupid to no used it if I'm able to review if the answer it is right or wrong

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

    Code is a liability, not an asset. AI is Autogenerating liabilities, it doesn't fix anything.

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

      Skill issue. Doesn't happen when I use AI.

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

      ​@@steve_jabzCare to share that AI?

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

      ​@@steve_jabzyour comment history on the channel is so funny, lmao

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

      @@ambralemon yeah

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

      @@ambralemon he might be AI himself lol judging by his comments

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

    great tip about reviewing your own code inside the corresponding code review tool. I really like creating the PR as draft first and review all of my changes there. almost always find smth to improve

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

      which ai do you use?

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

    This article is so true. I have junior devs that just use llm's to "get the job done". But when they put it onto an existing application, and it breaks.
    The next thing they do is come running to me saying it's not working. Every single time. They don't even try. They have a year of experience, and they lack basic problem solving skills. And it's like they don't even care.
    I don't know if it's llm's making them this way or is the younger generation lacking patience/motivation or simply laziness. I don't know. I just don't know.
    And I hate to admit it. I am using them as human llm's. They give me a basic bare bones application that sort of works, i just solve the bugs and integrate it into the existing application and can just save myself from the earful I would get from my manager.
    It's so pathetic seeing the younger generation.

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

      Right? Junior devs typically don’t learn to solve problems, they just learn to write (maybe good?) code 😢

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

    I have this weird flex to have never used it, because someone else writing code from what i say, always comes wrong. I rather take things in my own hand and write good/bad code and its on me to fix it.
    A colleague is different because we both can share knowledge (the context of the project is better). So we can give each other feedback as well.

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

    I use it for very specific tasks
    1. Repeating a pattern of code I've already written
    2. A litte more robust autocomplete
    3. Writing doc strings (with modifications later)
    4. Writing tests

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

      Be careful about the tests. Gonna get obliterated by a pseudobug that sometimes fails and there's nobody who knows why they wrote the test that way. I would triple check even if you go into extreme detail specifying a comment description.

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

      @@adissentingopinion848 Totally agree, everything I listed must be done with caution, care and further edits/refactoring to make sure it's actually good
      But I find it to be a great boilerplate generator, it gives me some general test ideas, and I refine them and make them more useful or work better

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

      It's pretty damn good as a complex universal text format transformer for situations where you otherwise need to manually delete a *lot* of crap line by line or copy paste, but regex is either impossible or even slower to create for a find and replace.

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

      Although, not for huge documents, since it both fucks up more, and you need to be able to visually verify results since obviously you can ot trust them with modern LLMs.

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

    It's not like a careful explanation is needed here... the effect is completely obvious. It's also obvious why would it be lucrative for Microsoft to make programmers sorely dependent on their service.

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

    Eroding of programming skills isnt AI/copilot's side effect, it's the goal!!!

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

    Making software like this free to students is always about building dependency. Adobe, autodesk, etc. Is islndustry standard largely because every student I know in film/games/photography learned to use their software for free and is now paying for a license.

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

    Historically, automation doesn't make artisans worse at their jobs. It makes a class of laborers who are not artisans, but who can use automated processes to make something that is functionally equivalent to what artisans make. The mechanized loom didn't make weavers worse at weaving. It made the time of poor people a commodity for the rich. The people who stayed weavers didn't get worse at weaving, and their work didn't get less valuable. If coding AI follows the same pattern, your goal should be to stay an artisan because if you become a worker in a code factory, your labor is going to get a lot less valuable

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

      Well, it didn't make weavers who didn't use mechanized looms worse at weaving, but any weaver who adopted a mechanized loom certainly became worse at weaving without it.

    • @JavedAlam-ce4mu
      @JavedAlam-ce4mu Місяць тому +1

      Surely their labor became less valuable, because there would have been lots of other cheap labor flooding the market?

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

      @@JavedAlam-ce4mu Buy a handwoven rug and let me know how cheap they are

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

      @@voskresenie- why would anyone weave without it? it just doent make sense

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

      @@Delaterius and how much slower it can produce than with machines , also the quality is usually not better much

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

    I'm still problem solving when I use copilot, the problems are just higher level. I really don't see what I'm losing by copilot writing the 5 boilerplate crud functions rather than me spending 30-60 minutes writing them.

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

      All in understanding and actual competency.
      If your abstractions mean you understand a problem set better and as a result can implement it quicker then it is a great abstraction. Copilot is not helping you abstract, it's just doing shit for you. So you're taking away your problem solving ability and giving it to something else. Which is fine for speed, but that is the dampening that's happening. If it takes you 30-60 minutes to write 5 boilerplate crud functions, that's probably a sign you might be lacking a bit in your domain. Chefs may have apprentice's cut some veggies, but they're still absolute mad lads at chopping onions and they're designing the menu.
      Co-pilot is kind of tricking you into becoming a head-chef but you can't dice an onion to save your life.

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

      Nice analogy👌🏻

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

      @@Snollygoster- and people can't even think 5 minutes into the future to predict where this is going, they think someone is going to give them infinite compute to let them solve their petty little problems ? no, its going to cost money, and more and more money too, so you are making yourself reliant on a paid service, how is that different from being a crack addict ?

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

    One thing that I think often gets overlooked is that programming isn't this static thing. 20 years ago TS, Kotlin, Go, Rust, etc didn't even exist. Even old languages like C and C++ get updated with new features. How are LLMs going to be trained to use new features and new languages without programmers producing code? And how good will that training be if the quality of the code LLMs are trained on is poor?

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

      LLMs are trained on open source. You don't get much poorer in terms of quality.

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

      More like they're trained on any code off the internet. Not matter if it's some brand new green coder or someone developing a well made tool.

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

      On top of that, the amount of times projects are completely halted because of lack of fundamental knowledge.

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

      That's the problem that data annotation startups are meant to serve. Or as the racists on here often call them "actually indians." The open question is whether we can train the models on javascript frameworks faster than people can throw new ones together with the new and improved LLMs.

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

      This is already happening with the llms. They cant give you good pyside6(qt for python) code, cause the they dont know the newest Version yet(it dident come out befor 2021). Wenn you ask for code in the new version, they just chage the number not the out off date syntacs. If LLMS could read documentation and original source better, they might become usefull, until then its better to give in and read the docs :( .

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

    “Never memorize that which you can easily look up. “
    -Einstein

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

    Then why does people say that "we will not be replaced by Ai rather we will be replaced by a person using it"

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

    It's all in how you use the tool. History is loaded with examples of how innovations have increased our dependency on things we no longer understand. You probably aren't sustained off your own food plot, contractors aren't building new construction with traditional joinery methods, and I don't have any desire to go back and understand the fundamentals of operating system development or punch card programming. I built the fundamentals of reasoning for 8 years and I learned how to build an understanding. Now I can use this new tooling to fetch the data required to build a more in-depth understanding when needed, and when it isn't a new concept I can skip rewriting iterative loops in slightly different contexts for years to come. Is it probably best to go back to your roots from time to time, yes. Then again, how often are you going back to working out long division on paper? Some skills just stop being useful over time. There is an ever-present elitest attitude that comes with having something committed to memory, but by all means - skip memorizing syntax. Learn the core concepts, and then focus on furthering your growth in newer areas of development. Go use a library to make REST calls, you don't need to understand the nature of MTUs and the TCP handshake or QUIC protocol. It'll be okay.

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

    When I started my plumbing apprenticeship, my boss had me scratch my way through the surface of a floor with the tip of a hand saw. Took me hours. Helped me understand the process better than using any power tool would.
    Know what tool I used every day since then? The power tool. I did it once, understood it, and *moved on*. This is what any decent modern developer does with an LLM - they understand the problem on their own, maybe they make things a liiitle easier like my boss did when he scored the floor for me, but once theyve done it once, they move on and let the tools do the jobs that are easy for tools.
    If a tool can do the job for you, there is no economic value to you being able to do it yourself. AI is a tool. You don't sit a skilsaw on the ground and expect a house to get built, and you dont prompt an AI expecting working complex software to be built.

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

    As a junior programmer, I turned copilot off while learning or doing personal projects cause it kept answering the question I hadn't fully formulated in my head yet, it knew what I wanted to do before I did, it wasn't a fun interaction, I think I understand the "reviewer" pov explained, it just felt like I was constantly checking that it indeed wrote what I think I wanted, and it was just plain boring and would get no actual learning from it.
    I would like to be able to customize what can be autocompleted, if it's repeated code or simple yet extensive stuff, then I'm all for autocompletion, but most of the time it gives me a solution I didn't think of, therefore no learning, no fun.

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

    As a learning developer I thought I was slick using ai to write my db queries, and parts of my react code but then I kept finding myself stopping coding whenever my free GPT/Cloude limits ran out. That's when I knew I was in trouble. Been AI free for a week, and I plan on using it in extremely limited cases exactly because I've become a code reviewer (which I don't even have the skills to do concidering my experience level) instead of a programmer.

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

      My advice; stop asking it for code, and start asking it to give you the steps that *you* should follow while *you* write the code.
      Instead of learning to rely on it, you'll start seeing the patterns and start, on your own, figuring the answer out on your own.

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

      @@BruceNJeffAreMyFlies Yeah, that's also how I use it. I describe the feature I want to implement and ask it what options I have and what the pros and cons of them are. Then I decide if one of them works in my situation and ask it for more details on what I need to do more precisely. If I don't understand anything I ask it to explain it to me and it does a great job of doing so usually

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

      why not just pay for it then?

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

      @@orkhepaj It was demonstrated to them that they were not coding unless they had AI available.
      That's not desireable to many people wanting to get better. You need to practice to improve!

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

    We all talk about AI models "poisoning the well" by dumping content online that is then used in subsequent training datasets, causing degeneration.
    A less mentioned side effect is how humanity is degenerating too.

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

      humanity is degeneration too not because of ai , it is because leftists ruining our culture and education

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

    I actually fully agree with: if I can just find it in 5 minutes, I don't need to remember it
    I literally don't know all the OOP principles, I don't have know them. I can just search them if I actually need to know them.
    I don't need to know how to write a For loop in Java or python, if all I need to do is search and find the result on all search engines or AI tools with "for syntax for X language"
    I really don't see the point in knowing "specifics". Because if you actually understand the concepts, then you can mold the specifics for all programing languages.
    And AI helps with that. I overall know to program in c# and c++ (used to). I can easily program in python/java/other languages, I just need to search the syntaxes for stuff and its easy

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

      This is actually how I feel. It's not that I don't know how to code, I just don't do it often enough to remember how to. I wrote a game as a high school project, joined programming competitions, and set up a home SQL/Apache server to organize my brother's comic book collection for fun. I'm a practicing physician in my mid-30s now and I haven't coded in 15+ years. Now I'm doing academic research and a project needs me to write code in R. I'd like to think I still have my foundations, but I'm just stumped on how to do something in R or whatever language a situation calls for. AI helps me find just what I need to get by. I'm not coding the next AI-powered, SEO-optimized Web3 app with IoT integrations that will disrupt the industry. I just want to get my goddamn research paper done.

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

    As someone who had a lot of trouble integrating new programmers into the team specifically because of their dependence on LLM-s, please for the love of god know when to stop and learn something on your own. It feels like the new generation of programmers are just LLM proxies, how will such a generation keep the lights on when older programmers move on?

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

      Kind of like how those older programmers are "compiler proxies"

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

      Maybe if the vast majority of tech documentation wasn't an incomprehensible mess to newcomers, they wouldn't have to rely on LLMs to explain it to them in ways that actually make sense....

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

      @@TheMidnightillusion I mean, at that point, you're generally suppose to just read the source code.

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

      How is reading and understanding the code written by a jerk on stack overflow different than reading and understanding the code outputting by an AI? If you mindlessly copy and paste either one, it's bad. But AI is just a faster, more polite teacher that gets things wrong (just like humans do). If they don't understand the code, they tricked you during the hiring process, and that's partially your fault. Learning from a forum, another person, documentation, or AI is the same.

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

      ​@TheMidnightillusion Right. As soon as the old heads get an English degree or a teaching degree I'll crawl through the drivel they wrote. Not everyone is a communicator. Don't worry, AI will do that job your for you and I don't have to listen to your snide remarks while I learn.

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

    I think balance is key (fun fact: the statement „truth is always somewhere in the middle” is almost always false).
    I never use LMs to tell me what to do or how to approach the problem I’m facing, I never use them to automate (even the most tedious tasks), I use them only when I already debugged and tried to solve the issue by myself and when I would normally go to Stack Overflow (PS. LMs are ALWAYS better than that option…). Basically I treat them as a way to gain knowledge that I don’t have.

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

    That mentality switch you are describing around 9:15 is what you get out of the box from practicing pair programming. One brain codes while the other reviews it.

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

    Maybe I'm using Copilot wrong, but I'm not generating a lot. Yes sometimes I ask to generate some algorithm that I never learned before, but I never use it right away, I'm disassembling it in bits, trying to figure it out, and applying it after that. I'm only accepting the small bits I wanted to write. I know that I don't like to type in all those tiny bits manually anymore, but it is not hard to gain this ability back. I've tried to disable copilot for 2 days and yes I had some issues at the beginning, but it became fine at the end of second day. So I don't feel bad about using Copilot. But I would not recommend it for beginners.

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

    I agree with your last point - it remains to be seen if relying on the robot is a good or bad idea. I liken it to a calculator, before the calculator it was all slide rules and understanding adding and subtracting. Clearly, in this example calculators were good and positive, turns out it allowed people to solve more complex problems but still know roughly how to to basic arithmetic. Perhaps one need to learn the theory behind a tool in uni and get tested on it 'closed' book style, then after you can use it with 'gay abandon'.

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

    In my career, I have encountered some people with learned helpfulness. They absolutely have no clue what to do or even want to try or Google . They absolutely relies on me to tell them what step need to be taken
    What I found in common is that their experience is only limited to one thing , usually proprietary technology, they can only see thing related to the proprietary technology. Once things beyond the scope of the proprietary, they have no absolutely no idea what is going on

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

    If there's one thing LLMs are good at, it's explaining things in very general terms and summarizing information.
    I'm using that to my advantage with things I'm unfamiliar with, but never relying on code they generate.
    This approach is helping me a lot, sometimes it's hard to even know what to look for when your original approach is flawed

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

    The tip you gave on reviewing your own code is 100% accurate. This is something encourage ither team members to do and it stands out when they dont.

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

    The best balance I’ve found for AI based in-editor autocomplete, is to have a hotkey for on demand completion. This allows you to focus on important logic, and use the ai for boilerplate code like mock data.

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

      the only thing i ever use copilot for now is just mock data and writing tests

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

      You are writing low quality tests then. Data must be extracted from working system when possible, faking data is last resort

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

    I find that LSPs are great for learning new libraries because they can show you what is available without leaving your editor. This is especially true when you also have the documentation available in your editor. For me, it allows the learning of something new, not by reading all of the docs on it and watching a bunch of tutorials, but by learning exactly what I need to accomplish a task. Later on if I'm running into issues or suspect I'm not doing this quite the right way, I will look for the "right" way to do things.

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

    There is a place where LLMs for code fits perfectly. It's docs !! I don't like to go through docs of pandas for a small numpy like function , if LLM does this for me(which it does), it's a win win!!

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

    i tried copilot for a couple of weeks and i'm quite sure it took me just as much time to fix its code than it would have taken me to do it myself from scratch. I also found it very invasive. I gave up and went back to chatgpt for basic stuff, like parsing jsons to classes and that sort of stuff, and maybe ask for available libraries, but never to code for me.

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

    " I handed my skills to something else" Well duh that was the function of AI in the first place. Take the skills and replace the person

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

    I'm just tired of guy-who-read-an-article-once telling me I'm about to lose my engineering job to AI. OK, and what do you do? Account Management? .... then you definitely know. We'll see who loses their job first, buddy. Thanks for the tip.

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

    That is true. I used copilot for a few months and I forgot the basic syntax in the interview coding round.

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

    Personally, i find "helpful" tools counter productive. I haven't used copilot but I cant even stand auto complete suggestions, so I cant imagine the irritation from something even more invasive.
    It may just be me but I find myself way more focused when all I have is syntax highlighting. When an little tool tip pops up like a minimalist Clip-it, tapping on my screen and covering the code I was working on, I lose my train of thought and it slows me down a lot.

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

      True. Nothing more annoying than trying to type something, only for VS to autocorrect it with something completely different after you hit space.

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

    As much as we love to romanticize artisanship (even in programming), at the end of the day your value is the code you produce. Whether it was hand written or built with a code assistant makes no difference to the utility of it. Having deeper understanding of the programming principles and your project helps you produce better code faster even with a code assistant, but there is no inherent value in writing your code the hard way instead of just generating it to your spec.

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

      i bet nobody will pay extra for the code just because it was made manually by hand
      this is not japan caligraphy ink where then can have smug buyers

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

    The most worrying part is the risk of AI turning programmers into "script kiddies" = just copy pasting ready made code with no understanding whatsoever how it actually works or what it does like "just paste it in there and it will work somehow". But why and how does it actually work? That understanding and skillset risk to go lost. I read in some other forum that the technology in Star Wars is not evolving at all over the course of the series because noone there any longer understands anything about the actual technology and therefore can only copy what already exist again and again = technological development stagnates forever. AI is after all not really intelligent and can not by itself create any new things like we can but can only reuse what humans once have created. A sort of analogy is that AI is like a blender that u toss fruits and other things into in different proportions, blend together and then u drink the finished smoothe or whatever but a blender can NOT create new base ingredients like new fruits, berries and such but can only blend together what already exists. Same goes for AI. It only reuses and blends what we have already created, like AI can for example not do things like improove or invent new programming languages, art forms ect by itself but just take and reuse whats already there. It only seems intelligent because we have fed it the entire internet worth of content but it can never learn to "think", work and create like an actual human mind. Its still just a machine.

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

      What if AI eventually made the "understanding" and "skillset" unnecesary and no longer needed?
      You dont have to know assembly anymore in order to program now.
      Who needs the machine to work "like an actual human mind" if it works just well?

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

    I review myself on every push to a repo. Time consuming, but often ive caught random bugs this way.

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

    How to fix copilot brainrot:
    1. Lock programmer in a room with nothing but a computer and an offline copy of Advent Of Code.
    2. Wait

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

      i would just sue the company and get rich that way

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

    It's PR talk, copilot repeatedly disappoints me when it's supposed to fix something simple regardless of how careful I am with the prompts.
    Even a beginner is going to realize it's not as helpful as some are making it out to be.

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

    There are parts of programming where the robot can do it, because others have done it enough to teach the robot.
    There are parts of programming where the robot can not do it.
    And instead of asking "should i use the robot to do what the robot can do?", would it not be better to do things that the robot can not do?
    Because you will not get paid for what the robot does.

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

      pretty much , anybody who wont learn how to use these ai bots will be left behind

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

    Dude you have no idea how many people in my first year CS classes are just using Gippity to do all of their work so they can even pass the assessments.
    To counter, the faculty has us handwriting programs on paper for our tests. This is where the fun part comes in, and the faculty is having trouble figuring out is this person just testing really bad or no? Most of the time it ends up with a verbal interview to determine understanding.

  • @myyoutubeprofile-c3u
    @myyoutubeprofile-c3u Місяць тому

    The major issue with LLM's from my experience is their potential to lead you down rabbit holes. I believe this stems from the conversational nature that is built into them. I believe they aren't sure what they're doing but the language they communicate with makes it seem as though they do. I run almost all of my work through an LLM, kind of like a proof read of segments to see if I'm missing something silly and for this they really are amazing, a little editor that can point out obvious mistakes on small problems. However they always fail to grasp the bigger picture, I often return to a problem days later and realise it needs to be completely reworked, and this is always missed by the LLM. I don't believe it can work out a problem better than a person, I actually think it's completely devoid the ability to work out a problem at all. It's just really great at looking at what has been done before and suggesting that this might be what you want. So when you're learning something it appears amazing, but if you're creating something it falls apart.

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

    Why not to rely on a robot for everything? Well... you need to convince your bosses why they shouldn't replace you with a robot

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

      nah we should write bots which replace the bosses

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

    13 years of experience here. I agree with the fact that junior developers trying to ramp up fast can get a huge backlash from depending on AI. My advice is to use AI as a support, but always be in control and always take the time to think. You’re accountable for that solution by the end of the day.

  • @casperlundberg4332
    @casperlundberg4332 24 дні тому

    That dependency thing is true for almost all tools in any industry. Matlab, CAD, Word, PowerPoint etc all costs money but is free for students.

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

    Im a full-stack product designer and im a digital artist but I really want to create a game. I don't want to collaborate with others because I don't have the time to meet up but I want to network and learn about game design. Im a loner and im not in contact with my family members. I'm going to use AI and try my best to learn the languages and read the books that will help me understand programming. I really don't think people understand how fast this is going to improve in just 5 years.
    It really sucks that the reduction for collaborative effort will lessen; but then again, I get to finally work on something I couldn't do before. I think we should be pushing AI to work for us in efficient ways that enhance our skills.
    Im going to build this game with AI because the average person is going to create a ton of garbage but artist, programmers, game designers, the people with the keys will be able to create gargantuan solutions.

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

    Dude just go and ask an Indian guy under constant pressure to find ways to help improve productivity and bring cost down. His first reply will be use Gen AI CoPilot. So in a way he is destroying the entire programming ecosystem by suggesting that idea.

  • @siya.abc123
    @siya.abc123 Місяць тому +6

    I've never used any of these copilots because I heard Prime saying he doesn't want to become a read-only developer because of these tools. That was a profound and defining moment for me

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

      people used to debug with literally reading the code long time ago, you know

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

      @@derp2397 let him fall behind , he will cry in a few years

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

    LLM's are such a great way to better formulate your problems and bounce ideas quickly; And well, sometimes it can be useful in generating code snippets, especially for write-once scripts, or things that you just don't know the syntax well (hi bash) but can review it effectively - LLMs rarely make syntax errors

  • @mrgamer-lu1im
    @mrgamer-lu1im Місяць тому

    Yeah man this is so true because I asked an ai to generate a code to solve a problem for me and If I wasn't a good software engineer I wouldn't have realize it gave me a garbage piece of code

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

    I’ve been using copilot a a lot more and he’s right, but I like it to create small things like query functions for a db or ask it to extract/refactor a selection of code. That code basically becomes a standard library for me once I finish a project then I reuses and improve it. It’s also a learning tool for me. So although it dulls the senses it also expands my knowledge. Definitely have to be cautious.

  • @marty0678
    @marty0678 Місяць тому +41

    I don't understand many of these arguments like that presented in the article because nothing stops someone from researching what the LLM generates. Whenever something is suggested I don't immediately recognize or understand, I go look it up in the docs or step through with the debugger and make sure I know what it's doing and make tweaks if there is a better way than what was generated.
    The 'problem' these articles present is the same 'problem' that has already existed for years that you get from SO pasters. If the developer doesn't care enough to understand their code, they already had that issue before an LLM gave them an answer. LLMs just get them to the same issue faster.

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

      Yes, and that is a problem, not "problem". We already had enough people just copying and pasting code without any deeper understanding. Now we have more of said people using tools advertised as being on a PHD level, if not better. And we are not teaching people to be suspicious enough when it comes to results.

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

      This actually should be top comment. It’s definitely the fault of the person, not the tool. But one could argue that the availability of these tools makes it easier for people to be complacent about actually putting in effort.

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

      This is my additude. I have never trusted LLM code, and if I don't immediately understand the code it generates, I write it myself.

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

      As a senior developer i strongly disagree with this. Coding is like a sport. Anybody can understand it. Just like i know the basics of baseball or soccer and i can even do many things. But the hard part is having things in muscle memory, having a feel for something or the right intuition and that does not come from looking up things, but actually running into the issues and dealing with them instead of getting the correct answer and then looking up why it is correct.
      Or think about maths in school. Do you retain how something works when being shown the answer and then shown the way they got there or do you understand things by actually going through the problem a figuring out the solution.
      Or think about knowing something. We all know about obama, we have seen him on tv, we have heared about his politics. But do we actually know him? Like do you know how his evening looks like or will he call you by name if he sees you? No because knowing somehow is more than that.
      I dont really know how to put into words what i mean. But i guess you get the gist of it by looking at those examples.
      Going through a problem or getting handed the solution and then looking up why it is the solution are just different things.

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

      Agree. My rule for copilot or any tools like this: use only suggestion I 100 % agree.

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

    11:58 Disabling autocomplete is just asking for pain.

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

    Old man says "Back in my day we had manual transmission cars and washed our clothes by hand. These young fully know nothing." Meanwhile they got better things to do.

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

      This is perfect because automatic transmission is quite shit 90% of the time

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

    Sometimes at work I get pretty simple/boring/not groundbreaking apps to build, I work pretty quickly as it is but LLMs have cut down the time to make these custom apps by atleast 50%. Ive been napping and going for walks in my saved time. Thank you AI for this respite even if it doesnt last forever 🙏

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

    CoPilot is excellent for many things; explaining errors, generating docs and tests, instructing on proper syntax for tech I'm not familiar with. It's a time saver

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

    Autocomplete to me is less useful for standard library or imported functionality completion, but for allowing me the use of longer, more descriptive function and variable names without me feeling the burden of the increase in typing needed

  • @Thomas-po4ex
    @Thomas-po4ex Місяць тому

    As a professional software engineer I use copilot/chatgpt pretty much daily at work but I rarely use it for code generation. I primarily use it for implementation ideas, summarizing documentation, and education purposes. The code Copilot generates is often bs but the concepts and ideas it describes, at least in software, are usually correct and I know enough about programming since I learned the fundamentals over many years so I can generally tell right away if what Copilot is saying is bs or not. If you don’t understand the code Copilot generates be very cautious about using it. Copilot is great for boiler plate, idea generation, documentation, and some tedious tasks but sucks at generating accurate and bug free code especially when you are combining Copilot code with some larger codebase.

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

    For reviewing your own code, it also helps a ton if you can afford to wait until morning and only then look at your code. Sometimes you will be amused by how many bugs/problems you can spot by just waiting 1 day and then reviewing the code you wrote.

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

    Refactoring is a great point. It is way more unlikely (due to laziness) that you will refactor code that seems to work and that you did not write yourself.

  • @GrahamAnderson-z7x
    @GrahamAnderson-z7x Місяць тому +2

    Working with AI (at least in Cursor) makes me a better programmer, because Sonnet often produces code riddled with errors, which I have to research and fix. Oh wait? Why am I using AI again? Training the model for the next generation of prompt engineers I guess...Sorry for rant.

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

    I have been blessed(?) that vhdl/systemverilog are:
    (1) so underrepresented in online discourse,
    (2) so environment dependent that AI would use nonexistent or unsupported functions,
    And (3) often used in secure infustries like HFT and military, hence the info scarcity.
    It's important to note that this language generates real transistor connections in hardware. Compare k8s connecting containers together with all of the fiddly details that come with it. The AI doesn't have the memory/context tokens to identify that your usecase of microservices are over or underspecced. It doesn't even know what your usecase is! Until AI can understand how your itty bitty code fragment makes or breaks your design, it's not going to help you.

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

    I ended up creating my own self-hosted copilot using Ollama, but I found that using AI for coding tasks is kind of annoying as a more experienced engineer. It's almost never able to predict what I'm writing until I'm practically done writing it. It saves me a few keystrokes here and there, but it's otherwise not all that great at writing useful code.
    That said: It's become more useful over time as it samples my code and comes to understand more about my style, but it's definitely a work in progress...
    😅

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

    Grew up writing TI-Basic with pencil and paper so it looked like I was taking notes. Reading disassembled code is like riding a bike. Unironically. Just try to get as close as possible to 10000+ hours when you're young.
    Wait... People actually use LLM code without fixing it? I'm surprised it even compiles

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

    agree switching context from coding to review mode is a good habit 🎉

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

    The following would be a healthy way to use copilot? 1) Use it to generate code that meets the design of a function that uses a library that you are not familiar with. 2) Debug the code to understand each transformation performed and the existing methods of each instantiated class. 3) Create your own function based on what you learned from the generated code.

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

    At least make a good effort to learn and remember once an LLM finds a solution you could not find. To just plug and run, that is a problem of attitude about learning. You cannot get better that way.

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

    It’s true but I just don’t have the time luxury to write every line of code. One of the main reason I use copilot is because it usually completes what I wanted to write . Like if I wanna write some similar methods ,the ai knows what I wanna do and autocompletes those . For architecture copilot is useless, but really shines at autocompleting stuff that you was about to write .

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

    Human Brain is a muscle not a semi conductor chip.

  • @thefosplus
    @thefosplus 29 днів тому

    Bruh. I love reviewing code. Probably the best way to learn second only to writing it yourself. More than just reading you’re deeply thinking about it. Easily one of my favorite parts of developing. A little surprising to hear that might be the minority.

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

    all automation moves skills away from execution to decisions, this exact problem already exists in all crafts that were engineered away, and people were vocal about it in their time as well

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

    In a sense, this is what has been happening in the games industry with the likes of Unity and Unreal Engine. We've all been abstracted to a higher level of development using engine features, and when anything goes wrong or you need a feature or art style or performance metric the engine doesn't directly support, there are very few people around that can do that.

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

    Even with my incredibly limited programming experience, I still don't trust AI to write code better than I can. I trust AI to generate silly and oftentimes subtly unsettling images and other inconsequential things, but not to tell me how something is done.

  • @JP-hr3xq
    @JP-hr3xq Місяць тому

    It was 15 years before I could write a switch statement in C# without messing it up. Ironically I could whack out complex LINQ statements with no issue. It's just that switch is so weird and out of place that I struggled to remember where colons go, and where they DON'T go.

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

    It's currently bad to rely on the robot because the robot can not currently think for itself, invent something new, or critically analyse whether something is good or bad to form judgments, it can only aggregate to tell you what is the expected result. For the robot to be able to be relied upon, it has to first surpass the speed of human invention.

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

    I generated some code today that finds date gaps in set date ranges for a year, I have to admit, I didn't double check the logic after I got the results I expected... Also the variable names weren't great, I've been feeling guilty about that function since. I know as a senior dev I need to go back review and refactor the function, but definitely worry about our junior devs not feeling that guilt and taking the extra steps to make sure the code is as good as it can be.

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

    I use copilot for two things and I find it amazingly useful. First, is as a smart autocomplete. When you use good naming conventions, a lot of glue, boilerplate, test code just kinds of "flows" by itself and copilot is really good at correctly varying the patterns that you laid out. The second use is to ask how to do certain things in language / framework X. It's very helpful to just be able to ask questions when learning new technology.

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

    If a code base or a framework needs a lot of heavy tools like autocomplete, code generators, etc, sounds to me like circumvention of bad design. Better AI tools make it easier to keep alive terrible code bases, keeping alive things that should be dead.
    Good code bases can be maintained with sets of simple orthogonal tools. I'm a full Dune Butlerian Jihad coder, never used autocomplete, code generators, IDE.

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

    For students, it depends... It helps me learn new things and ways of doing things, which I look into and learn. It seriously LOWERS THE BARRIER TO ENTRY for many concepts.
    If you're lazy and dont look into the solution, then yes, it's worse.
    For good students, it makes them better. For bad students, it keeps them bad/prevents school from forcing them to learn.

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

    Whenever you lower the barrier of entry to a field, you let in people that previously would not have been capable of entering that field.
    This is exactly the same thing we have seen thousands of times as we have introduced concepts that make programming easier. Not forcing all software to be written in assembly means some software developers don’t understand assembly. But guess what, not all developers need to understand assembly!!

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

      Would you want to understand assembly in order to program? Would you be able to do that?

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

    Everytime ai is discussed it's always with the assumption that as soon as you turn it on you just hit tab on everything and you're going in blind.
    90% of the code I write for work or personal projects I have an idea of what I'm going to do before I start typing it. If any copilot stuff comes up I read it in like half a second because it's probably only a handful of lines and then if it's what I wanted add it, if not, delete it. In the very rare occasion that I don't understand it ill research it but it doesn't happen that much because it's not installing a bunch of packages or using things I am not aware of.
    I use copilot as slightly smarter auto complete and the chatbots as rubber ducks for brainstorming ideas before starting a task or a new project. Usually sourcing research materials that I can also read.
    All that is to say, I think this whole engineers are getting dumber thing is hyperbolic nonsense.