Ok let’s give a little bit of context. I will turn 40 yo in a couple of months and I’m a c++ software developer for more than 18 years. I enjoy to code, I enjoy to write “good” code, readable and so.

However since a few months, I become really afraid of the future of the job I like with the progress of artificial intelligence. Very often I don’t sleep at night because of this.

I fear that my job, while not completely disappearing, become a very boring job consisting in debugging code generated automatically, or that the job disappear.

For now, I’m not using AI, I have a few colleagues that do it but I do not want to because one, it remove a part of the coding I like and two I have the feeling that using it is cutting the branch I’m sit on, if you see what I mean. I fear that in a near future, ppl not using it will be fired because seen by the management as less productive…

Am I the only one feeling this way? I have the feeling all tech people are enthusiastic about AI.

  • bloopernova@programming.dev
    link
    fedilink
    English
    arrow-up
    76
    arrow-down
    3
    ·
    9 months ago

    There’s a massive amount of hype right now, much like everything was blockchains for a while.

    AI/ML is not able to replace a programmer, especially not a senior engineer. Right now I’d advise you do your job well and hang tight for a couple of years to see how things shake out.

    (me = ~50 years old DevOps person)

    • DrQuint@lemmy.world
      link
      fedilink
      English
      arrow-up
      13
      ·
      edit-2
      9 months ago

      I’m only on my very first year of DevOps, and already I have five years worth of AI giving me hilarious, sad and ruinous answers regarding the field.

      I needed proper knowledge of Ansible ONCE so far, and it managed to lie about Ansible to me TWICE. AI is many things, but an expert system it is not.

      • taladar@sh.itjust.works
        link
        fedilink
        arrow-up
        1
        ·
        9 months ago

        Well, technically “expert system” is a type of AI from a couple of decades ago that was based on rules.

    • DonWito@lemmy.techtailors.net
      link
      fedilink
      English
      arrow-up
      9
      arrow-down
      1
      ·
      9 months ago

      Great advice. I would add to it just to learn leveraging those tools effectively. They are great productivity boost. Another side effect once they become popular is that some skills that we already have will be harder to learn so they might be in higher demand.

      Anyway, make sure you put aside enough money to not have to worry about such things 😃

  • hactar42@lemmy.world
    link
    fedilink
    arrow-up
    60
    arrow-down
    1
    ·
    9 months ago

    So, I asked Chat GPT to write a quick PowerShell script to find the number of months between two dates. The first answer it gave me took the number of days between them and divided by 30. I told it, it needs to be more accurate than that, so it wrote a while loop to add 1 months to the first date until it was larger than the 2 second date. Not only is that obviously the most inefficient way to do it, but it had no checks to ensure the one in the loop was actually smaller so you could just end up with zero. The results I got from co-pilot were not much better.

    From my experience, unless there is existing code to do exactly what you want, these AI are not to the level of an experienced dev. Not by a long shot. As they improve, they’ll obviously get better, but like with anything you have to keep up and adapt in this industry or you’ll get left behind.

    • Evotech@lemmy.world
      link
      fedilink
      arrow-up
      8
      arrow-down
      1
      ·
      edit-2
      9 months ago

      The thing is that you need several AIs. One to write the question so the one who codes gets the question you want answered. The. A third one who will write checks and follow up on the code written.

      When ran in a feedback loop like this, the quality you get out will be much higher than just asking chathpt to make something

  • PowerCrazy@lemmy.ml
    link
    fedilink
    English
    arrow-up
    45
    arrow-down
    4
    ·
    9 months ago

    I don’t think you are disturbed by AI, but y Capitalism doing anything they can to pay you as little as possible. From a pure value* perspective assuming your niche skills in c++ are useful*, you have nothing to worry about. You should be paid the same regardless. But in our society, if you being replaced by someone “good enough”, will work for the business then yes you should be worried. But AI isn’t the thing you should be upset by.

    *This is obviously subjective, but the existence of AI with you troubleshooting vs fully replacing you is out of scope here.

  • rab@lemmy.ca
    link
    fedilink
    arrow-up
    38
    ·
    9 months ago

    I’m in IT and I don’t believe this will happen for quite a while if at all. That said I wouldn’t let this keep you up at night, it’s out of your control and worrying about it does you no favours. If AI really can replace people then we are all in this together and we will figure it out.

  • UmeU@lemmy.world
    link
    fedilink
    arrow-up
    38
    arrow-down
    6
    ·
    9 months ago

    AI is a really bad term for what we are all talking about. These sophisticated chatbots are just cool tools that make coding easier and faster, and for me, more enjoyable.

    What the calculator is to math, LLM’s are to coding, nothing more. Actual sci-fi style AI, like self aware code, would be scary if it was ever demonstrated to even be possible, which it has not.

    If you ever have a chance to use these programs to help you speed up writing code, you will see that they absolutely do not live up to the hype attributed to them. People shouting the end is nigh are seemingly exclusively people who don’t understand the technology.

    • anarchost@lemm.ee
      link
      fedilink
      arrow-up
      22
      ·
      9 months ago

      I’ve never had to double check the results of my calculator by redoing the problem manually, either.

    • Lmaydev@programming.dev
      link
      fedilink
      arrow-up
      6
      arrow-down
      4
      ·
      9 months ago

      AI is the correct term. It’s the name of the field of study and anything that mimics intelligence is an AI.

      Neural networks are a perfect example of an AI. What you actually code is very simple. A bunch of nodes that pass numbers forward through the system applying weights to the values. Their capabilities once trained far outstretch the simple code they run and seem intelligent.

      What you are referring to is general AI.

      • anarchost@lemm.ee
        link
        fedilink
        arrow-up
        6
        arrow-down
        2
        ·
        9 months ago

        It’s a misnomer, but if you want to pass off LLMs as “artificial intelligence” on technicality of definition, you’d also have to include

        advanced web search engines (e.g., Google Search), recommendation systems (used by YouTube, Amazon, and Netflix)

        etc.

    • Couldbealeotard@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      9 months ago

      Haven’t we started using AGI, or artificial general intelligence, as the term to describe the kind of AI you are referring to? That self aware intelligent software?

      Now AI just means reactive coding designed to mimic certain behaviours, or even self learning algorithms.

      • UmeU@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        9 months ago

        That’s true, and language is constantly evolving for sure. I just feel like AI is a bit misleading because it’s such a loaded term.

        • Couldbealeotard@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          9 months ago

          I get what you mean, and I think a lot of laymen do have these unreasonable ideas about what LLMs are capable of, but as a counter point we have used the label AI to refer to very simple bits of code for decades eg video game characters.

    • evasive_chimpanzee@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      9 months ago

      Yeah, this is the thing that always bothers me. Due to the very nature of them being large language models, they can generate convincing language. Also image “ai” can generate convincing images. Calling it AI is both a PR move for branding, and an attempt to conceal the fact that it’s all just regurgitating bits of stolen copywritten content.

      Everyone talks about AI “getting smarter”, but by the very nature of how these types of algorithms work, they can’t “get smarter”. Yes, you can make them work better, but they will still only be either interpolating or extrapolating from the training set.

  • Lmaydev@programming.dev
    link
    fedilink
    arrow-up
    32
    arrow-down
    1
    ·
    9 months ago

    I use AI heavily at work now. But I don’t use it to generate code.

    I mainly use it instead of googling and skimming articles to get information quickly and allow follow up questions.

    I do use it for boring refactoring stuff though.

    In its current state it will never replace developers. But it will likely mean you need less developers.

    The speed at which our latest juniors can pick up a new language or framework by leaning on LLMs is quite astounding. It’s definitely going to be a big shift in the industry.

    At the end of the day our job is to automate things so tasks require less staff. We’re just getting a taste of our own medicine.

  • Kbin_space_program@kbin.social
    link
    fedilink
    arrow-up
    25
    ·
    9 months ago

    As an example:

    Salesforce has been trying to replace developers with “easy to use tools” for a decade now.

    They’re no closer than when they started. Yes the new, improved flow builder and omni studio look great initially for the simple little preplanned demos they make. But theyre very slow, unsafe to use and generally are impossible to debug.

    As an example: a common use case is: sales guy wants to create an opportunity with a product. They go on how omni studio let’s an admin create a set of independently loading pages that let them:
    • create the opportunity record, associating it with an existing account number.
    • add a selection of products to it.

    But what if the account number doesn’t exist? It fails. It can’t create the account for you, nor prompt you to do it in a modal. The opportunity page only works with the opportunity object.

    Also, if the user tries to go back, it doesn’t allow them to delete products already added to the opportunity.

    Once we get actual AIs that can do context and planning, then our field is in danger. But so long as we’re going down the glorified chatbot route, that’s not in danger.

  • MajorHavoc@programming.dev
    link
    fedilink
    arrow-up
    23
    arrow-down
    1
    ·
    9 months ago

    I’m both unenthusiastic about A.I. and unafraid of it.

    Programming is a lot more than writing code. A programmer needs to setup a reliable deployment pipeline, or write a secure web-facing interface, or make a useable and accessible user interface, or correctly configure logging, or identity and access, or a million other nuanced, pain-in-the-ass tasks. I’ve heard some programmers occasionally decrypt what the hell the client actually wanted, but I think that’s a myth.

    The history of automation is somebody finds a shortcut - we all embrace it - we all discover it doesn’t really work - someone works their ass off on a real solution - we all pay a premium for it - a bunch of us collaborate on an open shared solution - we all migrate and focus more on one of the 10,000 other remaining pain-in-the-ass challenges.

    A.I. will get better, but it isn’t going to be a serious viable replacement for any of the real work in programming for a very long time. Once it is, Murphy’s law and history teaches us that there’ll be plenty of problems it still sucks at.

  • mrichey@lemmy.world
    link
    fedilink
    arrow-up
    21
    ·
    9 months ago

    They haven’t replaced me with cheaper non-artifical intelligence yet and that’s leaps and bounds better than AI.

    • phorq@lemmy.ml
      link
      fedilink
      Español
      arrow-up
      7
      ·
      9 months ago

      Yeah, the real danger is probably that it will be harder for junior developers to be considered worth the investment.

  • Yerbouti@lemmy.ml
    link
    fedilink
    arrow-up
    18
    ·
    9 months ago

    I’m a composer. My facebook is filled with ads like “Never pay for music again!”. Its fucking depressing.

    • cobra89@beehaw.org
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      9 months ago

      Good thing there’s no Spotify for sheet music yet… I probably shouldn’t give them ideas.

  • Turun@feddit.de
    link
    fedilink
    arrow-up
    19
    arrow-down
    2
    ·
    9 months ago

    If you are afraid about the capabilities of AI you should use it. Take one week to use chatgpt heavily in your daily tasks. Take one week to use copilot heavily.

    Then you can make an informed judgement instead of being irrationally scared of some vague concept.

    • R0cket_M00se@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      9 months ago

      Yeah, not using it isn’t going to help you when the bottom line is all people care about.

      It might take junior dev roles, and turn senior dev into QA, but that skillset will be key moving forward if that happens. You’re only shooting yourself in the foot by refusing to integrate it into your work flows, even if it’s just as an assistant/troubleshooting aid.

      • bruhduh@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        9 months ago

        It’s not going to take junior dev roles) it’s going to transform whole workflow and make dev job more like QA than actual dev jobs, since difference between junior middle and senior is often only with scope of their responsibility (I’ve seen companies that make junior do fullstack senior job while on the paper they still was juniors and paycheck was something between junior and middle dev and these companies is majority in rural area)

  • A1kmm@lemmy.amxl.com
    link
    fedilink
    English
    arrow-up
    16
    ·
    9 months ago

    Programming is the most automated career in history. Functions / subroutines allow one to just reference the function instead of repeating it. Grace Hopper wrote the first compiler in 1951; compilers, assemblers, and linkers automate creating machine code. Macros, higher level languages, garbage collectors, type checkers, linters, editors, IDEs, debuggers, code generators, build systems, CI systems, test suite runners, deployment and orchestration tools etc… all automate programming and programming-adjacent tasks, and this has been going on for at least 70 years.

    Programming today would be very different if we still had to wire up ROM or something like that, and even if the entire world population worked as programmers without any automation, we still wouldn’t achieve as much as we do with the current programmer population + automation. So it is fair to say automation is widely used in software engineering, and greatly decreases the market for programmers relative to what it would take to achieve the same thing without automation. Programming is also far easier than if there was no automation.

    However, there are more programmers than ever. It is because programming is getting easier, and automation decreases the cost of doing things and makes new things feasible. The world’s demand for software functionality constantly grows.

    Now, LLMs are driving the next wave of automation to the world’s most automated profession. However, progress is still slow - without building massive very energy expensive models, outputs often need a lot of manual human-in-the-loop work; they are great as a typing assist to predict the next few tokens, and sometimes to spit out a common function that you might otherwise have been able to get from a library. They can often answer questions about code, quickly find things, and help you find the name of a function you know exists but can’t remember the exact name for. And they can do simple tasks that involve translating from well-specified natural language into code. But in practice, trying to use them for big complicated tasks is currently often slower than just doing it without LLM assistance.

    LLMs might improve, but probably not so fast that it is a step change; it will be a continuation of the same trends that have been going for 70+ years. Programming will get easier, there will be more programmers (even if they aren’t called that) using tools including LLMs, and software will continue to get more advanced, as demand for more advanced features increases.

  • sosodev@lemmy.world
    link
    fedilink
    arrow-up
    16
    ·
    edit-2
    9 months ago

    You’re certainly not the only software developer worried about this. Many people across many fields are losing sleep thinking that machine learning is coming for their jobs. Realistically automation is going to eliminate the need for a ton of labor in the coming decades and software is included in that.

    However, I am quite skeptical that neural nets are going to be reading and writing meaningful code at large scales in the near future. If they did we would have much bigger fish to fry because that’s the type of thing that could very well lead to the singularity.

    I think you should spend more time using AI programming tools. That would let you see how primitive they really are in their current state and learn how to leverage them for yourself. It’s reasonable to be concerned that employees will need to use these tools in the near future. That’s because these are new, useful tools and software developers are generally expected to use all tooling that improves their productivity.

    • kellyaster@kbin.social
      link
      fedilink
      arrow-up
      3
      ·
      9 months ago

      I think you should spend more time using AI programming tools. That would let you see how primitive they really are in their current state and learn how to leverage them for yourself.

      I agree, sosodev. I think it would be wise to at least be aware of modern A.I.'s current capabilities and inadequacies, because honestly, you gotta know what you’re dealing with.

      If you ignore and avoid A.I. outright, every new iteration will come as a complete surprise, leaving you demoralized and feeling like shit. More importantly, there will be less time for you to adapt because you’ve been ignoring it when you could’ve been observing and planning. A.I. currently does not have that advantage, OP. You do.

  • suction@lemmy.world
    link
    fedilink
    arrow-up
    17
    arrow-down
    2
    ·
    9 months ago

    As someone with deep knowledge of the field, quite frankly, you should now that AI isn’t going to replace programmers. Whoever says that is either selling a snake oil product or their expertise as a “futurologist”.

    • viralJ@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      9 months ago

      Could you elaborate? I don’t have a deep knowledge of the field, I only write rudimentary scripts to make some ports of my job easier, but from the few videos on the subject that I saw, and from the few times I asked AI to write a piece of code for me, I’d say I share the OP’s worry. What would you say is something that humans add to programming that can’t (and can never be) replaced by AI?

      • ggwithgg@feddit.nl
        link
        fedilink
        arrow-up
        6
        ·
        9 months ago

        I think the need for programmers will always be there, but there might be a transition towards higher abstraction levels. This has actually always been happening: we started with much focus on assembly languages where we put in machine code, but nowadays a much less portion of programmers are involved in those and do stuff in python, java or whatever. It is not essential to know stuff about garbage collection when you are writing an application, because the compiler already does that for you.

        Programmers are there to tell a computer what to do. That includes telling a computer how to construct its own commands accordingly. So, giving instructions to an AI is also programming.

        • LarmyOfLone@lemm.ee
          link
          fedilink
          arrow-up
          2
          ·
          9 months ago

          Yeah that’s what I was just thinking. Once we somehow synthesize this LLM into a new type of programming language it gets interesting. Maybe a more natural language that gets the gist of what you are trying to do. And then a unit test to see if it works. And then you verify. Not sure if that can work.

          TBH I’m a bit shocked that programmers are already using AI to generate programming, I only program as a hobby any more. But it sounds interesting. If I can get more of my ideas done with less work I’d love it.

          I think fundamentally, philosophically there are limits. Ultimately you need language to describe what you want to do. You need to understand the problem the “customer” has and formulate a solution and then break it down into solvable steps. AI could help with that but fundamentally it’s a question of describing and the limits of language.

          Or maybe we’ll see brain interfaces that can capture some of the subtleties of intend from the programmer.

          So maybe we’ll see the productivity of programmers rise by like 500% or something. But something tellse me (Jevons paradox) the economy would just use that increased productivity for more apps or more features. But maybe the needed qualifications for programmers will be reduced.

          Or maybe we’ll see AI generating programming libraries and development suits that are more generalized libraries. Or like existing crusty libraries rewritten to be more versatile and easier to use by AI powered programmers. Maybe AI could help us create a vast library of more abstract / standard problem+solutions.

      • knightly the Sneptaur@pawb.social
        link
        fedilink
        arrow-up
        7
        arrow-down
        1
        ·
        9 months ago

        Generative neural networks are the latest tech bubble, and they’ll only be decreasing in quality from this point on as the human-generated text used to train them becomes more difficult to access.

        One cannot trust the output of an LLM, so any programming task of note is still going to require a developer for proofreading and bugfixing. And if you have to pay a developer anyway, why bother paying for chatgpt?

        It’s the same logic as Tesla’s “self-driving” cars, if you need a human in the loop then it isn’t really automation, just sparkling cruise control that isn’t worth the price tag.

        I’m really looking forward to the bubble popping this year.

      • Ludrol@szmer.info
        link
        fedilink
        arrow-up
        5
        ·
        9 months ago

        It can’t reason. It can’t write novel high quality, high complexity code. It can only parrot what other had said.