Одним из основных факторов, задерживающих развитие Интернета вещей (IoT), является недостаток квалифицированных кадров: на рынке просто нет нужного количества инженеров с опытом проектирования IoT. Примерно 68% сталкиваются с трудностями в поиске разработчиков для IoT-проектов, согласно исследованиям, проведенным компанией Canonical (https://blog.golang.org/survey2016-results). Оборотная сторона дефицита кадров — карьерные перспективы для специалистов с востребованными навыками. В данной статье речь пойдет о языках программирования, чаще всего применяемых в области Интернете вещей, а именно Java, C, C++, Python, JavaScript и Go, а затем выясним, на какие заработки могут рассчитывать специалисты, владеющие ими. Учитываются еще факторы стажа и географического положения.

Как ведущая страна в области технического прогресса, Соединенные Штаты часто служат для остального мира эталоном оплаты труда (http://www.ioti.com/iot-strategy/2017-salary-guide-15-hottest-digital-marketing-jobs-and-what-they-earn) в ИТ-отрасли. На рисунке 1 приведен обзор наиболее распространенных языков программирования для Интернета вещей с соответствующими данными об окладах разработчиков в США на основании данных от компании Payscale (https://www.payscale.com/). Разработчики Java и C в среднем могут рассчитывать на более высокие оклады, чем специалисты по другим языкам, используемым для Интернета вещей, хотя потенциально самые высокие оклады у опытных кодировщиков Go. Квалифицированные разработчики Go — среди самых высокооплачиваемых в отрасли, несмотря на сравнительно скромные заработки их коллег начального и среднего уровня.

 

Средние оклады специалистов, владеющих наиболее распространенными языками программирования для Интернета вещей в США
Рисунок 1. Средние оклады специалистов, владеющих наиболее распространенными языками программирования для Интернета вещей в США

Посмотрим на средние оклады специалистов по наиболее распространенным языкам программирования для Интернета вещей, начиная с Java.

Самый распространенный язык программирования для Интернета вещей

Java применяется в различных областях, от программирования серверов до мобильных приложений под Android. По данным отчета IoT Developer Survey 2017 (https://www.slideshare.net/IanSkerrett/iot-developer-survey-2017), подготовленного некоммерческой корпорацией Eclipse Foundation, Java возглавляет список языков программирования, используемых в разработке Интернета вещей, особенно шлюзов и «облака».

Одно из важных преимуществ использования Java для разработки IoT — переносимость. Java не имеет никаких аппаратных ограничений, то есть вы можете проектировать и отлаживать программный код Java на компьютере и размещать его практически на любом устройстве с виртуальной машиной Java. По этой причине многие компании нанимают разработчиков для проектов IoT, как показано на рисунке 2.

 

Средние оклады разработчиков Java (по данным Payscale)
Рисунок 2. Средние оклады разработчиков Java (по данным Payscale)

Средняя зарплата разработчиков Java в США, по данным Payscale, — 88 000 долл. в год. В Швейцарии разработчикам Java в среднем платят больше, примерно 96 000 долл. в год. При этом средние оклады разработчиков Java в Великобритании и Израиле значительно ниже — 45 000 и 33 000 долл. соответственно.

Однако средний оклад разработчика Java, вероятно, не вполне отражает реальную картину, поскольку оплата сильно зависит от опыта и должности конкретного специалиста. Например, разрыв между младшим и старшим разработчиками Java в США — 66 000 и 97 000 долл., а в Великобритании — 41 000 и 61 000 долл. (рисунок 3).

 

Средние оклады младших, средних и старших разработчиков Java в США и Великобритании
Рисунок 3. Средние оклады младших, средних и старших разработчиков Java в США и Великобритании

Исследование окладов разработчиков Java в США показывает, что средняя оплата в различных штатах может быть значительно выше средней по стране. Например, средняя зарплата разработчиков в Калифорнии (133 000 долл.) — самая высокая в США. Этот уровень в немалой степени определяется общим высоким спросом на ИТ-специалистов в штате.

C — основной язык программирования для встроенных устройств

Язык программирования C — следующий по популярности язык для Интернета вещей. Однако он считается ведущей технологией для разработки встроенных устройств с ограниченной функциональностью, как отмечают специалисты Eclipse Foundation.

Этот язык обеспечивает прямой доступ к низкоуровневым аппаратным API-интерфейсам. Благодаря сходству с машинным языком C отличается чрезвычайными быстродействием и гибкостью и прекрасно подходит для устройств Интернета вещей с малой вычислительной мощностью.

Зарплаты разработчиков C, как и Java, сильно различаются в разных странах мира. В США разработчик C может рассчитывать примерно на 100 000 долл. в год, а в Швейцарии средний годовой оклад разработчика C — 92 000 долл. Среди рассмотренных нами стран меньше всего такие специалисты получают в Великобритании. По данным Payscale, средний годовой оклад разработчика C в Великобритании лишь немного превышает 40 000 долл., как показано на рисунке 4.

 

Средние годовые оклады разработчиков C
Рисунок 4. Средние годовые оклады разработчиков C 

Значительно различаются оклады младших и старших разработчиков C. Старшие специалисты зарабатывают почти вдвое больше работников начального уровня как в США, так и в Великобритании (рисунок 5).

 

Средние оклады младших, средних и старших разработчиков C в США и Великобритании
Рисунок 5. Средние оклады младших, средних и старших разработчиков C в США и Великобритании

C++ — язык номер один для Linux

Аналогично предшественнику, C, язык C++ широко применяется при проектировании встроенных систем. Однако главное преимущество C++ в вычислительной мощности, благодаря чему он является альтернативой C для более сложных задач.

C++ лучше всего применять для программирования с учетом особенностей аппаратных средств. Он хорошо сочетается с Linux, лидирующей операционной системой Интернета вещей. Но по сравнению с Java он проигрывает в переносимости.

Зарплаты инженеров, работающих с C++, ниже, чем у разработчиков C. В результате нашего исследования выяснилось, что разработчики C++ могут рассчитывать на 82-86 тыс. долл. и Израиле и Дании, а в США им приходится довольствоваться скромным доходом в 71 000 долл. (рисунок 6). Но несмотря на низкий средний уровень зарплат разработчиков C++ в США, опытные специалисты со стажем могут рассчитывать на шестизначный доход, как видно из рисунка 7.

 

Обзор средних окладов разработчиков C++
Рисунок 6. Обзор средних окладов разработчиков C++

 

Средние оклады младших, средних и старших разработчиков C++ в США и Великобритании
Рисунок 7. Средние оклады младших, средних и старших разработчиков C++ в США и Великобритании

Python — решение для систем IoT с обработкой больших объемов данных

Один из наиболее распространенных языков программирования для Интернета, основная технология для научных вычислений, Python широко применяется и для разработок в сфере IoT. Это отличный выбор для приложений, обрабатывающих большие массивы данных, особенно если требуется организовывать сложные данные.

Кроме того, исходный текст Python отличается компактностью и чрезвычайно удобен для чтения благодаря ясному синтаксису языка. Он особенно хорош для небольших устройств с ограниченными вычислительными возможностями и памятью, хотя и уступает в быстродействии языкам C/C++.

Средние оклады разработчиков Python в США колеблются возле отметки 71 000 долл., а в Израиле и Швейцарии специалисты со схожими навыками получают около 68-67 тыс. долл. соответственно (рисунок 8). Как всегда, существует значительный разрыв в оплате труда разработчиков Python начального и старшего уровней, как показано на рисунке 9.

 

Средние оклады разработчиков Python
Рисунок 8. Средние оклады разработчиков Python

 

Средние оклады младших, средних и старших разработчиков Python в США и Великобритании
Рисунок 9. Средние оклады младших, средних и старших разработчиков Python в США и Великобритании

При более внимательном рассмотрении выясняется, что, несмотря на сравнительно низкий средний уровень по стране, индивидуальные оклады разработчиков Python в США могут быть очень высокими. Вследствие резко возросшего спроса на программистов и недостатка квалифицированных кадров оклады в некоторых штатах могут достигать 142 000 долл. Традиционно Калифорния находится в списке штатов с самыми высокими зарплатами технических специалистов. Местные разработчики Python получают в среднем около 135 000 долл.

JavaScript — лучшее решение для IoT-приложений, управляемых событиями

JavaScript является базовой технологией современных веб-разработок. По данным ежегодного исследования StackOverflow Developer Survey (https://insights.stackoverflow.com/survey/2017#top-paying-technologies), в течение последних пяти лет это один из самых распространенных языков программирования.

Наряду с другими областями применения, JavaScript чаще всего используется как язык для программирования систем IoT, управляемых событиями. Он пригоден для управления большими сетями связанных устройств и особенно хорош, когда требуется массово обрабатывать одни задачи, не ожидая завершения других. Одно из основных преимуществ JavaScript для Интернета вещей — высокая эффективность использования ресурсов.

Крупные компании, в том числе IBM и Samsung, активно внедряют JavaScript (а именно Node.js) в своих IoT-проектах, и спрос на разработчиков, владеющих JavaScript, остается высоким. Поэтому оклады в целом сохраняются на высоком уровне.

Разработчики JavaScript в Швейцарии получают в среднем около 96 000 долл. Удивительно, но средняя зарплата специалистов по JavaScript в США гораздо ниже; там разработчикам приходится довольствоваться 69 000 долл. (рисунок 10).

 

Средние оклады разработчиков JavaScript в разных странах мира
Рисунок 10. Средние оклады разработчиков JavaScript в разных странах мира

Величина оклада заметно меняется от штата к штату. Например, мы выяснили, что больше всего американские разработчики JavaScript получают в Коннектикуте, Массачусетсе, Калифорнии и Нью-Йорке, где средний оклад составляет от 100 000 до 140 000 долл.

Аналогично оклады разработчиков JavaScript в большой степени зависят от опыта: специалисты по JavaScript со стажем в США могут получать в среднем до 100 000 долл. И примерно 60 000 долл. в Великобритании, как показано на рисунке 11.

 

Средние оклады младших, средних и старших разработчиков JavaScript в США и Великобритании
Рисунок 11. Средние оклады младших, средних и старших разработчиков JavaScript в США и Великобритании

Go — надежный инструмент для сложных IoT-сетей

Go представляет собой открытый язык программирования, созданный компанией Google. Он распространен гораздо меньше, чем языки, которые рассматривались выше, но обеспечивает мощную технологию для формирования уровня связи в любой системе IoT.

Параллелизм и возможность выполнять несколько процессов одновременно (ввод и вывод данных) — основные достоинства языка Go для Интернета вещей. В результате становится проще создавать сложные сети IoT со множеством датчиков и устройств.

Хотя в последнем отчете StackOverflow Developer Survey (https://insights.stackoverflow.com/survey/2017#most-popular-technologies) технология названа самой высокооплачиваемой в США, средний оклад программистов Go в США довольно скромен — около 73 000 долл., а в Великобритании 43 000 долл.

Поскольку у нас нет достаточных данных об окладах разработчиков Go, мы сосредоточимся на окладах специалистов в США и Великобритании, странах с наибольшим количеством разработчиков Go, согласно недавно опубликованному исследованию (https://blog.golang.org/survey2016-results), как показано на рисунке 12.

 

Средние оклады разработчиков Go в США и Великобритании
Рисунок 12. Средние оклады разработчиков Go в США и Великобритании

Разработчики Go высокой квалификации в США могут рассчитывать на заработок до 140 000 долл., то есть почти в три раза больше, чем у начинающих программистов Go, и вдвое больше, чем у их опытных коллег в Великобритании (рисунок 13).

 

Средние оклады младших, средних и старших разработчиков Go в США и Великобритании
Рисунок 13. Средние оклады младших, средних и старших разработчиков Go в США и Великобритании

Таким образом, оклады разработчиков, владеющих языками, наиболее широко применяемыми в области Интернета вещей, значительно различаются в зависимости от ряда ключевых факторов. Чтобы сделать выводы из полученной информации, важно охватить картину целиком и уметь вычленить доминирующие тенденции в развитии рынка.

Необходимое условие для того, чтобы занять достойное место на рынке Интернета вещей, — правильно определить направление его развития и соответствующим образом оценить свои услуги.