I think the biggest thing he emphasized is the fact that you can never be "The Best Programmer" because there is always something to learn and ways to grow. That is probably one of the keys to a good developer, they know that there is still plenty for them to learn.
Yeah. A couple of times, I've met people who have "dabbled" in programming - maybe done it for a year or two professionally - and said they left the profession because they's pretty much learned everything there was to know about programming. I'm always impressed with their capacity to absorb so much, since I started programming when I was 8 (on a ship, in the middle of the Atlantic, without a computer) and I'm now 37 and estimate I know about 5% of all there is to know about programming (an estimate that continually drops as I learn more).
Well it depends. You could probably never stop learning the tools or the new languages; they're continually re-invented. However you can certainly become bored with it; learning new tools and languages becomes a skill in its self. At which you think i've learned a new tool, so what?
I have no beef with someone getting bored of what they're doing, but then they should say just that. To say "I know everything there is to know about programming" after programming for a year is laughable.
You're right that if you know C++ and you learn Java, you're not really learning all that much. But if you've spent your entire life programming in those types of language, and then learn Lisp, or Forth, or even just assembly language, your entire mental model of computation is turned on its head. Heck, learning C would be an eye-opener for someone who has known only Java.
You can go even further. My own trade is ASIC verification - writing testbenches to test functional correctness of chip designs. I've done a bit of FPGA design, too. I've chatted to software guys far above my humble skill level who don't grok either of those two domains because they're completely foreign to their way of thinking. But I'd file both under the broad umbrella of "programming".
I think you can learn constantly for a lot longer than a year or two without learning any new languages or tools, just working on different project, in different domains, using different paradigms. [EDIT:clarification]
They probably didn't mean that they "know everything there is to know" unless they are very arrogant.
Perhaps they meant that they knew the syntax to at least one programming language and where at a point where they felt it would be easy to learn more if needed but they no longer felt the need to study it as an end in itself for their purposes.
having said that it's easy to overestimate your level of knowledge when you haven't been introduced to anything more difficult.
You may believe for example that you can easily solve say traveling salesman because you figured out how to write the naive n! solution and tested it with 5 nodes on a fast computer and it worked fine.
If you never have to test it with 1000+ nodes then you may never find the performance inadequate so will never have to open the dynamic programming rabbit hole.
My Mum had bought me a book called the Usborne Guide to BASIC Programming, as my Dad has just bought an Osborne 1 computer for his new consulting business. So on our way across the Atlantic on a Polish vessel from Montreal to Dover, I was enthusiastically learning about programming while the machine sat, frustratingly, in the cargo hold, inaccessible to my eager mitts.
I still have the Osborne 1. I last powered her up in 2005, when Adam Osborne passed away.