„Где су млади панкери који ће нас збрисати са лица земље?“

Поставио сам себи егзистенцијално питање постављено у наслову у Гребеншчикововој формулацији након још једне рунде дискусије у једној од заједница о томе да ли је почетницима веб бацкенд програмеру потребно знање о СКЛ-у или ће ОРМ ипак учинити све. Одлучио сам да потражим одговор мало шире него само о ОРМ-у и СКЛ-у, и у суштини покушам да систематизујем ко су људи који сада иду на интервјуе за млађе и средње развојне позиције, каква је њихова историја и који свет имају живети у. Генерално, имао сам мишљење, али оно је формирано личним искуством запошљавања и јасно прилагођено локалном тржишту. Генерално, постало је занимљиво. Ево шта смо нашли.

Глобална популација програмера

Да бих некако приступио питању, одлучио сам да почнем тако што ћу потражити податке о томе колико програмера данас има у свету и како се ова популација временом мења.
Процене у различитим изворима наводе бројке у распону од 12 до 30 милиона људи. Одлучио да се зауставим на подаци из СласхДата, јер је њихова методологија деловала прилично уравнотежено и погодно за моје потребе. У својој процени узели су у обзир број налога и репозиторијума на Гитхуб-у, број налога на СтацкОверфлов-у, нпм налоге и податке из званичних извора о запошљавању у САД и Европи. Такође су прилагодили добијене бројеве користећи својих 16 студија, које су укључивале приближно 20 људи за сваку анкету.

Према СласхДата-у, у четвртом кварталу 2018. у свету је било приближно 18.9 милиона програмера, од којих су 12.9 милиона били професионални програмери, односно зарађују за живот од програмирања. Они који тренутно нису професионални програмери су људи којима је програмирање хоби, плус они који тренутно студирају струку (разни студенти и самоуки). Па, то јест, ево наговештаја о величини групе која ме занима - 6 милиона људи. Да будем искрен, ово је више него што сам очекивао.

Друго изненађење за мене је била стопа раста броја програмера: од другог квартала 2017. до четвртог квартала 2018. она је са 14.7 порасла на поменутих 18.9 милиона, односно порасла је за 21% у 2018! Када би ме питали да проценим стопу раста броја програмера, рекао бих да је то око 5% годишње уз благи пораст стопе на годишњем нивоу. А овде се испоставља да је чак 20%.

Поред тога, СласхДата процењује да ће становништво достићи 2030 милиона до 45. године. Лако је закључити да то подразумева раст од нешто више од 8% годишње, а не 20%, али се они односе на прилагођавање како би се урачунала пенетрација интернета (тренутно око 57% широм света). према Статиста) и неколико других фактора, као што је број програмера по глави становника. Географски, број програмера највише расте у Индији и Кини; очекује се да ће Индија престићи Сједињене Државе по броју програмера до 2023. (ово је већ Подаци Ц# угла).

Углавном, биће много програмера, како год да гледате, јер потражња расте. Узгред, о потражњи.

Шта се тражи?

Да бих проценио потражњу, користио сам ХацкерРанк податке за 2018 и 2019 године.

Што се тиче програмских језика, највећа потражња је за ЈаваСцрипт, Питхон и Јава у скоро свим индустријама, са изузетком рачунарског хардвера. У овом другом, највећа потражња је за Ц/Ц++, што је разумљиво, хардверски пројекти и даље имају захтеве за интензитетом ресурса и перформансама одговарајућег софтвера.

„Где су млади панкери који ће нас збрисати са лица земље?“

Што се тиче оквира, највећу потражњу имају АнгуларЈС, Ноде.јс и Реацт, који имају највећи јаз између понуде и потражње, што се чини да се објашњава брзином којом се мења ЈаваСцрипт екосистем, јер на пример за ЕкпрессЈС , понуда већ премашује потражњу.

„Где су млади панкери који ће нас збрисати са лица земље?“

У погледу компетенција, послодавци од кандидата првенствено очекују вештине решавања проблема. Око 95% послодаваца помиње ове вештине као важне. Познавање програмског језика је на другом месту са 56%. Узгред, уопште нема линије са основним познавањем алгоритама, структура података и других рачунарских наука, или их није било у упитнику, или академско знање више није потребно у великој мери.

Дизајн базе података је потребан 23.2% компанија испод 100 људи и 18.8% компанија преко 1000 људи. Да, изгледа да се ради о ОРМ-у и СКЛ-у! Логично, ИМХО, објашњење је да у великим компанијама постоји посебна улога ДБА, који је одговоран за овај аспект, па је стога могуће ублажити захтеве програмера и брже запошљавати. Али са дизајном система је обрнуто: 37.0% у малим, 44.1% у великим. Чини се да велики треба да имају посвећене архитекте, али можда једноставно нису у стању да покрију број система који се генеришу. Или се исти фундаментални алгоритми и структуре података стављају у системски дизајн, онда постаје мало јасније.

Малим компанијама је Фрамеворк Профициенци све мање потребан поменути Систем Десигн, из чега можемо извући капетанов закључак да је стартапима важно да што пре лансирају некако функционалан производ, а сутра ће то бити сутра.

„Где су млади панкери који ће нас збрисати са лица земље?“

Шта ученици уче?

Овде сам се ослањао на податке другог ХацкерРанк истраживање.
Важно је узети у обзир да упркос чињеници да се програмирање у овом или оном облику предаје на универзитетима (мислим на смерове информатике), више од половине испитаних рекло је да се бави и самообразовањем.

Савремени студенти више воле да уче са ИоуТубе-а, док старији програмери нагињу туторијалима и књигама. Обојица активно користе СтацкОверфлов. То приписујем чињеници да је видео познат медијски канал за генерацију З, док су представници генерације И још увек у ери без блогера.

Они подучавају оно што послодавци траже: ЈаваСцрипт, Јава, Питхон. Они указују да знају Ц/Ц++, али то је вероватно зато што се ови језици користе за наставу на универзитетима. Они предају ЈС оквире, али потражња је знатно већа од понуде, тако да очигледно активно уче након што пронађу свој први посао.

„Где су млади панкери који ће нас збрисати са лица земље?“

Уопште, очекивано, предају оно што се тражи.

Студенти очекују професионални раст од свог првог посла, равнотежа између посла и приватног живота је на другом месту (у неким земљама на првом месту), а на трећем су занимљиви задаци.

Динамика популације програмера према програмским језицима и типовима софтвера

„Где су млади панкери који ће нас збрисати са лица земље?“

Веб апликације су на првом месту са око 16.9 милиона програмера. Ово је опет СласхДата. Следе Бацкенд услуге (13.6 милиона), мобилне апликације (13.1 милион) и десктоп (12.3 милиона). АР/ВР и ИоТ сектори постепено добијају на популарности, АИ/МЛ/Наука о подацима значајно је порасла у последње две године.

Јавасцрипт најбрже расте; његова заједница је већ највећа и порасла је за 2018 милиона само у 2.5. Чак покушавају да пишу у њему у ИоТ и МЛ секторима.
Пајтон је порастао за 2018 милиона у 2.2. због растуће популарности МЛ-а, где је традиционално јак, као и због лакоће учења и погодности језика.

Јава, Ц/Ц++ и Ц# расту спорије од укупне популације програмера. Они су сада ретко програмски језик са којим људи бирају да почну. Потражња за програмерима овде је мање-више избалансирана са понудом. Мислим да би Јава расла још спорије да није Андроид.

ПХП је други најпопуларнији програмски језик за веб апликације и такође значајно расте (за 32% у 2018.). Његова заједница се процењује на 5.9 милиона програмера. Упркос поларизованој репутацији ПХП-а, прилично је лак за учење и широко се користи.

Како студирају данашњи млади кандидати у односу на претходне генерације?

ХацкерРанк подаци поново. Они који сада имају између 38 и 53 године наводе игре као своје прве пројекте.

Иначе, потврђујем да је мој први мање-више радни пројекат био „тиц-тац-тое” до пет у низу са неограниченим пољем, други је била игра од 15. Све сам ово написао на БЦ 010-01, било је Вилниус басиц, ака БАСИЦ-86 и фоцал. Ех.

Модерни програмери почетници (до 21 године) пишу калкулаторе и веб странице као своје прве пројекте.

Међу представницима генерације Кс, скоро половина је почела да пише код пре 16. године, многи су то чинили од 5 до 10 година (углавном они који сада имају између 35 и 45 година). Мање-више је јасно зашто: било је мало извора информација, а да бисте постали програмер морали сте то јако да желе, а они који су то заиста желели почели су рано да програмирају. Они који то нису толико хтели, сада су вероватно другачија професија, па је слика у социологији управо оваква.

„Где су млади панкери који ће нас збрисати са лица земље?“

Данашњи млади кандидати само у 20% времена почињу да програмирају пре 16. године, већина негде између 16. и 20. године. Али и њима је много лакше да уче, сада је много приступачније.

Налази

Још увек нисам нашао конкретан одговор на питање да ли је почетницима веб бацкенд девелоперу потребан СКЛ данас, али сам исправио своју идеју о модерној популацији програмера.

Следећа генерација програмера су обични људи, на неки начин подсећају на претходне; стамбени проблем их је само покварио. Они задовољавају потражњу коју стварају послодавци. Праг за улазак у професију постао је нижи због погоднијих алата и оквира који вам омогућавају да брзо постигнете резултате. Све више људи сада постаје програмери, дигитална генерација (генерација З) живи у технологији од рођења, за њих је то уобичајена професија, ништа гора од осталих.

Они који знају да је Л1 кеш латенција ~4 циклуса и да је боље да се линије кеша не руше непотребно, постају све мањи као проценат укупне величине популације. Међутим, не би требало да брину о добијању посла, неко ипак мора да пише мале ствари тамо где је то још потребно. Исто тако, они који имају дубоко фундаментално знање о пројектовању система и стекли га у крвавим практичним биткама, а не прате само карго култ, не треба да брину. Зато што ће у тимовима бити више људи који могу „само да пишу код“ и „само“ користе оквире, а да би „избегли неописиви бол бесциљно проживљених година“ (ц) мораће да их балансирају управо такви људи .

Меке вештине постепено мигрирају из категорије пожељних у обавезне (немам објективне податке који би то потврдили, само практична опсервација). Број програмера расте и све их треба усмеравати на постизање резултата, било директном или индиректном контролом, а управо за то су потребне меке вештине.

„Ентер ИТ“ ми се чини као локална регионална прича, типична за оне локације где се приход програмера значајно разликује од прихода упоредивог „не-ИТ“ специјалисте. У Минску, где ја живим, ово је углавном масовни покрет, сваки дан видим рекламе за нове курсеве о томе како да уђем у жељени ИТ, а компаније за чишћење циљају програмере са поруком „Да ли разумете код на овој слици? То значи да можете себи приуштити да не чистите свој стан, ми ћемо учинити све за вас.” Иста ствар се очигледно дешава у некој Индији. Такође немам податке који би то доказали.

Генерално, по мом мишљењу, популацији програмера ништа не прети. Нема смисла брбљати о томе да не можете да нађете праве програмере током дана и да кандидати врло често „ништа не знају“. Они су исто тако паметни и способни, можда чак и паметнији и способнији од „правих програмера“; они једноставно стичу знање које брзо растуће тржиште захтева од њих и одлажу за касније оно што им још није требало и неће донети добро Сада. Научиће када треба, јер ипак желе да уче. Вероватно неће сви бити способни за ово, али неће свима ни требати; у догледно време тржиште ће лако прихватити људе који могу брзо да саставе други концепт апликације користећи неки оквир.

Само регистровани корисници могу учествовати у анкети. Пријавите се, Добродошао си.

Да ли је за интервјуе са веб бацкендер потребно знање СКЛ-а?

  • Да, захтевам јер ми треба за посао

  • Да, имам, иако је то ретко потребно на послу.

  • Не, не треба ми, имамо НоСКЛ

  • Не, не треба ми, ОРМ ће учинити све

Гласало је 320 корисника. Уздржано је било 230 корисника.

Извор: ввв.хабр.цом

Додај коментар