“Waar zijn de jonge punkers die ons van de aardbodem zullen wegvagen?”

Ik stelde mezelf de existentiële vraag in de titel van de formulering van Grebenshchikov na een nieuwe discussieronde in een van de communities over de vraag of een beginnende webbackend-ontwikkelaar SQL-kennis nodig heeft, of dat ORM toch alles zal doen. Ik besloot het antwoord wat breder te zoeken dan alleen maar over ORM en SQL, en in principe te proberen te systematiseren wie de mensen zijn die nu op sollicitatiegesprekken gaan voor junior- en mid-level ontwikkelingsposities, wat hun geschiedenis is en in welke wereld ze zich bevinden. leven in. Over het algemeen had ik wel een mening, maar die werd gevormd door persoonlijke recruitmentervaring en duidelijk afgestemd op de lokale markt. Over het algemeen werd het interessant. Dit is wat we hebben gevonden.

Mondiale ontwikkelaarspopulatie

Om de vraag op de een of andere manier te benaderen, besloot ik te beginnen met het zoeken naar gegevens over hoeveel ontwikkelaars er vandaag de dag in de wereld zijn en hoe deze populatie in de loop van de tijd verandert.
Volgens schattingen in verschillende bronnen liggen de aantallen tussen de 12 en 30 miljoen mensen. Besloten om te stoppen bij gegevens van SlashData, omdat hun methodologie redelijk evenwichtig leek en geschikt voor mijn behoeften. Bij hun beoordeling hielden ze rekening met het aantal accounts en repositories op Github, het aantal accounts op StackOverflow, npm-accounts en gegevens uit officiële bronnen over de werkgelegenheid in de VS en Europa. Ze hebben de resulterende cijfers ook aangepast met behulp van hun eigen 16 onderzoeken, waarbij voor elke enquête ongeveer 20 mensen betrokken waren.

Volgens SlashData waren er in het vierde kwartaal van 2018 ongeveer 18.9 miljoen ontwikkelaars in de wereld, waarvan 12.9 miljoen professionele ontwikkelaars, dat wil zeggen dat ze de kost verdienen met programmeren. Degenen die momenteel geen professionele ontwikkelaars zijn, zijn mensen voor wie programmeren een hobby is, plus degenen die momenteel een beroep studeren (diverse studenten en autodidacten). Nou, dat wil zeggen, hier is een hint over de grootte van de groep die mij interesseert: 6 miljoen mensen. Eerlijk gezegd is dit meer dan ik had verwacht.

De tweede verrassing voor mij was het groeipercentage van het aantal programmeurs: van het tweede kwartaal van 2017 tot het vierde kwartaal van 2018 steeg het van 14.7 naar de genoemde 18.9 miljoen, of een stijging van 21% in 2018! Als mij zou worden gevraagd om het groeipercentage van het aantal programmeurs te schatten, zou ik zeggen dat dit ongeveer 5% per jaar is, met een lichte stijging van het percentage per jaar. En hier blijkt het maar liefst 20% te zijn.

Bovendien schat SlashData dat de bevolking in 2030 de 45 miljoen zal bereiken. Het is gemakkelijk te begrijpen dat dit een groei impliceert van iets meer dan 8% per jaar, en niet van 20%, maar ze verwijzen naar een aanpassing om rekening te houden met de internetpenetratie (momenteel ongeveer 57% wereldwijd). volgens Statista) en verschillende andere factoren, zoals het aantal ontwikkelaars per hoofd van de bevolking. Geografisch gezien groeit het aantal ontwikkelaars het sterkst in India en China; naar verwachting zal India in 2023 de Verenigde Staten inhalen wat betreft het aantal ontwikkelaars (dit is al C# Corner-gegevens).

Over het algemeen zullen er veel programmeurs zijn, hoe je het ook bekijkt, omdat de vraag groeit. Trouwens, over de vraag.

Waar is vraag naar?

Om de vraag te schatten, heb ik HackerRank-gegevens gebruikt 2018 и 2019 jaar.

Op het gebied van programmeertalen is de grootste vraag naar JavaScript, Python en Java in vrijwel alle sectoren, met uitzondering van computerhardware. In dit laatste geval is de vraag het grootst naar C/C++, wat begrijpelijk is; hardwareprojecten stellen nog steeds eisen aan de resource-intensiteit en de prestaties van de bijbehorende software.

“Waar zijn de jonge punkers die ons van de aardbodem zullen wegvagen?”

Qua frameworks is er de grootste vraag naar AngularJS, Node.js en React, en ze hebben de grootste kloof tussen vraag en aanbod, wat verklaard lijkt te worden door de snelheid waarmee het JavaScript-ecosysteem verandert, want bijvoorbeeld voor ExpressJS , het aanbod overtreft nu al de vraag.

“Waar zijn de jonge punkers die ons van de aardbodem zullen wegvagen?”

Wat betreft competenties verwachten werkgevers vooral probleemoplossende vaardigheden van kandidaten. Ongeveer 95% van de werkgevers noemt deze vaardigheden belangrijk. Programmeertaalvaardigheid staat op de tweede plaats met 56%. Er is overigens helemaal geen lijn met fundamentele kennis van algoritmen, datastructuren en andere Informatica, ofwel stond het niet in de vragenlijst, ofwel is academische kennis niet meer op grote schaal nodig.

Databaseontwerp is nodig voor 23.2% van de bedrijven met minder dan 100 werknemers en 18.8% van de bedrijven met meer dan 1000 werknemers. Ja, het lijkt erop dat het over ORM en SQL gaat! De logische, IMHO, verklaring is dat er in grote bedrijven een speciale rol is weggelegd voor DBA, die verantwoordelijk is voor dit aspect, en dat het daarom mogelijk is om de eisen voor ontwikkelaars te verzachten en sneller mensen aan te werven. Maar bij Systeemontwerp is het andersom: 37.0% bij kleine, 44.1% bij grote. Het lijkt erop dat grote bedrijven toegewijde architecten moeten hebben, maar misschien zijn ze simpelweg niet in staat het aantal systemen dat wordt gegenereerd te dekken. Of dezelfde fundamentele algoritmen en datastructuren worden in Systeemontwerp gestopt, dan wordt het een beetje duidelijker.

Kleine bedrijven hebben meer en minder behoefte aan Framework Proficiency aan het eerder genoemde System Design, waaruit we de conclusie van de kapitein kunnen trekken dat het voor startups belangrijk is om zo snel mogelijk een op de een of andere manier werkend product te lanceren, en morgen zal het morgen zijn.

“Waar zijn de jonge punkers die ons van de aardbodem zullen wegvagen?”

Wat leren studenten?

Hier vertrouwde ik op gegevens van een ander HackerRank-onderzoek.
Het is belangrijk om te bedenken dat, ondanks het feit dat programmeren in een of andere vorm aan universiteiten wordt onderwezen (ik bedoel de hoofdvakken Computerwetenschappen), meer dan de helft van de ondervraagden zei dat ze zich ook bezighouden met zelfstudie.

Moderne studenten leren het liefst van YouTube, terwijl oudere ontwikkelaars de voorkeur geven aan tutorials en boeken. Beiden maken actief gebruik van StackOverflow. Ik schrijf dit toe aan het feit dat video een bekend mediakanaal is voor generatie Z, terwijl vertegenwoordigers van generatie Y zich nog steeds in een tijdperk zonder bloggers bevinden.

Ze leren wat werkgevers nodig hebben: JavaScript, Java, Python. Ze geven aan C/C++ te kennen, maar dit komt waarschijnlijk omdat deze talen gebruikt worden voor het onderwijs op universiteiten. Ze leren JS-frameworks, maar de vraag is aanzienlijk groter dan het aanbod, dus blijkbaar zijn ze actief aan het leren nadat ze hun eerste baan hebben gevonden.

“Waar zijn de jonge punkers die ons van de aardbodem zullen wegvagen?”

Over het algemeen leren ze, zoals verwacht, wat er gevraagd wordt.

Studenten verwachten professionele groei van hun eerste baan, de balans tussen werk en privéleven komt op de tweede plaats (in sommige landen op de eerste plaats) en interessante taken komen op de derde plaats.

Dynamiek van de ontwikkelaarspopulatie door programmeertalen en softwaretypen

“Waar zijn de jonge punkers die ons van de aardbodem zullen wegvagen?”

Webapplicaties staan ​​op de eerste plaats met naar schatting 16.9 miljoen ontwikkelaars. Dit is weer SlashData. Vervolgens volgen Backend Services (13.6 miljoen), mobiele applicaties (13.1 miljoen) en desktop (12.3 miljoen). AR/VR- en IoT-sectoren winnen geleidelijk aan populariteit, AI/ML/Data Science is de afgelopen twee jaar aanzienlijk gegroeid.

Javascript groeit het snelst; de community is nu al de grootste en groeit alleen al in 2018 met 2.5 miljoen. Ze proberen er zelfs in te schrijven in de IoT- en ML-sectoren.
Python groeide in 2018 met 2.2 miljoen als gevolg van de groeiende populariteit van ML, waar het traditioneel sterk is, maar ook vanwege het leergemak en het gemak van de taal.

Java, C/C++ en C# groeien langzamer dan de totale ontwikkelaarspopulatie. Ze zijn nu zelden de programmeertaal waarmee mensen beginnen. De vraag naar ontwikkelaars is hier min of meer in evenwicht met het aanbod. Ik denk dat Java nog langzamer zou zijn gegroeid als Android er niet was geweest.

PHP is de op een na populairste programmeertaal voor webapplicaties en groeit ook aanzienlijk (met 32% in 2018). De gemeenschap wordt geschat op 5.9 miljoen ontwikkelaars. Ondanks de polariserende reputatie van PHP is het vrij eenvoudig te leren en wordt het veel gebruikt.

Hoe studeren de jonge kandidaten van nu vergeleken met voorgaande generaties?

HackerRank-gegevens opnieuw. Degenen die nu tussen de 38 en 53 zijn, noemen games als hun eerste projecten.

Overigens bevestig ik dat mijn eerste min of meer werkende project "boter-kaas-en-eieren" was tot vijf op rij met een onbeperkt veld, de tweede was een spel van 15. Ik schreef dit allemaal op BC 010-01, er was Vilnius basis, ook bekend als BASIC-86 en focaal. Eh.

Moderne beginnende programmeurs (tot 21 jaar oud) schrijven rekenmachines en websites als hun eerste projecten.

Van de vertegenwoordigers van generatie X begon bijna de helft vóór de leeftijd van 16 jaar code te schrijven, velen deden dit tussen de 5 en 10 jaar oud (vooral degenen die nu tussen de 35 en 45 jaar oud zijn). Het is min of meer duidelijk waarom: er waren weinig informatiebronnen, en om programmeur te worden moest je het echt heel graag willen, en degenen die het echt wilden, begonnen vroeg met programmeren. Degenen die dat niet zo graag wilden, hebben nu waarschijnlijk een ander beroep, dus het beeld in de sociologie is precies zo.

“Waar zijn de jonge punkers die ons van de aardbodem zullen wegvagen?”

De jonge kandidaten van vandaag beginnen slechts 20% van de tijd met programmeren vóór de leeftijd van 16 jaar, de meerderheid ergens tussen de 16 en 20 jaar. Maar het is voor hen ook veel gemakkelijker om te leren; nu is het veel toegankelijker.

Bevindingen

Op de vraag of een beginnende webbackend-ontwikkelaar vandaag de dag SQL nodig heeft, heb ik nog steeds geen concreet antwoord gevonden, maar ik heb wel mijn beeld van de moderne populatie van programmeurs gecorrigeerd.

De volgende generatie ontwikkelaars zijn gewone mensen, in sommige opzichten lijken ze op de vorige; het huisvestingsprobleem heeft hen alleen maar bedorven. Ze voldoen aan de vraag die door werkgevers wordt gecreëerd. De drempel om het beroep te betreden is lager geworden door handigere tools en raamwerken waarmee je snel resultaat boekt. Steeds meer mensen worden nu programmeur; de digitale generatie (Generatie Z) leeft sinds haar geboorte in technologie; voor hen is het een gewoon beroep, niet slechter dan anderen.

Degenen die weten dat de latentie van de L1-cache ~4 cycli bedraagt, en dat het beter is om cacheregels niet onnodig te laten crashen, worden kleiner als percentage van de totale populatieomvang. Ze moeten zich echter geen zorgen maken over het vinden van een baan; iemand moet tenslotte dingen op een laag niveau schrijven waar het nog nodig is. Op dezelfde manier hoeven degenen die diepgaande fundamentele kennis hebben op het gebied van systeemontwerp en deze hebben verworven in bloedige praktische gevechten, en die niet alleen maar een vrachtcultus volgen, zich geen zorgen te maken. Omdat er meer mensen in teams zullen zijn die “gewoon code kunnen schrijven” en “gewoon” raamwerken kunnen gebruiken, en om “de ondragelijke pijn van jarenlang doelloos leven te vermijden” (c) zullen ze door precies zulke mensen in evenwicht moeten worden gebracht .

Zachte vaardigheden migreren geleidelijk van de categorie wenselijk naar verplicht (ik heb geen objectieve gegevens om dit te bevestigen, alleen praktische observatie). Het aantal programmeurs groeit en ze moeten allemaal worden aangestuurd om resultaten te bereiken, hetzij door directe of indirecte controle, en dit is precies waar soft skills voor nodig zijn.

‘Enter IT’ lijkt mij een lokaal regionaal verhaal, typisch voor die locaties waar het inkomen van een programmeur significant verschilt van het inkomen van een vergelijkbare ‘niet-IT’ specialist. In Minsk, waar ik woon, is dit over het algemeen een massabeweging, elke dag zie ik advertenties voor nieuwe cursussen over hoe je in de felbegeerde IT kunt komen, en schoonmaakbedrijven richten zich op programmeurs met de boodschap “Begrijp je de code op deze foto? Dit betekent dat u het zich kunt veroorloven uw appartement niet schoon te maken, wij zullen alles voor u doen.” Hetzelfde gebeurt blijkbaar in een deel van India. Ik heb ook geen gegevens die dit bewijzen.

Over het algemeen bedreigt naar mijn mening niets de populatie van programmeurs. Het heeft geen zin om te zeuren over het feit dat je overdag geen echte programmeurs kunt vinden, en dat kandidaten vaak ‘niets weten’. Ze zijn net zo slim en capabel, misschien zelfs slimmer en capabeler dan ‘echte programmeurs’; ze verwerven simpelweg de kennis die een snelgroeiende markt van hen verlangt en stellen uit voor later wat ze nog niet nodig hebben en geen voordeel zullen opleveren nu. Ze zullen leren wanneer dat nodig is, omdat ze nog steeds willen leren. Waarschijnlijk zal niet iedereen hiertoe in staat zijn, maar ook niet iedereen zal het nodig hebben; in de nabije toekomst zal de markt gemakkelijk mensen accepteren die snel een ander applicatieconcept kunnen samenstellen met behulp van een bepaald raamwerk.

Alleen geregistreerde gebruikers kunnen deelnemen aan het onderzoek. Inloggen, Alsjeblieft.

Vereisen webbackend-interviews SQL-kennis?

  • Ja, ik eis het omdat ik het nodig heb voor mijn werk

  • Ja, dat doe ik, ook al is dat zelden nodig op het werk.

  • Nee, ik heb het niet nodig, we hebben NoSQL

  • Nee, ik heb het niet nodig, ORM zal alles doen

320 gebruikers hebben gestemd. 230 gebruikers onthielden zich van stemming.

Bron: www.habr.com

Voeg een reactie