Во-первых, хотел бы порекомендовать книгу Чеда Фаулера "The Passionate Programmer: Creating a Remarkable Career in Software Development" (на русском:
"Программист-фанатик", Питер, февраль 2015). Несмотря на свое название, она не столько о программировании, сколько о личностном росте, саморазвитии и прагматичном стремлении к совершенству, читать рекомендуется всем и каждому.
Во-вторых, есть масса аналитических исследований в области IT, в последне время их особенно много из-за "кризиса", например
...о стагнации, образовании и востребованных профессиях.
Если думаете об эмиграции (а выезд заграницу на ПМЖ это именно
эмиграция), то тут есть 2 нюанса.
Первый заключается в самой сложности переезда в другую страну с другими законами, налогами, климатом, языком, культурой, и тд, а тёплых мест хватает и в России (об этом миллион статей на том же Хабре).
Второй - переезжать в другие страны имеет смысл в том случае, если вы собираетесь работать на окладе в офисе, например в крупной европейской/азиатской компании на высокой должности на территории работодателя. Фрилансеру же реальная польза от пеерезда весьма сомнительная (опять же, налоги в России - одни из самых низких).
По поводу трендов и языков могу сказать следующее: если вы собираетесь жить и работать со стратегическим расчетом на карьерный рост, развитие и прибыльную должность в отдаленном будущем, то стоит задуматься о сложных, но актуальных технологиях, нацеленных в первую очередь на крупный бизнес (биржи, банковский сектор, системы аналитики и прогнозирования, ИИ, инетрнет вещей, etc.).
Сейчас мир программирования равивается в двух основных полярных направлениях: низкоуровневое - ПЛИС и самодостаточные микроконтроллеры ("умная железка в каждую вещь"), и, противоположное ему - высокоуровневое проектирование и
ФП. В первом случае много физики, во втором - матана, дискрета, теории категорий и всего такого.
Лично мне ближе второй вариант, поэтому я для себя выбрал технологии, основанные на Java (почему именно Java - пояснил ниже в комментарии): Scala,
Lift, ФП, функционально-ориентированное проектирование, мета-программирование,
DSL, вот это всё.
По поводу "готовых решений" лично я наблюдаю обратный процесс: люди стараются отказываться от универсальных готовых решений в пользу гибких, компактных и заточенных под конкретную бизнес-логику (опять же DSL и
DDD).
Но начать всё же рекомендую с Фаулера. Затем Р. Мартин "Clean coder" (на русском "Идеальный программист. Как стать профессионалом разработки ПО"), само собой МакКонелл, Крэг Ларман, и прочие бестселлеры.
Да, и не забудьте книгу Грега МакКоена "Эссенциализм...", очень полезная вещь в наше время. Личностный рост и саморазвитие сейчас не менее важно (а иногда и важнее) просто "программирования".