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