Программисту высшее образование да необязательно. НО его наличие сильно расширяет возможности. Причем как знания которые гораздо проще получить в рамках высшего образования чем самому. Так и наличие диплома.
Например. Я всю жизнь в малом бизнесе. У нас работает достаточно ребят вообще без формального образования кроме школьного. НО вот только попасть в крупную корпорацию, госструктуру или представительство инофирмы без него если и можно вообще, то весьма затруднительно. Я долгое время занимался системой учета зарплаты и кадров для инофирм. И достаточно времени провел в HR департаментах. Так вот. Не только на программиста, но и на все другие более-менее ответственные позиции в большинстве инофирм кандидаты без высшего образования вообще не рассматриваются. А корпорации и госструктуры имеют тоже массу своих плюшек по сравнению с малым бизнесом. А в определенных жизненных ситуациях могут стать и незаменимыми. Поскольку доход там более стабилен. Они за один день не закрываются. И чаще всего за минуту сотрудников оттуда не выкидывают не за что, просто из-за того что завершился большой проект. Поэтому никто не знает как жизнь сложится. Но как минимум психологического комфорта сама теоретическая возможность устроится в подобную структуру прибавит тебе точно.
Другой пример уже по поводу знаний а не диплома. Хорошая математика сверх арифметики и информатики вроде бы нужна ну 15-20% программистов. А вот как раз выпускник отличается от самоучки прежде всего математической подготовкой. НО. Обычно это весьма интересные и престижные в профессиональной среде проекты. Примерно половина на половину из них сладко оплачивается. И еще там гораздо меньше конкуренция. Я сейчас занимаюсь большой веб-разработкой. Так вот у нас например число претендентов на место джуниора двузначное, из которых ну человек 3-5 (на одно место!) более чем реальные кандидаты. Да с опытными специалистами с бэкграундом хороших проектов другое дело. Только им еще надо стать. А соответственно где нужно математическая база в этом плане все мягче несравнимо.
Если недостаточно перечисленного. На многие должности прежде всего в области менеджмента требуется любое высшее образование. Поэтому даже если ты не станешь программистом диплом пригодится. Далее. Студенческие годы они все же хорошие, всю жизнь они с удовольствием вспоминаются :-) Поэтому. Если есть возможность получить высшее образование - не упускай. Не пожалеешь. А хорошее тем более.