„Hol vannak a fiatal punkok, akik letörölnek minket a föld színéről?”

A Grebenscsikov megfogalmazásában a címben szereplő egzisztenciális kérdést tettem fel magamnak egy újabb vita után az egyik közösségben, hogy egy kezdő webes háttérfejlesztőnek kell-e SQL tudás, vagy az ORM úgyis mindent megtesz. Úgy döntöttem, hogy egy kicsit szélesebb körben keresem a választ, nem csak az ORM-ről és az SQL-ről, és alapvetően megpróbálom rendszerezni, hogy kik azok, akik most interjúkra mennek junior és középszintű fejlesztői pozíciókra, mi a történetük és milyen világban élnek. él. Általánosságban megvolt a véleményem, de ez a személyes munkaerő-felvételi tapasztalat alapján alakult ki, és egyértelműen a helyi piachoz igazodott. Általában véve érdekes lett. Íme, mit találtunk.

Globális fejlesztői populáció

Annak érdekében, hogy valahogy megközelítsem a kérdést, úgy döntöttem, hogy azzal kezdem, hogy adatokat keresek arra vonatkozóan, hogy hány fejlesztő van ma a világon, és hogyan változik ez a népesség az idő múlásával.
Különböző források becslései 12 és 30 millió ember közötti tartományba teszik a számokat. Úgy döntött, hogy megáll adatok a SlashData-tól, mert a módszertanuk meglehetősen kiegyensúlyozottnak és az én igényeimnek megfelelőnek tűnt. Értékelésük során figyelembe vették a Githubon lévő fiókok és adattárak számát, a StackOverflow fiókok számát, az npm fiókokat, valamint a hivatalos forrásokból származó adatokat az Egyesült Államokban és Európában történő foglalkoztatásról. A kapott számokat saját 16 tanulmányukkal is kiigazították, amelyekben minden felmérésben körülbelül 20 000 ember vett részt.

A SlashData adatai szerint 2018 negyedik negyedévében hozzávetőlegesen 18.9 millió fejlesztő működött a világon, ebből 12.9 millióan professzionális fejlesztők voltak, vagyis programozásból élnek. Azok, akik jelenleg nem professzionális fejlesztők, azok, akiknek a programozás hobbi, plusz azok, akik jelenleg szakmát tanulnak (különböző hallgatók és autodidakta). Nos, itt van egy tipp az engem érdeklő csoport méretére - 6 millió ember. Őszintén szólva ez több, mint amire számítottam.

A második meglepetés számomra a programozók számának növekedési üteme volt: 2017 második negyedévétől 2018 negyedik negyedévéig 14.7-ről az említett 18.9 millióra, illetve 21-ban 2018%-kal nőtt! Ha azt kérnék tőlem, hogy becsüljem meg a programozók számának növekedési ütemét, akkor azt mondanám, hogy ez évi 5% körül van, éves szinten enyhe növekedéssel. És itt kiderül, hogy akár 20%.

Ezenkívül a SlashData becslései szerint a lakosság száma 2030-ra eléri a 45 milliót. Könnyű kitalálni, hogy ez éves szinten valamivel több mint 8%-os növekedést jelent, nem 20%-ot, de az internetpenetráció (jelenleg világszerte körülbelül 57%-os) kiigazítására utalnak. a Statista szerint) és számos más tényező, például az egy főre jutó fejlesztők száma. Földrajzilag Indiában és Kínában nő a legerőteljesebben a fejlesztők száma, India várhatóan 2023-ra megelőzi az Egyesült Államokat a fejlesztők számában (ez már C# Corner adatok).

Általánosságban elmondható, hogy nagyon sok programozó lesz, akárhogyan is nézzük, mert nő a kereslet. Egyébként a keresletről.

Mire van kereslet?

A kereslet becsléséhez a HackerRank adatait használtam 2018 и 2019 évben.

A programozási nyelvek tekintetében a legnagyobb kereslet a JavaScript, a Python és a Java iránt van szinte minden iparágban, a Számítógépes hardver kivételével. Utóbbiban a legnagyobb kereslet a C/C++ iránt van, ami érthető, a hardverprojekteknél továbbra is megkövetelik az erőforrás-intenzitást és a megfelelő szoftver teljesítményét.

„Hol vannak a fiatal punkok, akik letörölnek minket a föld színéről?”

A keretrendszerek tekintetében az AngularJS, a Node.js és a React a legnagyobb kereslet, és ezekben van a legnagyobb a kínálat és a kereslet közötti különbség, ami a JavaScript ökoszisztéma változásának sebességével magyarázható, mert például az ExpressJS esetében , a kínálat már meghaladja a keresletet.

„Hol vannak a fiatal punkok, akik letörölnek minket a föld színéről?”

A kompetenciák tekintetében a munkaadók elsősorban problémamegoldó készségeket várnak el a jelöltektől. A munkáltatók mintegy 95%-a fontosnak tartja ezeket a készségeket. A második helyen a programozási nyelvtudás áll 56%-kal. Egyébként az algoritmusok, adatstruktúrák és egyéb számítástechnikai alapismeretek között egyáltalán nincs sor, vagy nem szerepelt a kérdőívben, vagy már nincs szükség a tudományos ismeretekre nagy léptékben.

Adatbázis tervezésre a 23.2 fő alatti cégek 100%-ának, az 18.8 fő feletti cégek 1000%-ának van szüksége. Igen, úgy tűnik, hogy az ORM-ről és az SQL-ről van szó! A logikus, IMHO magyarázat az, hogy a nagyvállalatoknál dedikált szerepe van a DBA-nak, aki ezért felelős, így lehet enyhíteni a fejlesztőkkel szemben támasztott követelményeket, gyorsabban lehet bérelni. De a System Design esetében ez fordítva van: 37.0% kicsiben, 44.1% nagyban. Úgy tűnik, hogy a nagyoknak elhivatott építészekkel kell rendelkezniük, de talán egyszerűen nem képesek lefedni a generált rendszerek számát. Vagy ugyanazok az alapvető algoritmusok és adatstruktúrák kerülnek be a System Designba, akkor egy kicsit világosabb lesz.

A kis cégeknek egyre inkább szükségük van a Framework Proficiencyre a már említett System Designra, amiből azt a kapitányi következtetést vonhatjuk le, hogy a startupok számára fontos, hogy minél gyorsabban piacra dobjanak egy valahogy működő terméket, és holnap lesz holnap.

„Hol vannak a fiatal punkok, akik letörölnek minket a föld színéről?”

Mit tanulnak a diákok?

Itt egy másik adataira támaszkodtam HackerRank kutatás.
Fontos figyelembe venni, hogy annak ellenére, hogy a programozást ilyen vagy olyan formában tanítják az egyetemeken (számítástechnika szakokra gondolok), a megkérdezettek több mint fele nyilatkozott úgy, hogy önképzéssel is foglalkozik.

A modern diákok szívesebben tanulnak a YouTube-ról, míg az idősebb fejlesztők inkább az oktatóanyagokat és könyveket választják. Mindketten aktívan használják a StackOverflow-t. Ezt annak tulajdonítom, hogy a videó a Z generáció ismerős médiacsatornája, míg az Y generáció képviselői még mindig a bloggerek nélküli korszakban élnek.

Azt tanítják, amire a munkáltatók igényt tartanak: JavaScript, Java, Python. Azt jelzik, hogy ismerik a C/C++ nyelvet, de ez valószínűleg azért van, mert ezeket a nyelveket az egyetemeken tanítják. JS keretrendszereket oktatnak, de a kereslet lényegesen nagyobb, mint a kínálat, így láthatóan az első munkahely megtalálása után aktívan tanulnak.

„Hol vannak a fiatal punkok, akik letörölnek minket a föld színéről?”

Általában a várakozásoknak megfelelően azt tanítják, amire igény van.

A hallgatók az első munkahelyüktől szakmai fejlődést várnak, a munka és a magánélet egyensúlya a második (egyes országokban az első), a harmadik az érdekes feladatok.

A fejlesztői populáció dinamikája programozási nyelvek és szoftvertípusok szerint

„Hol vannak a fiatal punkok, akik letörölnek minket a föld színéről?”

Az első helyen a webalkalmazások állnak a becslések szerint 16.9 millió fejlesztővel. Ez megint a SlashData. Következik a háttérszolgáltatások (13.6 millió), a mobilalkalmazások (13.1 millió) és az asztali számítógépek (12.3 millió). Az AR/VR és az IoT szektorok fokozatosan egyre népszerűbbek, az AI/ML/Data Science jelentősen növekedett az elmúlt két évben.

A Javascript növekszik a leggyorsabban; közössége már most is a legnagyobb, csak 2018-ban 2.5 millióval nőtt. Még az IoT és az ML szektorban is próbálnak bele írni.
A Python 2018-ban 2.2 millióval nőtt az ML népszerűségének növekedése miatt, ahol hagyományosan erős, valamint a könnyű megtanulhatóság és a nyelv kényelmessége miatt.

A Java, a C/C++ és a C# lassabb ütemben növekszik, mint a teljes fejlesztői populáció. Manapság már ritkán használják az emberek a programozási nyelvet. A fejlesztők iránti kereslet itt többé-kevésbé egyensúlyban van a kínálattal. Szerintem a Java még lassabban is növekedett volna, ha nincs Android.

A PHP a második legnépszerűbb webalkalmazás-programozási nyelv, és szintén jelentősen növekszik (32-ban 2018%-kal). Közösségét 5.9 millió fejlesztőre becsülik. A PHP polarizáló hírneve ellenére meglehetősen könnyen megtanulható és széles körben használható.

Hogyan tanulnak a mai fiatal jelöltek a korábbi generációkhoz képest?

Ismét HackerRank adatok. Azok, akik most 38 és 53 között vannak, a játékokat sorolják fel első projektjeikként.

Egyébként megerősítem, hogy az első többé-kevésbé működő projektem zsinórban ötig „tic-tac-toe” volt, korlátlan mezővel, a második egy 15-ös játék volt. Kr.e. 010-01, volt Vilnius alap, más néven BASIC-86 és fokális. Eh.

A modern kezdő programozók (21 éves korig) első projektjeikként számológépeket és webhelyeket írnak.

Az X generáció képviselőinek csaknem fele 16 éves kora előtt kezdett el kódot írni, sokan 5-10 éves korukig (főleg a most 35 és 45 év közöttiek). Többé-kevésbé világos, hogy miért: kevés információforrás volt, és ahhoz, hogy programozó legyen, nagyon akarni kellett, és aki nagyon akarta, az korán elkezdett programozni. Aki nem annyira akarta, annak valószínűleg most más a szakmája, így a szociológiában pontosan ilyen a kép.

„Hol vannak a fiatal punkok, akik letörölnek minket a föld színéről?”

A mai fiatal jelöltek az eseteknek csak 20%-a kezdi el a programozást 16 éves koruk előtt, a többség valahol 16 és 20 között. De sokkal könnyebben tanulnak is, most sokkal könnyebben hozzáférhető.

Álláspontja

Még mindig nem találtam konkrét választ arra a kérdésre, hogy egy kezdő webes háttérfejlesztőnek szüksége van-e ma SQL-re, de korrigáltam a modern programozói populációról alkotott elképzelésemet.

A fejlesztők következő generációja hétköznapi emberek, bizonyos tekintetben hasonlítanak az előzőekre, a lakásprobléma csak elkényezteti őket. Kielégítik a munkaadók által támasztott igényeket. A szakmába való belépés küszöbe alacsonyabb lett a kényelmesebb eszközök és keretek miatt, amelyek lehetővé teszik az eredmények gyors elérését. Manapság egyre többen válnak programozóvá, a digitális generáció (Z generáció) születése óta a technológiában él, számukra ez egy megszokott szakma, nem rosszabb, mint mások.

Azok, akik tudják, hogy az L1 cache késleltetése ~4 ciklus, és jobb, ha nem törik össze feleslegesen a cache sorokat, azok a teljes populáció méretéhez viszonyítva egyre kisebbek. Az állásszerzés miatt azonban nem kell aggódniuk, valakinek végül is alacsony szintű dolgokat kell írnia, ahol még szükség van rá. Ugyanígy azoknak sem kell aggódniuk, akik mély alapismeretekkel rendelkeznek a rendszertervezésben, és véres gyakorlati csatákban sajátították el, és nem csak egy rakománykultuszt követnek. Mert több olyan ember lesz a csapatokban, akik „csak kódot írhatnak” és „csak” keretrendszereket tudnak használni, és hogy „elkerüljék a céltalanul eltöltött évek gyötrelmes fájdalmát” (c) pont ilyen emberekkel kell egyensúlyozni őket. .

A puha készségek fokozatosan átvándorolnak a kívánatos kategóriából a kötelezővé (ennek nincs objektív adatom, csak gyakorlati megfigyelés). A programozók száma növekszik, és mindannyiukat eredményre kell irányítani, akár közvetlen, akár közvetett irányítással, és pontosan ehhez kellenek a soft skillek.

Az „Enter IT” számomra egy helyi regionális történet, jellemző azokra a helyszínekre, ahol egy programozó jövedelme jelentősen eltér egy hasonló „nem informatikus” szakember jövedelmétől. Minszkben, ahol élek, ez általában tömeges megmozdulás, minden nap új kurzusok hirdetéseit látom, hogy hogyan lehet bekerülni az áhított informatikába, és a takarítócégek a programozókat célozzák meg azzal az üzenettel: „Érted a képen látható kódot? Ez azt jelenti, hogy megengedheti magának, hogy ne takarítsa ki a lakását, mi mindent megteszünk Ön helyett.” Ugyanez történik bizonyos Indiában. Ennek bizonyítására szintén nincs adatom.

Általában véleményem szerint semmi sem fenyegeti a programozók lakosságát. Nincs értelme azon fecsegni, hogy napközben nem lehet igazi programozókat találni, és a jelöltek gyakran „semmit sem tudnak”. Ugyanolyan okosak és tehetségesek, talán még okosabbak és tehetségesebbek is, mint az „igazi programozók”; egyszerűen elsajátítják azt a tudást, amit a gyorsan növekvő piac megkíván tőlük, és későbbre halasztják azt, amire még nem volt szükségük, és ami nem fog megfelelő hasznot hozni. Most. Majd tanulnak, amikor kell, mert még mindig akarnak tanulni. Valószínűleg nem mindenki lesz erre képes, de nem is mindenkinek lesz rá szüksége, a piac belátható időn belül könnyen befogadja azokat, akik valamilyen keretrendszer segítségével gyorsan össze tudnak állítani egy másik alkalmazáskoncepciót.

A felmérésben csak regisztrált felhasználók vehetnek részt. Bejelentkezés, kérem.

A webes háttérinterjúkhoz szükség van SQL-ismeretre?

  • Igen, igénylem, mert a munkához szükségem van rá

  • Igen, igen, bár ritkán van rá szükség a munkahelyen.

  • Nem, nincs rá szükségem, van NoSQL-ünk

  • Nem, nem igénylem, az ORM mindent megtesz

320 felhasználó szavazott. 230 felhasználó tartózkodott.

Forrás: will.com

Hozzászólás