"Wêr binne de jonge punks dy't ús fan 'e ierde sille wiskje?"

Ik frege mysels de eksistinsjele fraach yn 'e titel yn' e formulearring fan Grebenshchikov nei in oare diskusjeronde yn ien fan 'e mienskippen oer oft in begjinnende web-backend-ûntwikkelder SQL-kennis nedich hat, of oft ORM alles dochs dwaan sil. Ik besleat om it antwurd wat breder te sykjen dan allinich oer ORM en SQL, en yn prinsipe besykje te systematisearjen wa't de minsken binne dy't no foar ynterviews geane foar junior- en mid-level ûntwikkelingsposysjes, wat har skiednis is en hokker wrâld se wenje yn. Yn it algemien, ik hie in miening, mar it waard foarme troch persoanlike ynhier ûnderfining en dúdlik oanpast oan de lokale merk. Yn 't algemien waard it nijsgjirrich. Hjir is wat wy fûnen.

Globale ûntwikkelderspopulaasje

Om op ien of oare manier de fraach te benaderjen, besleat ik om te begjinnen troch te sykjen nei gegevens oer hoefolle ûntwikkelders d'r hjoed yn 'e wrâld binne en hoe't dizze populaasje yn 'e rin fan' e tiid feroaret.
Skattingen yn ferskate boarnen sette de nûmers yn it berik fan 12 oant 30 miljoen minsken. Besletten om te stopjen by gegevens fan SlashData, om't har metodyk frij lykwichtich like en geskikt foar myn behoeften. Yn har beoardieling namen se rekken mei it oantal akkounts en repositories op Github, it oantal akkounts op StackOverflow, npm-akkounts en gegevens fan offisjele boarnen oer wurkgelegenheid yn 'e FS en Europa. Se hawwe ek de resultearjende nûmers oanpast mei har eigen 16-stúdzjes, dy't sawat 20 minsken omfette foar elke enkête.

Neffens SlashData wiene d'r sawat 2018 miljoen ûntwikkelders yn 'e wrâld yn it fjirde fearnsjier fan 18.9, wêrfan 12.9 miljoen profesjonele ûntwikkelders wiene, dat is, se meitsje in libbene programmearring. Dejingen dy't op it stuit gjin profesjonele ûntwikkelders binne binne minsken foar wa't programmearring in hobby is, plus dyjingen dy't op it stuit in berop studearje (ferskate studinten en autodidakt). No, dat is, hjir is in hint oer de grutte fan 'e groep dy't my ynteressearret - 6 miljoen minsken. Om earlik te wêzen, dit is mear dan ik ferwachte.

De twadde ferrassing foar my wie de groei fan it oantal programmeurs: fan it twadde fearnsjier fan 2017 oant it fjirde fearnsjier fan 2018, it ferhege fan 14.7 nei de neamde 18.9 miljoen, of ferhege mei 21% yn 2018! As ik waard frege om te skatten de groei taryf fan it oantal programmeurs, Ik soe sizze dat it giet oer 5% per jier mei in lichte ferheging fan it taryf jierliks. En hjir blykt it wol 20% te wêzen.

Derneist, SlashData skat dat de befolking sil berikke 2030 miljoen troch 45. It is maklik om út te finen dat dit in groei fan in bytsje mear as 8% jierliks ​​ymplisearret, net 20%, mar se ferwize nei in oanpassing om rekken te hâlden mei ynternetpenetraasje (op it stuit sawat 57% wrâldwiid). neffens Statista) en ferskate oare faktoaren, lykas it oantal ûntwikkelders per capita. Geografysk groeit it oantal ûntwikkelders it sterkst yn Yndia en Sina; Yndia wurdt ferwachte dat se de Feriene Steaten yn it oantal ûntwikkelders yn 2023 oernimme (dit is al C# Hoekgegevens).

Yn 't algemien sille d'r in protte programmeurs wêze, hoe't jo it ek sjogge, om't de fraach groeit. Trouwens, oer fraach.

Wat is yn fraach?

Foar skatting fraach, Ik brûkte HackerRank gegevens foar 2018 и 2019 jier.

Wat programmeartalen oanbelanget, is de grutste fraach nei JavaScript, Python en Java yn hast alle yndustry, mei útsûndering fan Computer Hardware. Yn it lêste is de grutste fraach nei C / C ++, dat is begryplik; hardwareprojekten hawwe noch easken foar boarneintensiteit en prestaasjes fan 'e oerienkommende software.

"Wêr binne de jonge punks dy't ús fan 'e ierde sille wiskje?"

Wat kaders oanbelanget, binne AngularJS, Node.js en React yn 'e grutste fraach, en se hawwe it grutste gat tusken oanbod en fraach, wat liket te wurde ferklearre troch de snelheid wêrmei't it JavaScript-ekosysteem feroaret, om't bygelyks foar ExpressJS , oanbod al grutter fraach.

"Wêr binne de jonge punks dy't ús fan 'e ierde sille wiskje?"

Wat kompetinsjes oanbelanget, ferwachtsje wurkjouwers primêr probleemoplossingsfeardigens fan kandidaten. Sawat 95% fan de wurkjouwers neamt dizze feardichheden as wichtich. Programmataalbehearsking stiet op it twadde plak mei 56%. Trouwens, d'r is hielendal gjin line mei fûnemintele kennis fan algoritmen, gegevensstruktueren en oare Computer Science, of it stie net yn 'e fragelist, of akademyske kennis is net mear nedich op grutte skaal.

Databankûntwerp is nedich troch 23.2% fan bedriuwen ûnder 100 minsken, en 18.8% fan bedriuwen mear dan 1000 minsken. Ja, it liket derop dat it oer ORM en SQL giet! De logyske, IMHO, útlis is dat yn grutte bedriuwen is der in tawijd rol fan DBA, wa is ferantwurdlik foar dit aspekt, en dêrom is it mooglik om te verzachten de easken foar ûntwikkelders en hiere flugger. Mar mei System Design is it oarsom: 37.0% yn lytse, 44.1% yn grutte. It soe lykje dat grutten tawijde arsjitekten moatte hawwe, mar miskien binne se gewoan net yn steat om it oantal generearre systemen te dekken. Of deselde fûnemintele algoritmen en gegevensstruktueren wurde yn Systeemûntwerp set, dan wurdt it wat dúdliker.

Lytse bedriuwen moatte Framework Proficiency mear en minder de neamde Systeem Design, dêr't wy kinne lûke de kaptein syn konklúzje dat it is wichtich foar startups in lansearring ien of oare wize wurkjende produkt sa gau as mooglik, en moarn sil wêze moarn.

"Wêr binne de jonge punks dy't ús fan 'e ierde sille wiskje?"

Wat leare studinten?

Hjir fertroude ik op gegevens fan in oar HackerRank ûndersyk.
It is wichtich om te beskôgje dat nettsjinsteande it feit dat programmearring yn ien of oare foarm wurdt leard oan universiteiten (ik bedoel Computer Science majors), mear as de helte fan de ûndersochte sei dat se ek dwaande mei selsûnderwiis.

Moderne studinten leare leaver fan YouTube, wylst âldere ûntwikkelders leanje nei tutorials en boeken. Beide brûke aktyf StackOverflow. Ik skriuw dit oan it feit dat fideo in fertroud mediakanaal is foar generaasje Z, wylst fertsjintwurdigers fan generaasje Y noch yn in tiidrek binne sûnder bloggers.

Se leare wat yn fraach is troch wurkjouwers: JavaScript, Java, Python. Se jouwe oan dat se C/C++ kinne, mar dit komt wierskynlik om't dizze talen brûkt wurde foar it lesjaan oan universiteiten. Se leare JS-kaders, mar de fraach is signifikant heger as it oanbod, dus blykber learje se aktyf nei it finen fan har earste baan.

"Wêr binne de jonge punks dy't ús fan 'e ierde sille wiskje?"

Yn 't algemien, lykas ferwachte, learje se wat der yn fraach is.

Studinten ferwachtsje profesjonele groei fan har earste baan, lykwicht tusken wurk en libben komt twadde (yn guon lannen earst), en ynteressante taken komme op it tredde plak.

Dynamika fan 'e ûntwikkelderspopulaasje troch programmeartalen en softwaretypen

"Wêr binne de jonge punks dy't ús fan 'e ierde sille wiskje?"

Webapplikaasjes binne op it earste plak mei in skatte 16.9 miljoen ûntwikkelders. Dit is wer SlashData. Folgjende binne Backend Services (13.6 miljoen), mobile applikaasjes (13.1 miljoen) en buroblêd (12.3 miljoen). AR / VR en IoT sektoaren winne stadichoan populêrens, AI / ML / Data Science is de ôfrûne twa jier signifikant groeid.

Javascript groeit it rapst; syn mienskip is al de grutste, groeit mei 2018 miljoen yn 2.5 allinich. Se besykje der sels yn te skriuwen yn 'e IoT- en ML-sektor.
Python groeide mei 2018 miljoen yn 2.2 troch de tanimmende populariteit fan ML, wêr't it tradisjoneel sterk is, en ek troch it gemak fan learen en gemak fan 'e taal.

Java, C/C++ en C# groeie mei in stadiger taryf dan de totale ûntwikkelderpopulaasje. Se binne no komselden de programmeartaal wêrmei't minsken kieze om mei te begjinnen. De fraach nei ûntwikkelders hjir is min of mear yn lykwicht mei oanbod. Ik tink dat Java soe hawwe groeid noch stadiger as net foar Android.

PHP is de twadde populêrste programmeartaal foar webapplikaasjes en it groeit ek signifikant (mei 32% yn 2018). De mienskip wurdt rûsd op 5.9 miljoen ûntwikkelders. Nettsjinsteande de polarisearjende reputaasje fan PHP, is it frij maklik te learen en breed brûkt.

Hoe studearje de hjoeddeiske jonge kandidaten yn ferliking mei eardere generaasjes?

HackerRank gegevens wer. Dejingen dy't no tusken 38 en 53 binne, listje spultsjes as har earste projekten.

Trouwens, ik befêstigje dat myn earste min of mear wurkjende projekt wie "tic-tac-toe" oant fiif op in rige mei in ûnbeheind fjild, de twadde wie in spultsje fan 15. Ik skreau dit alles op BC 010-01, dêr wie Vilnius basis, aka BASIC-86 en fokaal. Eh.

Moderne begjinnende programmeurs (oant 21 jier âld) skriuwe rekkenmasines en websiden as har earste projekten.

Under fertsjintwurdigers fan generaasje X begon hast de helte koade te skriuwen foar de leeftyd fan 16, in protte diene dat fan 5 oant 10 jier âld (benammen dyjingen dy't no tusken de 35 en 45 jier âld binne). It is min of mear dúdlik wêrom: der wiene in pear boarnen fan ynformaasje, en om programmeur te wurden, moasten jo it echt min wolle, en wa't it echt woe begon te programmearjen. Dejingen dy't it sa net woene hawwe no nei alle gedachten in oar berop, dus it byld yn de sosjology is krekt sa.

"Wêr binne de jonge punks dy't ús fan 'e ierde sille wiskje?"

De hjoeddeiske jonge kandidaten begjinne mar 20% fan 'e tiid te programmearjen foar de leeftyd fan 16, de mearderheid earne tusken 16 en 20. Mar it is ek folle makliker foar har om te learen; no is it folle tagonkliker.

befinings

Ik haw noch altyd gjin konkreet antwurd fûn op 'e fraach oft in begjinnende web-backend-ûntwikkelder hjoed SQL nedich hat, mar ik haw myn idee fan' e moderne populaasje fan programmeurs korrizjearre.

De folgjende generaasje fan ûntwikkelders binne gewoane minsken, op guon manieren lykje se op 'e foarige; it húsfestingsprobleem fergrieme se allinich. Se foldwaan oan de fraach dy't ûntstiet troch wurkjouwers. De drompel foar it yngean fan it berop is leger wurden troch handiger ark en kaders wêrmei jo fluch resultaten kinne berikke. Mear minsken wurde no programmeurs; de digitale generaasje (Generaasje Z) libbet sûnt berte yn technology; foar har is it in gewoan berop, net slimmer dan oaren.

Dejingen dy't witte dat L1-cache-latinsje ~ 4-syklusen is, en dat it better is om net ûnnedich crashlinen te crashen, wurde lytser as persintaazje fan 'e totale befolkingsgrutte. Se moatte lykwols gjin soargen meitsje oer it krijen fan in baan; immen moat ommers dingen op leech nivo skriuwe wêr't it noch nedich is. Likemin moatte dejingen dy't djippe fûnemintele kennis hawwe yn systeemûntwerp en it hawwe krigen yn bloedige praktyske fjildslaggen, en net allinich in frachtkultus folgje, gjin soargen. Om't d'r mear minsken yn teams sille wêze dy't "gewoan koade skriuwe kinne" en "gewoan" kaders kinne brûke, en om "de fergriemjende pine fan jierren dy't doelleas libbe binne te foarkommen" (c) sille se balansearre wurde moatte mei krekt sokke minsken .

Sêfte feardigens migrearje stadichoan fan 'e kategory winsklik nei ferplichte (ik haw gjin objektive gegevens om dit te befestigjen, gewoan praktyske observaasje). It oantal programmeurs groeit, en se moatte allegear rjochte wurde om resultaten te berikken, itsij troch direkte as yndirekte kontrôle, en dit is krekt wat sêfte feardigens nedich binne.

"Enter IT" liket my in lokaal regionaal ferhaal te wêzen, typysk foar dy lokaasjes dêr't it ynkommen fan in programmeur signifikant ferskilt fan it ynkommen fan in fergelykbere "net-IT" spesjalist. Yn Minsk, wêr't ik wenje, is dit oer it algemien in massabeweging, elke dei sjoch ik advertinsjes foar nije kursussen oer hoe't jo yn 'e begeerde IT komme kinne, en skjinmakbedriuwen rjochtsje op programmeurs mei it berjocht "Begripe jo de koade op dizze foto? Dit betsjut dat jo it jo kinne betelje om jo appartemint net skjin te meitsjen, wy sille alles foar jo dwaan. ” Itselde bart blykber yn guon Yndia. Ik haw ek gjin gegevens om dit te bewizen.

Yn it algemien, nei myn miening, neat bedriget de befolking fan programmeurs. D'r is gjin punt om te praten oer it feit dat jo oerdeis gjin echte programmeurs kinne fine, en dat kandidaten heul faak "neat witte." Se binne krekt sa tûk en kapabel, miskien sels tûker en bekwamer as "echte programmeurs"; se krije gewoan de kennis dy't in rap groeiende merk fan har fereasket en sette foar letter út wat se noch net nedich hawwe en net goed foardiel bringe sil no. Se sille leare as se moatte, om't se noch leare wolle. Wierskynlik sil net elkenien dit yn steat wêze, mar net elkenien sil it ek nedich hawwe; yn 'e foargeande takomst sil de merk maklik minsken akseptearje dy't fluch in oar applikaasjekonsept kinne gearstelle mei in ramt.

Allinnich registrearre brûkers kinne meidwaan oan 'e enkête. Ynlogge, asjebleaft.

Fereaskje ynterviews mei webbackender SQL-kennis?

  • Ja, ik freegje it om't ik it nedich haw foar wurk

  • Ja, ik wol, ek al is it selden nedich op it wurk.

  • Nee, ik haw it net nedich, wy hawwe NoSQL

  • Nee, ik fereaskje it net, ORM sil alles dwaan

320 brûkers stimden. 230 brûkers ûntholden har.

Boarne: www.habr.com

Add a comment