Программист - это профессия, но это слишком общо. Пишут программы для конкретных задач. Как правило, программисты бывают оторваны от конкретной задачи - и это слабое место программиста. Если человек понимает, что помимо знания языка и навыка писать программы (коды, как сейчас говорят), нужны знания в той области, для которой ты пишешь, то результат, скорее всего, будет. Я часто встречал программистов, которые писали программы не понимая в том, для чего пишут. И хотя я сам преподавал информатику, и программировал в Алголе, Фортране и Бейсике, и писал блоки в машинных кодах, на прямую понимая в какую область памяти загружается блок, как подается команда на исполнение, и как именно она исполняется, но неизбежно обращение к тем, кто более профессионален. Так вот, я не мог объяснить программисту, как рассчитать прибыль. Как учитывать в ней списания и уценки. Как относиться ко взяткам в этих расчетах. Приходилось, в итоге, самому править. Благо дело язык 1С похож на бейсик.
Теперь про физику. Физика изучает неживую природу. Понимание, как ведут себя объекты, процесс которых ты программируешь, обязательно. Помимо этого физика, как угол зрения математики, помогает и в абстрактных программах, т.к. они все равно пишутся для жизни, для конкретного применения. Однако я не скажу, что физика - самое важное для программиста. Хороший программист - это совокупность знаний. Конечно, математика важнее. Но не вычислительный навык, а умение абстрагироваться от процесса. А физика, наоборот, нужна для того, чтобы прочувствовать абстрактный процесс, как реальный. Способность за формулой видеть процесс.