• DessalinesA
    link
    73 years ago

    I really feel for front end devs especially. Seems like every 2 years they have to start from scratch with a completely new stack. No wonder turnover is so high and you don’t see a lot of older front end devs.

    • ☆ Yσɠƚԋσʂ ☆OP
      link
      93 years ago

      This is primarily a phenomenon in Js ecosystem I find. My team’s been using ClojureScript on the front-end and there’s no churn there. Reagent has the same API with a few minor additions, and the way its used has stayed largely the same. Meanwhile, React went through many API changes making code from a few years ago effectively obsolete, and development style changed with flux, redux, and introduction of hooks.

      Amusingly, Reagent uses React internally, but abstracts it using a stable API, so that I can just update dependencies and get speed improvements without having to update all my code every few months.

      And I find the same thing applies to tooling as well. ClojureScript compiler does stuff like code pruning, splitting, and minification out of the box. Meanwhile, doing that with Js requires a whole set of tools each evolving at its own pace.

      I honestly don’t know how people put up with all that while maintaining large production applications.

      • dinomug
        link
        93 years ago

        This is primarily a phenomenon in Js ecosystem I find.

        I agree. You realize that something is wrong when in your JS/TS/React/Vue/[whatever shiny toy] project you have more than 30 config files 🤯 .

        That and the programmed obsolescence; a program/framework in web development these days is considered old if it doesn’t receive some “update” after a year and most likely when you try to run it after that time it won’t work correctly due to “outdated libraries/apis” is condemning this profession.

        These are some of the reasons why I am moving to Rust/Clojure. They offer more congruent solutions when doing web stuff.

        • ☆ Yσɠƚԋσʂ ☆OP
          link
          4
          edit-2
          2 years ago

          Yeah, that’s the worst part. The two choices you have in Js ecosystem suck/ One is simply not updating your project, at which point it quickly becomes legacy and you’re stuck any security issues in the libraries you’re using. Alternatively, you can try to keep up, which effectively means rewriting large chunks of your project every few months. It’s a no win scenario.

          The worst part is that it’s often really just churn for the sake of churn. The features and complexity people add to Js frameworks are net negative for vast majority of projects out there.

  • @ttmrichter
    link
    53 years ago

    Simplify requirements and the tooling and technologies simplify alongside.

    • ☆ Yσɠƚԋσʂ ☆OP
      link
      113 years ago

      Also worth noting that a lot of the problems stem from capitalist mode of software production. For the most part, software isn’t being built for quality, but to make a profit. The goal is to produce software that’s just good enough so that people are still willing to use it as cheaply as possible.

      • Helix 🧬
        link
        fedilink
        43 years ago

        Why make something better than it needs to be? I like overengineering just as much as the next girl, but in software you throw away your stack every few years anyway. It’s rare you can write any software that lasts a decade without maintenance, often the “bad software” is only bad because nobody maintains it. The initial/release state of the software is irrelevant, the problem arises when nobody is around to fix the issues. Which, in turn, is of course a confirmation of your initial argument:

        a lot of the problems stem from capitalist mode of software production

        How can one fix this? What can singular people do to stop others from needlessly introducing complexity into software which is bad to maintain in the first place?

        • ☆ Yσɠƚԋσʂ ☆OP
          link
          7
          edit-2
          3 years ago

          This has nothing to do with overengineering. What I’m talking about are development practices and problems such as rushed delivery, underspecification, development is driven by marketing, lack of time for refactoring, and so on. All of that stems from companies wanting to cut corners and rush their software to deliver as quickly and cheaply as possible.

          When software is developed without the constraints of business, then developers can take their time, think things through, and move at a sustainable pace.

          • DessalinesA
            link
            53 years ago

            Another thing I’ve noticed in places I’ve worked, is that either management, or self-serving devs will intentionally not use open standards and FOSS tech, which makes it that much more difficult for new devs to understand what’s going on. By reinventing the wheel hundreds of times, they can make themselves irreplaceable, or management can justify long-running projects. Such a waste to see dozens of people with pretty much the same problem, not collaborating, but solving it repeatedly on their own, all in the name of competitive profit-seeking.

            I’ve heard it said that really good coders will code themselves out of a job, and its true… yet another contradiction of capitalism.

            • ☆ Yσɠƚԋσʂ ☆OP
              link
              23 years ago

              Yeah, I’ve seen lots of homegrown solutions that could’ve been easily replaced by off the shelf open source projects as well.