Comments 12
Сам написал, сам прокомментировал. Наверное сейчас таким инструментом становится Go для части разработчиков, ну и никуда не девается Java
Кодить попеременно на C++ и Python - не возникает проблем.
Вот на JS и Python - мрак. Они перемешиваются.
Если вы писали только на статических языках, обязательно выучите динамический
Зачем это?
Если не скрипт, не прототип и не фронт энд то зачем?
Многоязычность в большой компании на большом проекте это возможно неплохо. Но количество экспертов должно быть больше количества языков )
А экспертов много меньше чем просто программистов
Если я пишу на java и kotlin в продакшн, это считается за 2 языка? :D
Тогда мне стало понятно, что выбранная схема обучения программистов в Андеве готовит не программистов, а Rails-программистов.
А разве это - не то, что нужно для бизнеса? Бизнесу, вообще-то, нужны не программисты, а люди, способные выполнять стоящие перед бизнесом задачи средствами IT, причем - с намименьшими на них затратами. И если основную часть этих задач могут делать специально обученные люди - обученные только одному языку, в идеале - одному фреймворку, то целесообразно нанимать именно таких людей, а если их на рынке нет - готовить. Потому что это обойдется просто-напросто дешевле, чем если нанимать сплошь программистов (а уж тем более - настоящих программистов ).
Другой вопрос, что для использования специально обученных людей требуется более сложная организация процесса разработки:
вычленять задачи, которые требуют нетипового подхода и передавать их более квалифицированным исполнителям;
разрабатывать инструкции и выбирать (а то и создавать, если их нет на рынке) вспомогательные инструменты для специально обученных людей, чтобы они могли решать такие задачи, если они вдруг станут типовыми;
вовремя выявлять неправильные методы решения и давать по рукам специально обученным людям за их применение.
Да, организовать работу таким обрзом сложнее, чем просто нанять группу работников-универсалов более высокой квалификации. Но, как показала история той же промышленной революции, рост эффективности производства лежит в этой стороне - в стороне углубления разделения труда, специализации и снижении требований к массовыи работникам. Если бы производством, как в Средние века, занимались бы сплошь квалифицированные мастера-ремесленники, чтобы стать которым нужно было показать свое умение, сделав chef d'oeuvre (шедевр, если в русском произношении), то мы бы ни за что не получили такого изобилия дешевой продукции промышленного производства, какое имеем сейчас.
И я так наблюдаю, что в области разработки ПО бизнес пока что находится на стадии ремесленного производства (к сожалению это или к счастью - зависит от точки зрения).
PS Все написанное выше к теме статьи относится косвенно: в ней обсуждается, как готовить программистов широкого профиля, а не нужно ли их готовить массово. Но раз автор упомянул, то я не смог пройти мимо.
"Когда в руках молоток - всё вокруг кажется гвоздями"
"На скольких языках вы пишите продакшен код?"
На скольки пишут в компании, в комании в моем проекте, я пишу в компании, я пишу включая пет-проекты? Scala 2 и 3 - один язык или два?
Не соглашусь с тезисами в статье, во всяком случае для карьеры пользы мало. Долгое время работал в аутсорсе из-за чего постоянно приходилось "бежать" за рынком: из iOS Objective-C в Java Android, из Java Android в iOS Swift, оттуда в ReactNative, затем в Node JS, пока, наконец не ушел в продуктовую компанию писать микросервисы. При переходе между стеками, рост "вширь" не ощущается, т.к. пока осваиваешь новые технологии, старые быстро забываются, и ценность твоей экспертизы не растет на рынке. Чего нельзя сказать о программах, которые расли вертикально, развиваясь в пределах одного стека - у них и экспертиза становилась глубже и тайтлы выше.
Монокультура в программировании