To Learn How to Program, It Has To Fulfill A Need
djchung.tumblr.com
djchung.tumblr.com
Like you, I started learning programming after college, and I worked through courses, books, lecture slides, tutorials, read library docs, etc. but I learn the most at times when I actually sit down and go through the whole process of designing and building a complete application that does something useful. This year I've made it a goal to write code every day, with the intention of this culminating in launching at least one complete web application this year as a side business for extra income. I have a couple of solid ideas that I think I can build (and sell), but the only way to learn how to build something is by trying to build it.
Tutorials and courses are great and are necessary up front, but your fingers really need to be typing code that is generated by your brain, often, in order for it to stick.
With out a problem you don't explore.
I have lots of friends who want to "learn to code" but get frustrated and quit. It's too easy to give up if you don't have "something bigger" continually pushing you forward.
I did Python for 7 years before I realized Haskell had huge advantages I find very important and it took an extra two years of gradual transition until I had dropped Python completely.