Выбор языка программирования практически всегда зависит от того, в каком городе вы живете и какие условия работы вы хотите получить. Все остальные факторы и личные предпочтения субъективны и не имеют какого-либо значения.
Локация определяет язык программирования
При выборе языка программирования всегда нужно опираться на местные вакансии, которые есть на вашем рынке, либо в городе, куда вы можете в ближайшее время переехать.
1) Небольшой город
Представьте, что вы живете в небольшом городке в Амурской области. До экономических центров России далеко, а местного рынка сбыта нет. И вот начитавшись статей про то, какой Python крутой, вы его изучаете на базовом уровне и начинаете поиск работы.
Оказывается, что в радиусе 4000 тысяч километров никому не нужен программист на Python. Для удаленки слишком большая разница в часом поясе, да и не нужны никому джуны на python на удаленку. И вот вы вроде бы изучили Python, но при этом сидите без работы и никому не нужны.
С другой стороны в городе есть местный 1С-Франчайзи, который нанимает стажеров на 1С. И если бы вы сразу пошли учить 1С, то сейчас бы уже имели работу, получили возможность откладывать деньги и планировать переезд в город крупнее, где больше выбор работы и технологий. Либо у вас есть местная студия, что пилит сайты на PHP, и они могли бы рассмотреть вас.
2) IT-Столицы
Совсем иначе обстоят дела, если вы живете в Москве, Санкт-Петербурге или Новосибирске. Местный рынок вакансий предоставляет большой выбор технологий, поэтому можно посмотреть компании, которые нанимают стажеров, либо имеют свой учебный центр на какую-то определенную технологию.
Например, очень большое количество компаний нанимают стажеров на Java или .Net стек. И было бы логично выучить именно этот стек и через стажировку получить себе работу. Разница между Java и .Net заключается в том, что первые чаще всего разрабатывают софт для банков, телекома и логистических компаний (отчего зп повыше, но и задачи сложнее), а вторые работают с госсектором и торговыми сетями.
Большое количество компаний позволит достаточно быстро расти по карьере и по зарплате, и через 3-4 года можно будет рассчитывать на комфортный уровень жизни.
3) Миграция в другую страну
Это является неожиданностью для многих, но в разных странах разный уровень спроса на ту или иную технологию. Поэтому, если вы изучаете PHP и планируете переехать в США, то обнаружите, что на него крайне скуден и беден спрос. А вот вакансий на Python или Java наоборот много, причем в топовые компании.
И если вы хотите переехать, то было бы логично учить именно этот стек, чтобы наработать опыт работы по этому языку в России, а потом уже поехать на должность опытного разработчика в США.
Условия работы определяют язык программирования
Задачи разной сложности требуют ту или иную структуру организации труда. Поэтому огромные банковские порталы пишутся командами из тысяч программистов в больших, просторных офисах. А небольшие порталы делаются ребятами из небольших офисов в промзонах, либо из дома на удаленке.
1) Корпоративная среда
Если вы всю жизнь мечтали работать в Москва-Сити или подобных зданиях, посещать крупнейшие мероприятия для разработчиков, развивать какую-то сложную систему и рассуждать о том, как корабли бороздят просторы вселенной, то там нужно учить Java или .Net.
Корпоративный мир в России и мире крайне консервативен, поэтому они любят использовать проверенный, надежный стек, даже если за это нужно будет переплачивать. И тут у Java и .Net просто нет конкурентов.
Однако нужно понимать, что за своей консервативностью скрываются свои минусы. Удаленная работа в таких компаниях маловероятна. Пробовать что-то новое и «клеевое» вы не будете. А половина всей работы будет заключаться не в написании кода, а в согласовании проекта и написании документации.
2) Фриланс и свобода
Если вы хотите работать удаленно, путешествовать по миру, развивать какой-то свой стартап или работать на фрилансе и пробовать что-то новое, то вам нужно брать более эффективные стеки. Под эффективным подразумевается стек, который предполагает, что один человек сможет сделать достаточный функционал, чтобы запустить проект и как-то его значительно изменить.
Пока корпоративный программист строит UML таблицу связей классов и уровни абстракции, программист на PHP, Python или JavaScript запускает полноценный проект. К легким также относится мобильная разработка, ведь один человек может запускать полноценные приложения.
Не нужно слушать «крутых дядек»
На разных форумах и сайтах опытные разработчики советуют ребятам изучать какие-то экзотичные стеки типа Haskell, Rust, Kotlin, ведь это крутые интересные языки. Возможно, это действительно крутые языки, но работы на них минимум.
Опытные программисты 10 лет пишут на Java, имеют уже зарплаты под 4-5 тысяч долларов, поэтому они могут позволить тратить свое время, чтобы посмотреть какой-то новый стек в качестве хобби и рассказать о том, какой он крутой. У вас же нет время на эксперименты, вам нужно надежное решение.
Не нужно идти в ГеймДев
Играть в игры и разрабатывать игры - это две большие разницы. Если первое приносит удовольствие, то второе нет. Поэтому не нужно романтизировать это направление.
Практика показывает, что в геймдеве одни из самых низких зарплат и одни из самых больших неоплачиваемых переработок – т.е. работать тут плохо. Поэтому, если вы точно не уверены, что разработка игр – ваше призвание, лучше выбрать другое направление.
Как итог о выборе языка программирования
Старайтесь выбирать надежный стек, который имеет вакансии в вашем городе или регионе. Чем больше вакансий, и чем выше уровень оплаты, тем лучше. Ибо в хороших компаниях ценят своих разработчиков, готовы платить им достойную зарплату и создавать комфортные условия работы. И это гораздо важнее, чем «крутость» языка программирования.
Mikluho
Вы слишком однобоко смотрите на вопрос. Как на интерес того, кто решил пойти в программиста, так и на то, какие языки востребованы и где.
В этом наивном обзоре вы напрочь забыли про базы данных и веб, про BigData и Machine Learniing, про то, что доход — далеко не единственный интерес программиста, да и в корпоративной разработке часто всё не так, как вы тут описываете.
bakotin Автор
Вполне вероятно, в комментариях вы можете поделиться своей точкой зрения на этот вопрос.
Mikluho
Моё мнение простое — внутренний интерес к программированию важнее локации и желаемых условий труда.
Нельзя вот так просто ни стать программистом, ни глядя в какую-то конкретную статью выбрать будущую область деятельности и язык программирования.
А если я начну расписывать всё, о чём стоит подумать, и что стоит попробовать тому, кто решился стать программистом, никакого комментария не хватит. Да и в одну статью это не влезет.
sshikov
Ага. Да и список языков прямо скажем, убогий. Ну я-то с алгола начинал, но это было давно. Но где basic, я вас спрашиваю?
Сразу видно, что автор никогда нигде в таком месте не работал. Сейчас удаленку предлагают все. Вообще все. Более того, моя компания, сталкиваясь с дефицитом площадей, планирует перевести на удаленку постоянно часть людей, организовав для них что-то типа коворкинга в офисе. И это никак не будет связано с ковидом — т.е. это планы на сроки более года.
Big-Bag
Это, мягко говоря, неправда. Большая часть вакансий в корпоративном секторе для удаленщиков недоступна, особенно если это hi-load, базы данных и т.п. Ну и существуют просто консервативные компании, которые даже на «стильный, модный, молодежный» стек рассматривают только сотрудников в офисе, без удаленки (ну или с частичной, типа 1-2 раза в неделю обязательно быть в офисе).
sshikov
Ну ок. Все что мне предлагают — везде можно. И это все такие же вакансии, как вы описываете.
Big-Bag
Видимо, вам предлагают только вакансии с удаленкой, но есть много вакансий, где только офис, которые вам просто не предлагают.
Вообще, достаточно открыть hh и посмотреть кол-во вакансий с удаленкой и без. Даже те предложения, где в тегах есть «удаленная работа», часто делают оговорку «необходимо иногда посещать офис» или «рассмотрим кандидатов в часовом поясе Москвы», или «удаленка на время ограничительных мер, потом офис».
sshikov
Ну, давайте я еще уточню — да, я никаких исследований не проводил, это лично моя выборка по тому, что предлагают. Но — это далеко не стартапы, это банки, т.е. заведения достаточно консервативные (в моей выборке был скажем ВТБ и Люксофт). Ну и все вот эти оговорки тоже иногда имеют место.
Я просто говорю, что с удаленкой пришлось столкнуться всем, даже тем, у кого персональные данные, банковская тайна и все такое — и они все подвинулись в ее сторону, так это выглядит на сегодня.
sergey-gornostaev
Например у Сбера 75% штата технарей на удалёнке, а ведь это яркий представитель корпоративного сектора и консервативной компании. У ВТБ и Альфы тоже удалёнка, только не скажу по процентам.
dvz0
Я вообще года с 2017 в офисах не работаю — все по удаленкам. И всегда есть вакансии, нет такого, что вот совсем труба и надо в офис идти работать (= переезжать в другой город).
Да, вакансий в офис больше, но и на удаленке можно жить. Причем гораздо лучше, чем в офисе.