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.

  • 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)

    • 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 😃

  • I think all jobs that are pure mental labor are under threat to a certain extent from AI.

    It’s not really certain when real AGI is going to start to become real, but it certainly seems possible that it’ll be real soon, and if you can pay $20/month to replace a six figure software developer then a lot of people are in trouble yes. Like a lot of other revolutions like this that have happened, not all of it will be “AI replaces engineer”; some of it will be “engineer who can work with the AI and complement it to be produtive will replace engineer who can’t.”

    Of course that’s cold comfort once it reaches the point that AI can do it all. If it makes you feel any better, real engineering is much more difficult than a lot of other pure-mental-labor jobs. It’ll probably be one of the last to fall, after marketing, accounting, law, business strategy, and a ton of other white-collar jobs. The world will change a lot. Again, I’m not saying this will happen real soon. But it certainly could.

    I think we’re right up against the cold reality that a lot of the systems that currently run the world don’t really care if people are taken care of and have what they need in order to live. A lot of people who aren’t blessed with education and the right setup in life have been struggling really badly for quite a long time no matter how hard they work. People like you and me who made it well into adulthood just being able to go to work and that be enough to be okay are, relatively speaking, lucky in the modern world.

    I would say you’re right to be concerned about this stuff. I think starting to agitate for a better, more just world for all concerned is probably the best thing you can do about it. Trying to hold back the tide of change that’s coming doesn’t seem real doable without that part changing.

  • 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.

    • 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.

  • 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.

  • 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.

  • 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.

  • Thought about this some more so thought I’d add a second take to more directly address your concerns.

    As someone in the film industry, I am no stranger to technological change. Editing in particular has radically changed over the last 10 to 20 years. There are a lot of things I used to do manually that are now automated. Mostly what it’s done is lower the barrier to entry and speed up my job after a bit of pain learning new systems.

    We’ve had auto-coloring tools since before I began and colorists are still some of the highest paid folks around. That being said, expectations have also risen. Good and bad on that one.

    Point is, a lot of times these things tend to simplify/streamline lower level technical/tedious tasks and enable you to do more interesting things.

  •  cobra89   ( @cobra89@beehaw.org ) 
    link
    fedilink
    9
    edit-2
    5 months ago

    I’m gonna sum up my feelings on this with a (probably bad) analogy.

    AI taking software developer jobs is the same thinking as microwaves taking chefs jobs.

    They’re both just tools to help you achieve the same goal easier/faster. And sometimes the experts will decide to forego the tool and do it by hand for better quality control or high complexity that the tool can’t do a good job at.

  •  daniyeg   ( @daniyeg@lemmy.ml ) 
    link
    fedilink
    English
    85 months ago

    i’m still in uni so i can’t really comment about how’s the job market reacting or is going to react to generative AI, what i can tell you is it has never been easier to half ass a degree. any code, report or essay written has almost certainly came from a LLM model, and none of it makes sense or barely works. the only people not using AI are the ones not having access to it.

    i feel like it was always like this and everyone slacked as much as they could but i just can’t believe it, it’s shocking. lack of fundamental and basic knowledge has made working with anyone on anything such a pain in the ass. group assignments are dead. almost everyone else’s work comes from a chatgpt prompt that didn’t describe their part of the assignment correctly, as a result not only it’s buggy as hell but when you actually decide to debug it you realize it doesn’t even do what its supposed to do and now you have to spend two full days implementing every single part of the assignment yourself because “we’ve done our part”.

    everyone’s excuse is “oh well university doesn’t teach anything useful why should i bother when i’m learning ?” and then you look at their project and it’s just another boilerplate react calculator app in which you guessed it most of the code is generated by AI. i’m not saying everything in college is useful and you are a sinner for using somebody else’s code, indeed be my guest and dodge classes and copy paste stuff when you don’t feel like doing it, but at least give a damn on the degree you are putting your time into and don’t dump your work on somebody else.

    i hope no one carries this kind of sentiment towards their work into the job market. if most members of a team are using AI as their primary tool to generate code, i don’t know how anyone can trust anyone else in that team, which means more and longer code reviews and meetings and thus slower production. with this, bootcamps getting more scammy and most companies giving up on junior devs, i really don’t think software industry is going towards a good direction.

  •  A1kmm   ( @A1kmm@lemmy.amxl.com ) 
    link
    fedilink
    English
    75 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.

  • I don’t think software developers or engineers alone should be concerned. That’s what people see all the time. Chat-GPT generating code and thinking it means developers will be out of a job.

    It’s true, I think that AI tools will be used by developers and engineers. This is going to mean companies will reduce headcounts when they realise they can do more with less. I also think it will make the role less valuable and unique (that was already happening, but it will happen more).

    But, I also think once organisations realise that GPTx is more than Chat-GPT, and they can create their own models based on their own software/business practices, it will be possible to do the same with other roles. I suspect consultancy businesses specializing in creating AI models will become REALLY popular in the short to medium term.

    Long term, it’s been known for a while we’re going to hit a problem with jobs being replaced by automation, this was the case before AI and AI will only accelerate this trend. It’s why ideas like UBI have become popular in the last decade or so.

    • Well I seen, I even code reviewed without knowing, when I asked colleague what happened to him, he said “I used chatgpt, I’m not sure to understand what this does exactly but it works”. Must confess that after code review comments, not much was left of the original stuff.

  •  arthur   ( @arthur@lemmy.zip ) 
    link
    fedilink
    English
    65 months ago

    Man, it’s a tool. It will change things for us, it is very powerful; but still a tool. It does not “know” anything, there’s no true intelligence in the things we now call “AI”. For now, is really useful as a rubber duck, it can make interesting suggestions, make you explore big code bases faster, and even be useful for creating boilerplate. But the code it generates usually is not very trustworthy and have lower quality.

    The reality is not that we will lose our jobs to it, but that companies will expect more productivity from us using these tools. I recommend you to try ChatGPT (the best in class for now), and try to understand it’s strengths and limitations.

    Remember: this is just an autocomplete on steroids, that do more the the regular version, but that get the same type of errors.

  • This might cheer you up: https://visualstudiomagazine.com/articles/2024/01/25/copilot-research.aspx

    I don’t think we have anything to worry about just yet. LLMs are nothing but well-trained parrots. They can’t analyse problems or have intuitions about what will work for your particular situation. They’ll either give you something general copied and pasted from elsewhere or spin you a yarn that sounds plausible but doesn’t stand up to scrutiny.

    Getting an AI to produce functional large-scale software requires someone to explain precisely the problem domain: each requirement, business rule, edge case, etc. At which point that person is basically a developer, because I’ve never met a project manager who thinks that granularly.

    They could be good for generating boilerplate, inserting well-known algorithms, generating models from metadata, that sort of grunt work. I certainly wouldn’t trust them with business logic.

    • I think you raise a very good point about explaining the problem… Even us as “smart humans” have often great difficulty to see the point while reading PM specs…