I agree with a lot of the posts here, but noticed one way of learning (specifically about programming, but it applies to most creative endeavors I&#x27;ve enjoyed) that I have not seen mentioned, which is to learn by teaching.  I&#x27;m self-taught, and there is an enormous segment of things I&#x27;ve learned by trying to help someone with something I had No Idea how to do.<p>A couple lifetimes ago (say, 99-01) I used to spend a lot of time on a back-then-well-regarded designers forum, and every time a web development question would pop up, I generally didn&#x27;t know the answer.  I was just learning, myself, and the questions always intrigued me.  So I&#x27;d dig in and start googling and hacking and reading &#x2F; researching and documenting and finally write up a thorough response.  Follow-up questions came with more hacking and research, but always ended in an answer, even if it was &quot;no clue - but here&#x27;s where I ended up...&quot;.<p>I&#x27;d eventually become very well known in that community as an experienced developer, though I was generally answering questions I had no business answering.  That turned out to be very lucrative for me over time as those designers got further into their careers - some of whom I&#x27;ve been working with on-and-off for more than a decade.<p>I did the same in the early days of StackOverflow.  I&#x27;d see an interesting question pop up that I knew absolutely nothing about.  I&#x27;d open up my IDE of choice at the time and start hacking away.  50 browser tabs and a few iterations later, and I&#x27;d have an answer.  Sometimes it was weirdly brilliant.  Sometimes it was ridiculous.  But I&#x27;d learned TONS along the way.<p>I still do the same when I start new projects.  I start with my own questions.  I flip everything I&#x27;ve done before upon its forehead, ignoring previous assumptions.  I open hundreds of tabs and email myself a whole bunch of links to read after I&#x27;ve slept a bit more.  And then I pick a few things that seem reasonable and start running until the project looks like something tangible.  I&#x27;ve built quite a few successful things this way, and consistently learn quite a bit more every step of the way.