I want to be improving as a programmer. I take time outside of work or university to achieve that goal. Time alloted for that goal is limited though because I want to do other important things too. Naturally, I want to know how to make this time more effective.
How can I use money at the problem of becoming a better programmer? Buying and reading books so far is not effective because there's too much of a gap between reading books and actually writing code. There's improvement, but not much. Watching screencasts and talks takes too long. Period. Working on pet projects seems most effective, except big portion of time is spent writing code I already know how to write, and when I encounter something I don't know how to do, it takes long to achieve the right solution. (kinda) Plus there's no way to know if what I wrote is actually a good way to do it.
What other ways are there? Is it common to seek a programming teacher? Just like paying piano teachers and martial arts trainers.
What's the best way to use money to help solve this problem?