В последний раз, когда мы рассматривали лучшие для изучения языки программирования в 2015 году, JavaScript, Java, PHP и Python считались хорошими вариантами при анализе популярности на таких сайтах, как GitHub и StackOverflow.
Кроме того, возможно, мы можем определить “лучшие” технологии для изучения из показателей, связанных с работой, такие как спрос и заработная плата? Рекомендательная сеть по поиску персонала Gooroo рассматривает более 500 000 ИТ-вакансий по всей территории США, Великобритании и Австралии, чтобы представить отчет о зарплате и спросе 2015 года.
Топ 10 технологий (спрос)
В объявлениях о вакансии больше всего представлены следующие технологии:
Java – в 18% объявлений с средней зарплатой в $ 100 000 USD
JavaScript – 17%, $ 90 000
C# — 16%, $85 000
C — 9%, $90 000
C++ — 9%, $90 000
PHP — 7%, $75 000
Python — 5.5%, $100 000
R — 3%, $95 000
Scheme — 3%, $65 000
Perl — 3%, $100,000
Это мировая статистика с уклоном на США по причине их большого рынка. C# находится на первом месте в Великобритании (32%), тогда как JavaScript побеждает в Австралии (13%).
Топ 10 технологий (зарплата)
Следующие технологии приносят доход больше, чем $ 100 000, а Erlang разработчики зарабатывают в среднем $ 125 000 долларов USD в год:
Erlang
Clojure
Haskell
Lua
Lisp
Groovy
Scala
F#
Ruby
Python
Интересно, что только Python появляется в обоих списках. Это означает, что он является лучшим вариантом?
Предостережения Gooroo
Перед тем, как вы вышибете дверь вашего босса, требуя повышения зарплаты и уроков по Python, почитайте эти факты от Gooroo:
- Не все рабочие места представлены в объявлениях, они не могут охватить каждую вакансию.
- Сведения о заработной плате является редкие, и когда они доступны, то попадают в рейтинг.
- Данные включают в себя временный контракт и вакансии на полный рабочий день, зарплаты которых очень сильно отличаются.
- Работа часто требует более одного навыка. В таких ситуациях Gooroo делит зарплату на количество навыков, чтобы получить среднюю оплату для каждого.
- Трудно различать навыки, например, Microsoft SQL Server может называться “SQL Server”, “MSSQL”, “SQL 2014″ и т.д. (От себя хочу добавить, что я еще не встречал рекрутера, который понимает, что Java это не JavaScript!)
Отчет интересный, содержит полезную информацию и приходит к разумным выводам. К сожалению, статистика спроса и зарплаты искажают истинное положение вещей. Нужно обратить внимание на следующие вопросы…
Большие корпорации имеют большее влияние
Подбор персонала обходится дорого. Агентства обычно берут 25% от первой годовой за подбор подходящих кандидатов, чтобы позволить себе покупать онлайн и офлайн объявления.
Это объясняет, почему Java (18%) и C# (16%) заняли первые места. Ни один из них не лучшн, чем другие языки-конкуренты, но крупные корпорации инвестируют в них, потому что:
- у них долгосрочные бизнес-цели
- они нанимают много разработчиков и не могут быстро менять платформы
- технологии доступны при поддержке Oracle и Microsoft.
Небольшие компании могут иметь больше вакансий и подобные зарплаты за PHP, Node.js или Ruby. Однако они менее охотно согласятся или вовсе не смогут платить за подбор персонала. Их объявления менее заметны, так что результаты, соответственно, искажены.
Средние зарплаты
Справедливо ли, что разработчикам PHP платят на 25% меньше, чем разработчикам Java? Нет – но это не так.
Зарплаты основаны на стоимости продукта, который вы создаете и ваш личный вклад в проект. Не имеет значения, используете ли вы Java, PHP, COBOL или QBasic.
Несмотря на приведенные выше цифры, PHP используется больше, чем Java; PHP запущен на 80% веб-серверов, а WordPress задействован на одном из четырех веб-сайтов. Вы найдете работу, где PHP оплачивается лучше, чем Java, но вы также найдете много вакансий в разработке тем или общей поддержки веб-сайта в нижней части шкалы заработной платы. Средняя зарплата PHP снижена.
Туманные заголовки
Вы редко увидите объявление о работе “Java разработчик”, “PHP профессионал” или “Python программист”. Сервис-ориентированная архитектура в топе оплачиваемых? Это описывает навыки, необходимые каждому разработчику, независимо от их языковой специализации.
Многопрофильные работы
Давно прошли те дни, когда можно было найти работу, зная только один язык. Большинство вакансий требуют множества навыков – в том числе бизнес-анализ, архитектура системы, проектирование баз данных, формат обмена данными, фреймворки, графический дизайн, front-end разработка и поддержка. Требуется знание HTML, CSS и JavaScript, даже если в объявление не упоминается об этом.
Прошедшие события не определяют будущие тенденции
Технология быстро меняется, но чтобы стать компетентным разработчиком потребуется много лет. Если мы вспомним события пятилетней давности, Node.js только что был выпущен, и довольно редко можно было встретить вакансии на front-end разработку. Десять лет назад, , iOS и Android не существовали. Пятнадцать лет назад, ColdFusion и Classic ASP with VBS были популярными платформами веб-разработки. Двадцать лет назад, немногие разработчики выходил за рамки C++ и VisualBasic.
Даже технологии, которые долгое время были популярными, перестанут ими быть.
Обратил внимание – но что же мне следует изучать?
Программирование – страсть. Оно требует сочетания логического мышления, опыта, творчества, воображения и любопытства. Некоторые люди, естественно, способны на такое, но нет коротких путей. Достижение приемлемого уровня компетентности займет много времени, и вы никогда не должны прекращать учиться. После всего этого будьте готовы отказаться от устаревших технологий, на изучение которых вы потратили годы.
Прежде чем вы приступите к подготовке к карьере в разработке программного обеспечения, задайте себе один вопрос:
Буду ли я писать программы в свободное время для удовольствия?
Будьте честны. Только один человек может мотивировать вас. Только один человек может научить вас программировать. Только один человек может посвятить время, энергию и необходимые затраты на изучение навыков. Если вы не готовы вложиться, никто не сделает это за вас – поэтому выберите карьеру, которая вас больше интересует или требует меньше усилий.
Выбор технологии на основе опросов, заработной платы или мнения других также неправилен. Выполните свои собственные задачи разработки и изучайте столько языков, инструментов и методов, сколько возможно. Изучайте программирование и обсуждайте его с коллегами. Это знание становится бесценным тогда, когда вы перейдете к более сложным проектам.
Вы можете достичь того, что кто-то будет хорошо оплачивать вашу работу, но не надо на это полагаться. Получать деньги за то, что вам нравится – бонус. Если вам не нравится программирование, оно станет рутиной, и никакое денежное вознаграждение не сделает вас счастливым.
Чего вы ждете? Подумайте о проблеме и надите решение. Вы можете выбрать сложную технологию, но имеет значение опыт – не язык.
Высоких конверсий!