I believe (and got it proven by my own experience), one needs nothing, but being really interested, or even passionate to the matter in order to get "professional". Nevertheless, the trick is one must be DOING it, not thinking of, if is he capable or not 🙂
By the way, i have never learned English, just was using it to read all that programming and other, mostly technical books with a dictionary first. Than i was reading some everyday texts, listening to the music, TV, (online) radio and so on, and now i can really speak it. Way not as fluent and correctly, as my native language, or even Spanish, which i was learning in the school, but however... Just because i was in need of it, and i was doing to use it no more, no less!