If you are pennyless, an issue shared by many human beings (me included), and you can't go abroad to improve your language skills, just buy a method and learn a lesson everyday (everyday!) during approximatively 3 months. 20 minutes for each lesson seems enough to master pretty well the chosen language. It worked well for me. Why not for you? Reading newspapers, watching news and chatting with native speakers will also help you a great deal.
So, to answer your question: self-discipline and steadiness are the keys to an efficient learning.