Лично я бы выбрал оба варианта. Сейчас, десять лет в сфере программирования, с опытом и тимлида, и джуниора. Но везде полное самообразование. Мне реально не хватает фундаментальных и «разносторонних» знаний в сфере программирования. Что такое «дискретная математика» я даже не знаю и жалею.
Раньше хватало статей и учебников по языкам. Но последние несколько лет, работая с более крупными проектами и где не мало нагрузки идёт на логику и применение разносторонних технологий. Очень сильно не хватает каких-то знаний. Благо имею возможность сравнивать с коллегами(практического опыта у них меньше моего) по цеху. Которые заканчивали по специальности ВУЗы.
На данный момент пробую читать материалы по вот
этой моей теме.
Но только условие, относиться серьёзно к учёбе и если что дают, впитывать, а не посещать удалёнку «для корочки».