Принцип выбора первого языка программирования

от автора

Выбор первого языка программирования дается новичкам достаточно сложно. Проблема заключается в том, что новичок находит слишком много информации о том, насколько тот или иной язык программирования хорош или плох. Поэтому, появляются различные сомнения, споры, дебаты и прочее.

Типичный пример, когда появляются вопросы на тостере по типу: «Я хочу выучить программирование, чтобы делать сайты, нужно ли мне учить 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/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *