Merging conflicts will be an issue no matter what you’re working on. Maintaining different sets of code bases based on the version/release will be an issue even when working alone.
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.
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.
Merging conflicts will be an issue no matter what you’re working on. Maintaining different sets of code bases based on the version/release will be an issue even when working alone.
Can you describe a situation that underscores this issue as I am not seeing it, but maybe I experience it and do not even realize.
Situation: You’re building some software to display emojis based on user input.
Current code: when user types “happy”, 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.
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.