I recently reached the end of my 10-year plan and let me tell you, it's more like "teach yourself programming in a lifetime" because if there's anything I've learned it's that there's always more to learn.
And if you don't have any "problems" anymore, you're not trying too hard... or you've solved every problem there is to solve.
I've been programming for well over ten years. I found it hard at first, but now I find it really really hard. By the time I retire, hopefully it will be damn near impossible.
Even though an old and previously posted article, is anyone listening? Or maybe it's a question of beliefs?
Because I think another aspect to look at this article with is that learning how to hack is fine, though start-ups should be focusing on the toughest problems, and ignoring history (how things got to where they are today) won't help anyone.
All of you working on the next social platform better beware of the history.
My message is that it's one thing to learn how to hack, but another part of it is learning why hacking is the way it is in order to figure out what to work on today.
Some things change fast, others don't. Most don't take the time to understand this--the best will.
I have actually programmed for more than 10 years. My current impression is that I will probably never become a specialist for anything and will just have to make up things on the go, because technology changes so fast.
Maybe I have acquired some kind of taste, but then I always think about the many successful PHP projects out there (PHP is horrible in my opinion). So maybe even that "taste" is overrated. Just doing it seems to be all that counts.
Another thing is that I somehow try to optimize for the changing demands, and try to become faster at picking up stuff. I try to make it seem normal to pick up a new technology, rather than a reluctant effort. Not sure if it is the right way to go, though, and I also don't have a system for it.
Should you invest ten years in (a) becoming a better programmer? Or in (b) learning how to manage the people side of things? Or in (c) discovering what kinds of problems are worth solving?
How about (d) all of the above, making this "necessary but not sufficient"?
And if you don't have any "problems" anymore, you're not trying too hard... or you've solved every problem there is to solve.