Про отношение к новым стекам.
Когда у меня случается разговор о том, что «чет мне скучно, выучить новый язык, что ли...» с опытными разработчиками или со студентами, я на это реагирую каждый раз по разному.
Тред о том, когда не надо, и когда уже очень желательно учить новый язык
Ситуация 1, самая простая: ты выбрал стек, начал в нем работать и понял, что тебя бесят задачи, которые есть в этом стеке и шансов на просветление не много.
То есть, если ты выбрал какой-нибудь бэкенд, а сам, что называется «визуал» — очень любишь думать картинками
Или наоборот, ты выбрал фронтенд или мобилку, а от наведения красоты тебя тошнит.
Тут все просто, бросай это как можно скорее — нервы дороже!
Ситуация 2, посложнее: у тебя в команде появился новый стек и тебе очень хочется его попробовать или резкая необходимость заменить уволившегося, например, коллегу (и тебе не все равно на эту менеджерскую проблему).
Тут можно так делать, если новый стек интересен тебе с целью перехода на него или если у тебя больше трех лет опыта в работе на твоем первом стеке.
Ситуация 3: твой текущий язык — не первый, на котором ты работаешь. В этой ситуации ты и сам взрослый и самостоятельный, разберешься без моих советов.
Ситуация 4: ты уже больше 3 лет пишешь на текущем языке (даже если он первый) — смело можешь пробовать новое.
Общее правило, которым я руководствуюсь: если у моего собеседника текущий язык программирования — первый на котором он работает и он на нем работает меньше трех лет, то рекомендую не менять язык.
Причем «работа» на языке в этом случае — это важно.
У меня есть история университетсяких времен (я, кстати, на химика училась):
я не знала одинаково хорошо все языки программирования, так что мне было без разницы, на чем писать: я писала на JS, PHP, C# и Python. И ни одного из них не запомнила.
Похожая история и у моих студентов: они в университете изучают несколько языков, так, что немножко запоминают возвышенные слова о концепциях, а сами языки и тонкости реализации смешиваются в кучу, где все равно, на чем писать.
Так вот, эмпирическое правило из наблюдений родилось такое: если у тебя есть хотя бы три года опыта в одном языке, то изучение следующего расширяет кругозор, а не смешивает все в кашу.
И расширение кругозора очень полезно: оно обогащает и ваш опыт, и языки программирования =)
А если вы хотите порасширять кругозор в языках программирования, то я сплагиачу советы от @_bravit:
Книжка «Seven Languages in Seven Weeks» (только не берите на литресе, они не дают ее скачивать, только через их приложение с отвратительным ux)
Книжка «Exercises in Programming Style» (amazon.com/Exercises-Prog… тут про русскую версию ничего не знаю, не пыталась даже искать)
А еще можете посмотреть чудесный доклад @_bravit, откуда я сплагиатила советы: youtu.be/pHq3HDEXQXM
Участвуйте в контестах, чтобы попробовать новые ЯП. Про контесты расскажу подробнее в следующие дни, но уже сейчас можно отправиться порешать задачки adventofcode.com или codingame.com на других языках.