The same goes for programming. Once you've seen the solution to a particular problem, you immediately recognize that structure whenever you see it. Or if you spot a bug, you will easily spot similar bugs in the future.
Recently, Karin Hellqvist and I went to Berlin for the 2016 European Certified LabVIEW Architect Summit. This is a yearly conference where all sorts of aspects relating to system development with LabVIEW are discussed among some of the brightest minds within the LabVIEW community. During a few minutes of these three days packed with information, Nancy Jones of National Instruments talked about how she needed a scripting tool to detect a common bug. The bug is not conspicuous and easy enough to make, and it took me a few seconds before I realized what was wrong when Nancy showed it.
Now that, I guess, is by definition experience. What's interesting is that it does not necessarily need to be your own experience. As in the case with recognizing the bug Nancy was chasing, experience can just as well come from listening to what problems other people are facing and how they tackle them.
For LabVIEW developers, the CLA summit is an extraordinary chance of getting loads of experience right down your pocket in just a few days. The fact that you have to reach architect level of certification to get there makes all sessions very interesting as the presenters can expect a high level of understanding from their audience.
For further reading about the 2016 European CLA summit there are already a couple of blog posts I'd like to recommend (please add more in the comments if you find them):
Oh, and the bug Nancy talked about. The for loop will not execute if the arrays are empty, making us loose any previous errors on the error wire. Obvious once you've seen it but easily missed if you're not careful.