• MonkderVierte@lemmy.zip
    link
    fedilink
    arrow-up
    0
    ·
    6 hours ago

    I like to distinct between programmer and engineering jobs: first is the code ape, that LLM can theoretically do (still too verbose though) with some hand-holding from a engineer.
    The second is creating the solution; how A interacts with B on condition C.

    Sad part is, with how broken the web currently is (each site has to implement every feature themselves), there’s lots of code ape jobs.

  • ElectricVocalist@jlai.lu
    link
    fedilink
    arrow-up
    0
    ·
    8 hours ago

    Programmers say it and I doubt they do it to insult themselves. Code was never the hard part, it was just slow

  • flandish@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    19 hours ago

    programming is not hard. translating from human desires into a real project is hard. anyone who has read a project “plan” know what i mean.

    • staircase@programming.dev
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      14 hours ago

      What did you read of the article? Of course programming can be hard. Some of the brightest engineers and academics in the world have spent years on problems.

    • blarghly@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      18 hours ago

      Its not that hard. You read the project plan and start translating it into a list of todos. As you make the list, questions come up. Write those down. When you are done writing your todo list, you send your list of questions to the relevant person, then start working on the todo list where you don’t have questions, or where you are decently sure what the answer will be. As you work through the implementation, you will come up with more questions for edge cases. Send these to the relevant person as well.

      Ideally, these questions will be sent as an enumerated heirarchical list, and will be answered as such in turn. Every once in a while, it is more useful to jump on a call to figure something out quickly.

      • Aceticon@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        0
        ·
        4 hours ago

        That’s a stupidly incompetent way of doing software development.

        If the people upstream are fucking professionals then it would be very rare than the edge cases are discovered at the coding stage since that shit can baloon into massive rewrites and even redesigns (if, for example, it impacts throught to multiple system tiers) which in turn means productivity is shit and the resulting system is a big fucking bug-riddled unreliable mess because of all the going back and all the hacking of “unexpected” (but totally expected if people did their fucking jobs) things into the existing design.

        Further, the constantly ping-ponging of questions up and down the layers during development (especially if at the other end there are business user for whom the software is being made) adds a ton of overhead, not to mention needless waiting periods.

        I bet you never worked with a Technical or Business Analyst or even in a project managed by somebody who was not a reactive “shoot from the hip” manager.

        PS: And, yeah, I’m pissed off just thinking about that crap, because in my career I had to learn the fucking job of Project Manager, Technical Analyst and even Business Analyst after I figured out A LOT of the unecessary problems, blown up deadlines and stress I was getting at the systems design and software design levels were the product of that part of the work not being properly done or at all, so that shit you’re describing as if that was the normal way of doing software development really makes my blood boil - by my professional standards that shite is amateur hour, every hour of the day, every day of the month, every month of the year.

      • funkless_eck@sh.itjust.works
        link
        fedilink
        arrow-up
        0
        ·
        17 hours ago

        I mean it depends on the todo.

        if to-do 1 is Determine all positive integers n such that the concatenation of n and n^2 in base b uses at most k distinct characters, for fixed b and k - you might be there a while

  • terranoid@lemmy.cafe
    link
    fedilink
    English
    arrow-up
    0
    ·
    20 hours ago

    Programmers automating coding then CEOs forcing everyone else to use it is an insult to programmers.

    Some fuckers that built AI and fucked their own industry need to take some responsibility here. Some Sloppenheimer out there fucked the market up, one of our own.

  • Th4tGuyII@fedia.io
    link
    fedilink
    arrow-up
    0
    ·
    20 hours ago

    If coding is easy…

    Think of it like DJ’ing.

    The rock bottom level of being a DJ is putting a playlist together and playing it. Anyone could do that, you’ve already probably done it on your phone. Maybe even grouped songs by genre or year if you’re feeling fancy.

    But a good DJ does more than that. They arrange the songs to give a particular vibe, they play around with the transitions to keep people in the music, they may even remix songs or their entire playlist on the fly. They’re artists in their own right, making more than the sum of what went in.

    … And that’s the same as a programmer. Anyone can bumble their way through to writing code - but is that code anywhere close to optimal, properly annotated, maintainable?

    GenAI throwing out thousands of lines of shitty code that has to be bug-fixed multiple times over by a developer is a waste of time, energy, computer parts, and money.

  • Rentlar@lemmy.ca
    link
    fedilink
    arrow-up
    0
    ·
    20 hours ago

    Very few people need to code in assembly, or COBOL

    But those who do are paid the big bux, that’s for sure. Many big banks still have their backend off of COBOL code originally written in the 90s, only with flowery UI updates over the years.

    • atzanteol@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      0
      ·
      11 hours ago

      Cobol developers are typically developers who weren’t good enough to learn other languages. Their computing knowledge is often quite limited to their mainframe. I’ve never met one who was competent in anything else.

      They’re not making the big bucks.

    • Feyd@programming.dev
      link
      fedilink
      arrow-up
      0
      ·
      19 hours ago

      Pretty sure COBOL jobs getting unusually high pay is a myth. I don’t really care what I work on so I’ve looked and they just don’t seem to pay any higher than anything else

      • Aceticon@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        0
        ·
        4 hours ago

        There was a period when that was true and companies were literally bringing retired programmers back to do it, but that was over 2 decades ago during the Y2K period when really old systems done in COBOL and running in mainframes had to have the dates problem fixed before the date roleover came in 2000.

      • Rentlar@lemmy.ca
        link
        fedilink
        arrow-up
        0
        ·
        10 hours ago

        I guess when compared to FAANG/Silicon Valley salaries you are probably right.

  • tyler@programming.dev
    link
    fedilink
    arrow-up
    0
    ·
    21 hours ago

    If coding is easy, how come programmers were in high demand, and have demanded large salaries for years (even before ZIRP)?

    Because programmers seemed magical, mythical, able to create insane amount of value by typing a few words onto a screen. You will see this if you just go and look at how any other industries work. Even just using basic shortcuts puts you into like the top 1% of computer users, that’s how inefficient most people are at working.

    Why was there so much stress, overwork and burnout even before AI started churning out 5000-line PRs? Why did companies seek 10x ninja rockstar coders and subject them to leetcode interviews—surely, a junior fresh out of college could churn out something if it’s so easy?

    Because developers are asked to do more work than any other office job. The value you create as a developer is 10x what a product manager does. You can do a product manager’s job, they cannot do yours.

    If coding is easy, why do we have doorstoppers like Clean Code and The Pragmatic Programmer?

    Once again, because programmers are obsessed with efficiency and productivity. Having a book about something doesn’t mean jack though. There are books on how to walk better, that doesn’t mean walking is hard.

    Why do we have bootcamps or even whole college degrees dedicated to it?

    These are dumb questions, there are degrees for everything.

    If coding is easy, why are people angry at AI (or anyone else) copying their code? Why do they act like they’ve poured their sweat, soul, and copious amounts of time into something so trivial?

    People are angry that AI isn’t “following the rules” while simultaneously destroying the planet. People believe the bullshit that LLMs make up and then say “oh, your job was easy the whole time”. No, coding is easy. The rest of it wasn’t. Coding is meaningless without good architecture, good requirements, good UI/UX.

    If coding is easy, why do many now feel like their identity and professional purpose are being stripped away from them?

    … because the jobs are being taken away and distilled down into just “coding”. How is this hard to understand?

    If coding is easy, why is software so damn buggy?

    Because business doesn’t (didn’t) care about writing code, they cared about making money. Also the number of bugs has nothing to do with how easy something is. Walking is easy, that doesn’t mean you don’t ever roll your ankle.

    If deciding what to build is the hard part, why do so many product managers seem clueless? Why aren’t there rigorous 10-step interviews for them? Why aren’t they getting paid more than the developers?

    Yay! Good questions now! Yeah why do programmers have the only job where they’re quizzed over and over again? Huh, maybe it’s because every other industry thinks the hard part is coding (hence why this focus on coding)!

    If deciding what to build is the hard part, why aren’t market researchers, usability experts and—hell, customer success—considered rockstars in a software company?

    The output of a programmer is directly visible, the output of pretty much every single other job in software development is not. What, are they going to start measuring how many tickets and meetings your scrum master makes?

    If implementation is easy and finding demand is harder, why are programmers upset when the salespeople promise a new feature to a customer to close the sale? They’ve found a genuine demand, something people will pay for!

    Who the fuck ever said implementation is easy. Coding is easy. That’s not implementation. The code has to fucking do something. That thing has to be tested. The sales person probably didn’t gather actual requirements before promising the feature, so whatever the customer thinks they’re getting is definitely not what they’re getting.

    You can literally see that actual coding is easy when you understand the requirements by looking at tiny development companies that have made a single product where they give customers enormous power to choose new features. The new features come out incredibly quickly.

    If coding is easy, why doesn’t everyone just build ten variations of a thing and see which pans out?

    Dumb question. It’s hard enough to sell one product, much less 10. Think about any normal software user finding out there are ten ways to do something. Even some programmers hate it, Python claims there’s only one right way to do any given thing.

    Some software developers do say “I don’t write code, I solve customer’s problems”. But then they turn around and start to opine on monads, memory safety, and DRY principles, while their understanding of the customer is a made-up “user persona”, and they think “affordance” is the money your parents used to give you on weekends so you could go out and have a good time.

    Yes, they like to talk about the fun part of the job, not the non-fun part. Big surprise. Also turns out they like to optimize that part to make it more and more fun, because it’s become too easy.

    What is important?

    You’ve switched the topic. It was about what is hard, not what is important.

    But do recognize we’re in the middle of an industry-wide tectonic change. We need to figure out how to adapt. We need to understand what is likely to change and what never changes.

    No we don’t. This is like saying we need to learn how to adapt when every country has nukes and has started to bomb every country constantly. We need to stop bombing, not learn how to live with it.

    Users will always want more and be prepared to spend less

    So then we definitely should stop using LLMs.

    Programmers have been in the business of disrupting our own industry since the beginning. Nobody uses punch-cards any more. Very few people need to code in assembly, or COBOL. Those decades spent fighting memory bugs in C or C++, with the scars to prove it, are worthless in the age of Rust, Go, Python and JavaScript.

    Difference is, those things were an improvement. LLMs are a step backwards.

    Accept that change happens. Be equal parts curious and critical about the new stuff.

    I love change. I don’t like destroying the planet. It’s even worse when it’s of absolutely no benefit to anyone but billionaires. This isn’t change. This is destruction of the planet.

    • Bluescluestoothpaste@sh.itjust.works
      link
      fedilink
      arrow-up
      0
      ·
      16 hours ago

      my argument is that i couldn’t code real useful programs myself my whole life, and i tried several times, fail computer science in college etc, and now with claude im actually getting these things built – and there’s a lot of pitfalls a few times i had to tell claude to start over but i guess i feel like a paraplegic who could never walk but now with an accessible car i can actually drive and im sorry that’s putting a lot of horse carriage drivers out of business.

      and im my IRL circle, a couple of my friends who were great at coding in college and are now master coders, they’re not complaining about it at all – they’re able to spin up ten agents at once to do things much faster than they were able to three years ago. they all have startup side businesses now on top of their full time industry job, only possible due to coding AIs helping them get shit done faster.

  • VonReposti@feddit.dk
    link
    fedilink
    arrow-up
    0
    ·
    21 hours ago

    What OOP refers to is not “writing code” but “designing the code.” Everyone can write a book. Even I can. It will be a fucking shitty book, because I don’t know how to create suspense, give depth to characters, or any of that stuff. But it’s still a book. Writing code is easy. Writing good code is hard. If you want a program to fetch the current outside temp from an API you could throw together random lines of code that vaguely does what you want that you found on stackoverflow and iterate until it works. Will it catch edge cases? No. Will it output in a pretty format? No. Will it be maintainable? No. Will it be the next Facebook? Hard no. But you did write code.

    Writing code is easy. Writing good code is hard. And that is why we have door stoppers called “Clean Code” to help us on our way. You might notice that the “how to code” books aren’t much thicker than a a pamphlet. But if it ever as much as touches on the topic of good code it will make for a door stopper worthy of a nuclear bunker’s entrance.

    • da_cow (she/her)@feddit.org
      link
      fedilink
      arrow-up
      0
      ·
      7 hours ago

      I would also add, that the complexity of a project massively increases the skills needed to write good code. If you want to have a small little CLI tool, that does one thing, its way easier to write that one in a good way, than it is to build an entire ecosystem of tools all working together.

    • misery mansion@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      18 hours ago

      One thing to know about Clean Code is that the author is a hard right MAGA dickhead now, so if that is important to you then seek a more modern source of advice. A lot of the things he advocates for about code obviously aren’t dripping in right wing rhetoric, but if you look at his socials you might feel quite turned off.

      Worth saying the comment I’m replying to is not wrong IMHO

      • Feathercrown@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        10 hours ago

        The finer details of the coding advice in Clean Code is also insane. There’s a good summary of it but I forgor where

      • PastelKeystone@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        13 hours ago

        I have been happy to recommend Sandi Metz books instead.

        99 Bottles of OOP and POODR are excellent books and include many of the same ideas.

    • talkingpumpkin@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      19 hours ago

      I don’t know how to create suspense

      I must pretty good at that, since I never know if my code is gonna crash until the very end :D

      • fartographer@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        17 hours ago

        My code has that special slow burn where I realize just how terrible it was when a help ticket pops up a few weeks later.

  • Bryce Dixon@mastodon.brycedixon.dev
    link
    fedilink
    arrow-up
    0
    ·
    22 hours ago

    @codeinabox When I say some variation of “writing code is not the hard part,” what I mean is this: I can get a 9 year old to write a program that compiles and runs. A literal child can achieve “writing code” within an hour. That *specifically* is my bar for “writing code” because, by definition, that’s what’s happening. However, it’s obvious there’s a vast difference between what a 9 year old can do in an hour and what a professional software engineer does with 20+ years of experience.

    • Bryce Dixon@mastodon.brycedixon.dev
      link
      fedilink
      arrow-up
      0
      ·
      21 hours ago

      @codeinabox My goal in saying “writing code is not the hard part” is to assure people that using a limited visual scripting alternative or “no-code” tool is not the magic bullet they think it is and in fact it will hold them back more than anything. It’s not a statement of “it’s not impressive to do this well” it’s one of “do not be so afraid of this skill, because it’s not as unapproachable as you think it is.”

      • Bryce Dixon@mastodon.brycedixon.dev
        link
        fedilink
        arrow-up
        0
        ·
        21 hours ago

        @codeinabox The problem with AI being trained on our code is not because the code has inherent value. In most cases, the code *is* being distributed for free, after all.

        The *problem* is that it’s a violation of licenses - an expression of an author’s desire for how their work is used. If an author’s work is an extension of themselves, then violating a license is a violation of their autonomy.

        • Bluescluestoothpaste@sh.itjust.works
          link
          fedilink
          arrow-up
          0
          ·
          16 hours ago

          the problem is that licenses were always a scam, IP is nonsense. the problem is corporations tricked us into thinking it was real so they could make more money – and now they can make more money by dispelling the myth.