• RonSijm@programming.dev
    link
    fedilink
    arrow-up
    111
    ·
    10 months ago

    Backend Requirements: “When x,y goes in, I want x+y to come out!” - Okay

    Frontend Requirements: “Well it needs to be more user-friendly, and have this rockstar wow effect” - Yea wtf are you even talking about? You want me to add random glitter explosions, because I found a script for that, that’s pretty ‘wow effect’ right?

    • azertyfun@sh.itjust.works
      link
      fedilink
      arrow-up
      81
      ·
      edit-2
      10 months ago

      Real back-end requirements: when x, y goes in (in JSON-as-an-XML-CDATA-block because historical reasons), I want you to output x+y+z+æ+the proof to P=NP.

      æ will require you yo compile x+y in CSV, email it to Jenny, who will email back the answer. She doesn’t quite know how to export excel sheets though so you’d better build a robust validator. No, we don’t know what æ is supposed to look like, Rob from Frontend knows but he’s on vacation for the next 8 months.

      The request must be processed under 100 ms as the frontend team won’t be able to prioritize asynchronous loading for another 10 sprints and we don’t want the webpage to freeze.

      And why does your API return a 400 when I send a picture of my feet? Please fix urgently, these errors are polluting my monitoring dashboard and we have KPIs on monitoring alerts.

      • soggy_kitty@sopuli.xyz
        link
        fedilink
        arrow-up
        22
        ·
        10 months ago

        Clearly fake. No task ever includes anything but the happy path. Loading or failure states are a myth

      • evatronic@lemm.ee
        link
        fedilink
        English
        arrow-up
        16
        ·
        10 months ago

        output x+y+z+æ+the proof to P=NP.

        I’m sure there’s an npm module for that.

      • RonSijm@programming.dev
        link
        fedilink
        arrow-up
        5
        ·
        10 months ago

        Yea, fair enough. My point was mostly: backend requirements are usually at least objective. “Json xml comes in”, “CSV goes out by email”, “The request must be processed under 100 ms”, “API should not return 400 on feetpics” - these are still mostly objective requirements.

        Frontend requirements can be very subjective “The user should have a great user experience with the frontend”

        • azertyfun@sh.itjust.works
          link
          fedilink
          arrow-up
          2
          ·
          10 months ago

          Hahaha that’s what frontend devs think, but the backend requirements are just as vague: “Just make this button work”. In my example all the requirements would actually be figured out bit by bit over months, nevermind the prescience required to foresee future architecture-breaking features or scaling requirements. At least you can make a mockup and get instant feedback, flawed as it is.

          On either side it takes experienced engineers to suss out actual requirements from customers/PMs. The main difference is that the backend (especially on the infra/devops side) is only accountable to itself if everything goes well, but ironically that means no-one knows or cares about the amount of engineering that goes into keeping PMs blissfully ignorant of the risks and complexity.

          • RonSijm@programming.dev
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            10 months ago

            Hahaha that’s what frontend devs think

            Hahah, well as a primarily backend developer, that’s what I think as well.

            “Just make this button work”

            If that button doesn’t work, that sounds like a frontend problem to me… ;)

            But yea, as you mentioned, it probably comes down to experience. As the meme from this post depicts. When I dabble in frontend and make a WinForm for my devtool, people just look at me and are like “Uhhh, can you make it better?”

            No sir, clearly I can not. And I have no idea what you mean with “better”.

    • KevonLooney@lemm.ee
      link
      fedilink
      arrow-up
      37
      arrow-down
      1
      ·
      10 months ago

      Actually the front end stuff is more like “we need to make the ‘sign in’ button bigger. No one can click it because it’s tiny, and it’s in German.”

      • ChickenLadyLovesLife@lemmy.world
        link
        fedilink
        English
        arrow-up
        26
        arrow-down
        1
        ·
        edit-2
        10 months ago

        I spent years as a mobile developer and the thing that always drove me the most nuts was being handed a software design with lots of tiny buttons that were nearly impossible to tap with a finger. I generally implemented the UI by increasing the size of the tappable regions (without increasing the apparent size of the buttons) making it actually usable, but one time the designer discovered that I was doing this and went apeshit and convinced the project manager to order me to undo all this and make the tappable regions the same size as the buttons. The grounds for this was that implementing the larger tappable regions would take too much extra time - despite the fact that this had already been done and it took additional time to undo it.

        • kurwa@lemmy.world
          link
          fedilink
          arrow-up
          8
          ·
          10 months ago

          So wait you actually had to undo it all? What kind of designer would make mobile buttons small?

          • sheogorath@lemmy.world
            link
            fedilink
            arrow-up
            7
            ·
            10 months ago

            I usually just do what they requested and when they come to complain I just tell them “well, you’re the one who requested this” and pull up receipts. My DM to myself on Slack is filled with screenshots and links to confirmations for bullshit requests that the product team made.

            • This is fine🔥🐶☕🔥@lemmy.world
              link
              fedilink
              arrow-up
              3
              ·
              10 months ago

              My DM to myself on Slack is filled with screenshots and links to confirmations for bullshit requests that the product team made.

              How good does it feel when you pull out those screenshots to say, ‘no u’?

          • ChickenLadyLovesLife@lemmy.world
            link
            fedilink
            English
            arrow-up
            3
            ·
            10 months ago

            What kind of designer would make mobile buttons small?

            Have you ever used a mobile app? Every commercial mobile app I’ve ever used has tons of tiny fucking buttons.

      • KairuByte@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        12
        ·
        10 months ago

        Isn’t our main audience German? If you wanted non German stuff you shoulda asked for regional translations. Not only is that a change request, but you’re gonna be pushing the release window by months.

    • CanadaPlus@lemmy.sdf.org
      link
      fedilink
      arrow-up
      6
      ·
      edit-2
      10 months ago

      Man, if only backend demands were algebraically tractable. Often they’re related to frontend demands that may or may not make backend sense, since the frontend is all users see.

    • kautau@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      10 months ago

      Yeah if you have shitty UX people frontend will just built what they’re told. Or actually more often, you could have really talented UX people and management decisions are like “needs more buy now buttons, the 3 visible on the screen aren’t enough.” Shit flows downhill