• meliaesc@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      1 year ago

      Situation: You’re building some software to display emojis based on user input.

      Current code: when user types “happy”, output 🙂

      • Your new requirement: when user types “happy”, output 😃 instead of 🙂
      • Coworker’s new requirement: when user types “sad”, output 😭

      You implement your change, back it up, and the new version with 😀 is released. But it turns out 😃 is the ultimate insult in the Snowflake region, and you need to immediately rollback 😃 back to 🙂 while you find an alternative.

      Meanwhile, Coworker has added 😭 to your backup, which still has 😃. Now when you try to rollback to 🙂, Coworker’s code gets erased. Now your code is unable to safely support both 😭 with 🙂 without starting over entirely. Maybe you want to disable 😀 only for the Snowflake region, but that’s not possible either without harding coding the regions instead of just changing the deployment.

      Now imagine working with a team of 10 people, or a company with 100 people working on this same software. With features and release dates constantly changing.

      • Immersive_Matthew@sh.itjust.works
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        I would agree with more people these tools become more needed, but I am talking about a solo dev situation who is the only person who accesses the code base. All other contributors I carefully import.