That's completely false.
I have seen programmers developing during years without improving a bit. And not one, several in fact.
To learn something well you need something else than practice, active practice.
See this Veritasium video for more:
In fact, if I have to be fair, technically I am missleading. Because it says that it takes many years of experience to become an expert, I agree. No-one can become an expert without practice. But, where I missleading is about what it does not says. I misslead because I think that the intention of the sentence is to imply something that is not in the text. Although it is true that it says that you need many years to be experienced, the opposite is not implied: this sentence does not say that you automatically become an expert after years of practice.