Важно знание математики, а именно: теории графов и множеств. Булева алгебра, двоичная система счисления, матрицы(для работ с массивами), циклы и алгоритмы. функции(имеются ввиду не те, что в школьной математике). Прочитай обо всем этом в гугле, не поймешь(хотя бы примерно), то и нет смысла вообще лезть в программирование и тратить свое время зря. Английский не так важен, как все перечисленное выше.
P.S.HTML И СSS-не языки программирования.