"Kur ir jaunie panki, kas mūs noslaucīs no zemes virsas?"

Es sev uzdevu eksistenciālo jautājumu, kas GrebenŔčikova formulējuma nosaukumā bija iekļauts pēc kārtējās diskusijas vienā no kopienām par to, vai iesācējam tÄ«mekļa aizmugursistēmas izstrādātājam ir vajadzÄ«gas SQL zināŔanas, vai arÄ« ORM darÄ«s visu. Nolēmu meklēt atbildi nedaudz plaŔāk, nevis tikai par ORM un SQL, un bÅ«tÄ«bā mēģināt sistematizēt, kas ir tie cilvēki, kuri tagad dodas uz intervijām uz junioru un vidēja lÄ«meņa attÄ«stÄ«bas amatiem, kāda ir viņu vēsture un kāda ir viņu pasaule. dzÄ«vot. Kopumā man bija viedoklis, taču to veidoja personÄ«gā darbā pieņemÅ”anas pieredze un skaidri pielāgojās vietējam tirgum. Kopumā kļuva interesanti. LÅ«k, ko mēs atradām.

Pasaules izstrādātāju populācija

Lai kaut kā pieietu jautājumam, nolēmu sākt ar datu meklÄ“Å”anu par to, cik Å”obrÄ«d pasaulē ir izstrādātāju un kā Ŕī populācija laika gaitā mainās.
Dažādos avotos sniegtie aprēķini liecina, ka skaitļi ir robežās no 12 lÄ«dz 30 miljoniem cilvēku. Nolēma apstāties plkst dati no SlashData, jo viņu metodika Ŕķita diezgan sabalansēta un piemērota manām vajadzÄ«bām. Savā novērtējumā viņi ņēma vērā Github kontu un repozitoriju skaitu, StackOverflow kontu skaitu, npm kontus un datus no oficiāliem avotiem par nodarbinātÄ«bu ASV un Eiropā. Viņi arÄ« koriģēja iegÅ«tos skaitļus, izmantojot savus 16 pētÄ«jumus, kuros katrā aptaujā bija iekļauti aptuveni 20 000 cilvēku.

Saskaņā ar SlashData datiem 2018. gada ceturtajā ceturksnÄ« pasaulē bija aptuveni 18.9 miljoni izstrādātāju, no kuriem 12.9 miljoni bija profesionāli izstrādātāji, tas ir, viņi pelna iztiku ar programmÄ“Å”anu. Tie, kas Å”obrÄ«d nav profesionāli izstrādātāji, ir cilvēki, kuriem programmÄ“Å”ana ir hobijs, plus tie, kas Å”obrÄ«d apgÅ«st kādu profesiju (dažādi studenti un autodidakti). Nu, tas ir, Å”eit ir mājiens uz mani interesējoŔās grupas lielumu - 6 miljoni cilvēku. GodÄ«gi sakot, tas ir vairāk nekā es gaidÄ«ju.

Otrs pārsteigums man bija programmētāju skaita pieauguma temps: no 2017. gada otrā ceturkŔņa lÄ«dz 2018. gada ceturtajam ceturksnim tas pieauga no 14.7 lÄ«dz minētajiem 18.9 miljoniem jeb 21. gadā pieauga par 2018%! Ja man prasÄ«tu novērtēt programmētāju skaita pieauguma tempu, es teiktu, ka tas ir aptuveni 5% gadā ar nelielu tempa pieaugumu gadā. Un Å”eit izrādās pat 20%.

Turklāt SlashData lÄ“Å”, ka lÄ«dz 2030. gadam iedzÄ«votāju skaits sasniegs 45 miljonus. Ir viegli saprast, ka tas nozÄ«mē pieaugumu nedaudz vairāk par 8% gadā, nevis 20%, bet tie attiecas uz korekciju, lai ņemtu vērā interneta izplatÄ«bu (paÅ”laik aptuveni 57% visā pasaulē). saskaņā ar Statista) un vairāki citi faktori, piemēram, izstrādātāju skaits uz vienu iedzÄ«votāju. Ä¢eogrāfiski izstrādātāju skaits visstraujāk pieaug Indijā un Ķīnā, sagaidāms, ka Indija lÄ«dz 2023. gadam izstrādātāju skaita ziņā apsteigs ASV (tas jau ir C# stÅ«ra dati).

Vispār programmētāju būs daudz, lai kā skatītos, jo pieprasījums aug. Starp citu, par pieprasījumu.

Kas ir pieprasīts?

Lai novērtētu pieprasÄ«jumu, es izmantoju HackerRank datus 2018 Šø 2019 gadā.

Runājot par programmÄ“Å”anas valodām, lielākais pieprasÄ«jums ir pēc JavaScript, Python un Java gandrÄ«z visās nozarēs, izņemot datoru aparatÅ«ru. Pēdējās vislielākais pieprasÄ«jums ir pēc C/C++, kas ir saprotams, aparatÅ«ras projektos joprojām ir prasÄ«bas attiecÄ«bā uz resursu intensitāti un atbilstoŔās programmatÅ«ras veiktspēju.

"Kur ir jaunie panki, kas mūs noslaucīs no zemes virsas?"

AttiecÄ«bā uz ietvariem vislielākais pieprasÄ«jums ir AngularJS, Node.js un React, un tiem ir vislielākā atŔķirÄ«ba starp piedāvājumu un pieprasÄ«jumu, kas, Ŕķiet, ir izskaidrojams ar JavaScript ekosistēmas maiņas ātrumu, jo, piemēram, ExpressJS , piedāvājums jau pārsniedz pieprasÄ«jumu.

"Kur ir jaunie panki, kas mūs noslaucīs no zemes virsas?"

Runājot par kompetencēm, darba devēji no kandidātiem galvenokārt sagaida problēmu risināŔanas prasmes. Apmēram 95% darba devēju Ŕīs prasmes min kā svarÄ«gas. ProgrammÄ“Å”anas valodas prasme ir otrajā vietā ar 56%. Starp citu, ar fundamentālām zināŔanām par algoritmiem, datu struktÅ«rām un citām datorzinātnēm vispār nav rindas, vai nu anketā to nebija, vai arÄ« akadēmiskās zināŔanas vairs nav vajadzÄ«gas masveidā.

Datu bāzes dizains ir nepiecieÅ”ams 23.2% uzņēmumu, kuros ir mazāk nekā 100 cilvēku, un 18.8% uzņēmumu, kuros ir vairāk nekā 1000 cilvēku. Jā, Ŕķiet, ka runa ir par ORM un SQL! LoÄ£iskais, IMHO, skaidrojums ir tāds, ka lielajos uzņēmumos ir Ä«paÅ”a loma DBA, kas ir atbildÄ«gs par Å”o aspektu, un tāpēc ir iespējams mÄ«kstināt prasÄ«bas izstrādātājiem un pieņemt darbā ātrāk. Bet ar System Design ir otrādi: 37.0% mazos, 44.1% lielajos. Å Ä·iet, ka lielajiem vajadzētu bÅ«t Ä«paÅ”iem arhitektiem, bet, iespējams, viņi vienkārÅ”i nespēj aptvert Ä£enerējamo sistēmu skaitu. Vai arÄ« Sistēmas dizainā tiek ievietoti tie paÅ”i fundamentālie algoritmi un datu struktÅ«ras, tad tas kļūst nedaudz skaidrāks.

Mazajiem uzņēmumiem Framework Proficiency vairāk un mazāk ir vajadzÄ«gs iepriekÅ” minētais System Design, no kura mēs varam izdarÄ«t kapteiņa secinājumu, ka startup ir svarÄ«gi pēc iespējas ātrāk laist klajā kaut kā funkcionējoÅ”u produktu, un rÄ«t bÅ«s rÄ«t.

"Kur ir jaunie panki, kas mūs noslaucīs no zemes virsas?"

Ko skolēni mācās?

Šeit es paļāvos uz datiem no cita HackerRank pētījums.
SvarÄ«gi ņemt vērā, ka, neskatoties uz to, ka programmÄ“Å”ana vienā vai otrā veidā tiek pasniegta augstskolās (es domāju datorzinātņu specialitātēs), vairāk nekā puse aptaujāto norādÄ«ja, ka nodarbojas arÄ« ar paÅ”izglÄ«tÄ«bu.

MÅ«sdienu skolēni dod priekÅ”roku mācÄ«ties pakalpojumā YouTube, savukārt vecāki izstrādātāji dod priekÅ”roku pamācÄ«bām un grāmatām. Abi aktÄ«vi izmanto StackOverflow. Es to skaidroju ar to, ka video ir pazÄ«stams mediju kanāls Z paaudzei, savukārt Y paaudzes pārstāvji joprojām atrodas laikmetā bez blogeriem.

Viņi māca to, ko pieprasa darba devēji: JavaScript, Java, Python. Viņi norāda, ka zina C/C++, taču tas, iespējams, ir tāpēc, ka Ŕīs valodas tiek izmantotas mācÄ«bām universitātēs. Viņi māca JS karkasus, bet pieprasÄ«jums ir ievērojami lielāks par piedāvājumu, tāpēc acÄ«mredzot viņi aktÄ«vi mācās pēc pirmā darba atraÅ”anas.

"Kur ir jaunie panki, kas mūs noslaucīs no zemes virsas?"

Kopumā, kā jau gaidīts, viņi māca to, kas ir pieprasīts.

No pirmā darba studenti sagaida profesionālo izaugsmi, darba un privātās dzīves līdzsvars ir otrajā vietā (dažās valstīs pirmajā vietā), bet interesanti uzdevumi ir treŔajā vietā.

Izstrādātāju populācijas dinamika pēc programmÄ“Å”anas valodām un programmatÅ«ras veidiem

"Kur ir jaunie panki, kas mūs noslaucīs no zemes virsas?"

Tīmekļa lietojumprogrammas ir pirmajā vietā ar aptuveni 16.9 miljoniem izstrādātāju. Tas atkal ir SlashData. Tālāk seko aizmugures pakalpojumi (13.6 miljoni), mobilās lietojumprogrammas (13.1 miljons) un darbvirsmas (12.3 miljoni). AR/VR un IoT sektori pamazām iegūst popularitāti, AI/ML/Data Science pēdējo divu gadu laikā ir ievērojami pieaudzis.

Javascript aug visstraujāk; tā kopiena jau ir lielākā, pieaugot par 2018 miljoniem 2.5. gadā vien. Viņi pat mēģina tajā rakstÄ«t IoT un ML sektoros.
Python 2018. gadā pieauga par 2.2 miljoniem, pateicoties pieaugoÅ”ajai ML popularitātei, kur tas ir tradicionāli spēcÄ«gs, kā arÄ« valodas apguves viegluma un ērtuma dēļ.

Java, C/C++ un C# aug lēnāk nekā kopējā izstrādātāju populācija. Tagad tās reti ir tā programmÄ“Å”anas valoda, ar kuru cilvēki izvēlas sākt. PieprasÄ«jums pēc izstrādātājiem Å”eit ir vairāk vai mazāk lÄ«dzsvarots ar piedāvājumu. Es domāju, ka Java bÅ«tu augusi vēl lēnāk, ja ne Android.

PHP ir otrā populārākā tÄ«mekļa lietojumprogrammu programmÄ“Å”anas valoda, un tā arÄ« ievērojami pieaug (32. gadā par 2018%). Tiek lēsts, ka tās kopiena ir 5.9 miljoni izstrādātāju. Neskatoties uz PHP polarizējoÅ”o reputāciju, to ir diezgan viegli apgÅ«t un plaÅ”i izmantot.

Kā mācās mÅ«sdienu jaunie kandidāti salÄ«dzinājumā ar iepriekŔējām paaudzēm?

Atkal HackerRank dati. Tie, kuriem tagad ir no 38 līdz 53, spēles kā savus pirmos projektus norāda.

Starp citu, es apstiprinu, ka mans pirmais vairāk vai mazāk strādājoÅ”s projekts bija ā€œtic-tac-toeā€ lÄ«dz pieciem pēc kārtas ar neierobežotu lauku, otrais bija spēle 15. Es to visu uzrakstÄ«ju BC 010-01, tur bija Viļņas pamats, aka BASIC-86 un fokusa. Eh.

MÅ«sdienu iesācēju programmētāji (lÄ«dz 21 gadam) kā savus pirmos projektus raksta kalkulatorus un tÄ«mekļa vietnes.

No X paaudzes pārstāvjiem gandrÄ«z puse sāka rakstÄ«t kodu pirms 16 gadu vecuma, daudzi to darÄ«ja no 5 lÄ«dz 10 gadiem (galvenokārt tie, kuriem tagad ir no 35 lÄ«dz 45 gadiem). Ir vairāk vai mazāk skaidrs, kāpēc: informācijas avotu bija maz, un, lai kļūtu par programmētāju, tas tieŔām bija ļoti jāgrib, un tie, kas to patieŔām vēlējās, sāka programmēt agri. Tiem, kuri to tik ļoti negribēja, visticamāk, tagad ir cita profesija, tāpēc socioloÄ£ijā aina ir tieÅ”i Ŕāda.

"Kur ir jaunie panki, kas mūs noslaucīs no zemes virsas?"

Mūsdienu jaunie kandidāti tikai 20% gadījumu sāk programmēt pirms 16 gadu vecuma, vairums no 16 līdz 20 gadiem. Bet viņiem ir arī daudz vieglāk mācīties; tagad tas ir daudz pieejamāks.

Atzinumi

Es joprojām neesmu atradis konkrētu atbildi uz jautājumu, vai iesācējam tÄ«mekļa aizmugursistēmas izstrādātājam Å”odien ir nepiecieÅ”ams SQL, taču esmu izlabojis savu priekÅ”statu par mÅ«sdienu programmētāju populāciju.

Nākamā attÄ«stÄ«tāju paaudze ir vienkārÅ”i cilvēki, savā ziņā lÄ«dzinās iepriekŔējiem, mājokļu problēma viņus tikai lutināja. Tie apmierina pieprasÄ«jumu, ko rada darba devēji. Slieksnis, lai iestātos profesijā, ir kļuvis zemāks, pateicoties ērtākiem rÄ«kiem un ietvariem, kas ļauj ātri sasniegt rezultātus. Tagad arvien vairāk cilvēku kļūst par programmētājiem, digitālā paaudze (Z paaudze) kopÅ” dzimÅ”anas dzÄ«vo tehnoloÄ£ijās, viņiem tā ir ierasta profesija, ne sliktāka par citām.

Tie, kas zina, ka L1 keÅ”atmiņas latentums ir ~4 cikli un ka labāk bez vajadzÄ«bas keÅ”atmiņas rindiņas nesabojāt, procentos no kopējā populācijas lieluma kļūst mazāk. Tomēr viņiem nevajadzētu uztraukties par darba iegÅ«Å”anu; galu galā kādam ir jāraksta zema lÄ«meņa lietas, kur tas joprojām ir vajadzÄ«gs. Tāpat nav jāuztraucas tiem, kuriem ir dziļas fundamentālās zināŔanas sistēmu projektÄ“Å”anā un tās iegÅ«tas asiņainās praktiskās cīņās, nevis tikai seko kravas kultam. Jo komandās bÅ«s vairāk cilvēku, kuri var ā€œtikai rakstÄ«t koduā€ un ā€œtikaiā€ lietot ietvarus, un, lai ā€œizvairÄ«ties no mokoŔām sāpēm, ko rada bezmērÄ·Ä«gi nodzÄ«voti gadiā€ (c) viņiem bÅ«s jālÄ«dzsvaro tieÅ”i tādiem cilvēkiem. .

MÄ«kstās prasmes pakāpeniski migrē no vēlamās uz obligāto (man nav objektÄ«vu datu, kas to apstiprinātu, tikai praktiski novērojumi). Programmētāju skaits pieaug, un viņi visi ir jāvirza uz rezultātu sasniegÅ”anu vai nu ar tieÅ”u vai netieÅ”u kontroli, un tieÅ”i tam ir vajadzÄ«gas soft prasmes.

ā€œEnter ITā€ man Ŕķiet vietējais reÄ£ionālais stāsts, raksturÄ«gs tām vietām, kur programmētāja ienākumi bÅ«tiski atŔķiras no salÄ«dzināma ā€œne-ITā€ speciālista ienākumiem. Minskā, kur es dzÄ«voju, tā pārsvarā ir masu kustÄ«ba, katru dienu redzu sludinājumus par jauniem kursiem, kā iekļūt kārotajā IT, un tÄ«rÄ«Å”anas firmas mērķē programmētājus ar ziņu ā€œVai jÅ«s saprotat kodu Å”ajā attēlā? Tas nozÄ«mē, ka varat atļauties netÄ«rÄ«t savu dzÄ«vokli, mēs visu izdarÄ«sim jÅ«su vietā.ā€ Tas pats acÄ«mredzot notiek dažā Indijā. Man arÄ« nav datu, kas to pierādÄ«tu.

Kopumā, manuprāt, programmētāju populāciju nekas neapdraud. Nav jēgas muldēt par to, ka dienas laikā nevar atrast Ä«stus programmētājus un ka kandidāti ļoti bieži ā€œneko nezinaā€. Viņi ir tikpat gudri un spējÄ«gi, varbÅ«t pat gudrāki un spējÄ«gāki par ā€œÄ«stajiem programmētājiemā€, viņi vienkārÅ”i apgÅ«st zināŔanas, ko no viņiem prasa strauji augoÅ”ais tirgus, un atliek uz vēlāku laiku to, kas viņiem vēl nav vajadzÄ«gs un nedos labumu. tagad. Viņi mācÄ«sies, kad vajadzēs, jo viņi joprojām vēlas mācÄ«ties. DroÅ”i vien ne visi uz to bÅ«s spējÄ«gi, taču arÄ« ne visiem tas bÅ«s vajadzÄ«gs, pārskatāmā nākotnē tirgus viegli pieņems cilvēkus, kuri, izmantojot kādu ietvaru, var ātri salikt citu aplikāciju koncepciju.

Aptaujā var piedalīties tikai reģistrēti lietotāji. Ielogoties, lūdzu.

Vai tīmekļa aizmugurdarbu intervijām ir nepiecieŔamas SQL zināŔanas?

  • Jā, es to pieprasu, jo man tas ir vajadzÄ«gs darbam

  • Jā, es to daru, lai gan darbā tas ir reti vajadzÄ«gs.

  • Nē, man tas nav vajadzÄ«gs, mums ir NoSQL

  • Nē, man tas nav vajadzÄ«gs, ORM darÄ«s visu

Nobalsoja 320 lietotāji. 230 lietotāji atturējās.

Avots: www.habr.com

Pievieno komentāru