🔥

Тред (@aminopyridin)


Про отношение к новым стекам. Когда у меня случается разговор о том, что «чет мне скучно, выучить новый язык, что ли...» с опытными разработчиками или со студентами, я на это реагирую каждый раз по разному. Тред о том, когда не надо, и когда уже очень желательно учить новый язык

Ситуация 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 на других языках.