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.
That doesn’t hold up so well when you work with other people on a project.
Yes and no depending on what you are working on.
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.