• onlinepersona@programming.dev
    link
    fedilink
    English
    arrow-up
    0
    ·
    3 months ago

    No surprise there. What are we even doing? I haven’t written something important at work since the beginning of my career. It is/was a learning experience for sure - I’m not dumber for it, but nothing I wrote had to be written. The world could’ve done without any product I helped develop.

    Anti Commercial-AI license

    • mesamune@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      3 months ago

      Government work doesn’t pay as well but I can literally say the stuff I make makes my local area a bit better. It’s a new feeling. I used to work in healthcare. It kills your soul.

  • Cyborganism@lemmy.ca
    link
    fedilink
    arrow-up
    0
    ·
    3 months ago

    He’s just stating the obvious.

    Our jobs have no meaning. I didn’t become a software engineer to work on some bloated piece of crap software implementing shoddy code just to make a company manager happy do the CEO can make more money.

    I wanted to work in open source and democratize software for the masses.

  • dandi8@fedia.io
    link
    fedilink
    arrow-up
    0
    ·
    3 months ago

    A part of it is horrible practices and a work culture which incentivizes them.

    Who can be happy when the code doesn’t work half the time, deployments are manual and happen after work hours, and devs are forced to be “on-call”?

    Introduce Test-Driven Development, Domain-Driven Design, Continuous Deployment with Feature Flags, Mutation Testing and actual agile practices (as described in the Agile Manifesto, not the pathetic attempt to rebrand waterfall we have in most companies) to the project and see how happiness rises, along with the project’s reliability and maintainability.

    Oh, and throw in a 4 day work week, because no one can be mentally productive for that long.

    IMO the biggest problem in the industry is that most developers have never seen a project actually following best practices and middle management is invested in making sure it never happens.

    • 0x0@programming.dev
      link
      fedilink
      arrow-up
      0
      ·
      3 months ago

      Oh, and throw in a 4 day work week, because no one can be mentally productive for that long.

      Personally i’d go with a 5-day week of shorter hours, but if my company wants 4 days (they won’t) then i’m game. Bonus points for full remote.

      IMO the biggest problem in the industry is that most developers have never seen a project actually following best practices and middle management is invested in making sure it never happens.

      Managers, like most animals, strive for self-preservation.

      • dandi8@fedia.io
        link
        fedilink
        arrow-up
        0
        ·
        3 months ago

        I’m hoping for a 4-day 6-hour work week in my lifetime, but it seems the world isn’t ready for that quite yet, even though I’m 100% convinced productivity would not be impacted in any significant way, at least when it comes to software dev.

        • MajorHavoc@programming.dev
          link
          fedilink
          arrow-up
          0
          ·
          3 months ago

          I’m 100% convinced productivity would not be impacted in any significant way, at least when it comes to software dev.

          I agree 100%.

        • Swedneck@discuss.tchncs.de
          link
          fedilink
          arrow-up
          0
          ·
          3 months ago

          even if it impacts productivity, who gives a rat’s ass? companies are making obscene profit, they can damn well eat that lowered productivity. CEOs will have to live with the horrors of only affording 15 yachts.

    • EnderMB@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      3 months ago

      Out of interest, do you think that this would be a natural occurrence in the industry if a company were to say “right, no more managers, you self-manage and build this ting, and if it doesn’t work we go bust”, would software engineers look to build the best possible thing to their knowledge?

      It’s something I occasionally think about, because various companies like Valve and Fog Creek a decade or so ago did try similar stuff - and they had some great success with some absolute duds.

      • dandi8@fedia.io
        link
        fedilink
        arrow-up
        0
        ·
        3 months ago

        I think that would depend on the skill of the developers and the resources they are given.

        A lot of us are only ever taught to be code monkeys and those would probably not naturally gravitate towards true agile practices (which most, I would argue, have never actually seen in a real project).

        Another problem is a lack of access to domain experts, which is also crucial.

        However, my current project doesn’t have any managers, or even business analysts, there’s only the developers and the Product Owner. We have access to some domain experts and we work with them to build the right thing.

        It’s going great and the only problems we are facing are a lack of access to the right domain experts sometimes, as well as some mismanagement in the company around things we can’t do ourselves (like the company Sonarqube not working and us not being allowed to host our own due to budget constraints).

        In conclusion, I think part of the problem is educating software developers - what true agile is and what the industry best practices are (some mentioned in my previous comment). Then you give them full access to domain experts. Then you let them self-organize. Basically, make sure you have great devs, then follow the 12 Principles of the Agile Manifesto to the letter and you’ve got a recipe for success.

        Otherwise, results may vary a bit, as I think many would tend to continue doing the Fake Agile they were taught and continue producing the poor quality, untested code they were taught to produce.

  • Bigoldmustard@lemmy.zip
    link
    fedilink
    arrow-up
    0
    ·
    3 months ago

    Does it have anything to do with the fact that most useful code that will be written has been written and most of the hard problems are now security related?

    In addition, they’ve been telling people to learn to code long enough the upper hand devs used to have for salary negotiation is largely gone.

    • The Cuuuuube@beehaw.org
      link
      fedilink
      English
      arrow-up
      0
      ·
      3 months ago

      I mean… Not YouTube specifically but YouTube is representative of why us programmers are unhappy. The era of feeling like the tech industry and the internet are making the world better is over. All of them media platforms exist to co-opt our social interactions and replace them with ads for microwavable meals. They’re spying on us, and for what? They control major elements of how we live out lives, and WHAT THE FUCK DO THEY EVEN GAIN? A lot of them are going bankrupt because it wasn’t profitable. Their ads are less effective than the oldest forms of advertising. Ultimately, these platforms were about control, not about… Any other stated goal. And us programmer? We got tricked into thinking we were developing platforms to connect people and create a global culture of interconnectedness. Turns out we were building the infrastructure to implement genocide

  • masterspace@lemmy.ca
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    3 months ago

    I first worked in construction, then I worked in electrical engineering, now I do software, and there’s things about software that I find inherently dissatisfying. There’s little physical movement or location variety, your code is published quickly but often deleted quickly, and the entire field of software has more money than they actually deserve to have based on how hard they work or actual value your code provides to society. Some companies produce very necessary products that do very necessary things for all of society to function, most of the software jobs are instead working on bullshit marketing apps that waste people’s time or just enrich some financial services company or other societal middle man that doesn’t actually need to be any better or richer.

    The main upsides are the immediate return (some buildings take like a decade to build, most code is published that month), the remote work / hours flexibility, and the aforementioned undeserved pay and benefits.

    • Carighan Maconar@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      3 months ago

      Not even just bullshit marketing, rather on making someone rich a smidge richer. For weeks and weeks of figuring out how to solve a problem that the client could solve by just not insisting they can export every single view to excel and re-import from excel “because that’s what I’m used to”.

    • leisesprecher@feddit.org
      link
      fedilink
      arrow-up
      0
      ·
      3 months ago

      I’ve written it countless times before, but software engineering desperately needs to do some engineering.

      What you’re describing is absolutely true, but compare the way you’re working with an actual engineer. No sane engineer would start investigating the production process of a steel beam just to build a regular old warehouse. The steel beam has certain characteristics and unless you have very good reasons, you don’t need to question that.

      We are software developers however need to know a lot of our steel beams and can’t rely on many of them. That means even simple stuff takes forever and we tie ourselves to it way more than we should.

      • masterspace@lemmy.ca
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        3 months ago

        Again, I used to work doing actual electrical engineering, working at an architecture firm designing bridges and buildings, and what you’re describing as “actual engineering” is the whole reason I went into software.

        Because if the actual engineering you’re doing is just combining a lot of well defined parts to fit certain acceptance criteria, then you don’t really need a person doing that, software can do it.

        • leisesprecher@feddit.org
          link
          fedilink
          arrow-up
          0
          ·
          3 months ago

          But that’s exactly what’s holding us back.

          Let’s divide the problem sphere very broadly into business and technical. The business problem is “I want to store an order” the technical problem is “We need to connect to a database and map our data onto the table structure”.

          What we should be doing is solving the technical problem once, and then map thousands of business problems onto that. But instead, the same technical problems are solved again and again, even though there is a technical solution, because that solution is too leaky for us to rely on.

          I don’t want to write the 200th iteration of basically the simple problem again and again. I want to solve the actually hard problems. Yes, software can do the simple stuff, that’s what’s the entire point of our profession. Every developer should try to make themself obsolete.

          I don’t want to sound harsh, but your sentiment reminds me a lot of the “back when men were men and wrote their own mouse drivers” comments from ye olde time. But that’s not what our job is about.

          • Codex@lemmy.world
            link
            fedilink
            arrow-up
            0
            ·
            3 months ago

            This is still a business problem. The truth is, we solved basically all the technical problems that could be practically solved by the 2010s. We have all the technology, we know what people want and need. We could, and should, build a lifetime personal computer (phone form factor) for every person on Earth that provides for their communication needs, acts as a personal assistant and organizer, and more. And we’ve had those, dozens if times.

            But how do you keep selling people stuff once you’ve met all their needs? You tear it all down and keep rebuilding and reselling it. You enshittify to squeeze money out, customers flee, so you encircle them with another capitalist enclosure and rebuild the same shit again. Repeat.

            Software devs should basically all be making games and trying to teach AI to be smarter but instead we’re replacing internet search (a problem we solved in the 90s!) with LLM enabled advertising engines that literally can’t find info for you so they make it up. And we’re iterating on the 10 thousandth version of an e-commerce site because all internet shopping is part of a giant global MLM now. Seriously, “drop shipping” is the latest iteration of the same old scam they used to run on diet pills and knives and magazine subscriptions.

            But every college student with a fresh business degree can set up a Wix site to resell sunset lamps. It’s uber for scams. The reseller takes on all the risk, sets up the e-commerce site with a builder, firehoses ads all over their social media, and does all the work. There are multiple industries now entirely supported on conning desperate people into being your salesforce, workforce, advertisers, and customers all at the same time.

          • masterspace@lemmy.ca
            link
            fedilink
            English
            arrow-up
            0
            ·
            edit-2
            3 months ago

            Quite frankly I don’t really know what you’re complaining about. You’re literally describing how we reuse standard database technologies like SQL, or standard patterns like REST, or standard application and data access frameworks, which we do literally all the time.

            • leisesprecher@feddit.org
              link
              fedilink
              arrow-up
              0
              ·
              3 months ago

              Quite frankly, I think you don’t understand what I mean.

              Don’t kid yourself, “patterns” are boiler-plates so common they have a name. Yes, SQL makes things much faster, but that’s just the beginning. As soon as you venture out of the almost trivial cases, things get ugly fast. Think about something as simple as a form. That’s a standard problem. But I can’t just write down a “form-spec” and have a frontend and backend for that. No, I need a bunch of libraries that don’t quite work together and need a lot of persuasion to work together.

              Or think of Rest-APIs. How many times could you really just ingest a spec and have everything working as expected? That’s very rare. Some libraries are plain weird, some don’t support certain aspects of what you want, etc. etc. etc.

              A simple CRUD app should not require a single line of code. Yet, 80% of us are essentially doing exactly that.

              • masterspace@lemmy.ca
                link
                fedilink
                English
                arrow-up
                0
                ·
                edit-2
                3 months ago

                Think about something as simple as a form. That’s a standard problem. But I can’t just write down a “form-spec” and have a frontend and backend for that. No, I need a bunch of libraries that don’t quite work together and need a lot of persuasion to work together.

                You can just spin up a Next.js project complete with API calls and ready to go forms. Pick a full stack framework and go with it, there are several.

                The larger reason that there is separation between front and back end though is that there is intentional decoupling between them because the backend might also be responding to requests from native applications, or other servers.

                Hell, what you’re describing with Gui based application builders also exist everywhere. That’s basically airtable or salesforce or flutterflow, and guess what, those applications all kind of suck because a form is not as standard as you think. In a good application, there will always be customized design, flow and logic that happens to capture user input on the frontend, and on the backend there are a myriad of reasons to optimize different databases for different things. Look at the limitations you run into with Salesforce and Airtable databases because every database needs to have a whole plethora of features just to support the frontend Gui interface to manipulate them. I mean if you just want a flat form use Google forms, if business logic starts connecting some of the fields with complicated relationships and flows then suddenly things aren’t so standard.

          • Corbin@programming.dev
            link
            fedilink
            English
            arrow-up
            0
            ·
            3 months ago

            You’re not crazy or harsh. This is a very real problem. I have been stuck doing business development at every company I’ve worked for. There’s always some shitty load-bearing Django app whose schema determines what the business is capable of doing, and somebody’s gotta maintain it. It’s gotten to the point where I assume that any interesting things I do will be outside of work and not for pay.

  • kehet@suppo.fi
    link
    fedilink
    arrow-up
    0
    ·
    3 months ago

    It would be interesting to see if there is correlation between countries with proper labor laws and countries like USA

    • anti-idpol action@programming.dev
      link
      fedilink
      arrow-up
      0
      ·
      3 months ago

      fr the system is in such a deep terminal crisis that talking to people in their 20s feels like talking to pensioners since in countries like the US or UK the life expectancy is declining due to not being able to afford healthy food, stressful and precarious work, mental health crisis and addictions, worsening healthcare, climate change, moldy cramped housing, proliferation of larger and thus more dangerous cars, new zoonoses etc. etc.

  • Dr. Wesker@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    0
    ·
    3 months ago

    Well, we’re getting laid off en masse, while our employers report record quarterly earnings. So there’s that.

    • Fades@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      3 months ago

      Yeah absolutely.

      I would go a step further and point to how a lot of companies these days supplement their workforce with low skill contractors from places like India who are like 13 hours ahead, do not have any actual investment/commitment to the project/company.

      Why pay high prices for competent developers that can work alongside each other when you can have a just few competent ones and outsource the rest for those competent workers to corral, right? 🙄

      Generally this results in more work for the full time devs. When you ask for senior developers and get a team of ”seniors” that write code like juniors…. That’s just more work for the full time devs. Ask me how I know.

      Maybe I just need to stop working for Fortune 500s

      • odium@programming.dev
        link
        fedilink
        arrow-up
        0
        ·
        3 months ago

        TFW half my development time is stolen by helping this guy who I strongly suspect is just an interface for chat gpt.

  • taaz@biglemmowski.win
    link
    fedilink
    English
    arrow-up
    0
    ·
    3 months ago

    No space and time for creativity or “doing it right”, just do it fast, like yesterday also that feature we talked about three months ago? yeah, client also needs this added …

    Or even better: this is what up to 20 years of technical debt does to people

      • lad@programming.dev
        link
        fedilink
        English
        arrow-up
        0
        ·
        3 months ago

        It’s easier to fix bugs that you just introduced to be able to cover that KPI, too 🌚

    • rhacer@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      3 months ago

      I’ve been on my project for 23 years. I haven’t written production code for ten of those years. There are still commits in the production branch with my name on them. Is both gratifying and mortifying.

      I was talking with two other “old-timers” today about our inability to pay off tech debt because our teams are never given the time to do it