Джерело: Stack Overflow Кілька днів тому авторитетний в IT-спільноті сайт Stack Overflow опублікував результати свого щорічного опитування, в якому взяли участь понад 65 000 професійних програмістів. Ознайомившись із ними, ви отримаєте уявлення про поточну ситуацію у сфері розробки програмного забезпечення у 2020 році. Кава-брейк #27.  Опитування розробників Stack Overflow 2020: мови програмування, освіта, технології та багато іншого - 1

1. Середній вік розробника

  • 15-19 років – 1,2%
  • 20-24 роки - 16,6%
  • 25-29 років – 29,5%
  • 30-34 роки - 21,9%
  • 35-39 років – 14,0%
  • 40-44 роки - 7,5%
  • 45-49 років – 4,2%
  • 50-54 роки - 2,5%
  • 55-59 років – 1,5%
  • Старше 60 років – 1,1%
Незважаючи на те, що майже 46% розробників ще не досягли 30-річного віку, кількість осіб старшого віку не така вже й мала. Приблизно кожному 20-му програмісту понад 50 років.

2. Середній вік з урахуванням країни проживання

  • США – 33,7 роки
  • Великобританія – 33,1 роки
  • Канада – 32,2 роки
  • Нідерланди – 31,9 роки
  • Німеччина – 30,9 роки
  • Франція – 30,4 роки
  • Бразилія – 29,4 роки
  • Польща – 28,9 роки
  • Індія – 26,0 роки
Як можна помітити, розробники зі США старші за своїх колег з інших країн. Середньостатистичний індійський кодер молодший за американця більш ніж на 7 років.

3. Досвід написання коду

  • Австралія - ​​16,9 року
  • Великобританія – 16,1 роки
  • США – 15,8 роки
  • Нідерланди – 15,0 роки
  • Канада – 14,4 роки
  • Німеччина – 14,3 роки
  • Франція – 13,0 роки
  • Польща – 11,5 роки
  • Бразилія – 11,5 роки
  • Індія – 8,1 роки.
Виявилося, що австралійці мають більший досвід у програмуванні, ніж жителі інших країн. Найменший професійний досвід має середньостатистичний індійський розробник.

4. Кількість років, що минули з початку навчання програмування

  • Менш ніж 5 років – 10,5%
  • 5-9 років – 29,2%
  • 10-14 років – 22,7%
  • 15-19 років – 13,2%
  • 20-24 років – 9,8%
  • 25-29 років – 5,1%
  • 30-34 років – 4,0%
  • 35-39 років – 3,0%
  • 40-44 років – 1,8%
  • 45-49 років – 0,4%
  • 50 років та більше – 0,3%.
Як свідчить статистика, більшість професійних розробників почали вивчати код від 5 до 14 років тому.

5. Професійна освіта

  • Бакалавр - 49,3%
  • Магістр – 26,5%
  • Незакінчена вища освіта – 11,5%
  • Закінчена середня освіта – 4,5%
  • Наявність наукового ступеня (кандидат наук, Ph.D, Ed.D) – 3,3%
  • Бакалавр із наявністю післявузівських курсів (Associate degree) – 3,2%
  • Доктор наук (JD/MD) – 1.4%
  • Не маю жодної закінченої освіти – 0,7%
  • Початкова школа – 0,5%
Результати показують, що близько 75% розробників мають як мінімум ступінь бакалавра, багато з них також здобули ступінь магістра. Незважаючи на те, що 11,5% респондентів кинули навчання у ВНЗ, загальна кількість програмістів, які навчалися у коледжі чи університеті, становить майже 90% від загальної кількості.

6. Професійна спеціалізація

  • Back-end розробник – 55,2%
  • Full-stack розробник – 54.9%
  • Frond-end розробник – 37.1%
  • Веб-розробник – 23,9%
  • Розробник мобільних додатків – 19,2%
  • DevOps-фахівець – 12,1%
  • Адміністратор баз даних – 11,6%
  • Дизайнер – 10,8%
  • Системний адміністратор – 10,6%
  • Розробник системних додатків – 9,6%
  • Data-або бізнес-аналітик – 8,2%
  • Data scientist або ML-фахівець -8,1%
  • Тестувальник – 8,0%
  • Data інженер – 7,6%
  • Академічний експерт чи дослідник – 7,2%
  • Викладач – 5,9%
  • Розробник ігор чи графіки – 5,6%
  • Engineering manager - 5,5%
  • Product manager – 5,1%
  • Вчений – 4,2%
  • Site reliability інженер – 3,9%
  • Senior executive/VP – 2,7%
  • Фахівець із маркетингу – 1,3%

7. Середній термін написання коду залежно від спеціалізації

Найбільший досвід кодингу виходячи з професійної спеціалізації мають Senior executive/VP (старший виконавчий віце-президент). Загалом вони займаються програмуванням 16,5 років. Від 10 до 13,8 років досвіду мають (у порядку зменшення): Engineering managers, системні адміністратори, розробники системних додатків, адміністратори баз даних, Site reliability інженери, DevOps-фахівці, викладачі, Data- або бізнес-аналітики. Найменший досвід кодування (в середньому 8 років) мають: академічні експерти чи дослідники, розробники мобільних додатків, Data scientist або ML-фахівці, full-stack та back-end розробники, тестувальники.

8. У якому віці написали перший рядок коду?

  • Молодше 10 років – 8,9%
  • 10-11 років – 10%
  • 12-13 років – 16%
  • 14-15 років – 19,2%
  • 16-17 років – 16,3%
  • 18-19 років – 14,7%
  • 20-21 рік - 6,3%
  • 22-23 роки - 3%
  • 24-25 років – 2,1%
  • 26-27 років – 1%
  • 28-29 років – 0,7%
  • Старше 30 років – 1,7%.
З усіх опитаних понад 54% написали свій перший рядок коду до 16 років. Люди, які написали свій перший рядок коду віком від 20 років, становлять 13% від усіх респондентів.

9. Спеціалізація професійної освіти

  • Інформатика, комп'ютерна інженерія чи розробка програмного забезпечення – 61,9%
  • Інша інженерна дисципліна (наприклад, побутова електроніка, механіка тощо) – 9,3%
  • Інформаційні системи, IT чи системне адміністрування – 8,0%
  • Природні науки (біологія, хімія та ін.) - 4,3%
  • Математика чи статистика – 3,6%
  • Веб-розробка або веб-дизайн – 3,5%
  • Бізнес-дисципліна (бухгалтерський облік, фінанси, маркетинг та ін.) - 2,7%
  • Гуманітарні дисципліни (література, історія, філософія тощо) – 2%
  • Суспільні науки (антропологія, психологія, політологія тощо) – 1,8%
  • Образотворче або виконавське мистецтво (графічний дизайн, музика, театральне мистецтво тощо) -1,4%
  • Не повідомабо свою спеціалізацію освіти – 0,9%
  • Охорона здоров'я – 0,5%
Статистика свідчить, що спеціальність інформатики – найправильніший шлях до кар'єри розробника програмного забезпечення. Проте й інші спеціалізації, зокрема гуманітарні, зустрічаються негаразд рідко.

10. Географічна приналежність

Відповідно до Stack Overflow, регіональна розбивка 65 000 респондентів виглядає так:
  • Європа – 24688 осіб
  • Азія – 16400
  • Північна Америка – 15570
  • Південна Америка – 3070
  • Африка – 2709
  • Австралія та Океанія – 1570

11. Статева приналежність

  • Чоловіки – 91,7%
  • Жінки – 7,7%
  • Статева приналежність не вказана – 1,2%
Незважаючи на те, що лише 7,7% професійних розробників ідентифікували себе як жінки, цей показник зріс порівняно з минулим. 2019 року жінок налічувалося 7,5% від загальної кількості опитаних. Найбільше жінок-розробників проживає у США – 11,8%, найменше – у Польщі (4,7%) та Бразилії (5,8%).

12. Найчастіше використовувана мова програмування

  • JavaScript – 69,7%
  • HTML/CSS – 62,4%
  • SQL – 56,9%
  • Python – 41,6%
  • Java – 38,4%
  • Bash/Shell/PowerShell – 34,8%
  • C # - 32,3%
  • TypeScript - 28,3%
  • PHP – 25,8%
  • C++ – 20,5%
  • C – 18,2%
  • Go – 9,4%
  • Kotlin – 8,0%
  • Ruby – 7,5%
  • VBA – 6,5%
  • Swift - 6,1%
  • R – 5,5%
  • Assembly – 4,9%
  • Rust – 4,8%
  • Objective-C – 4,4%
  • Scala – 3,9%
  • Dart – 3,7%
  • Perl - 3,3%
  • Haskell – 1,8%
  • Julia – 0,9%
Майже 70% професійних розробників найчастіше працюють на JavaScript. Ця мова була найбільш використовуваною з того часу, як Stack Overflow почав проводити щорічне опитування. Тож результат не дивний. Проте спостерігаються деякі цікаві зміни. Зростає популярність мови Dart, яка разом із Flutter все частіше використовується для розробки мобільних додатків. Також зростає використання мови Kotlin, яка виникла як альтернатива Java.

13. Найулюбленіша мова програмування розробників

  • Rust – 86,1%
  • Typescript – 67,1%
  • Python – 66,3%
  • Kotlin – 62,9%
  • Go – 62.3%
  • Julia – 62,2%
  • Dart - 62,1%
  • C # - 59,7%
  • Swift - 59,5%
  • JavaScript – 58,3%
  • SQL – 56,6%
  • Bash/Shell/PowerShell – 53,7%
  • HTML/CSS – 53,5%
  • Scala – 53,2%
  • Haskell – 51,7%
  • R – 44,5%
  • Java – 44,1%
  • C++ - 43,4%
  • Ruby – 42,9%
  • PHP – 37,3%
  • C – 33,1%
  • Assembly - 29,4%
  • Perl - 28,6%
  • Objective-C – 23,4%
  • VBA – 19.6%
Останні 4 роки Rust була найулюбленішою мовою програмування для розробників. Високопродуктивна мова, якій цього місяця виповнилося 5 років, активно використовується у браузері Mozilla Firefox. TypeScript – статично типізована версія JavaScript – також має стійку базу шанувальників, що робить його другою за популярністю мовою.

14. Мова програмування, яку розробники хочуть вивчити наступним

  • Python – 30%
  • JavaScript – 18,5%
  • Go – 17,9%
  • TypeScript – 17,0%
  • Rust – 14,6%
  • Kotlin – 12,6%
  • Java – 8,8%
  • C++ - 8,6%
  • SQL - 8,2%
  • C# - 7,3%
  • Swift - 6,6%
  • HTML/CSS – 6,5%
  • Dart – 6%
  • R – 5,1%
  • Ruby – 4,5%
  • C – 4.3%
  • Scala – 4,2%
  • Haskell – 4,2%
  • Bash/Shell/PowerShell – 3,9%
  • PHP – 3,5%
Розробники, які вже працюють з іншими мовами програмування, найбільше зацікавлені у вивченні Python, JavaScript, Go та TypeScript.

15. Найкраща платформа для розробників

  • Linux – 76,9%
  • Docker - 73,6%
  • Kubernetes – 71,1%
  • AWS – 66,4%
  • Raspberry Pi - 66,1%
  • MacOS – 64,4%
  • Microsoft Azure – 62,2%
  • iOS – 61,1%
  • Google Cloud Platform – 60,9%
  • Windows – 57,5%
  • Android – 57,1%
  • Arduino - 53,2%
  • Slack Apps and Integrations – 51%
  • Heroku – 46,2%
  • IBM Cloud або Watson – 37,8%
  • WordPress – 33%
Linux визнана найпопулярнішою платформою. 76,9% розробників або використовують її, або висловлюють зацікавленість у її використанні у майбутньому. Docker та Kubernetes хоча і не є операційними системами, також можуть вважатися популярними платформами для створення програм. Серед хмарних платформ лідером визнано AWS. На другому місці Azure, далі йдуть Google Cloud Platform та IBM Cloud.

16. Яку платформу ви плануєте вивчити у майбутньому?

  • Docker – 24,5%
  • AWS – 20,2%
  • Kubernetes – 18,5%
  • Linux – 16,6%
  • Android – 16%
  • Google Cloud Platform – 14%
  • Raspberry Pi - 12,6%
  • iOS – 10,4%
  • Microsoft Azure – 9,9%
  • MacOS – 7,7%
  • Arduino - 7,4%
  • Windows – 4,7%
  • Heroku – 4,4%
  • Slack Apps and Integrations – 3,3%
  • WordPress – 2,6%
  • IBM Cloud або Watson – 2,6%
Як з'ясувалося, майже чверть розробників хочуть вивчити Docker. 24,5% респондентів хотіли б використати цю платформу для свого майбутнього проекту. І інтерес до AWS також досить високий.

17. Яку операційну систему використовують більшість розробників?

  • Windows – 45,8%
  • MacOS – 27,5%
  • На основі ядра Linux – 26,6%
  • BSD – 0,1%
У 2020 році майже половина (46%) розробників, як і раніше, використовують Windows як основну операційну систему для настільних комп'ютерів. Приблизно рівну кількість віддають перевагу MacOS та Linux.