Типичный пример, когда появляются вопросы на тостере по типу: «Я хочу выучить программирование, чтобы делать сайты, нужно ли мне учить php/python/ruby/java/.net и прочее». Некоторые, вообще начинают заходить с C/C++. И главная проблема в том, что люди задают серию таких вопросов на протяжении 6-12 месяцев, рассуждают о каких-то концепциях по типу «Мне недостаточен ПХП, так как он не имеет гибкость» и прочим трешем. Т.е. становится явно, что человек занят каким-то бесполезным дрочевом, которое никакого отношения не имеет программированию.
Зачем вы учите тот или иной язык программирования
Когда мы спрашиваем человека лет 25-35, почему он учит тот или иной язык программирования, то он начинает с большим энтузиазмом рассказывать о его плюсах, возможностях, концепциях и прочее. Это все очень круто и здорово! Когда мы спрашиваем человека лет 35-50, почему он учит тот или иной язык программирования, то ответ получаем крайне прагматичный – «Мне за это платят».
Людей, кто действительно горит программированием ради программирования не так много на самом деле, поэтому разумно рассматривать именно второй вариант подхода к выбору своего стека.
А когда заходит речь про «Мне за это платят», нужно понять, кто вам готов за это платить и сколько. Практика показывает, что гораздо приятней получать зп в 150 тысяч, клепая модули для интернет магазина на ПХП, чем учить условный Python и сидеть без работы.
Небольшой Пример
Ниже я привожу небольшую сводку по вакансиям в Санкт-Петербурге, с указанием числа вакансий, уровня зп и того, что на этом стеке делают.
PHP
- Веб-сайт (Веб-сервис)
- Интернет-магазин (Битрикс + интеграция 1С)}
- ВЕБ-CRM
Общий пул вакансий 525
- Zend — 43 (потолок 200 — 3 вакансий, 100 — 20 вакансий, 80 — 28 вакансии).
- Yii-102 (потолок 215 — 4 вакансий, 100 — 54 вакансий, 80 — 78 вакансии).
- symfony — 85 (потолок 200 — 5 вакансий, 100 — 44 вакансий, 80 — 66 вакансии).
- laravel — 76 (потолок 170 — 4 вакансий, 100 — 42 вакансий, 80 — 54 вакансии).
- Битрикс — 181 (потолок 130 — 14 вакансий, 100 — 27 вакансий, 80 — 62 вакансии).
Python
- Веб-сайты (веб-сервисы)
- ВЕб-CRM/ERP
- Порт QT — что-то простое или программа под Linux.
- Ютилиты для Linux (Ansible)
- Биг-дата — самый простой вход
- Тестирование
Общий пул вакансий: 596 вакансий
- Теcтирование — 107 (потолок 175 — 8 вакансий, 100- 19 вакансий, 80- 30 вакансии).
- Data — 93 (потолок 245 — 3 вакансий, 150- 13 вакансий, 100- 17 вакансии).
- Devops — 86 (потолок 235 — 1 вакансий, 150- 7 вакансий, 100- 13 вакансии).
- Django — 64 (потолок 240 — 6 вакансий, 150-12 вакансий, 80- 32 вакансии).
- Flask — 25 (потолок 215 — 3 вакансий, 150-8 вакансий, 80- 12 вакансии)
- Tornado — 17
- aiohttp — 5
- Twisted — 4
Java
- Веб-сайты (веб-сервисы)
- CRM/ERP — системы
- Десктоп корпоративный JavaFX
- Биг-дата
- Распределительные системы (hadoop)
- Андроид приложения (в основном не игры).
- Интернет-магазин
- Автоматическое тестирование
Общий пул вакансий: 790
- Spring — 175 (потолок 400 — 3 вакансий, 150 — 28 вакансий, 100 — 51 вакансии).
- Android — 235 (потолок 250 — 9 вакансий, 150 — 31 вакансий, 100 — 53 вакансии).
- Теcтирование — 133 (потолок 165 — 5 вакансий, 100- 18 вакансий, 80- 28 вакансии).
- Java EE — 88
- Scala/Kotlin — 27 (19/8)
C#
- Веб-сайты (веб-сервисы)
- CRM/ERP — системы
- Лучший десктоп под Windows
- Биг-дата
- Распределительные системы
- Приложения андроид/ios (хамарин)
- Интернет-магазин (на базе nopeCommerce — платный из РФ)
- Игры на Unity
Общий пул вакансий: 412 вакансий
- .Net — 313 (потолок 235 — 10 вакансий, 150 — 45 вакансий, 100 — 81 вакансии).
- Asp.net — 153 (потолок 225 — 3 вакансий, 150 — 24 вакансий, 100 — 44 вакансии).
- .Net core — 48 (потолок 395 — 2 вакансий, 150 — 5 вакансий, 100 — 10 вакансии).
- Unity -64 (потолок 225 — 1 вакансий, 150 — 6 вакансий, 100 — 12 вакансии).
- Microsoft Dynamics — 38 (потолок 195 — 3 вакансий, 150 — 4 вакансий, 100 — 7 вакансии).
- Xamarin — 13 (потолок 125 — 2)
____
- Ruby -112 вакансий
- Node.js — 171 вакансий
- С++ — 489 вакансий
- 1C — 811 вакансий
- Golang – 49
Из это небольшой сводки становится понятно, что легче всего получить работу на php/java/.net – так как таких специалистов требуется много, и их профиль большего всего связан с разработкой, а не Devops/Data/Testing- как у Python.
А если мы смотрит такой же обзор по Владивостоку, то там требуется 3 специалиста по Java, 64 специалиста по PHP, 2 по C# и 110 по 1C. И эти данные как-то намекают на то, что во Владивостоке нужно учить либо PHP, либо 1C. Иначе вы будете сидеть без работы.
Главное правило: учить тот язык, за который вам готовы платить в том месте, где вы находитесь. Когда начнете получать деньги, когда появится опыт – уже сможете поменять свой стек и профиль при необходимости. Для этого достаточно открыть местный сайт вакансий и решение само к вам придет.
Пример девственника
Выбор первого языка программирования можно сравнить с первым сексом.
Когда приходит время, парень начинает изучать данный вопрос, смотрит определенные видео, слушает мнения своих друзей, мнение других девушек и так далее. Он строит у себя в голове определенный идеал того, какой должна быть девушка, где должна быть эта девушка и так далее.
Но потом появляется понимание, что определенные его идеалы недостижимы, на другие ему не хватает физических, денежных возможностей. И он либо остается ни с чем, либо делает свое дело с девушкой, которая просто оказалась рядом, и была не очень то и против.
Также обстоит дело и с языком программирования, выбирайте тот стек, который дает вам возможность начать прямо сейчас. Поменять стек и свою сферу всегда будет возможность. Никто не заставляет вас жениться на своем первом выборе.
ссылка на оригинал статьи https://habr.com/post/420445/
Добавить комментарий