Concordo con Kahm per quanto riguarda la lingua, uno che vuole diventare un buon programmatore non può prescindere dalla conoscenza dell'inglese.
Non c'è bisogno di essere in grado di fare l'interprete, basta conoscere quel po' la lingua da capire frasi medio-semplici e conoscere i termini tecnici, quindi se non sei in grado di documentarti su materiale in inglese, dovresti pensare di investire del tempo anche nell'apprendimento di tale lingua.