mkone112, тем не менее, многие мои коллеги делали иной выбор. Да и некоторые выбираемые мной технологии были менее удобны, чем их альтернативы, особенно в начале своего пути. Так что тут либо непрерывная цепь везения, что маловероятно, либо профессиональная интуиция, на что я надеюсь :)
mkone112, у меня как раз богатый опыт работы с математиками-программистами, которые всех остальных считают недолюдьми, при этом код пишут такой, что хочется с криком убежать.
mkone112, хех. Математику как на вступительных экзаменах, так и на сессиях я сдавал надрывно, с помощью зубрёжки, которая вылетала из головы через неделю, списывания и преподов, делающих скидку на работающего студента. У меня как раз программирование формировало "математические" нейронные связи, а не наоборот.
Daniil, это зависит от вашего профессионального уровня, жизненной ситуации и решимости в вопросе преодоления трудности на пути к цели. Исходя из этих параметров надо определиться с приоритетом. Если приоритетнее спокойно устроиться, то сделайте выборку вакансий в вашем регионе, посмотрите наиболее востребованные языки и сфокусируйтесь на одном из них. Если же приоритет - это возможность заниматься любимым делом, то про спокойное трудоустройство придётся забыть на годы. Я сам много раз был в такой ситуации и выбирал второй вариант. Да и сейчас выбираю. Из личного опыта могу сказать, что с ростом профессионального уровня становится проще выбирать технологии по вкусу, а в начале будет очень тяжело и многое будет зависеть от везения.
Разве у Шарпистов и Джавистов средней руки не такой же день сурка? Однотипный core и стэк.
За 17 лет на Java писал в очень разных отраслях очень разное ПО на очень разном стеке. Да и сам язык и фреймворки за эти годы очень сильно изменились. А мой коллега ABAP'ер те же 17 лет всё так же пишет очень типовой учёт на языке 72-го года выпуска. Из изменений только смена Русал на Газпром.
Не нужен. Поэтому джунов так редко нанимают. Обычно это делают крупные компании со свободными ресурсами и хорошо организованным менторством. Они фактически доучивают джуна. Пользы от этого две:
На сегодняшний день бывает легче просеять толпу джунов, выделить единицы перспективных и доучить, чем нанять мидла.
Джуна можно нагрузить задачами, от которых у мидлов падает мотивация. Вроде, исправить все замечания линтера и предупреждения компилятора в кодовой базе махрового легаси из миллиона строк.
Алексей Воробьёв, как и в шаолиньском монастыре всё развивается упорной практикой. Ничего сверхестественного в этом нет, подходы описаны во множестве популярных книг, вроде "Программист-прагматик".
mkone112, ни разу не встречал таких джунов сам и никто из моих коллег не встречал. Бóльшая часть просто будет бесконечно буксовать, редкий джун что-то сделает, формально проходящее приёмку, но непригодное к продовой эксплуатации, ввиду массы неучтённых моментов, и абсолютно несопровождаемое, ввиду говнокода. Если человек разбирается сам, пишет приемлемый код и полноценно решает задачи бизнеса, то это уже мидл, которого по ошибке или злому умыслу не вывели из джунства.
Спасибо, но ведь в таком случае человек как бы снова становится джуниором, разве нет?
Главное отличие мидла от джуна - это самостоятельность. Мидл понимает принципы организации работы, которые везде примерно одинаковы, и умеет самостоятельно искать информацию. Мидла можно даже не онбордить, если времени не жалко, просто даёшь ему доступ к кодовой базе и документации, через некоторое время получишь коммиты по принятому flow с относительно чистым кодом. Смена технологического стека не отнимает у человека самостоятельности, понимания парадигм, знания шаблонов и т.п., а потому не откатывает его до джуна.
Северное Сияние, между мной и человеком, описанным в твоём ответе, разница в том, что я умею программировать в целом, а он только кодить на PHP. Я много лет целенаправленно работал над пластичностью разума и высокой обучаемостью, и для меня давно уже не так важны инструменты - языки и фреймворки, переключаюсь с одних на другие в течении дней-недель. Да, согласен, чтобы писать на каком-то языке мастерски, мало знать синтаксис, нужно на нём думать, понимать идиомы и знать тонкости реализации компилятора/интерпретатора/виртуальной машины. Только всё это даёт возможность решить задачу лаконично, красиво и удобно, а бизнес платит зарплату просто за решение задачи. Намного сложнее менять прикладную область и класс задач, а происходит это при каждой смене места работы. Даже переход между проектами в одном банке может на несколько месяцев снизить полезность работника, что уж говорить о другой компании на другом рынке. Только никто при этом зарплату до предыдущего грейда не откатывает, максимум - снижают на какой-то процент на испытательном сроке.