„Kur yra jaunieji pankai, kurie nušluos mus nuo žemės paviršiaus?

Grebenščikovo formuluotės pavadinime uždaviau sau egzistencinį klausimą po kito diskusijų turo vienoje iš bendruomenių apie tai, ar pradedančiam žiniatinklio užpakalinės programos kūrėjui reikia SQL žinių, ar ORM vis tiek padarys viską. Nusprendžiau paieškoti atsakymo šiek tiek plačiau, nei tik apie ORM ir SQL, ir iš esmės pabandyti susisteminti, kas yra tie žmonės, kurie dabar eina pokalbiams į jaunesniojo ir vidutinio lygio tobulėjimo pareigas, kokia jų istorija ir koks pasaulis. gyventi. Apskritai nuomonę turėjau, bet ją suformavo asmeninė samdymo patirtis ir aiškiai prisitaikiau prie vietinės rinkos. Apskritai pasidarė įdomu. Štai ką mes radome.

Pasaulio kūrėjų populiacija

Norėdamas kažkaip priartėti prie klausimo, nusprendžiau pradėti nuo duomenų, kiek pasaulyje šiandien yra kūrėjų ir kaip ši populiacija keičiasi laikui bėgant.
Įvairių šaltinių skaičiavimais, skaičiai svyruoja nuo 12 iki 30 milijonų žmonių. Nusprendė sustoti ties duomenys iš SlashData, nes jų metodika atrodė gana subalansuota ir tinkanti mano poreikiams. Vertindami jie atsižvelgė į paskyrų ir saugyklų skaičių „Github“, „StackOverflow“ paskyrų skaičių, „npm“ paskyras ir duomenis iš oficialių šaltinių apie užimtumą JAV ir Europoje. Jie taip pat pakoregavo gautus skaičius naudodami 16 savo tyrimų, kuriuose kiekvienoje apklausoje dalyvavo maždaug 20 000 žmonių.

„SlashData“ duomenimis, 2018 m. ketvirtąjį ketvirtį pasaulyje buvo apie 18.9 mln. kūrėjų, iš kurių 12.9 mln. buvo profesionalūs kūrėjai, tai yra, jie užsidirba pragyvenimui programuodami. Tie, kurie šiuo metu nėra profesionalūs kūrėjai, yra žmonės, kuriems programavimas yra hobis, plius tie, kurie šiuo metu studijuoja profesiją (įvairūs studentai ir savamoksliai). Na, tai yra, čia yra užuomina į mane dominančios grupės dydį – 6 milijonai žmonių. Jei atvirai, tai daugiau nei tikėjausi.

Antrasis netikėtumas man buvo programuotojų skaičiaus augimo tempai: nuo 2017 metų antrojo ketvirčio iki 2018 metų IV ketvirčio jis išaugo nuo 14.7 iki minėtų 18.9 mln., arba 21 metais išaugo 2018%! Jei manęs paprašytų įvertinti programuotojų skaičiaus augimo tempą, sakyčiau, kad tai yra apie 5% per metus su nežymiu tempo padidėjimu kasmet. O čia pasirodo net 20 proc.

Be to, „SlashData“ apskaičiavo, kad iki 2030 m. gyventojų skaičius pasieks 45 mln. Nesunku suprasti, kad tai reiškia augimą šiek tiek daugiau nei 8 % per metus, o ne 20 %, tačiau jie nurodo koregavimą, kad būtų atsižvelgta į interneto skverbtis (šiuo metu apie 57 % visame pasaulyje). pagal statistiką) ir keli kiti veiksniai, pvz., kūrėjų skaičius vienam gyventojui. Geografiškai kūrėjų skaičius stipriausiai auga Indijoje ir Kinijoje, tikimasi, kad Indija iki 2023 metų kūrėjų skaičiumi aplenks JAV (tai jau yra C# kampo duomenys).

Apskritai programuotojų bus daug, kad ir kaip žiūrėtum, nes paklausa auga. Beje, apie paklausą.

Kas yra paklausa?

Norėdami įvertinti paklausą, naudojau „HackerRank“ duomenis 2018 и 2019 metais.

Kalbant apie programavimo kalbas, didžiausia paklausa yra JavaScript, Python ir Java beveik visose pramonės šakose, išskyrus kompiuterinę įrangą. Pastarajame didžiausia paklausa yra C/C++, tai suprantama, aparatinės įrangos projektams vis dar keliami resursų intensyvumo ir atitinkamos programinės įrangos našumo reikalavimai.

„Kur yra jaunieji pankai, kurie nušluos mus nuo žemės paviršiaus?

Kalbant apie sistemas, didžiausią paklausą turi AngularJS, Node.js ir React, jose yra didžiausias atotrūkis tarp pasiūlos ir paklausos, o tai, atrodo, paaiškinama JavaScript ekosistemos pasikeitimo greičiu, nes, pavyzdžiui, ExpressJS , pasiūla jau viršija paklausą.

„Kur yra jaunieji pankai, kurie nušluos mus nuo žemės paviršiaus?

Kalbant apie kompetencijas, darbdaviai iš kandidatų pirmiausia tikisi problemų sprendimo įgūdžių. Apie 95 % darbdavių šiuos įgūdžius įvardija kaip svarbius. Antroje vietoje yra programavimo kalbos mokėjimas su 56%. Beje, su fundamentaliomis algoritmų, duomenų struktūrų ir kitų informatikos žiniomis visiškai nėra, arba to nebuvo klausimyne, arba akademinių žinių masiškai nebereikia.

Duomenų bazių projektavimo reikia 23.2% įmonių, kuriose dirba mažiau nei 100 žmonių, ir 18.8% įmonių, kuriose dirba daugiau nei 1000 žmonių. Taip, atrodo, kad tai susiję su ORM ir SQL! Logiškas, IMHO, paaiškinimas yra toks, kad didelėse įmonėse yra dedikuotas DBA vaidmuo, kuris yra atsakingas už šį aspektą, todėl galima sušvelninti reikalavimus kūrėjams ir greičiau įdarbinti. Tačiau su System Design viskas yra atvirkščiai: 37.0 % mažuose, 44.1 % dideliuose. Atrodytų, didiesiems reikėtų atsidavusių architektų, bet galbūt jie tiesiog nepajėgia aprėpti generuojamų sistemų skaičiaus. Arba tie patys pagrindiniai algoritmai ir duomenų struktūros įdedami į System Design, tada pasidaro šiek tiek aiškiau.

Mažoms įmonėms Framework Proficiency reikia daugiau ir mažiau jau minėto System Design, iš kurio galime daryti kapitono išvadą, kad startuoliams svarbu kuo greičiau išleisti kažkaip veikiantį produktą, o rytoj jau bus rytoj.

„Kur yra jaunieji pankai, kurie nušluos mus nuo žemės paviršiaus?

Ko mokiniai mokosi?

Čia aš rėmiausi duomenimis iš kito „HackerRank“ tyrimas.
Svarbu atsižvelgti į tai, kad nepaisant to, kad universitetuose (turiu omenyje informatikos specialybes) programavimas viena ar kita forma yra dėstomas, daugiau nei pusė apklaustųjų teigė, kad užsiima ir savišvieta.

Šiuolaikiniai studentai nori mokytis iš „YouTube“, o vyresni kūrėjai linkę į mokymo programas ir knygas. Abu jie aktyviai naudoja „StackOverflow“. Tai sieju su tuo, kad vaizdo įrašas yra Z kartos pažįstamas žiniasklaidos kanalas, o Y kartos atstovai vis dar gyvena epochoje be tinklaraštininkų.

Jie moko tai, ko reikalauja darbdaviai: JavaScript, Java, Python. Jie nurodo, kad moka C/C++, bet tikriausiai taip yra todėl, kad šiomis kalbomis dėstoma universitetuose. Jie dėsto JS karkasus, tačiau paklausa gerokai didesnė už pasiūlą, tad matyt aktyviai mokosi susiradę pirmąjį darbą.

„Kur yra jaunieji pankai, kurie nušluos mus nuo žemės paviršiaus?

Apskritai, kaip ir tikėtasi, jie moko to, kas yra paklausa.

Nuo pirmojo darbo studentai tikisi profesinio augimo, darbo ir asmeninio gyvenimo pusiausvyra yra antroje vietoje (kai kuriose šalyse pirmoji), o įdomios užduotys – trečioje vietoje.

Kūrėjų populiacijos dinamika pagal programavimo kalbas ir programinės įrangos tipus

„Kur yra jaunieji pankai, kurie nušluos mus nuo žemės paviršiaus?

Pirmoje vietoje yra žiniatinklio programos, kurių kūrėjai yra 16.9 mln. Tai vėl SlashData. Toliau rikiuojasi „Backend Services“ (13.6 mln.), mobiliosios programos (13.1 mln.) ir staliniai kompiuteriai (12.3 mln.). AR/VR ir IoT sektoriai pamažu populiarėja, AI/ML/Data Science per pastaruosius dvejus metus labai išaugo.

„Javascript“ auga sparčiausiai, jo bendruomenė jau dabar yra didžiausia – vien 2018 m. išaugo 2.5 mln. Jie netgi bando į jį rašyti daiktų interneto ir ML sektoriuose.
Python 2018 metais išaugo 2.2 mln. dėl populiarėjančio ML, kur jis tradiciškai stiprus, taip pat dėl ​​kalbos mokymosi lengvumo ir patogumo.

Java, C/C++ ir C# auga lėčiau nei bendra kūrėjų populiacija. Dabar jie retai būna ta programavimo kalba, kuria žmonės pasirenka pradėti. Kūrėjų paklausa čia daugiau ar mažiau subalansuota su pasiūla. Manau, kad „Java“ būtų augęs dar lėčiau, jei ne „Android“.

PHP yra antra pagal populiarumą žiniatinklio programų programavimo kalba ir ji taip pat labai auga (32 m. 2018 proc.). Apskaičiuota, kad jos bendruomenėje yra 5.9 milijono kūrėjų. Nepaisant poliarizuojančios PHP reputacijos, jį gana lengva išmokti ir plačiai naudoti.

Kaip mokosi šiandieniniai jaunieji kandidatai, palyginti su ankstesnėmis kartomis?

„HackerRank“ duomenys vėl. Tie, kuriems dabar yra nuo 38 iki 53 metų, žaidimus nurodo kaip pirmuosius projektus.

Beje, patvirtinu, kad mano pirmasis daugiau ar mažiau veikiantis projektas buvo iki penkių iš eilės su neribotu lauku, antrasis buvo žaidimas 15. Visa tai parašiau BC 010-01, Buvo Vilniaus bazinis, dar žinomas kaip BASIC-86 ir židinio. Ech.

Šiuolaikiniai pradedantieji programuotojai (iki 21 metų) kaip pirmuosius projektus rašo skaičiuotuvus ir svetaines.

Beveik pusė X kartos atstovų pradėjo rašyti kodą iki 16 metų, daugelis tai darė nuo 5 iki 10 metų (daugiausia tie, kuriems dabar yra nuo 35 iki 45 metų). Daugiau ar mažiau aišku kodėl: informacijos šaltinių buvo mažai, o norint tapti programuotoju tikrai reikėjo labai to norėti, o tie, kurie labai norėjo, anksti pradėjo programuoti. Tie, kurie to labai nenorėjo, greičiausiai dabar turi kitą profesiją, todėl sociologijoje vaizdas yra būtent toks.

„Kur yra jaunieji pankai, kurie nušluos mus nuo žemės paviršiaus?

Dabartiniai jauni kandidatai tik 20 % laiko pradeda programuoti nesulaukę 16 metų, dauguma – tarp 16 ir 20 metų. Tačiau jiems taip pat daug lengviau mokytis; dabar tai daug lengviau prieinama.

išvados

Vis dar neradau konkretaus atsakymo į klausimą, ar pradedančiam žiniatinklio sistemos kūrėjui šiandien reikia SQL, tačiau pataisiau savo idėją apie šiuolaikinę programuotojų populiaciją.

Naujos kartos kūrėjai yra paprasti žmonės, kai kuriais atžvilgiais panašūs į ankstesnius, būsto problema juos tik išlepino. Jie patenkina paklausą, kurią sukuria darbdaviai. Slenkstis įstoti į profesiją tapo žemesnis dėl patogesnių įrankių ir rėmų, leidžiančių greitai pasiekti rezultatų. Šiuo metu vis daugiau žmonių tampa programuotojais, skaitmeninė karta (Z karta) nuo pat gimimo gyvena technologijų srityje, jiems tai yra įprasta profesija, ne prastesnė nei kitų.

Tie, kurie žino, kad L1 talpyklos delsa yra ~4 ciklai, ir kad geriau be reikalo nedaužyti talpyklos eilučių, procentais nuo bendro populiacijos dydžio vis mažėja. Tačiau jie neturėtų jaudintis, kad įsidarbins, juk kažkas turi parašyti žemo lygio dalykus ten, kur to dar reikia. Taip pat neturėtų jaudintis tie, kurie turi gilių fundamentaliųjų sistemų projektavimo žinių ir jas įgijo kruvinose praktinėse kovose, o ne tik laikosi krovinių kulto. Kadangi komandose atsiras daugiau žmonių, galinčių „tiesiog rašyti kodą“ ir „tiesiog“ naudoti sistemas, o kad „išvengtų nepakeliamo skausmo dėl beprasmiškai praleistų metų“ (c) juos turės subalansuoti būtent tokie žmonės. .

Minkštieji įgūdžiai pamažu migruoja iš pageidaujamų į privalomus (objektyvių tai patvirtinančių duomenų neturiu, tik praktinis pastebėjimas). Programuotojų daugėja, ir jie visi turi būti nukreipti siekti rezultato tiesioginio ar netiesioginio valdymo būdu – būtent tam ir reikalingi minkštieji įgūdžiai.

„Įvesk IT“ man atrodo vietinė regioninė istorija, būdinga toms vietovėms, kur programuotojo pajamos smarkiai skiriasi nuo panašaus „ne IT“ specialisto pajamų. Minske, kur aš gyvenu, tai apskritai yra masinis judėjimas, kasdien matau skelbimus apie naujus kursus, kaip patekti į trokštamą IT, o valymo įmonės taikosi į programuotojus su žinute „Ar supranti kodą šiame paveikslėlyje? Tai reiškia, kad galite sau leisti nevalyti savo buto, mes viską padarysime už jus. Tas pats, matyt, vyksta kai kuriose Indijos šalyse. Taip pat neturiu tai patvirtinančių duomenų.

Apskritai, mano nuomone, programuotojų populiacijai niekas negresia. Nėra prasmės bambėti apie tai, kad per dieną nerasi tikrų programuotojų ir kad kandidatai labai dažnai „nieko nežino“. Jie tokie pat protingi ir gabūs, gal net protingesni ir pajėgesni už „tikruosius programuotojus“ – jie tiesiog įgyja žinių, kurių iš jų reikalauja sparčiai auganti rinka, ir atideda vėlesniam laikui tai, ko jiems dar nereikėjo ir neduos tinkamos naudos. dabar. Kai reikės, jie išmoks, nes vis tiek nori mokytis. Tikriausiai ne visi tai sugebės, bet ir ne visiems to prireiks, artimiausioje ateityje rinka nesunkiai priims žmones, kurie, naudodami tam tikrą karkasą, greitai susidėlios kitą programos koncepciją.

Apklausoje gali dalyvauti tik registruoti vartotojai. Prisijungti, Prašau.

Ar interviu su žiniatinklio kūrėjais reikalauja SQL žinių?

  • Taip, reikalauju, nes man to reikia darbui

  • Taip, darau, nors darbe to retai prireikia.

  • Ne, man to nereikia, mes turime NoSQL

  • Ne, man to nereikia, ORM padarys viską

Balsavo 320 vartotojų. 230 vartotojai susilaikė.

Šaltinis: www.habr.com

Добавить комментарий