Программист - понятие широкое.
Во-первых, английский нужно учить в любом случае. Хотя бы технический. Без него в программировании - никуда.
Во-вторых, что ты хочешь программировать?
Если драйверы - учи C, Ассемблер, принципы работы процессоров, памяти.
Если хочешь писать прикладные и бухгалтерские программы - учи СУБД - MS SQL, Oracle, Sybase, а также языки интерфейса - Delphi, C++.
Если хочешь писать скрипты для системного администрирования - учи работу Linux, Unix и его производных, Bash, Perl.
Если хочешь писать программы и скрипты для Web - учи HTML, PHP, Perl, MySQL, Java, JavaScript и т.п.
Здесь главное - определиться, в какой области собираешься работать.
Голосование, которое ты сделал, тебе ничего не даст.