As far as learning on the job. I disagree with learning on your own time. Your employer should pay for your training time. Even if that means letting you go off for a week to experiment with LVOOP on your own or by chatting on LAVA. Some employers don't allow that, this is why we see many people trying out new techniques on new projects. I've been in that situation. I had an employer you drained the life out of me to the point where my only reward for hard work was the knowledge I gained by experimenting with new LabVIEW features (used on projects of course). Yes, it was risky being on the bleeding edge sometimes, but I took calculated risks and I was the one who had to fix things when it went bad. And I always did.
Side-step rant:
As an old timer, I can tell you that back when I was programming in LabVIEW 3.11, we still got systems out the door and there were many alliance member companies that were building systems exclusively using LabVIEW and making successful businesses out of it. We didn't have event structures, we didn't have DAQmx, we didn't have LVOOP, heck we didn't even have multithreading. We just kept building systems with LabVIEW because no one told us we couldn't. I chuckle to myself when I read posts on the forum about how now LabVIEW is a real language people can finally use because it has by-ref objects or some other feature A or B. Some of the techniques you learn when you have little to work with, you take with you throughout your career.