«Дзе тая маладая шпана, што сатрэ нас з зямлі?»

Экзістэнцыйным пытаннем, вынесенымі ў загаловак у фармулёўцы Гребенщикова, я задаўся пасля чарговага раўнда абмеркавання ў адной з супольнасцяў на прадмет таго, ці патрэбныя пачаткоўцу web backend дэвелаперу ведаў SQL, ці ORM усё і так зробіць. Адказ вырашыў пашукаць крыху шырэй, чым проста пра ORM і SQL, і ў прынцыпе паспрабаваць сістэматызаваць, хто тыя людзі, якія цяпер ідуць на сумоўі на малодшыя і сярэднія распрацоўчыя пазіцыі, якая іх гісторыя і ў якім свеце яны жывуць. У цэлым-то меркаванне ў мяне было, але яно сфарміравана асабістым вопытам найму і відавочна скарэкціравана пад лакальны рынак. Увогуле, стала цікава. Вось што ўдалося знайсці.

Глабальная папуляцыя распрацоўшчыкаў

Каб неяк падысці да пытання, вырашыў пачаць з пошуку дадзеных аб тым, колькі ў прынцыпе зараз распрацоўшчыкаў у свеце і як гэтая папуляцыя змяняецца з цягам часу.
Ацэнкі ў розных крыніцах называюць лікі ў відэльцу ад 12 да 30 мільёнаў чалавек. Спыніцца вырашыў на дадзеных ад SlashData, таму што іх метадалогія здалася мне цалкам збалансаванай і прыдатнай для маіх патрэб. У адзнацы яны ўлічвалі колькасць акаўнтаў і рэпазітараў на Github, колькасць акаўнтаў на StackOverflow, акаўнты npm і дадзеныя афіцыйных крыніц аб працаўладкаванні ў ЗША і Еўропе. Таксама яны адкарэктавалі атрыманыя лічбы пры дапамозе сваіх уласных 16 даследаванняў, якія ахоплівалі прыкладна па 20 000 чалавек для кожнага апытання.

Па дадзеных SlashData атрымалася, што ў чацвёртым квартале 2018 года ў свеце было прыкладна 18.9/12.9 мільёнаў распрацоўшчыкаў, 6/XNUMX мільёнаў з якіх – прафесійныя, гэта значыць зарабляюць на жыццё праграмаваннем. Тыя, хто не з'яўляецца на дадзены момант прафесійнымі распрацоўшчыкамі – гэта людзі, для якіх праграмаванне з'яўляецца хобі плюс тыя, хто зараз вывучае прафесію (рознакаліберныя студэнты і самавукі). Ну гэта значыць вось намёк на колькасць групы, якая мяне цікавіць - XNUMX мільёнаў чалавек. Шчыра прызнацца, гэта больш, чым я чакаў.

Другім сюрпрызам для мяне сталі тэмпы росту пагалоўя праграмістаў: з другога квартала 2017-га года па чацвёрты квартал 2018 яно павялічылася з 14.7/18.9 да згаданых 21/2018 мільёнаў, або вырасла на 5% за 20 год! Калі б мяне папрасілі ацаніць тэмпы росту колькасці праграмістаў, то я б сказаў, што гэта каля XNUMX% за год з невялікім ростам тэмпу штогод. А тут аказваецца цэлых XNUMX%.

Акрамя таго, SlashData ацэньвае, што да 2030-га года папуляцыя дасягне 45 мільёнаў. Няцяжка палічыць, што гэта мае на ўвазе рост на крыху больш за 8% штогод, а зусім не 20%, але яны спасылаюцца на карэкцыю з улікам пранікнення інтэрнэту (цяпер каля 57% у свеце па дадзеным Statista) і яшчэ некалькіх фактараў, напрыклад колькасці распрацоўшчыкаў на душу насельніцтва. Геаграфічна, мацней за ўсё расце колькасць распрацоўшчыкаў у Індыі і Кітаі, як мяркуецца, Індыя абгоніць ЗША па колькасці распрацоўшчыкаў да 2023 (гэта ўжо дадзеныя C# Corner).

Увогуле, праграмістаў будзе шмат, як ні круці, таму што попыт расце. Дарэчы, аб попыце.

На што ёсьць попыт?

Для адзнакі попыту я карыстаўся дадзенымі HackerRank за 2018 и 2019 года.

Па мовах праграмавання самы вялікі попыт на JavaScript, Python і Java практычна па ўсіх індустрыях, за выключэннем Computer Hardware. У апошняй найвялікі попыт на C/C++, што і зразумела, у жалезачных праектах яшчэ захоўваюцца патрабаванні па рэсурсаёмістасці і прадукцыйнасці які адпавядае софту.

«Дзе тая маладая шпана, што сатрэ нас з зямлі?»

Па фреймворкам найвялікім попытам карыстаюцца AngularJS, Node.js і React, прычым па іх самы вялікі парыў попыту і прапановы, што, здаецца, тлумачыцца хуткасцю, з якой змяняецца экасістэма JavaScript-а, таму што напрыклад па ExpressJS прапанова ўжо перавышае попыт.

«Дзе тая маладая шпана, што сатрэ нас з зямлі?»

Па кампетэнцыях працадаўцы чакаюць ад кандыдатаў у першую чаргу Problem Solving skills. Каля 95% працадаўцаў згадвае гэтыя навыкі як важныя. Programming Language Proficiency на другім месцы з 56%. Дарэчы радкі з фундаментальнымі ведамі алгарытмаў, структур дадзеных і іншага Computer Science наогул няма, ці то не было ў апытальніку, ці то так масава акадэмічныя веды ўжо не патрабуюцца.

Database Design патрэбен 23.2/100% кампаній памерам да 18.8 чалавек, і 1000/37.0% кампаній звыш 44.1 чалавек. Ага, вось яно падобна пра ORM і SQL! Лагічнае, имхо, тлумачэнне ў тым, што ў буйных кампаніях з'яўляецца выдзеленая роля DBA, які адказны за гэты аспект, а такім чынам можна змякчыць патрабаванні да дэвелапераў і наймаць хутчэй. А вось з System Design наадварот: XNUMX% у маленькіх, XNUMX% – у вялікіх. Здавалася б, у вялікіх павінны быць выдзеленыя архітэктары, але, магчыма, яны проста не ў стане пакрываць колькасць генераваных сістэм. Ці ў System Design заадно ўкладваюць тыя самыя фундаментальныя алгарытмы і структуры дадзеных, тады становіцца крыху больш зразумела.

Маленькім кампаніям больш патрэбен Framework Proficiency і менш вышэйзгаданы System Design, з чаго можна зрабіць капітанскую выснову аб тым, што стартапам важна як мага хутчэй запусціць як-небудзь які працуе прадукт, а заўтра будзе заўтра.

«Дзе тая маладая шпана, што сатрэ нас з зямлі?»

Што вучаць студэнты?

Тут я абапіраўся на дадзеныя яшчэ аднаго даследаванні HackerRank.
Важна ўлічваць, што нягледзячы на ​​тое, што праграмаванне ў тым ці іншым выглядзе выкладаецца ва ўніверсітэтах (маю на ўвазе Computer Science спецыяльнасці), больш за палову апытаных сказалі, што займаюцца ў тым ліку і самаадукацыяй.

Сучасныя студэнты аддаюць перавагу вучыцца па YouTube, у той час як больш дарослыя распрацоўшчыкі схіляюцца да цьютарыялаў і кніг. І тыя і іншыя актыўна карыстаюцца StackOverflow. Адношу гэта на тое, што відэа – звыклы медыяканал для пакалення Z, у той час як прадстаўнікі пакалення Y яшчэ заспелі эпоху без блогераў.

Вучаць тое, што запатрабавана працадаўцамі: JavaScript, Java, Python. Паказваюць, што ведаюць C/C++, але гэта верагодна таму, што гэтыя мовы выкарыстоўваюцца для выкладання ва ўніверсітэтах. Вучаць JS фрэймворкі, але попыт істотна вышэй прапановы, таму мабыць актыўна вучаць ужо знайшоўшы першую працу.

«Дзе тая маладая шпана, што сатрэ нас з зямлі?»

У цэлым, чакана вучаць тое, на што ёсць попыт.

Студэнты ад першай працы чакаюць у першую чаргу прафесійнага росту, на другім месцы (у некаторых краінах на першым) work-life balance, на трэцім - цікавыя задачы.

Дынаміка папуляцыі распрацоўшчыкаў па мовах праграмавання і тыпах ПЗ

«Дзе тая маладая шпана, што сатрэ нас з зямлі?»

Web прыкладання на першым месцы з ацэнкай у 16.9/13.6 мільёна распрацоўшчыкаў. Гэта зноў дадзеныя SlashData. Далей Backend Services (13.1/12.3 млн), мабільныя прыкладанні (XNUMX/XNUMX млн) і дэсктоп (XNUMX/XNUMX млн). AR/VR і IoT сектары паступова набіраюць папулярнасць, AI/ML/Data Science істотна выраслі за апошнія два гады.

Хутчэй за ўсё расце Javascript, яго супольнасць ужо зараз самая вялікая, толькі за 2018 год вырасла на 2.5 мільёна. На ім спрабуюць пісаць нават у сектарах IoT і ML.
Python за 2018 год прырос на 2.2 мільёны за кошт росту папулярнасці ML, дзе ён традыцыйна моцны, а таксама за кошт прастаты засваення і зручнасці мовы.

Java, C/C++ і C# растуць з меншай хуткасцю, чым агульная папуляцыя распрацоўшчыкаў. Яны зараз рэдка з'яўляюцца мовай праграмавання, з якога людзі аддаюць перавагу пачынаць. Попыт на распрацоўшчыкаў тут больш-менш збалансаваны з прапановай. Думаю, што Java расла б яшчэ больш павольна, калі б не Android.

PHP другі па папулярнасці мова праграмавання вэб прыкладанняў і ён таксама істотна расце (на 32% у 2018 годзе). Яго супольнасць ацэньваецца ў 5.9/XNUMX млн распрацоўшчыкаў. Нягледзячы на ​​палярнае меркаванне наконт рэпутацыі PHP, ён даволі просты ў вывучэнні і шырока распаўсюджаны.

Як вучацца сучасныя маладыя кандыдаты ў параўнанні з мінулымі пакаленнямі

Зноў дадзеныя HackerRank. Тыя, каму зараз ад 38 да 53, сваімі першымі праектамі паказваюць гульні.

Пацвярджаю, дарэчы, першым маім больш-менш працоўным праектам былі «крыжыкі-нулікі» да пяці ў шэраг з неабмежаваным полем, другім — гульня ў 15. Пісаў я ўсё гэта на БК 010-01, там быў віленскі бейсік, ён жа BASIC-86 і фокал. Эх.

Сучасныя праграмісты-пачаткоўцы (да 21-га года) першымі праектамі пішуць калькулятары і вэб сайты.

Сярод прадстаўнікоў пакалення X амаль палова пачалі пісаць код да 16 гадоў, многія так і ўвогуле з 5 да 10 гадоў (пераважна тыя, каму ад цяпер ад 35 да 45 гадоў). Зразумела чаму: крыніц інфармацыі было мала, і каб стаць праграмістам трэба было сапраўды гэтага моцна хацець, а тыя, хто моцна хацеў, пачыналі праграмаваць рана. Тыя, хто хацеў не так моцна, да сённяшняга моманту хутчэй за ўсё маюць іншую прафесію, таму карціна па сацыялогіі менавіта такая.

«Дзе тая маладая шпана, што сатрэ нас з зямлі?»

Сённяшнія маладыя кандыдаты толькі ў 20% выпадкаў пачынаюць праграмаваць да 16 гадоў, большасць - дзесьці паміж 16-ю і 20-ю. Але ім і значна прасцей вучыцца, зараз гэта значна даступней.

Высновы

Жалезабетоннага адказу на пытанне, ці патрэбен сёння пачаткоўцу web backend дэвелаперу SQL, я так і не знайшоў, але затое падкарэктаваў сваё ўяўленне аб сучаснай папуляцыі праграмістаў.

Чарговае пакаленне распрацоўшчыкаў - звычайныя людзі, у чымсьці нагадваюць ранейшых кватэрнае пытанне толькі сапсаваў іх. Яны задавальняюць попыт, які ствараецца працадаўцамі. Парог уваходжання ў прафесію стаў ніжэй з-за зручнейшых прылад і фрэймворкаў, якія дазваляюць хутка дамагацца выніку. Больш народу зараз становяцца праграмістамі, лічбавае пакаленне (пакаленне Z) так і ўвогуле жыве ў тэхналогіях з самага нараджэння, для іх гэта звычайная прафесія, не горшая за іншых.

Тых, хто ведае, што латэнсі L1 кэша гэта ~4 цыклу, і што кэш лайны лепш не збіваць без неабходнасці, становіцца менш у працэнтных адносінах да агульнага памеру папуляцыі. Аднак хвалявацца аб працаўладкаванні ім не варта, нехта ж у рэшце рэшт павінен пісаць нізкаўзроўневыя рэчы, дзе гэта па-ранейшаму трэба. Роўна як не варта хвалявацца і тым, хто валодае глыбокімі фундаментальнымі ведамі ў сістэмным дызайне і набыў іх у кровапралітных практычных баях, а не проста варта карго культу. Таму што ўмелых "проста пісаць код" і "проста" карыстацца фрэймворкамі ў камандах будзе станавіцца больш, і для таго, "каб не было пакутліва балюча за бязмэтна пражытыя гады" (з) іх трэба будзе балансаваць як раз такімі людзьмі.

Софт скілы з катэгорыі пажаданых паступова мігруюць у абавязковыя (у пацверджанне гэтага ў мяне няма аб'ектыўных дадзеных, проста практычныя назіранне). Колькасць праграмістаў расце, і іх усіх трэба накіроўваць для дасягнення выніку, хоць прамым, хоць непрамым кіраваннем, а для гэтага як раз і патрэбны софт скілы.

"Увайсці ў IT" уяўляецца мне лакальнай рэгіянальнай гісторыяй, характэрнай для тых лакацый, дзе даход праграміста істотна адрозніваецца ад даходу параўнальнага па кваліфікацыі "не IT" спецыяліста. У Менску, дзе я жыву, дык гэта ўвогуле масавы рух, кожны дзень бачу рэкламу чарговых курсаў аб тым, як патрапіць у запаветнае IT, а клінінгавыя кампаніі таргецяцца ў праграмістаў з пасылам «Разумееш код на гэтым малюнку? Значыць можаш дазволіць сабе не прыбіраць у кватэры, мы зробім усё за цябе. Тое ж самае відаць адбываецца ў якой-небудзь Індыі. У доказ гэтага звестак у мяне таксама няма.

У цэлым папуляцыі праграмістаў нічога на мой погляд не пагражае. Бухцець аб тым, што сапраўдных праграмістаў днём з агнём не знойдзеш, а кандыдаты запар і побач «нічога не ведаюць», не варта. Яны такія ж разумныя і здольныя, можа быць нават разумнейшыя і здольныя, чым «сапраўдныя праграмісты», проста набываюць тыя веды, якія ад іх патрабуе бурна расце рынак і адкладаюць на потым тое, што ім пакуль не патрабавалася і не прынясе бенефіту прама цяпер. Вывучаць, калі будзе трэба, таму што яны па-ранейшаму жадаюць вучыцца. Напэўна, не ўсе будуць на гэта здольныя, але і не ўсім гэта спатрэбіцца, рынак сапраўды ў прагназуемым будучыні будзе лёгка прымаць людзей, здольных хутка сабраць на якім-небудзь фрэймворку чарговы канцэпт дадатку.

Толькі зарэгістраваныя карыстачы могуць удзельнічаць у апытанні. Увайдзіце, Калі ласка.

Ці патрабуецеся вы на сумоўях вэб-бэкендэраў веданне SQL?

  • Так, патрабую, таму што трэба ў працы

  • Так, патрабую, хоць у працы гэта трэба рэдка

  • Не, не патрабую, у нас NoSQL

  • Не, не патрабую, ORM усё зробіць

Прагаласавалі 320 карыстальнікаў. Устрымаліся 230 карыстальнікаў.

Крыніца: habr.com

Дадаць каментар