Great description of the problem. I enjoyed reading it, it’s almost like prose, great writing.
The solution I’m afraid is only one: solve smaller problems. There is no way a single person can solve a team’s problem as a side project. A small problem does not mean small codebase. It means small as in: focused, simple pain, simple solution, low amount of open questions.
Yes there is value to all of the other strategies mentioned. But if you want the root cause and the solution for this hydra effect it is the one I mentioned.
If you were born anywhere in the 80s, you might have spent the 90s and early 00s building side projects that you actually finished and felt no remorse over. That’s because scope was naturally small, problems were more focused, and there were multiple order of magnitude less options to choose from (in any domain: programming languages, libraries, interfaces, user flows, business workflows — everything was less)
> and there were multiple order of magnitude less options to choose from
So true. I remember downloading a bunch of stuff to do some Perl development on Windows 98. About 3MB of files IIRC that took forever to download on my dialup connection. Yet, it was so much easier to focus, basically because there weren't many other options and the .chm files that accompanied the interpreter could keep me busy for hours during the week.
Sometimes I try to reproduce that environment by limiting my own options in terms of technologies and learning resources. Probably not the most efficient way to get stuff done, but I find it more sustainable long-term.
The solution I’m afraid is only one: solve smaller problems. There is no way a single person can solve a team’s problem as a side project. A small problem does not mean small codebase. It means small as in: focused, simple pain, simple solution, low amount of open questions.
Yes there is value to all of the other strategies mentioned. But if you want the root cause and the solution for this hydra effect it is the one I mentioned.
If you were born anywhere in the 80s, you might have spent the 90s and early 00s building side projects that you actually finished and felt no remorse over. That’s because scope was naturally small, problems were more focused, and there were multiple order of magnitude less options to choose from (in any domain: programming languages, libraries, interfaces, user flows, business workflows — everything was less)