Навички комп'ютерного програмування на 2020 рік: результати опитування 116 000 розробників та менеджерів з найму

Протягом останніх 3 років freeCodeCamp опитував 10 000 розробників про те, як вони вчаться кодувати та продовжують свою кар’єру. І ми зробили загальнодоступними наші повні набори даних.

У 2020 році ми вирішили зробити перерву на рік. Отже, ця стаття не стосується нового набору даних від нас. Швидше, мова йде про опитування, проведене нашими друзями з HackerRank. Вони опитали 116 000 розробників для звіту про навички за 2020 рік. І я збираюся розбити результати, які, на мою думку, є найбільш актуальними для нових розробників тут.

Багато розробників, яких вони опитували, також наймали менеджерів. Тож давайте почнемо там.

Що шукають менеджери з найму в наймах розробників?

Виявляється, це багато в чому залежить від розміру компанії.

Менші компанії більше покладаються на спеціалістів загального профілю. Вони залучають безліч повнофункціональних розробників, які можуть носити багато капелюхів.

Зазвичай це відбувається за рахунок спеціалізованих розробників інтерфейсу та інтерфейсу.

Менші компанії вважають розробників повних стеків більш важливими. Більші компанії частіше хочуть спеціалістів.

Якщо ви на хвилинку задумаєтесь, це має сенс. Більші компанії дозволяють проводити більшу спеціалізацію.

При цьому більшість менеджерів з найму в усіх великих компаніях повідомляють про пріоритетних розробників інтерфейсних, бек-енд-сайтів або повнотекстових розробників. Лише близько 30% менеджерів з найму вважали вищим пріоритетом заміщення таких ролей, як:

  • DevOps Engineering
  • Вчений даних
  • Інженер з контролю якості

А з точки зору навичок, які роботодавці шукають, коли наймають ...

JavaScript все ще є найбільш затребуваною роботодавцем навичкою мови програмування.

JavaScript на сьогоднішній день був найпопулярнішим у всьому світі, за ним слідував Python.

В Азіатсько-Тихоокеанському регіоні Java все ще користується великим попитом. C # і C ++ є більш популярними в регіоні Африка-Європа-Близький Схід, ніж деінде.

Але одне з найцікавіших уявлень тут полягає в тому, що зростаюча кількість менеджерів - особливо в Америці - є "мовними агностиками". Їм насправді байдуже, які конкретно мови програмування ви знаєте.

Це повертається до того, що я проповідував нудоту протягом останніх кількох років: якщо ви можете добре вивчити одну мову програмування, ви можете легко вивчити другу мову на роботі.

Тож я радий, що більше роботодавців визнають цю реальність, а не просто публікують вакансії для "розробників JavaScript" або "розробників Python".

Те, що розробник будував у минулому, є набагато кращим показником здібностей, ніж те, які конкретні інструменти вони використовували для його створення.

Все менше і менше роботодавців вимагають університетських дипломів. І менші компанії більш гнучкі щодо цього.

31% розробників, які працюють у невеликих компаніях, не мають ступеня бакалавра (в США також відомий як "ступінь бакалавра" або "4 роки").

І навіть у великих компаніях від 9% до 18% робочої сили розробників не мають наукових ступенів.

Це являє собою досить великий зсув від 1990-х та початку 2000-х років, коли більшість робочих місць розробників вимагали диплому.

Якщо ви на хвилинку задумаєтесь над цим, це цілком логічно.

Вартість здобуття університетського ступеня - безумовно в США - стрімко зросла за останні 40 років.

Все більше і більше американців вирішують відмовитись від традиційних університетських дипломів на користь самонавчання.

Моя порада завжди була: йдіть до дешевого громадського коледжу, потім до дешевого державного університету. Я все ще думаю, що 4-річні ступені того варті, якщо ви зможете заробити їх, не заборговуючи.

Але я можу зрозуміти, чому хтось, хто вже минув традиційний університетський вік (пізні підлітки до початку 20-х), може захотіти повністю пропустити університет.

Це збільшення на 2,5% університетської вартості навчання та зборів також збіглося із зародженням всесвітньої павутини та безліччю безкоштовних навчальних ресурсів.

У наші дні ви можете навчитися майже чому завгодно безкоштовно, якщо хочете сісти і навчитися цьому.

Тож приємно бачити все більше і більше роботодавців, які на додаток до випускників університетів залучають розробників, які повністю навчаються.

І є нова золота середина між вступом до університету та просто безкоштовним вивченням всього в Інтернеті: кодування завантажувальних таборів.

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

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

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

І хороша новина полягає в тому, що деякі роботодавці наймають цих програмістів кодексів bootcamp і діляться своєю думкою про них.

Чи працюють завантажувальні табори кодування? Ось дані роботодавців.

Близько 32% опитаних менеджерів з найму заявили, що найняли програму кодування bootcamp.

І ось що вони мали сказати про своє сприйняття навичок цих початківців:

Вони виявили, що ці програмісти кодування bootcamp в основному були настільки добре обладнані, як і інші наймити. І майже 1/3 зазначили, що програмувальники завантажувальних кемпінгів кодували краще, ніж їх звичайний найм.

Зазначимо одне, що багато хто з програмістів, що займаються кодуваннями, вже мають ступінь бакалавра - деякі в галузі комп’ютерних наук та техніки. Отже, деякі з цих студентів-початківців мають більше освіти, ніж типовий наймач.

Також зауважте, що якість інструкцій серед різних завантажувальних камер кодування різко різниться.

Це опитування не оприлюднило базові дані, тому ми не знаємо, які завантажувальні камери кодування є найбільш вигідними серед роботодавців. Ми також не знаємо, скільки з них були традиційними особистого кодування завантажувальних камер VS онлайн кодування завантажувальних камер. (І якщо ви вже читали мої статті в минулому, ви будете знати, що я набагато високо оцінюю різноманітність особистості.)

Але в будь-якому випадку, той факт, що 32% менеджерів з найму, які найняли програміст кодування bootcamp, так високо оцінюють свої навички, повинен бути обнадійливим для всіх розробників, які заснували власні завантажувальні табори кодування у своїх містах.

Які навички розробники зацікавлені в навчанні?

Хоча JavaScript є найпоширенішою та найпопулярнішою навичкою мови програмування сьогодні, завжди є питання про те, що далі.

На щастя, опитування також це охопило. Ось діаграма:

Можна припустити, що більшість респондентів вже знають JavaScript, оскільки важко бути розробником у 2020 році, не знаючи цього. Тож розробники переносять свій погляд, щоб зосередитись на деяких нових мовах.

Я збираюся описати ці мови прямо зараз, якщо ви ще не знайомі з ними.

Go - це потужна серверна мова, створена Google у 2007 році. Go пропонує:

  • вивіз сміття
  • безпека пам'яті
  • обмежена структурна типізація
  • і маса функцій для написання сильно паралельного програмування.

Хочете навчитися Go? Вам пощастило. У нас є безкоштовний 7-годинний курс на Go прямо тут:

Вивчіть швидку і просту мову програмування Go (Golang) за 7 годин Мову програмування Go (також називану Golang) розробив Google для покращення продуктивності програмування. В останні роки спостерігається вибуховий приріст використання. На цьому безкоштовному курсі від Майкла Ван Серпа ви дізнаєтесь, як робити крок за кроком. Go розроблений спеціально як системна програма… Beau Carnes freeCodeCamp.org

Другою мовою, яку хочуть вивчити розробники, є Python.

Хочете вивчити Python? Більше 10 мільйонів людей пройшли цей безкоштовний 4-годинний курс freeCodeCamp, опублікований на Python:

Вивчіть основи Python за допомогою цього поглибленого відео-курсу. Якщо ви хотіли вивчити Python, вам пощастило. Майк Дейн створив цей поглиблений відео-курс для Python. Це 4 з половиною години, тож вам, мабуть, знадобиться принаймні вихідні. У цьому відео Майк проведе вас через важливі концепції Python, і допоможе вам створити деякі основні ... Квінсі Ларсон freeCodeCamp.org

І у нас також є всесвітньо відомий доктор Чак, який викладає безкоштовний 14-годинний курс під назвою "Python for Everybody":

Python for Everybody - Безкоштовний 14-годинний курс Python від доктора Чака Цей курс має на меті навчити усіх основ програмування комп’ютерів за допомогою Python 3. Курс не має передумов, і кожен, хто має помірний комп’ютерний досвід, повинен мати можливість засвоїти матеріали цього курсу. Курс був створений доктором Чарльзом Северансом (він же доктор Чак). Він aCli ... Бо Карнес freeCodeCamp.org

І ми також працюємо над інтерактивною програмою на базі браузера Python із сертифікаціями. Це вийде пізніше в 2020 році.

Створіть 111 проектів, отримайте 10 сертифікатів - тепер із Python Ми наполегливо працюємо над версією 7.0 навчальної програми freeCodeCamp. Ось що ми будуємо. Деякі з цих удосконалень, включаючи 4 нові сертифікації Python, з’являться на початку 2020 року. Примітка: якщо ви вже переглядаєте поточну версію навчальної програми, продовжуйте. Як ви побачите ... Квінсі Ларсон freeCodeCamp.org

Третя мова, яку розробники хочуть вивчити в 2020 році, - це Kotlin. Kotlin - це чудова мова, створена нашими друзями з JetBrains (творці таких популярних середовищ розробки, як InteliJ та WebStorm).

Kotlin значно полегшує створення програм для Android (які спочатку були написані на Java).

Тож - звичайно - freeCodeCamp також має безкоштовний 4-годинний курс на Kotlin:

Дізнайтеся, як розробляти власні програми для Android за допомогою Kotlin - Повний курс Android - це найпопулярніша операційна система у світі. Це на більшій кількості пристроїв та комп’ютерів, ніж Windows, iOS та MacOS разом узятих. У цьому повному відеокурсі від Райана Кей ви дізнаєтесь, як створювати власні програми для Android за допомогою Kotlin. Цей повний курс пояснює, як побудувати цілий Andro… Beau Carnes freeCodeCamp.org

Про що насправді піклуються професійні розробники з точки зору професійного розвитку?

Одним словом: навички .

Більшість розробників менше дбають про традиційні маркери професійного розвитку (просування по службі). Вони більше дбають про розширення набору технічних навичок.

І це має великий сенс, коли ви дивитесь на наступну діаграму:

Більшість розробників воліють перейти на більш технічну роль, ніж на керівну.

Інженерний менеджер - це менеджер, а окремий учасник - розробник, яким керують. Але що саме являє собою технічний провід?

Роль Tech Lead варіюється в залежності від компанії, але зазвичай передбачає прийняття технічних рішень на високому рівні (наприклад, архітектора) та формування бачення для команди розробників. Зазвичай технічні керівники звітують перед керівниками інженерних служб, які потім звітують перед такими керівниками, як технічний директор.

Станом на 2020 рік, скільки грошей заробляють розробники щороку?

За даними 116 000 опитаних розробників, середня річна заробітна плата становить 54 000 доларів США. Це для розробників у всьому світі.

Давайте збільшимо масштаб, щоб подивитися на США - країну, де розробникам платять найбільше. (Я не зовсім впевнений, чому це так, але я підозрюю, що це поєднання США, в якому розміщені штаб-квартири багатьох найбільших світових програмних компаній, в поєднанні з обмежувальною імміграційною політикою, що обмежує доступність розробників.)

Ось середня зарплата розробника за районом метро в США:

Щоб розглянути ці цифри в перспективі, середній американець заробляє близько 47 000 доларів. Тож бути розробником - непогана робота, якщо ти можеш її отримати. ?

Ще раз дякуємо команді HackerRank за проведення цього опитування та створення цих візуалізацій. Вони в поєднанні з опитуваннями Stack Overflow та власними опитуваннями FreeCodeCamp допомагають скласти картину з більш високою роздільною здатністю розробки програмного забезпечення як поля.