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.

  • Lmaydev@programming.dev
    link
    fedilink
    arrow-up
    0
    ·
    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.

    • Domi@lemmy.secnd.me
      link
      fedilink
      arrow-up
      0
      ·
      9 months ago

      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.

      Those are also the main uses cases I use it for.

      Really good for getting a quick overview over a new topic and also really good at proposing different solutions/algorithms for issues when you describe the issue.

      Doesn’t always respond correctly but at least gives you the terminology you need to follow up with a web search.

      Also very good for generating boilerplate code. Like here’s a sample JSON, generate the corresponding C# classes for use with System.Text.Json.JsonSerializer.

      Hopefully the hardware requirements will come down as the technology gets more mature or hardware gets faster so you can run your own “coding assistant” on your development machine.

      • ☆ Yσɠƚԋσʂ ☆@lemmy.ml
        link
        fedilink
        arrow-up
        0
        arrow-down
        1
        ·
        9 months ago

        That’s been my experience as well, it’s faster to write a query for a model than to google and go through bunch of blogs or stackoverflow discussions. It’s not always right, but that’s also true for stuff you find online. The big advantage is that you get a response tailored to what you’re actually trying to do, and like you said, if it’s incorrect at least now you know what to look for.

        And you can run pretrained models locally already if you have a relatively beefy machine. FauxPilot is an example. I imagine in a few years running local models is going to become a lot more accessible.

  • ☆ Yσɠƚԋσʂ ☆@lemmy.ml
    link
    fedilink
    arrow-up
    0
    arrow-down
    1
    ·
    9 months ago

    I’m not really losing any sleep over this myself. Current approach to machine learning is really no different from a Markov chain. The model doesn’t have any understanding in a meaningful sense. It just knows that certain tokens tend to follow certain other tokens, and when you have a really big token space, then it produces impressive looking results.

    However, a big part of the job is understanding what the actual business requirements are, translating those to logical steps, and then code. This part of the job can’t be replaced until we figure out AGI, and we’re nowhere close to doing that right now.

    I do think that the nature of work will change, I kind of look at it as sort of doing a pair programming session. You can focus on what the logic is doing, and the model can focus on writing the boilerplate for you.

    As this tech matures, I do expect that it will result in less workers being needed to do the same amount of work, and the nature of the job will likely shift towards being closer to a business analyst where the human focuses more on the semantics rather than implementation details.

    We might also see new types of languages emerge that leverage the models. For example, I can see a language that allows you to declaratively write a specification for the code, and to encode constraints such as memory usage and runtime complexity. Then the model can bang its head against the spec until it produces code that passes it. If it can run through thousands of solutions in a few minutes, it’s still going to be faster than a human coming up with one.