"Ku janë të rinjtë punks që do të na zhdukin nga faqja e dheut?"

I bëra vetes pyetjen ekzistenciale të vendosur në titull në formulimin e Grebenshchikov pas një raundi tjetër diskutimi në një nga komunitetet nëse një zhvillues fillestar i backend-it të uebit ka nevojë për njohuri SQL ose nëse ORM do të bëjë gjithçka gjithsesi. Vendosa të kërkoj përgjigjen pak më gjerësisht sesa thjesht për ORM dhe SQL, dhe në thelb të përpiqem të sistemoj se cilët janë njerëzit që po shkojnë tani për intervista për pozicionet e zhvillimit të nivelit të ri dhe të mesëm, cila është historia e tyre dhe çfarë bote kanë jetoj ne. Në përgjithësi, kisha një mendim, por ai u formua nga përvoja personale e punësimit dhe u përshtat qartë me tregun vendas. Në përgjithësi, u bë interesante. Ja çfarë gjetëm.

Popullsia globale e zhvilluesve

Për t'iu qasur disi pyetjes, vendosa të filloj duke kërkuar të dhëna se sa zhvillues ka sot në botë dhe si po ndryshon kjo popullsi me kalimin e kohës.
Vlerësimet në burime të ndryshme vendosin numrat në rangun nga 12 deri në 30 milionë njerëz. Vendosi të ndalet në të dhëna nga SlashData, sepse metodologjia e tyre dukej mjaft e ekuilibruar dhe e përshtatshme për nevojat e mia. Në vlerësimin e tyre, ata morën parasysh numrin e llogarive dhe depove në Github, numrin e llogarive në StackOverflow, llogaritë npm dhe të dhënat nga burime zyrtare në lidhje me punësimin në SHBA dhe Evropë. Ata gjithashtu rregulluan numrat që rezultuan duke përdorur 16 studimet e tyre, të cilat përfshinin afërsisht 20 njerëz për çdo anketë.

Sipas SlashData, kishte rreth 2018 milionë zhvillues në botë në tremujorin e katërt të 18.9-ës, 12.9 milionë prej të cilëve ishin zhvillues profesionistë, domethënë ata sigurojnë një jetë programimi. Ata që aktualisht nuk janë zhvillues profesionistë janë njerëz për të cilët programimi është një hobi, plus ata që aktualisht janë duke studiuar një profesion (studentë të ndryshëm dhe autodidakt). Epo, domethënë, këtu është një aluzion për madhësinë e grupit që më intereson - 6 milion njerëz. Për të qenë i sinqertë, kjo është më shumë nga sa prisja.

Surpriza e dytë për mua ishte ritmi i rritjes së numrit të programuesve: nga tremujori i dytë 2017 në tremujorin e katërt të 2018 u rrit nga 14.7 në 18.9 milionë të përmendur, ose u rrit me 21% në 2018! Nëse do të më kërkonin të vlerësoja shkallën e rritjes së numrit të programuesve, do të thosha se është rreth 5% në vit me një rritje të lehtë të normës në vit. Dhe këtu rezulton të jetë sa 20%.

Për më tepër, SlashData vlerëson se popullsia do të arrijë në 2030 milionë deri në vitin 45. Është e lehtë të kuptosh se kjo nënkupton një rritje prej pak më shumë se 8% në vit, jo 20%, por ato i referohen një rregullimi për të llogaritur depërtimin e internetit (aktualisht rreth 57% në mbarë botën). sipas Statista) dhe disa faktorë të tjerë, si numri i zhvilluesve për frymë. Gjeografikisht, numri i zhvilluesve po rritet më fuqishëm në Indi dhe Kinë; India pritet të kapërcejë Shtetet e Bashkuara në numrin e zhvilluesve deri në vitin 2023 (kjo është tashmë Të dhënat e këndit C#).

Në përgjithësi, do të ketë shumë programues, sido që ta shikoni, sepse kërkesa është në rritje. Nga rruga, në lidhje me kërkesën.

Çfarë është në kërkesë?

Për të vlerësuar kërkesën, përdora të dhënat e HackerRank 2018 и 2019 vit.

Për sa i përket gjuhëve të programimit, kërkesa më e madhe është për JavaScript, Python dhe Java në pothuajse të gjitha industritë, me përjashtim të Hardware Kompjuterik. Në këtë të fundit, kërkesa më e madhe është për C/C++, gjë që është e kuptueshme; projektet harduerike kanë ende kërkesa për intensitetin e burimeve dhe performancën e softuerit përkatës.

"Ku janë të rinjtë punks që do të na zhdukin nga faqja e dheut?"

Për sa i përket kornizave, AngularJS, Node.js dhe React janë në kërkesën më të madhe dhe kanë hendekun më të madh midis ofertës dhe kërkesës, gjë që duket se shpjegohet me shpejtësinë me të cilën po ndryshon ekosistemi JavaScript, sepse për shembull, për ExpressJS , oferta tashmë tejkalon kërkesën.

"Ku janë të rinjtë punks që do të na zhdukin nga faqja e dheut?"

Për sa i përket kompetencave, punëdhënësit presin kryesisht aftësi për zgjidhjen e problemeve nga kandidatët. Rreth 95% e punëdhënësve i përmendin këto aftësi si të rëndësishme. Njohja e gjuhës programuese është në vendin e dytë me 56%. Nga rruga, nuk ka asnjë linjë me njohuritë themelore të algoritmeve, strukturave të të dhënave dhe shkencave të tjera kompjuterike, ose nuk ishte në pyetësor, ose njohuritë akademike nuk kërkohen më në një shkallë të gjerë.

Dizajni i bazës së të dhënave u nevojitet 23.2% e kompanive nën 100 persona dhe 18.8% e kompanive mbi 1000 persona. Po, duket sikur ka të bëjë me ORM dhe SQL! Shpjegimi logjik, IMHO, është se në kompanitë e mëdha ka një rol të dedikuar të DBA, i cili është përgjegjës për këtë aspekt, dhe për këtë arsye është e mundur të zbuten kërkesat për zhvilluesit dhe të punësohen më shpejt. Por me Design System është anasjelltas: 37.0% në ato të vogla, 44.1% në ato të mëdha. Duket se ato të mëdha duhet të kenë arkitektë të përkushtuar, por ndoshta ata thjesht nuk janë në gjendje të mbulojnë numrin e sistemeve që krijohen. Ose të njëjtat algoritme themelore dhe struktura të të dhënave futen në Design System, atëherë bëhet pak më e qartë.

Kompanitë e vogla kanë nevojë gjithnjë e më pak për Aftësinë e Kornizës për Dizajnin e Sistemit të lartpërmendur, nga i cili mund të nxjerrim përfundimin e kapitenit se është e rëndësishme që startup-et të lançojnë një produkt disi funksional sa më shpejt të jetë e mundur dhe nesër do të jetë nesër.

"Ku janë të rinjtë punks që do të na zhdukin nga faqja e dheut?"

Çfarë mësojnë studentët?

Këtu u mbështeta në të dhënat e një tjetri Hulumtimi i HackerRank.
Është e rëndësishme të merret parasysh se pavarësisht faktit që programimi në një formë apo në një tjetër mësohet në universitete (e kam fjalën për degët e Shkencave Kompjuterike), më shumë se gjysma e të anketuarve thanë se angazhohen edhe në vetë-edukim.

Studentët modernë preferojnë të mësojnë nga YouTube, ndërsa zhvilluesit më të vjetër anojnë drejt mësimeve dhe librave. Të dy përdorin në mënyrë aktive StackOverflow. Këtë ia atribuoj faktit që videoja është një kanal mediatik i njohur për gjeneratën Z, ndërsa përfaqësuesit e gjeneratës Y janë ende në një epokë pa blogerë.

Ata mësojnë atë që kërkohet nga punëdhënësit: JavaScript, Java, Python. Ata tregojnë se dinë C/C++, por kjo ndoshta sepse këto gjuhë përdoren për mësimdhënie në universitete. Ata mësojnë kornizat JS, por kërkesa është dukshëm më e lartë se oferta, kështu që me sa duket ata po mësojnë në mënyrë aktive pasi kanë gjetur punën e tyre të parë.

"Ku janë të rinjtë punks që do të na zhdukin nga faqja e dheut?"

Në përgjithësi, siç pritej, ata mësojnë atë që kërkohet.

Studentët presin rritje profesionale nga puna e tyre e parë, balanca punë-jetë vjen e dyta (në disa vende të parat) dhe detyrat interesante vijnë të tretat.

Dinamika e popullatës së zhvilluesve sipas gjuhëve të programimit dhe llojeve të softuerit

"Ku janë të rinjtë punks që do të na zhdukin nga faqja e dheut?"

Aplikacionet në ueb janë në vendin e parë me rreth 16.9 milionë zhvillues. Kjo është përsëri SlashData. Më pas janë Shërbimet Backend (13.6 milionë), aplikacionet celulare (13.1 milionë) dhe desktopi (12.3 milionë). Sektorët AR/VR dhe IoT po fitojnë gradualisht popullaritet, AI/ML/Shkenca e të Dhënave është rritur ndjeshëm gjatë dy viteve të fundit.

Javascript po rritet më shpejt; komuniteti i tij është tashmë më i madhi, duke u rritur me 2018 milionë vetëm në vitin 2.5. Ata madje po përpiqen të shkruajnë në të në sektorët IoT dhe ML.
Python u rrit me 2018 milionë në 2.2 për shkak të popullaritetit në rritje të ML, ku është tradicionalisht i fortë, si dhe për shkak të lehtësisë së të mësuarit dhe komoditetit të gjuhës.

Java, C/C++ dhe C# po rriten me një ritëm më të ngadaltë se popullsia e përgjithshme e zhvilluesve. Tani ato janë rrallë gjuha e programimit me të cilën njerëzit zgjedhin të fillojnë. Kërkesa për zhvillues këtu është pak a shumë e balancuar me ofertën. Unë mendoj se Java do të ishte rritur edhe më ngadalë nëse jo për Android.

PHP është gjuha e dytë më e popullarizuar e programimit të aplikacioneve në ueb dhe gjithashtu po rritet ndjeshëm (me 32% në 2018). Komuniteti i tij vlerësohet në 5.9 milionë zhvillues. Pavarësisht nga reputacioni polarizues i PHP-së, është mjaft i lehtë për t'u mësuar dhe i përdorur gjerësisht.

Si studiojnë kandidatët e rinj të sotëm në krahasim me gjeneratat e mëparshme?

Të dhënat e HackerRank përsëri. Ata që tani janë midis 38 dhe 53 vjeç listojnë lojërat si projektet e tyre të para.

Meqë ra fjala, konfirmoj që projekti im i parë pak a shumë i punës ishte “tic-tac-toe” deri në pesë rresht me një fushë të pakufizuar, e dyta ishte një lojë 15. Të gjitha këto i kam shkruar në BC 010-01, atje ishte Vilnius bazë, i njohur si BASIC-86 dhe fokale. Eh.

Programuesit fillestarë modernë (deri në 21 vjeç) shkruajnë kalkulatorë dhe faqe interneti si projektet e tyre të para.

Midis përfaqësuesve të gjeneratës X, pothuajse gjysma filloi të shkruante kode para moshës 16 vjeç, shumë prej tyre e bënë këtë nga 5 deri në 10 vjeç (kryesisht ata që tani janë midis 35 dhe 45 vjeç). Është pak a shumë e qartë pse: kishte pak burime informacioni, dhe për t'u bërë programues duhej vërtet ta doje shumë, dhe ata që e donin vërtet filluan të programojnë herët. Ata që nuk e donin aq shumë, ka shumë të ngjarë që tani kanë një profesion tjetër, kështu që tabloja në sociologji është pikërisht kjo.

"Ku janë të rinjtë punks që do të na zhdukin nga faqja e dheut?"

Kandidatët e rinj të sotëm vetëm 20% të rasteve fillojnë të programojnë para moshës 16 vjeç, shumica diku midis 16 dhe 20. Por është gjithashtu shumë më e lehtë për ta të mësojnë; tani është shumë më e arritshme.

Gjetjet

Unë ende nuk kam gjetur një përgjigje konkrete për pyetjen nëse një zhvillues fillestar i backend-it në internet ka nevojë për SQL sot, por kam korrigjuar idenë time për popullsinë moderne të programuesve.

Gjenerata e ardhshme e zhvilluesve janë njerëz të zakonshëm, në një farë mënyre u ngjajnë atyre të mëparshme; problemi i strehimit vetëm i prishi ata. Ato plotësojnë kërkesën që krijohet nga punëdhënësit. Pragu për të hyrë në profesion është bërë më i ulët për shkak të mjeteve dhe kornizave më të përshtatshme që ju lejojnë të arrini shpejt rezultate. Tani më shumë njerëz po bëhen programues; brezi dixhital (Gjenerata Z) jeton në teknologji që nga lindja; për ta është një profesion i zakonshëm, jo ​​më i keq se të tjerët.

Ata që e dinë se vonesa e memories L1 është ~ 4 cikle, dhe se është më mirë të mos prishen linjat e cache pa nevojë, po bëhen më të vogla si përqindje e madhësisë totale të popullsisë. Megjithatë, ata nuk duhet të shqetësohen për gjetjen e një pune; dikush, në fund të fundit, duhet të shkruajë gjëra të nivelit të ulët aty ku është ende e nevojshme. Po kështu, ata që kanë njohuri të thella themelore në dizajnimin e sistemit dhe e kanë fituar atë në beteja praktike të përgjakshme dhe nuk ndjekin vetëm një kult ngarkesash, nuk duhet të shqetësohen. Sepse do të ketë më shumë njerëz në ekipe që mund "thjesht të shkruajnë kod" dhe "thjesht" të përdorin kornizat, dhe në mënyrë që "të shmangin dhimbjen torturuese të viteve të kaluara të jetuara pa qëllim" (c) ata do të duhet të balancohen nga njerëz të tillë .

Soft skills po migrojnë gradualisht nga kategoria e dëshirueshme në të detyrueshme (nuk kam të dhëna objektive për ta konfirmuar këtë, vetëm vëzhgim praktik). Numri i programuesve po rritet dhe ata të gjithë duhet të drejtohen për të arritur rezultate, qoftë nëpërmjet kontrollit të drejtpërdrejtë apo të tërthortë, dhe pikërisht për këtë nevojiten aftësitë e buta.

"Enter IT" më duket se është një histori lokale rajonale, tipike për ato vende ku të ardhurat e një programuesi ndryshojnë ndjeshëm nga të ardhurat e një specialisti të krahasueshëm "jo IT". Në Minsk, ku jetoj unë, kjo është përgjithësisht një lëvizje masive, çdo ditë shoh reklama për kurse të reja se si të futem në IT të lakmuar dhe kompanitë e pastrimit synojnë programuesit me mesazhin "A e kuptoni kodin në këtë foto? Kjo do të thotë që ju mund të përballoni të mos pastroni apartamentin tuaj, ne do të bëjmë gjithçka për ju.” E njëjta gjë me sa duket po ndodh në disa Indi. Unë gjithashtu nuk kam të dhëna për ta vërtetuar këtë.

Në përgjithësi, për mendimin tim, asgjë nuk kërcënon popullatën e programuesve. Nuk ka kuptim të llafësh për faktin se nuk mund të gjesh programues të vërtetë gjatë ditës dhe se kandidatët shumë shpesh "nuk dinë asgjë". Ata janë po aq të zgjuar dhe të aftë, ndoshta edhe më të zgjuar dhe më të aftë se "programuesit e vërtetë"; ata thjesht fitojnë njohurinë që kërkon prej tyre një treg me rritje të shpejtë dhe shtyjnë për më vonë atë që nuk u nevojitet ende dhe nuk do të sjellë përfitime të duhura. tani. Ata do të mësojnë kur të kenë nevojë, sepse ata ende duan të mësojnë. Ndoshta, jo të gjithë do të jenë të aftë për këtë, por jo të gjithë do t'ju duhet gjithashtu; në të ardhmen e parashikueshme, tregu do të pranojë lehtësisht njerëz që mund të bashkojnë shpejt një koncept tjetër aplikacioni duke përdorur një kornizë.

Vetëm përdoruesit e regjistruar mund të marrin pjesë në anketë. Hyni, te lutem

A kërkojnë intervistat e mbështetjes së uebit njohuri SQL?

  • Po, e kërkoj sepse më duhet për punë

  • Po, po, edhe pse rrallëherë nevojitet në punë.

  • Jo, nuk e kërkoj, ne kemi NoSQL

  • Jo, nuk e kërkoj, ORM do të bëjë gjithçka

320 përdorues votuan. 230 përdorues abstenuan.

Burimi: www.habr.com

Shto një koment