В большинстве случаев программисту для работы нужен компьютер и Интернет. И все. К тому же, у многих компьютер и доступ в Сеть уже есть.
Это вам не летчики, которым для обучения нужен целый самолет. Благодаря таким небольшим требованиям, многие учатся программированию самостоятельно и могут попробовать это занятие без посторонней помощи. Основы информатики сейчас преподают в школах, так что минимальное представление о профессии должно быть у всех.
Без английского тут никак. Его придется учить, в основном на перевод с листа. Умение писать не так важно, умение говорить и понимать на слух – вообще не имеет значения (оно, конечно, полезно, но не для программирования). Если после школы у вас сложилось впечатление, что достаточно запомнить переводы нескольких команд Basic и Pascal, то вы неправы: программистам приходится читать очень много технической документации на английском и с большой скоростью.
Может сложиться впечатление, что программисту надо хорошо разбираться в математике. Это так, но математика тут довольно специфичная. Очень сильно зависит от той области, в которой вы будете работать.
Насколько сложная математика вам понадобится, зависит от той области, в которой вам придется работать. Дело в том, что только в самом начале программирование занималось вычислительными задачами и только ими. В большинстве нынешних программ вычисления происходят на уровне четырех арифметических действий, поскольку задачи поменялись.