Экосистема разработки в 2023 году

Перед вами результаты ежегодного исследования JetBrains, в ходе которого мы опросили 26 348 разработчиков со всего мира. Седьмой год подряд мы анализируем, что происходит в программистской среде, и делимся с вами самыми интересными цифрами и фактами.

Исследование охватывает широкий спектр тем: языки программирования, инструменты и технологии, демографические вопросы. Мы также рассматриваем особенности образа жизни разработчиков, их увлечения и интересы.

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

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

Поделиться:

Вы можете скачать исходные данные этого исследования, проанализировать их самостоятельно и сделать собственные выводы

Главное

Самые популярные языки программирования за последние 7 лет и потенциал перехода на них в 2024 году

Какими языками программирования, сценариев и разметки вы пользовались за последний год?

2017201820192020202120222023Планируют освоить
65%64%69%70%69%65%61%3%JavaScript
32%41%49%55%52%53%54%5%Python
60%55%61%61%60%54%52%1%HTML / CSS
42%47%56%56%54%49%52%2%SQL
47%51%50%54%49%48%49%3%Java
29%40%39%37%34%34%1%Shell
12%17%25%28%29%34%34%6%TypeScript
17%18%20%27%23%25%25%4%C++
20%22%24%22%21%23%21%4%C#
15%16%17%23%19%20%19%2%C
30%26%29%27%32%20%18%1%PHP
8%12%18%19%17%19%17%9%Go
2%9%16%17%14%16%15%6%Kotlin
2%5%7%6%9%10%10%Rust
9%8%11%9%7%7%6%4%Swift
10%8%11%8%6%5%4%2%Ruby
7%5%6%5%3%3%3%1%Scala
7%5%6%4%3%3%2%0%Objective-C
0%70%

Популярность JavaScript медленно идет на спад

Первая тройка языков не меняется три года подряд, но доля JavaScript стабильно уменьшается. Скорее всего, этот тренд продолжит свое развитие: мы выяснили, что JavaScript-разработчики больше других заинтересованы в изучении новых языков.

Расти, как Rust: история успеха

В этом году Rust установил новый рекорд популярности и стал единственным языком, которому удалось достичь такого результата. За счет своих строгих механизмов безопасности и управления памятью Rust бросает вызов C++, но сначала вполне может обойти Go — примерно каждый шестой Go-разработчик рассматривает возможность перехода на Rust. При этом, наряду со Scala, Rust возглавляет список языков, с которых пользователи переходить не планируют.

Objective-C объективно устарел

Растеряв за последние годы две трети пользователей, Objective-C, похоже, приближается к концу своего существования. Он продержался довольно долго: с 1984 года до выпуска компанией Apple его преемника, языка Swift, в 2014. С появлением других кросс-платформенных языков, таких как Kotlin и Dart, у iOS-разработчиков расширился выбор и практически не осталось причин держаться за Objective-C.

Подробнее — в разделе «Языки».

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

Высокооплачиваемыми сотрудниками считаются те, чья зарплата попадает в 25% самых высоких зарплат среди респондентов в их стране или регионе.

60%

Scala

50%

Go

41%

Kotlin

40%

C++

40%

Rust

38%

C

38%

Языки сценариев командной оболочки

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

Гендерное распределение в сфере технологий за последние 3 года

202120222023
93%91%91%Мужчины
5%5%5%Женщины
1%1%1%Небинарные персоны
1%2%2%Предпочитаю не указывать
1%93%

По данным наших опросов, с 2021 года представительство женщин в отрасли не увеличивается. То, что среди наших респондентов женщин всего 5%, свидетельствует об огромном гендерном разрыве в индустрии. Чтобы обеспечить равные возможности для всех, мы как сообщество должны выработать новые подходы к решению проблем гендерного неравенства.

В 2023 году мы наблюдаем перспективную тенденцию в Южной Корее: там среди программистов моложе 30 лет доля женщин составляет 14%. Вероятно, это результат долгосрочной государственной политики, проводимой с середины 1990-х годов и направленной на обеспечение гендерного равенства и поддержку женщин в IT.

Больше информации о гендерном распределении, уровнях зарплат и географии разработчиков — в разделе «Демография».

Сервисы генеративного искусственного интеллекта

Вы согласны со следующими утверждениями?

59%

У меня есть сомнения относительно безопасности использования генеративных ИИ-сервисов

53%

Я готов(а) использовать облачные генеративные ИИ-сервисы для решения рабочих задач

42%

У меня есть сомнения относительно этичности использования генеративных ИИ-сервисов

40%

Локальные и офлайн ИИ-инструменты вряд ли сравнятся по качеству и производительности с облачными решениями

28%

Политика моей компании ограничивает использование облачных ИИ-инструментов

19%

Я опасаюсь, что AGI (общий искусственный интеллект) будет враждебен человеку

77%

разработчиков пользуются ChatGPT.

46%

разработчиков используют GitHub Copilot.

Насколько часто вы используете следующие возможности существующих ИИ-ассистентов, когда программируете?

Очень частоВремя от времениРедкоНикогда
26%33%17%24%Получение ответов на общие вопросы по программированию, сформулированные на естественном языке
24%37%24%15%Генерация кода
19%26%22%33%Создание комментариев или документации к коду
18%26%21%36%Пояснения к ошибкам и варианты их исправления
14%27%22%37%Пояснения к коду
12%21%24%42%Создание тестов
11%21%19%48%Поиск фрагментов кода с помощью запросов на естественном языке
9%17%21%53%Выполнение ревью кода
9%16%19%55%Резюмирование новых изменений кода, позволяющее быстро понять, что было сделано
9%20%23%47%Рефакторинг кода
9%17%20%54%Создание команд для командной строки на основе описания на естественном языке
6%12%20%62%Создание описаний коммитов
6%62%

Разработчики чаще всего обращаются к искусственному интеллекту для получения ответов на общие вопросы, касающиеся программирования, и задают их на естественном языке.

Насколько вероятно, что вы делегируете следующие задачи ИИ-помощнику (в идеальном мире, где работа искусственного интеллекта сопоставима с работой человека)?

ДелегируюПока не знаюВсе равно буду делать это самостоятельно
56%23%21%Написание комментариев к коду или документации по коду
56%26%18%Написание тестов
55%26%19%Поиск фрагментов кода в кодовой базе
50%23%27%Написание комментариев к коммитам
46%23%31%Поиск в интернете
35%34%31%Выполнение действий в командной строке
34%31%35%Выполнение ревью кода
34%31%35%Рефакторинг
31%28%41%Анализ новых изменений кода
30%30%40%Отладка
23%26%51%Чтение кода
17%28%54%Написание кода
17%56%
AI assistant

JetBrains AI Assistant

AI Assistant — сервис, расширяющий возможности разработки с помощью набора функций на основе искусственного интеллекта. Благодаря сервису JetBrains AI пользователи IDE получают доступ к большим языковым моделям (LLM). AI Assistant учитывает контекст и помогает разработчикам быстрее выполнять задачи и работать эффективнее.

Попробовать бесплатно
НОВОЕ

Подробнее об использовании искусственного интеллекта в разработке читайте в нашем новом разделе.

Психическое здоровье в среде разработчиков

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

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

73%

разработчиков за время своей карьеры хотя бы раз испытывали выгорание.

Подробнее о психологическом благополучии разработчиков читайте в разделе «Образ жизни».

Обучение и карьера

Вы пришли в IT из другой профессии?

75%

Нет, я всегда работал(а) в IT

22%

Да, до прихода в IT я работал(а) в другой сфере

3%

Другое

Что из перечисленного позволило вам сделать первый серьезный шаг к тому, чтобы стать разработчиком?

58%

Образование, полученное в учебном заведении

10%

Книги

10%

Бесплатные онлайн-курсы и школы программирования

7%

Блоги, форумы

6%

Очные курсы, школы программирования

4%

Платные онлайн-курсы и школы программирования

2%

Кодкампы, митапы, юзер-группы

3%

Другое

Больше цифр и фактов об обучении программированию — в разделе «Образ жизни».

Data Science и машинное обучение

Как вы получили образование в сфере Data Science, машинного обучения или инжиниринга данных?

56%

Изучал(а) самостоятельно

41%

Изучал(а) программирование или анализ данных в университете

36%

Закончил(а) онлайн-курсы

19%

Перешел(-а) из разработчиков

4%

Другое

Как видно из предыдущей диаграммы, большинство разработчиков изучали программирование в университетах и других учебных заведениях. В сфере Data Science, машинного обучения и дата-инжиниринга ситуация иная: больше половины опрошенных обучались самостоятельно.

Какими из перечисленных видов деятельности, связанных с данными, вы занимаетесь?

46%

Визуализация данных

43%

Сбор/извлечение данных

33%

Разведочный анализ данных

31%

Проектирование моделей машинного обучения

31%

Пайплайны данных

23%

Осуществление машинного обучения

21%

Архитектура хранилищ

18%

Управление данными

2%

Другое

15%

Никакие

Подробнее о тенденциях в области анализа данных и машинного обучения — в разделе Data Science.

DevOps и облачные технологии

Какие облачные сервисы вы используете?

Этот вопрос мы задавали только тем, кто использует для хостинга облачные сервисы.

61%

60%

Amazon Web Services

25%

25%

Microsoft Azure

23%

22%

Google Cloud Platform

10%

11%

Alibaba Cloud

9%

8%

DigitalOcean

10%

5%

Heroku

63%

разработчиков используют Docker.

Узнайте о разработке инфраструктуры, хостинге, контейнерах, инструментах управления конфигурацией и настройке инфраструктуры в разделе DevOps.

Тестирование ПО

58%

респондентов, занимающихся тестированием, пишут автоматизированные тесты.

46%

респондентов используют разработку тест-кейсов в процессе тестирования.

Какие виды тестов применяются в ваших проектах?

63%

Юнит-тестирование

47%

Интеграционное тестирование

34%

Сквозное тестирование

32%

Тестирование производительности

1%

Другое

15%

Никакие

Подробнее о методах тестирования, используемых разработчиками и QA-инженерами, можно узнать в разделе «Тестирование».

Проекты с открытым исходным кодом

41%

респондентов участвовали в проектах с открытым исходным кодом, причем 20% делают это более или менее регулярно.

Больше данных о проектах с открытым исходным кодом, кросс-платформенной разработке и статическом анализе — в разделе «Разработка».

Удаленная и совместная разработка

49%

респондентов занимаются удаленной разработкой.

61%

практикуют совместную разработку, причем 45% делают это онлайн, а 30% — в присутствии коллег.

Какие инструменты вы используете для удаленной совместной разработки в реальном времени?

67%

Видеозвонок с трансляцией экрана

28%

Редактор или IDE с функциональностью для совместной работы

24%

Удаленный рабочий стол

1%

Другое

11%

Никакие

Подробнее — в разделе «Удаленная разработка».

Инструменты коммуникации

Для каких из следующих инструментов вы используете мобильные приложения?

20192020202120222023
74%77%75%66%64%Мессенджеры/видеозвонки
75%78%76%66%60%Электронная почта
16%24%38%39%34%Видеоконференцсвязь
39%42%41%40%33%Календари
4%4%3%4%4%Корпоративный портал
4%5%4%3%3%Служба поддержки
8%6%7%14%15%Никакие
3%78%

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

Подробнее о баг-трекерах, системах контроля версий, CI/CD-инструментах и средствах коммуникации читайте в разделе «Инструменты для командной работы».

Главное:

2023

Спасибо, что уделили время!

Если результаты исследования показались вам интересными, поделитесь ими с друзьями и коллегами.

Если у вас есть вопросы или пожелания, свяжитесь с нами по адресу surveys@jetbrains.com.