"Kde jsou ti mladí pankáči, kteří nás vymažou z povrchu zemského?"

Existenciální otázku položenou v názvu v Grebenshchikovově formulaci jsem si položil po dalším kole diskuzí v jedné z komunit o tom, zda začínající webový backendový vývojář potřebuje znalosti SQL, nebo zda ORM stejně udělá vše. Rozhodl jsem se hledat odpověď trochu šířeji než jen o ORM a SQL a v podstatě se pokusím systematizovat, kdo jsou lidé, kteří nyní chodí na pohovory na juniorské a střední vývojové pozice, jakou mají historii a v jakém světě se pohybují žít v. Obecně jsem měl svůj názor, ale vznikl na základě osobních zkušeností s náborem a jasně přizpůsobený místnímu trhu. Obecně to začalo být zajímavé. Zde je to, co jsme našli.

Globální populace vývojářů

Abych se k otázce nějak přiblížil, rozhodl jsem se začít hledáním dat o tom, kolik vývojářů je dnes na světě a jak se tato populace v čase mění.
Odhady v různých zdrojích uvádějí čísla v rozmezí od 12 do 30 milionů lidí. Rozhodl se zastavit u data ze SlashData, protože jejich metodika se mi zdála celkem vyvážená a vhodná pro mé potřeby. Při svém hodnocení zohlednili počet účtů a úložišť na Githubu, počet účtů na StackOverflow, npm účty a data z oficiálních zdrojů o zaměstnanosti v USA a Evropě. Výsledná čísla také upravili pomocí vlastních 16 studií, které zahrnovaly přibližně 20 000 lidí v každém průzkumu.

Podle SlashData bylo ve čtvrtém čtvrtletí roku 2018 na světě přibližně 18.9 milionu vývojářů, z nichž 12.9 milionu byli profesionální vývojáři, tedy živí se programováním. Ti, kteří momentálně nejsou profesionální vývojáři, jsou lidé, pro které je programování koníčkem, plus ti, kteří v současné době studují nějakou profesi (různí studenti a samouci). Tedy, zde je náznak velikosti skupiny, která mě zajímá – 6 milionů lidí. Abych byl upřímný, je to víc, než jsem čekal.

Druhým překvapením pro mě bylo tempo růstu počtu programátorů: od druhého čtvrtletí roku 2017 do čtvrtého čtvrtletí roku 2018 vzrostl ze 14.7 na zmíněných 18.9 milionu, respektive v roce 21 vzrostl o 2018 %! Pokud bych měl odhadnout tempo růstu počtu programátorů, řekl bych, že se jedná o cca 5 % ročně s mírným nárůstem míry ročně. A tady to vychází až na 20 %.

SlashData navíc odhaduje, že populace dosáhne do roku 2030 45 milionů. Je snadné zjistit, že to znamená růst o něco více než 8% ročně, nikoli 20%, ale odkazují na úpravu zohledňující penetraci internetu (v současné době asi 57% celosvětově). podle Statista) a několik dalších faktorů, jako je počet vývojářů na hlavu. Geograficky nejvíce roste počet vývojářů v Indii a Číně, očekává se, že Indie do roku 2023 v počtu vývojářů předběhne USA (to je již Data C# Corner).

Obecně bude programátorů hodně, ať se na to díváte jakkoli, protože poptávka roste. Mimochodem, o poptávce.

Po čem je poptávka?

Pro odhad poptávky jsem použil data HackerRank pro 2018 и 2019 rok.

Z hlediska programovacích jazyků je největší poptávka po JavaScriptu, Pythonu a Javě téměř ve všech odvětvích, s výjimkou počítačového hardwaru. V posledně jmenovaném je největší poptávka po C/C++, což je pochopitelné, hardwarové projekty mají stále požadavky na náročnost zdrojů a výkon odpovídajícího softwaru.

"Kde jsou ti mladí pankáči, kteří nás vymažou z povrchu zemského?"

Co se týče frameworků, AngularJS, Node.js a React jsou nejžádanější a mají největší mezeru mezi nabídkou a poptávkou, což se zdá být vysvětleno rychlostí, s jakou se mění ekosystém JavaScriptu, protože například pro ExpressJS , nabídka již převyšuje poptávku.

"Kde jsou ti mladí pankáči, kteří nás vymažou z povrchu zemského?"

Pokud jde o kompetence, zaměstnavatelé od uchazečů očekávají především dovednosti Řešení problémů. Asi 95 % zaměstnavatelů uvádí tyto dovednosti jako důležité. Znalost programovacího jazyka je na druhém místě s 56 %. Mimochodem, se základními znalostmi o algoritmech, datových strukturách a další informatice není vůbec žádná linie, buď to v dotazníku nebylo, nebo akademické znalosti již nejsou ve velkém měřítku vyžadovány.

Návrh databáze potřebuje 23.2 % společností do 100 lidí a 18.8 % společností nad 1000 lidí. Ano, vypadá to, že jde o ORM a SQL! Logické, IMHO, vysvětlení je, že ve velkých společnostech je dedikovaná role DBA, který je za tento aspekt zodpovědný, a proto je možné změkčit požadavky na vývojáře a najmout rychleji. Ale s návrhem systému je to naopak: 37.0 % v malých, 44.1 % ve velkých. Zdálo by se, že velké by měly mít oddané architekty, ale možná prostě nejsou schopny pokrýt množství generovaných systémů. Nebo jsou stejné základní algoritmy a datové struktury vloženy do návrhu systému, pak je to trochu jasnější.

Malé firmy potřebují Framework Proficiency více a méně již zmíněný System Design, z čehož můžeme vyvodit kapitánův závěr, že pro startupy je důležité co nejrychleji spustit nějak fungující produkt a zítra bude zítra.

"Kde jsou ti mladí pankáči, kteří nás vymažou z povrchu zemského?"

Co se studenti učí?

Zde jsem vycházel z údajů od jiného HackerRank průzkum.
Je důležité si uvědomit, že přestože se programování v té či oné formě vyučuje na univerzitách (mám na mysli obory informatiky), více než polovina dotázaných uvedla, že se také věnuje sebevzdělávání.

Moderní studenti se raději učí z YouTube, zatímco starší vývojáři se přiklánějí k návodům a knihám. Oba aktivně využívají StackOverflow. Přičítám to tomu, že video je pro generaci Z známým mediálním kanálem, zatímco zástupci generace Y jsou stále v době bez bloggerů.

Učí to, co je poptávané zaměstnavateli: JavaScript, Java, Python. Uvádějí, že znají C/C++, ale je to pravděpodobně proto, že se tyto jazyky používají k výuce na univerzitách. Učí JS frameworky, ale poptávka je výrazně vyšší než nabídka, takže se zřejmě aktivně učí po nalezení prvního zaměstnání.

"Kde jsou ti mladí pankáči, kteří nás vymažou z povrchu zemského?"

Obecně platí, že podle očekávání učí to, co je žádané.

Studenti od svého prvního zaměstnání očekávají profesní růst, na druhém místě je slaďování pracovního a soukromého života (v některých zemích na prvním místě) a zajímavé úkoly na třetím místě.

Dynamika populace vývojářů podle programovacích jazyků a typů softwaru

"Kde jsou ti mladí pankáči, kteří nás vymažou z povrchu zemského?"

Webové aplikace jsou na prvním místě s odhadem 16.9 milionu vývojářů. Toto je opět SlashData. Další jsou Backend Services (13.6 milionu), mobilní aplikace (13.1 milionu) a desktop (12.3 milionu). Sektory AR/VR a IoT postupně získávají na oblibě, AI/ML/Data Science za poslední dva roky výrazně vzrostla.

Javascript roste nejrychleji, jeho komunita je už nyní největší, jen v roce 2018 vzrostla o 2.5 milionu. Dokonce se v něm pokoušejí psát v sektorech IoT a ML.
Python se v roce 2018 rozrostl o 2.2 milionu díky rostoucí popularitě ML, kde je tradičně silný, a také díky snadnému učení a pohodlí jazyka.

Java, C/C++ a C# rostou pomaleji než celková populace vývojářů. Nyní jsou jen zřídka programovacím jazykem, se kterým se lidé rozhodnou začít. Poptávka po developerech je zde víceméně vyrovnaná s nabídkou. Myslím, že Java by rostla ještě pomaleji, nebýt Androidu.

PHP je druhý nejoblíbenější programovací jazyk webových aplikací a také výrazně roste (o 32 % v roce 2018). Jeho komunita se odhaduje na 5.9 milionu vývojářů. Navzdory polarizující pověsti PHP se dá celkem snadno naučit a široce se používá.

Jak studují dnešní mladí uchazeči ve srovnání s předchozími generacemi?

HackerRank data znovu. Ti, kterým je nyní mezi 38 a 53, uvádějí hry jako své první projekty.

Mimochodem potvrzuji, že můj první víceméně pracovní projekt byl „piškvor“ do pěti v řadě s neomezeným polem, druhý byla hra 15. To vše jsem psal na BC 010-01, zde bylo Základní Vilnius, aka BASIC-86 a focal. Eh

Moderní začínající programátoři (do 21 let) píší jako své první projekty kalkulačky a webové stránky.

Mezi zástupci generace X začala téměř polovina psát kód před 16 lety, mnozí tak dělali od 5 do 10 let (hlavně ti, kterým je nyní mezi 35 a 45 lety). Je víceméně jasné proč: zdrojů informací bylo málo, a abyste se stali programátorem, museli jste to opravdu hodně chtít, a ti, kteří to opravdu chtěli, začali programovat brzy. Ti, kteří to tolik nechtěli, mají s největší pravděpodobností jinou profesi, takže obrázek v sociologii je přesně takový.

"Kde jsou ti mladí pankáči, kteří nás vymažou z povrchu zemského?"

Dnešní mladí kandidáti pouze 20 % času začínají programovat před 16. rokem, většina někde mezi 16 a 20. Ale také je pro ně mnohem snazší se učit, nyní je to mnohem dostupnější.

Závěry

Stále jsem nenašel konkrétní odpověď na otázku, zda dnes začínající webový backend vývojář potřebuje SQL, ale opravil jsem svou představu o moderní populaci programátorů.

Další generace developerů jsou obyčejní lidé, v něčem se podobají těm předchozím, problém s bydlením je jen zkazil. Uspokojují poptávku, kterou vytvářejí zaměstnavatelé. Hranice pro vstup do profese se snížila díky pohodlnějším nástrojům a rámcům, které vám umožní rychle dosáhnout výsledků. Stále více lidí se nyní stává programátory, digitální generace (generace Z) žije v technologiích od narození, je to pro ně běžná profese, o nic horší než ostatní.

Ti, kteří vědí, že latence mezipaměti L1 je ~4 cykly a že je lepší zbytečně nehrotit linky mezipaměti, se procentuálně zmenšují z celkové velikosti populace. Neměli by si však dělat starosti se získáním práce, někdo přece musí psát věci nízké úrovně tam, kde je to ještě potřeba. Stejně tak ti, kteří mají hluboké základní znalosti v oblasti navrhování systémů a získali je v krvavých praktických bitvách a nenásledují jen kult nákladu, by se neměli bát. Protože v týmech bude více lidí, kteří mohou „jen psát kód“ a „jen“ používat frameworky, a aby se „vyhnuli mučivé bolesti z let strávených bezcílně prožitými“ (c) budou muset být vyváženi právě takovými lidmi. .

Soft skills postupně migrují z kategorie žádoucích na povinné (nemám objektivní data, která by to potvrdila, jen praktické pozorování). Počet programátorů roste a všechny je třeba nasměrovat k dosažení výsledků, ať už přímou nebo nepřímou kontrolou, a právě k tomu jsou potřeba měkké dovednosti.

„Enter IT“ mi připadá jako lokální regionální příběh, typický pro ty lokality, kde se příjem programátora výrazně liší od příjmu srovnatelného „ne-IT“ specialisty. V Minsku, kde žiji, je to obecně masové hnutí, denně vidím reklamy na nové kurzy, jak se dostat do vytouženého IT, a úklidové firmy cílí na programátory s hláškou „Rozumíte kódu na tomto obrázku? To znamená, že si můžete dovolit neuklízet svůj byt, my uděláme vše za vás.“ Totéž se zjevně děje v nějaké Indii. Také nemám žádné údaje, které by to dokazovaly.

Obecně podle mě populaci programátorů nic neohrožuje. Nemá cenu žvanit o tom, že skutečné programátory přes den nenajdete a že kandidáti velmi často „nic nevědí“. Jsou stejně chytří a schopní, možná ještě chytřejší a schopnější než „skuteční programátoři“; prostě získávají znalosti, které od nich rychle rostoucí trh vyžaduje, a odkládají na později to, co dosud nepotřebovali a nepřinesou jim užitek. Nyní. Naučí se, když potřebují, protože se stále chtějí učit. Zřejmě ne každý toho bude schopen, ale také ne každý to bude potřebovat, trh v dohledné době bez problémů přijme lidi, kteří dokážou rychle sestavit další koncept aplikace pomocí nějakého frameworku.

Průzkumu se mohou zúčastnit pouze registrovaní uživatelé. Přihlásit se, prosím.

Vyžadují rozhovory s webovým backenderem znalost SQL?

  • Ano, požaduji to, protože to potřebuji k práci

  • Ano, mám, i když je to v práci málokdy potřeba.

  • Ne, nevyžaduji to, máme NoSQL

  • Ne, nevyžaduji to, ORM udělá vše

Hlasovalo 320 uživatelů. 230 uživatelů se zdrželo hlasování.

Zdroj: www.habr.com

Přidat komentář