2022-11-29 13:51:16
Сколько языков нужно знать разработчикуЕще один из моих любимейших вопросов. И в лучших традициях моего блога, на него не будет простого ответа, ибо мы живем не в простом мире.
Давайте начнем с самого начала. Неважно, где, вы начали учиться школе/вузе/онлайн курсе или просто читать книги. Вот вы выучили первый язык программирования. Почти наверняка он является полным по Тьюрингу, в связи с чем можно писать все что угодно.
И пошли писать сайты, игры, мобильные приложения, драйвера, нейронные сети, итд. А теперь выберем какой-нибудь язык, который закрывает сразу все эти потребности. Получилось?
На самом деле может даже и да. Есть пара самых попсовых языков Python & JavaScript, которые, мне кажется, были портированы уже на абсолютно любую платформу и любое НЛО поддерживает их из коробки, и есть много open source библиотек для разработки игр, графики, blockchain на Python/JS, хотя они, очевидно, для этого совершенно не предназначены, на том же Python можно хоть frontend писать через WASM. Но успех таких проектов довольно редок, и “можно” не значит “нужно”.
Приведу свой личный пример: у меня в стеке 3 языка, это Python, Go и C++. У каждого есть свое назначение: Python для данных, Go для backend, C++ для мат вычислений и совсем высоконагруженных штук. Я бы сказал, что это даже много, потому что бывает за год делается упор на 2 из них, и третий начинает забываться, из чего кажется 2 это оптимальное число, чтобы не налетать на все и сразу и уметь закрыть какие-то дополнительные задачи.
Еще один довод за то, что пробовать другие языки — это банальное расширение кругозора. Я даже не знаю, что можно ловить в ИТ, не имея какой-то банальной любознательности и не смотреть что вообще происходит в мире, не хотеть попробовать что-то новое. Для senior разработчиков я расцениваю знание 2–3 языков как плюс. Джунам и начинающим мидлам я бы не советовал, так как сначала освоить как следует один язык.
А теперь последний довод, который я лично считаю самым важным: а как понять, что выбранный язык лучше остальных? На чем базировать свой выбор писать до конца жизни на $LanguageName?
На советах коллег? (они никогда не ошибаются)
На маркетинговых бюллетенях? (они никогда не врут)
На том чему научили в вузе? (везде же самая современная программа)
Итак, мы разобрались почему хороший senior и выше должен знать / проявлять интерес к чему-то, кроме того, чему его научили деды в предыдущей компании. Какие аргументы против? Я вижу только один — это “распыление”, выделение малого количества времени на все подряд сделает вас “мастером ничего” (англ. идиома jack of trades master of none). Так что сами решайте, сколько языков иметь в стеке.
Важное уточнение: проявлять интерес и даже написать что-то не значит добавлять в стек. За свою карьеру я писал код на порядка 12 языков, как популярных, так и не очень, при этом в резюме я указывал только самые основные, а остальные - только пометку о небольших знаниях и только если это хотел видеть работодатель.
TLDR
Интересуйтесь другими языками программирования ради собственного саморазвития, а не работодателя. Не раздувайте список основных языков больше, чем ваш мозг в состоянии не забывать.
174 views10:51