Состояние экосистемы разработчиков JetBrains в 2023 году: основные выводы и идеи
1 декабря 2023 г.В динамичном мире программного обеспечения и практик разработки исследование JetBrains State of Developer Ecosystem 2023 раскрывает ключевые тенденции, определяющие предпочтения и поведение 26 348 разработчиков со всего мира.
Этот всеобъемлющий обзор дает представление о постоянно развивающейся области языков программирования и разнообразных инструментах и технологиях, используемых разработчиками.
Разработчики постоянно повышают квалификацию
Одной из примечательных тенденций является упор в опросе на изучение новых языков программирования. Python (27%), JavaScript (24%) и Java (21%) возглавляют список языков, которые респонденты активно изучают или освоили недавно. Python превосходит JavaScript в целях изучения языка, поскольку наблюдается постоянный рост внедрения Python в различных областях. Опрос показывает, что использование Python охватывает различные области, при этом анализ данных (47%), машинное обучение (42%) и веб-разработка (40%) являются основными вариантами использования.
Более 50% тех, кто изучает новые языки, делают это из интереса, а 44% и 43% учащихся мотивированы личными проектами и стремлением идти в ногу с последними тенденциями соответственно.
Учебные пособия считаются наиболее полезным форматом контента (62%), за ними следуют новостные статьи (55%) и тенденции отрасли (54%). Интересно отметить, что разработчики, как правило, получают доступ к новостям ИТ через различные каналы, включая социальные сети (50%), веб-сайты, ориентированные на ИТ (48%) и YouTube (45%). Что касается социальных сайтов, респонденты сообщили, что они активно используют аккаунты на GitHub (76%), X (Twitter, 48%), LinkedIn (48%) и Stack Overflow (47%).
Результаты опроса показывают, что когда дело доходит до предпочтений в обучении, разработчики демонстрируют практический подход. Большинство (67%) предпочитают обучение с помощью документации и API, что указывает на желание понять основы, прежде чем углубляться в сценарии реальных приложений. Это согласуется со статистикой, согласно которой 75% респондентов отказались от курсов или программ до их завершения. Среди причин прекращения обучения 46% связывают это с нехваткой времени, а 39% считают содержание курса неинтересным.
Инструменты и технологии, используемые в средах DevOps
Docker был лучшим выбором для виртуализации или контейнеров, используемых во время разработки более чем в половине компаний-респондентов, при этом «вообще ничего» было выбрано на втором месте в 39%. Kubernetes выбрали почти четверть респондентов (23%), и небольшое меньшинство использует Vagrant или другие варианты. Более того, примерно половина респондентов используют несколько контейнеров приложений, используя один контейнер для приложения, а также службы резервного копирования и полагаясь на докеризованные утилиты, что подчеркивает наиболее распространенные тенденции, связанные с использованием контейнеров.
Docker также был самым любимым инструментом создания шаблонов для серверов: 64% респондентов выбрали этот выбор. Vagrant и Packer значительно отстают - по 5% каждый, и вновь выбор «Нет» оказался на удивление высоким: почти треть респондентов предпочли не использовать такие инструменты.
Знание Docker на среднем и продвинутом уровне составило почти две трети ответов респондентов (63%), имеющих как минимум практические знания процессов Docker. Пятая часть ответов указала на слабое знакомство с Docker и чуть меньше — на базовое знание этой концепции. Более половины респондентов (58%) указали на средний или продвинутый уровень владения Docker Compose, а 41% сообщили о незначительной осведомленности о нем.
Среди сервисов оркестрации контейнеров, используемых в производстве, Kubernetes является явным фаворитом: более четверти респондентов выбирают такие продукты Amazon, как ECS/Fargate или EKS. Кроме того, за последний год использование Kubernetes выросло на 16%. На Kubectl и консоли/CLI облачных провайдеров пришлось 81% инструментов, используемых для работы с кластерами K8s, тогда как на инструменты, связанные с Kubernetes, пришлось почти половина всех ответов. Более того, количество людей, не очень знакомых с Kubernetes, сократилось на 9%.
RabbitMQ и Kafka были наиболее популярными инструментами для обмена сообщениями и доставки с показателями 49% и 46%, при этом Amazon SQS используется примерно в пятой части организаций-респондентов. Однако брокеры/очереди сообщений использовались только в 35% опрошенных компаний.
Организации становятся лучше осведомлены о важности тестирования
Участники этого опроса сообщили, что 96% тестирования проводится собственными силами. Число организаций, где более половины QA-специалистов занимаются только ручным тестированием, составляет всего 27%. Это означает, что в большинстве организаций (73% респондентов) на 10 разработчиков приходится 1–3 QA.
Специалисты по обеспечению качества полагаются на инструменты и платформы тестирования. В этом году JUnit используют 33% респондентов. JUnit — это платформа для модульного тестирования, обычно бизнес-уровня.
Модульные тесты по-прежнему составляют самую большую часть головоломки тестирования: по сообщениям, они присутствуют в 63% программных проектов, над которыми работают респонденты. 83% респондентов сами пишут модульные тесты, а 80% респондентов сообщили, что тестирование является неотъемлемой частью общего процесса разработки программного обеспечения. Несмотря на возросшую осведомленность и законодательство о доступности, только 14% респондентов проводят тестирование доступности в рамках своего текущего процесса.
Почти половина респондентов (46%) сообщили, что разработка тестовых сценариев является частью их процесса контроля качества. Самая популярная техника проектирования была основана на сценариях использования (51%), за ней следовали пользовательские истории (39%). При этом 41% респондентов используют документы Office для хранения тестовых сценариев по сравнению со специализированным инструментом тестовых сценариев, а 34% признались, что не используют никаких конкретных инструментов. Среди тех, кто использует инструменты управления тестированием, первым был TestRail (21%), за ним следовал Azure (17%), а затем Xray для Jira (14%).
Кроссплатформенная доставка мобильных приложений никуда не денется.
Что касается мобильных вопросов, 87% респондентов опроса разрабатывают приложения для Android и 58% — для iOS. Еще 3% разрабатывают «другие» мобильные операционные системы, в том числе некоторые операционные системы, такие как webOs и Tizen, которые еще не получили широкого распространения.
Более 50% респондентов используют кроссплатформенные платформы для доступа к Android и iOS из единой базы кода. Используются современные фреймворки: 47% респондентов сообщили, что разрабатывают приложения с помощью Flutter, а 36% используют React-Native.
При поиске интегрированной среды разработки мобильных приложений большинство разработчиков сходятся во мнении, что наиболее важными функциями являются те, которые облегчают отладку. 61% респондентов поставили на первое место возможность запуска приложения на устройствах и эмуляторах, за ними следуют менеджеры SDK, диспетчеры устройств и журналы устройств, которые являются тесно связанными темами.
Заключение
Подводя итог, можно сказать, что данный опрос представляет собой комплексную картину развития ситуации в разработке программного обеспечения. От известных языков, таких как Python, JavaScript и Java, до кроссплатформенных сред разработки мобильных приложений — разработчики демонстрируют динамичный и адаптивный дух.
Поскольку экосистема разработки программного обеспечения продолжает развиваться, эти тенденции отражают устойчивость отрасли и стремление оставаться на переднем крае технологических достижений.
Оригинал