Just looking at the software entries and when I see "still can't X effectively" I'm left thinking, "And neither can anyone else".
One of the most interesting things I've discovered as I've gotten older is that I sometimes have a great success and then I think, "Awesome! This is the way to do it!" Then I try to duplicate that success and... it doesn't work. Now I'm left wondering whether my previous success was because of my actions or in spite of my actions (or not related at all).
So frequently we read from people who are really good at promoting themselves and they say "This is the new super sauce!" They really are convinced themselves, but that's mostly overconfidence. It's worse when the thing they discover makes tons of sense, but doesn't really work the way you might imagine it would.
It's an exciting time to be a programmer because there is still so much to discover. It's also a stressful time because everyone sucks badly at this stuff. Those who think they've got it figured out usually (in my experience) have either very low expectations or very poor observations skills ;-)
Sometimes I wonder if the current state of software/programming will, in the future, be seen similarly to cuneiform or hieroglyphics, in the sense of it being an archaic, overly complicated form of expression needlessly reserved to specialists. Coding might be something everybody is required to know in the future, like reading or writing are now. What I envision happening is that whatever become the popular languages will sacrifice similarity (in the sense that even across functional/imperative/OOP/etc families, languages are in general low-level/explicit enough that coding in them is similar) in favor of a highly opinionated programming style designed to make it easier to program in.
For example, imagine a language and IDE designed in tandem to compliment each other. You could incorporate all kinds of visual models into the design of the code, and actually make it easy/automatic to include things like the standard library, which you could make very large. The language could require such a high amount of structure that once you learned it to a reasonable extent, there would only rarely be a need to look up how to do something completely new. If kids learned how to use things analogous to e.g. python/matplotlib instead of excel, or jupyter notebooks for science reports / presentations, just imagine how much more productive we could be as a society.
I'm happy knowing that even if we suck now, we can perhaps live to see a future where we don't suck. I just hope it's soon
You've got it backwards. Try to name someone who shouldn't be on it. Being overconfident because you lack understanding/experience is just another word for "young".
One of the most interesting things I've discovered as I've gotten older is that I sometimes have a great success and then I think, "Awesome! This is the way to do it!" Then I try to duplicate that success and... it doesn't work. Now I'm left wondering whether my previous success was because of my actions or in spite of my actions (or not related at all).
So frequently we read from people who are really good at promoting themselves and they say "This is the new super sauce!" They really are convinced themselves, but that's mostly overconfidence. It's worse when the thing they discover makes tons of sense, but doesn't really work the way you might imagine it would.
It's an exciting time to be a programmer because there is still so much to discover. It's also a stressful time because everyone sucks badly at this stuff. Those who think they've got it figured out usually (in my experience) have either very low expectations or very poor observations skills ;-)