I've been attempting to build systems to make this "robustness" redundant across all my works, but I always feel there's something more that I missed. I can't tell if this task is simply never-ending or I just lack the knowledge of covering all the dots from the get-go or both.
Those are signs of an ever evolving/improving mind!
You continue to perfect your craft and as such your older self is less efficient, perfect and organised.
Even the step from one-off script to reusable code is a 1:3–10 rise in complexity, even without distribution. It’s really interesting how problems grow.
Documentation is very useful today (to clarify our thoughts on what is useful and what is not, what is in scope and what is not), and for our future selves.
Writing small bits of software made me appreciative of the work teams put on large pieces of infrastructure!
Hard agree on helping out your future self. I routinely drop a commands.md file in every project now, and dump any commands in there for creating the dev environment, the build step, any thoughts that might help when I come back in five years.
I've never worked on an open source project before but what you're describing are all my favorite parts of working on my personal projects so far. lol maybe if I get an actually useful project idea I'll finally become an open source dev
If you enjoy writing documentation, creating tests or handling packaging there is any number of open source projects out there that would love your help. If you see a project that interests you at all, get stuck in!
That's nothing. You know what you need. Try figuring out what other people need. They usually don't know what is technically possible, what would be most helpful and how it should work.
I'll be honest, I'd rather you just toss them on github with a short description and at the end put "fuck you, figure it out."
That would at least give people like me a chance to benefit from your hard work. I promise I wouldn't complain and the people that do complain aren't worth responding to.
I write config files for my own stuff I use FWIW but yeah you're right lol open-source software is much more work. Still it's rewarding though to be able to share your cool software with the world.
For the first and second point however, I've learned that whatever the others don't know today, that'll be my state of lack of knowledge in a few months or years. Anything that isn't a one off script I generally document/comment because I've had some projects when I was young, and couldn't work in them after a few months of break because I didn't understand anything.
That's when I understood, that "others" is just me in a few months.
Once, I searched for a very specific thing about my laptops power throtteling behaviour and found an reddit post with an answer to it. After reading it, I saw my own username next to it :D
I seemingly dug down that rabbit hole a couple of months prior.