• 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.