"Hvor er de unge punkere, der vil udslette os fra jordens overflade?"

Jeg stillede mig selv det eksistentielle spørgsmål i titlen i Grebenshchikovs formulering efter endnu en diskussionsrunde i et af fællesskaberne om, hvorvidt en begyndende web-backend-udvikler har brug for SQL-viden, eller om ORM vil gøre alt alligevel. Jeg besluttede mig for at lede efter svaret lidt bredere end kun om ORM og SQL, og i bund og grund forsøge at systematisere, hvem de personer er, der nu skal til samtaler til junior- og mellemniveau udviklingsstillinger, hvad deres historie er, og hvilken verden de bo i. Generelt havde jeg en mening, men den var dannet af personlig ansættelseserfaring og tydeligt tilpasset det lokale marked. Generelt blev det interessant. Her er hvad vi fandt.

Global udviklerpopulation

For på en eller anden måde at nærme mig spørgsmålet, besluttede jeg mig for at starte med at søge efter data om, hvor mange udviklere der er i verden i dag, og hvordan denne befolkningsgruppe ændrer sig over tid.
Skøn i forskellige kilder sætter tallene i intervallet fra 12 til 30 millioner mennesker. Besluttede at stoppe kl data fra SlashData, fordi deres metodik virkede ret afbalanceret og egnet til mine behov. I deres vurdering har de taget højde for antallet af konti og repositories på Github, antallet af konti på StackOverflow, npm-konti og data fra officielle kilder om beskæftigelse i USA og Europa. De justerede også de resulterende tal ved hjælp af deres egne 16 undersøgelser, som omfattede cirka 20 personer for hver undersøgelse.

Ifølge SlashData var der cirka 2018 millioner udviklere i verden i fjerde kvartal af 18.9, hvoraf 12.9 millioner var professionelle udviklere, det vil sige, de lever af programmering. Dem, der i øjeblikket ikke er professionelle udviklere, er folk, for hvem programmering er en hobby, plus dem, der i øjeblikket studerer et erhverv (forskellige studerende og autodidakt). Nå, det vil sige, her er et hint om størrelsen af ​​den gruppe, der interesserer mig - 6 millioner mennesker. For at være ærlig er dette mere end jeg havde forventet.

Den anden overraskelse for mig var vækstraten i antallet af programmører: fra andet kvartal 2017 til fjerde kvartal 2018 steg det fra 14.7 til de nævnte 18.9 millioner eller steg med 21% i 2018! Hvis jeg blev bedt om at estimere vækstraten for antallet af programmører, vil jeg sige, at det er omkring 5 % om året med en lille stigning i satsen årligt. Og her viser det sig at være hele 20 pct.

Derudover anslår SlashData, at befolkningen vil nå 2030 millioner i 45. Det er let at regne ud, at dette indebærer en vækst på lidt mere end 8 % årligt, ikke 20 %, men de henviser til en justering for at tage højde for internetpenetration (i øjeblikket omkring 57 % på verdensplan). ifølge Statista) og flere andre faktorer, såsom antallet af udviklere pr. indbygger. Geografisk vokser antallet af udviklere kraftigst i Indien og Kina; Indien forventes at overhale USA i antallet af udviklere i 2023 (dette er allerede C# Corner data).

Generelt vil der være rigtig mange programmører, uanset hvordan man ser på det, for efterspørgslen vokser. I øvrigt om efterspørgsel.

Hvad efterspørges?

For at estimere efterspørgslen brugte jeg HackerRank-data til 2018 и 2019 år.

Med hensyn til programmeringssprog er den største efterspørgsel efter JavaScript, Python og Java i næsten alle brancher, med undtagelse af Computer Hardware. I sidstnævnte er den største efterspørgsel efter C/C++, hvilket er forståeligt; hardwareprojekter har stadig krav til ressourceintensitet og ydeevne af den tilsvarende software.

"Hvor er de unge punkere, der vil udslette os fra jordens overflade?"

Med hensyn til rammer er AngularJS, Node.js og React mest efterspurgt, og de har den største kløft mellem udbud og efterspørgsel, hvilket ser ud til at kunne forklares med den hastighed, hvormed JavaScript-økosystemet ændrer sig, fordi det f.eks. for ExpressJS , udbuddet overstiger allerede efterspørgslen.

"Hvor er de unge punkere, der vil udslette os fra jordens overflade?"

Med hensyn til kompetencer forventer arbejdsgivere primært problemløsningskompetencer fra kandidater. Omkring 95 % af arbejdsgiverne nævner disse færdigheder som vigtige. Programmeringssprogfærdighed er på andenpladsen med 56%. Der er i øvrigt slet ikke nogen linje med grundlæggende viden om algoritmer, datastrukturer og andet Datalogi, enten var det ikke i spørgeskemaet, eller også kræves der ikke længere akademisk viden i stor skala.

Databasedesign er påkrævet af 23.2 % af virksomheder under 100 personer og 18.8 % af virksomheder over 1000 personer. Ja, det ser ud til, at det handler om ORM og SQL! Den logiske, IMHO, forklaring er, at der i store virksomheder er en dedikeret rolle som DBA, som er ansvarlig for dette aspekt, og derfor er det muligt at opbløde kravene til udviklere og ansætte hurtigere. Men med System Design er det omvendt: 37.0 % i små, 44.1 % i store. Det ser ud til, at store skal have dedikerede arkitekter, men måske er de simpelthen ikke i stand til at dække antallet af systemer, der genereres. Eller de samme fundamentale algoritmer og datastrukturer sættes ind i System Design, så bliver det lidt klarere.

Små virksomheder har mere og mindre brug for Framework Proficiency, det førnævnte System Design, hvorfra vi kan drage kaptajnens konklusion om, at det er vigtigt for startups at lancere et på en eller anden måde fungerende produkt så hurtigt som muligt, og i morgen er det i morgen.

"Hvor er de unge punkere, der vil udslette os fra jordens overflade?"

Hvad lærer eleverne?

Her stolede jeg på data fra en anden HackerRank-forskning.
Det er vigtigt at overveje, at på trods af at programmering i den ene eller anden form undervises på universiteter (jeg mener datalogi hovedfag), sagde mere end halvdelen af ​​de adspurgte, at de også beskæftiger sig med selvuddannelse.

Moderne studerende foretrækker at lære fra YouTube, mens ældre udviklere hælder til selvstudier og bøger. Begge bruger aktivt StackOverflow. Det tilskriver jeg det faktum, at video er en velkendt mediekanal for generation Z, mens repræsentanter for generation Y stadig befinder sig i en æra uden bloggere.

De underviser i, hvad der efterspørges af arbejdsgivere: JavaScript, Java, Python. De angiver, at de kender C/C++, men det skyldes sandsynligvis, at disse sprog bruges til undervisning på universiteter. De underviser i JS-rammer, men efterspørgslen er markant højere end udbuddet, så de lærer tilsyneladende aktivt efter at have fundet deres første job.

"Hvor er de unge punkere, der vil udslette os fra jordens overflade?"

Generelt underviser de som forventet i det, der efterspørges.

Studerende forventer professionel vækst fra deres første job, balance mellem arbejde og privatliv kommer på andenpladsen (i nogle lande først), og interessante opgaver kommer på tredjepladsen.

Dynamikken i udviklerpopulationen efter programmeringssprog og softwaretyper

"Hvor er de unge punkere, der vil udslette os fra jordens overflade?"

Webapplikationer er på førstepladsen med anslået 16.9 millioner udviklere. Dette er SlashData igen. Dernæst er Backend Services (13.6 millioner), mobile applikationer (13.1 millioner) og desktop (12.3 millioner). AR/VR og IoT-sektorerne vinder gradvist popularitet, AI/ML/Data Science er vokset markant i løbet af de sidste to år.

Javascript vokser hurtigst; dets fællesskab er allerede det største og voksede med 2018 millioner alene i 2.5. De forsøger endda at skrive i det i IoT- og ML-sektoren.
Python voksede med 2018 millioner i 2.2 på grund af den voksende popularitet af ML, hvor det traditionelt er stærkt, samt på grund af den nemme indlæring og bekvemmeligheden af ​​sproget.

Java, C/C++ og C# vokser i et langsommere tempo end den samlede udviklerpopulation. De er nu sjældent det programmeringssprog, som folk vælger at starte med. Efterspørgslen efter udviklere her er mere eller mindre afbalanceret med udbuddet. Jeg tror, ​​at Java ville være vokset endnu langsommere, hvis ikke for Android.

PHP er det næstmest populære programmeringssprog for webapplikationer, og det vokser også betydeligt (med 32 % i 2018). Dets fællesskab anslås til 5.9 millioner udviklere. På trods af PHPs polariserende omdømme er det ret nemt at lære og meget brugt.

Hvordan studerer nutidens unge kandidater sammenlignet med tidligere generationer?

HackerRank-data igen. De, der nu er mellem 38 og 53, angiver spil som deres første projekter.

I øvrigt bekræfter jeg, at mit første mere eller mindre arbejdende projekt var "tic-tac-toe" op til fem i træk med et ubegrænset felt, det andet var et spil på 15. Jeg skrev alt dette på 010-01 f.Kr, der var Vilnius grundlæggende, aka BASIC-86 og focal. Øh.

Moderne nybegyndere (op til 21 år) skriver lommeregnere og websteder som deres første projekter.

Blandt repræsentanter for generation X begyndte næsten halvdelen at skrive kode før de fyldte 16 år, mange gjorde det fra 5 til 10 år (hovedsageligt dem, der nu er mellem 35 og 45 år). Det er mere eller mindre klart hvorfor: Der var få kilder til information, og for at blive programmør skulle man virkelig have lyst til det, og de, der virkelig ønskede det, begyndte at programmere tidligt. Dem, der ikke ville det så meget, har højst sandsynligt nu en anden profession, så billedet i sociologi er præcis sådan her.

"Hvor er de unge punkere, der vil udslette os fra jordens overflade?"

Nutidens unge kandidater begynder kun 20% af tiden at programmere før de er 16 år, størstedelen et sted mellem 16 og 20 år. Men det er også meget nemmere for dem at lære, nu er det meget mere tilgængeligt.

Fund

Jeg har stadig ikke fundet et konkret svar på spørgsmålet om, hvorvidt en begyndende web-backend-udvikler har brug for SQL i dag, men jeg har rettet min idé om den moderne befolkning af programmører.

Den næste generation af udviklere er almindelige mennesker, på nogle måder ligner de de tidligere; boligproblemet forkælede dem kun. De opfylder den efterspørgsel, som er skabt af arbejdsgiverne. Tærsklen for at komme ind i erhvervet er blevet lavere på grund af mere bekvemme værktøjer og rammer, der giver dig mulighed for hurtigt at opnå resultater. Flere mennesker bliver nu programmører; den digitale generation (Generation Z) har levet i teknologi siden fødslen; for dem er det et almindeligt erhverv, ikke værre end andre.

De, der ved, at L1-cache-latenstiden er ~4 cyklusser, og at det er bedre ikke at crashe cache-linjer unødigt, bliver mindre som en procentdel af den samlede befolkningsstørrelse. De skal dog ikke bekymre sig om at få et job; nogen skal trods alt skrive ting på lavt niveau, hvor det stadig er nødvendigt. Ligeledes bør de, der har dyb grundlæggende viden inden for systemdesign og erhvervet den i blodige praktiske kampe, og ikke bare følger en fragtkult, ikke bekymre sig. Fordi der vil være flere mennesker i teams, der "bare kan skrive kode" og "bare" bruge rammer, og for "at undgå den ulidelige smerte fra år brugt formålsløst levet" (c) bliver de nødt til at blive balanceret af netop sådanne mennesker .

Bløde færdigheder migrerer gradvist fra kategorien ønskværdig til obligatorisk (jeg har ingen objektive data til at bekræfte dette, kun praktisk observation). Antallet af programmører vokser, og de skal alle dirigeres til at opnå resultater, enten gennem direkte eller indirekte kontrol, og det er netop det, der skal bløde færdigheder til.

"Enter IT" forekommer mig at være en lokal regional historie, typisk for de steder, hvor en programmørs indkomst adskiller sig væsentligt fra indkomsten for en sammenlignelig "ikke-IT"-specialist. I Minsk, hvor jeg bor, er det generelt en massebevægelse, hver dag ser jeg annoncer for nye kurser om, hvordan man kommer ind i den eftertragtede IT, og rengøringsfirmaer retter sig mod programmører med budskabet ”Forstår du koden på dette billede? Det betyder, at du har råd til ikke at rengøre din lejlighed, vi vil gøre alt for dig.” Det samme sker tilsyneladende i nogle af Indien. Jeg har heller ingen data til at bevise dette.

Generelt, efter min mening, truer intet befolkningen af ​​programmører. Det nytter ikke at pludre om det faktum, at du ikke kan finde rigtige programmører i løbet af dagen, og at kandidater meget ofte "intet ved." De er lige så smarte og dygtige, måske endda klogere og mere dygtige end "rigtige programmører"; de tilegner sig simpelthen den viden, som et hastigt voksende marked kræver af dem og udskyder til senere, hvad de endnu ikke har brug for og ikke vil bringe fordele rigtigt nu. De vil lære, når de har brug for det, for de vil stadig gerne lære. Det er nok ikke alle, der er i stand til dette, men heller ikke alle har brug for det; inden for en overskuelig fremtid vil markedet nemt acceptere folk, der hurtigt kan sammensætte et andet applikationskoncept ved hjælp af nogle rammer.

Kun registrerede brugere kan deltage i undersøgelsen. Log ind, Vær venlig.

Kræver webbackender-interviews SQL-kendskab?

  • Ja, jeg kræver det, fordi jeg skal bruge det til arbejdet

  • Ja, det gør jeg, selvom det sjældent er nødvendigt på arbejdet.

  • Nej, jeg kræver det ikke, vi har NoSQL

  • Nej, jeg kræver det ikke, ORM vil gøre alt

320 brugere stemte. 230 brugere undlod at stemme.

Kilde: www.habr.com

Tilføj en kommentar