В прошлом месяце были опубликованы результаты ежегодного опроса Stack Overflow, которые дают представление о том, как развиваются тенденции разработчиков. Обычно я работаю в пещере и у меня туннельное зрение в отношении инструментов. Это дает прекрасную возможность попробовать новые технологии где-нибудь в следующем году. Около 89 000 разработчиков (75% из которых являются профессиональными разработчиками) ответили на опрос, открытый с 8 по 19 мая 2023 года.

Результаты разбиты на следующие 6 разделов, каждый со своими подкатегориями:

  • Профиль разработчика
  • Технологии
  • AI
  • Работа
  • Сообщество
  • Профессиональные разработчики

Существует также дополнительный раздел, связанный с методологией, который включает вопросы об опросе. Это мое первое впечатление от результатов, поскольку я в основном погружаюсь в разделы образования и технологий. Мне нравится, что они добавили подраздел технологий, который сравнивает языки, оценивая их как желаемые и вызывающие восхищение. Еще одно интересное замечание: прошлогодний раздел Web3 был заменен вопросами о тренде ИИ.

Я часто слышу и верю, что пойти в разработку можно и без диплома. Я также знаю нескольких человек, которые прошли путь буткемпа и добились успеха. Интересно, что преобладающее число респондентов (41,16%) по-прежнему имеют степень бакалавра или выше. Чтобы добавить к этому, учебные курсы составляют только 9,81% методов обучения людей. Еще одна метрика, о которой я сожалею, что не начала раньше, — это количество людей, изучающих программирование в средней школе (т. е. старшей школе).

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

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

Технологии

Атом. Это имя я давно не слышал.

Я был удивлен, увидев, что около 5000 человек все еще используют его, так как проект был заархивирован около года назад. Это было прискорбно, но ожидаемо с тех пор, как Microsoft приобрела Github в 2018 году. Мне понравилась эта IDE, и я почувствовал, что все ее расширения дают такой полный опыт, когда я впервые попробовал ее. В итоге я обменял его на Vim и его экосистему плагинов, поскольку он был построен на Electron и казался тяжелым на моем дешевом ПК. В конце концов я остановился на VS Code и остался там, довольный всеми расширениями от сообщества и его полным опытом. Кажется, сообщество Stack Overflow чувствует то же самое.

С моей точки зрения, два заметных недостатка: базы данных Astro, DBeaver и графы. Я подумал, что увижу Astro, возможно, в разделе «Другие фреймворки и библиотеки», так как читал только положительные отзывы. Он может создавать контент-ориентированные сайты, используя некоторые из самых популярных фреймворков. Он встраивает их в базовый HTML/CSS/JS только с тем, что необходимо, поэтому ваши страницы загружаются очень быстро.



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

Интересно, что по-прежнему отсутствуют базы данных графов, если смотреть на те, которые использовались для разработки в прошлом году. Было только одно упоминание графовой базы данных, Neo4J, в разделе «Желаемое против восхищения», несмотря на варианты, которые либо являются FOSS, либо предоставляют бесплатный уровень, такой как ArangoDB, Memgraph и Stardog.

Что касается языков, Rust по-прежнему высоко ценится сообществом. Zig — один из других высоко оцененных языков, которые я хочу попробовать когда-нибудь в будущем. Я читал, что Rust для C++ то же, что Zig для C; более того, мне было бы интересно применить его к ESP8266, который у меня завалялся. Это активно обсуждается, и в последних нескольких комментариях упоминается, что Zig теперь скомпилирован для LLVM16, который имеет экспериментальную поддержку Xtensa. Это, однако, не в моей стихии.

Две другие технологии, которые я хочу попробовать в этом году, даже не упоминались. PyScript — это тот, который использует Pyodide и WASM для запуска Python в браузере. Короче говоря, вы можете заменить ‹script› на ‹py-script›, чтобы заключить код Python. Сюда входит двусторонняя связь между объектами и пространствами имен Javascript и Python, а также возможность запуска пакетов Python в вашем браузере. Я не думаю, что это когда-нибудь заменит Javascript. Тем не менее, я уверен, что появятся инновационные способы разгрузки вычислительных циклов в браузере. Другой технологией является язык Mojo, целью которого является сочетание удобства использования Python с производительностью C.

По словам участников, AWS по-прежнему занимает большую часть рынка. Есть несколько других облачных платформ, о которых я даже не слышал. В настоящее время я использую Linode/Akamai для размещения базы данных Postgres и API. Я ищу другие возможности для размещения некоторого типа интерфейса. Многие из этих других платформ имеют приличный бесплатный уровень, учитывая, что мое приложение минимально.

Профессионалы сосредоточены в основном на Jira и Confluence; тем не менее, первые 3 для тех, кто учится программировать (все с +20%), — это обсуждения GitHub, файл Markdown и Notion. К сожалению, я использовал только один из них. Понятие всегда было в моем списке вещей, которые нужно попробовать; однако я обратился к Microsoft Lists, так как Office 365 имеет приоритет на работе. Я никогда не использовал обсуждения GitHub, но я использовал другие инструменты GitHub, такие как проекты и действия, которые мне нравятся. Наконец, я использую уценку.

Ничто не сравнится с хорошим файлом уценки.

Я всегда делаю заметки в файле уценки, так как синтаксис очень прост. Слишком удобно зайти в терминал и начать редактировать .md в Vim. Добавьте плагин Goyo, и ничто не сможет его превзойти.

В большинстве случаев количество респондентов, использующих ОС в личных целях, имитирует профессиональное использование. Однако есть существенная разница в пользу личного использования при взгляде на Windows. Некоторые другие, которые следуют этому примеру, — это Android, iOS, iPadOS и, что удивительно, Arch. Со всем этим, кроме Arch, я думаю, что удобство использования и использование ОС по умолчанию для многих устройств играют роль в повышении его личного использования. В случае с Arch его позиция в качестве скользящего дистрибутива негативно ограничит его профессиональные варианты использования. Я ожидаю, что с дистрибутивами Linux работа будет играть какую-то роль, поэтому имеет смысл, что большинство из них совпадают. Единственный, где профессиональное использование значительно больше, чем личное, — это Red Hat.

AI

Я уверен, что этот раздел опроса привлечет наибольшее внимание. Я признаю, что использую некоторые ИИ (в частности, ChatGPT и Grammarly) для работы. Не для того, чтобы слепо делать за меня свою работу, а для того, чтобы проиллюстрировать идеи, с которыми мне трудно справиться. Большинство моих вопросов похожи на r/ELI5, где малые и средние предприятия пытаются взять довольно сложные идеи и представить их так, чтобы их понял пятилетний ребенок. Кроме того, когда я буду заниматься алгоритмами, я попрошу базовый пример на Python, чтобы все заработало. Я также могу отправить блок кода в поисках лучшего способа его реализации. Почти половина респондентов уже используют ИИ, еще 25% планируют использовать его в будущем. Чуть менее 30% не намерены использовать ИИ в своем рабочем процессе.

Отношение к ИИ в сообществе разработчиков хорошее, учитывая, что 77% положительно или очень положительно оценивают инструменты ИИ в разработке. Были упомянуты и оценены следующие преимущества:

  • повышенная производительность
  • ускорить обучение
  • большая эффективность
  • повысить точность кодирования
  • улучшить сотрудничество

Около 42% доверяют тому, что выходит из этих моделей, еще около 31% не доверяют и не не доверяют ответам. Независимо от происхождения, все считают, что в следующем году процесс разработки будет другим из-за появления этих систем искусственного интеллекта.

Заключение

Опрос Stack Overflow 2023 дает ценную информацию о тенденциях разработчиков, охватывая различные аспекты отрасли и предоставляя ресурсы для разработчиков и отраслевых специалистов, стремящихся быть в курсе меняющейся среды разработки программного обеспечения. С участием значительного числа респондентов, в том числе профессиональных разработчиков, опрос предлагает всесторонний обзор предпочтений и практики сообщества. Наряду с профилями разработчиков, технологиями, ИИ и аспектами сообщества опрос также включает показатели работы и заработной платы, если вы хотите проверить это самостоятельно.