Front - это по большей части вёрстка/гуёвщина. Это и правда - скучно, что ппц. Если есть склонность к такой работе, то лучше стать дизайнером.
Настоящее программство - в бэке или в монолитных приложениях. Хоть там много той же рутины, однако предметных областей столько, что за всю жизнь не перебрать. А от предметной области зависят алкоритмы. Придётся много почитать научной/математической литературы - не заскучаешь. И эти знания за твою жизнь навряд ли сильно устареют. Теорема Пифагора уже 2 тыщи лет держится, а очередной вуеджиэс/ангулар/ларавель/джанго через 2 года забудут.
На самом деле я уже давно сталкиваюсь с этой проблемой при написании любых программ где есть некое поле и взаимодействующие объекты на нём: аркады, стратегии, системы проектирования. Каждый раз мастерю что-то наугад, а хотелось бы фундамент подвести и делать однотипно.
Так интересно устроено, что бизнес не обязательно должен зарабатывать. Например:
1. У вас есть активов на 10 млрд в нефтянке. Вам любой штатный экономист даст совет диверсифицироваться, например в ИТ. И вы покупаете ICQ, Rambler, Mail.ru за 100млн - и вам не особо важно, какие копейки они тратят/приносят.
2. У вас есть активов на 10 млрд в оборонке. Оборонка живет на гос.заказе, завязана значит на политику. Вы идёте и покупаете Газету.ру, чтобы приобрести политическое влияние через СМИ. И вам не важно, что она там зарабатывает.
3. У вас есть 10 млрд. в консервативном инвест.фонде. С них вам капает в год 500 млн на житие-бытие. В какой-то момент всем родственниках куплены дома, места под новый порш в гараже уже нет. Но вот собственный джет вы не потянете. Что делать? Вынимать 10 млрд страшно. Тогда вы 100 млн в год пускаете на содержание какого-то Телеграма. Вам не важно, что он там в 10 млн заработает или 10 потеряет. Вам надо, чтобы он стал вторым Фейсбуком, чтобы можно было продать доляну за 10 млрд, вложить их в фонд и купить уже этот джет, как у Иваныча.
У меня аналогичная ситуация - сотня метров легаси г...но-кода.
Я, например, даже не собираюсь эту кучу рефакторить, пока на самом верху не будет принято такое решение.
Даже если и будет такая команда, я сомневаюсь, что она выполнима. И потому что кода много и потому что уровень команды не тот.
Что сделал я:
1. Нашёл острова относительно нормального кода в виде независимых библиотек. Составил списочек, что они могут и пользуюсь ими.
2. Написал свои библиотеки, которые обеспечивают 90% моих повседневных потребностей и опираются на библиотеки из пункта 1.
Так вот и живу в этом оазисе, в основном хорошо, но иногда стреляет.
Вот давеча в очередном РЕЛИЗНОМ патче важная библиотека перестала грузиться, если не загружена другая. А ведь эти библиотеки - результат предыдущей героической попытки построить модульную архитектуру.