I have been a developer (primarily Java) for 9yrs now. But I recently started learning PHP and now I am learning Python. I wanted to learn these languages not because I had to but because I wanted to. And the best way to learn, per me is to pickup a book or a website tutorial, go through all of it in one go and then come back and do some mini projects for yourself which will enforce you to apply the concepts that you learnt. It won't be easy in the beginning but I find this a better way to learn any new programming language or any new concept. Because this way you are actually putting your theory into practice and when you are doing so you also have the big picture in mind.