"Non daude lurraren azaletik ezabatuko gaituzten punk gazteak?"

Grebenshchikov-en formulazioan izenburuan jarritako galdera existentziala egin nion neure buruari, komunitateetako batean beste eztabaida-erronda baten ondoren, web backend-eko garatzaile hasiberri batek SQL ezagutza behar duen edo ORM-k dena egingo duen. Erantzuna ORM eta SQLri buruz baino apur bat zabalago bilatzea erabaki nuen, eta, funtsean, sistematizatzen saiatu naiz orain gazte eta erdi mailako garapen postuetarako elkarrizketetara joaten diren pertsonak, zein den bere historia eta zer mundu duten. bizi. Oro har, iritzia nuen, baina kontratazio esperientzia pertsonaletik eratua zen eta tokiko merkatura argi eta garbi egokitua. Oro har, interesgarria bihurtu zen. Hona hemen aurkitu duguna.

Global garatzaileen populazioa

Galdera nolabait hurbiltzeko, gaur egun munduan zenbat garatzaile dauden eta biztanleria hori denboran zehar nola aldatzen den jakiteko datuak bilatzen hastea erabaki nuen.
Hainbat iturritako kalkuluen arabera, 12 eta 30 milioi pertsona bitarteko kopuruak jartzen dituzte. bertan gelditzea erabaki zuen SlashData-ren datuak, haien metodologia nahiko orekatua eta egokia iruditzen zitzaidalako nire beharretarako. Euren ebaluazioan, Github-eko kontu eta biltegien kopurua, StackOverflow-eko kontu kopurua, npm kontuak eta AEBetako eta Europako enpleguari buruzko iturri ofizialetako datuak hartu zituzten kontuan. Egotzitako zenbakiak ere egokitu zituzten beren 16 ikerketak erabiliz, inkesta bakoitzerako 20 pertsona inguru barne hartuta.

SlashData-ren arabera, 2018ko laugarren hiruhilekoan gutxi gorabehera 18.9 milioi garatzaile zeuden munduan, eta horietatik 12.9 milioi garatzaile profesionalak ziren, hau da, programazio bizia egiten dute. Gaur egun garatzaile profesionalak ez direnak programazioa zaletasuna duten pertsonak dira, baita gaur egun lanbide bat ikasten ari direnak (hainbat ikasle eta autodidakta). Tira, hau da, hona hemen interesatzen zaidan taldearen tamainaren iradokizun bat: 6 milioi lagun. Egia esateko, hau espero nuena baino gehiago da.

Niretzat bigarren sorpresa programatzaile kopuruaren hazkunde-tasa izan zen: 2017ko bigarren hiruhilekotik 2018ko laugarren hiruhilekora, 14.7tik 18.9 milioira igo zen, edo %21 igo zen 2018an! Programatzaile-kopuruaren hazkunde-tasa kalkulatzeko eskatuko banu, urteko % 5 ingurukoa dela esango nuke urtero tasa apur bat igoz. Eta hemen %20koa da.

Gainera, SlashData-k 2030ean biztanleria 45 milioira iritsiko dela kalkulatzen du. Erraza da antzematea horrek urtean %8 baino apur bat gehiagoko hazkundea dakarrela, ez %20koa, baina Interneten sartzea kontuan hartzeko egokitzapena aipatzen dute (egun mundu osoan %57 inguru). Statistaren arabera) eta beste hainbat faktore, hala nola biztanleko garatzaileen kopurua. Geografikoki, garatzaileen kopurua Indian eta Txinan hazten ari da gehien; 2023rako Indiak Estatu Batuak gainditzea espero da (hau da dagoeneko. C# Txokoko datuak).

Oro har, programatzaile asko egongo dira, nola begiratu ere, eskaria gero eta handiagoa baita. Bide batez, eskariari buruz.

Zer eskatzen da?

Eskaria kalkulatzeko, HackerRank datuak erabili ditut 2018 ΠΈ 2019 urtean.

Programazio lengoaiei dagokienez, eskaerarik handiena JavaScript, Python eta Java da ia industria guztietan, Hardware Informatikoan izan ezik. Azken honetan, eskaerarik handiena C/C++rena da, eta hori ulergarria da; hardware-proiektuek oraindik ere baliabideen intentsitatearen eta dagokion softwarearen errendimenduaren baldintzak dituzte.

"Non daude lurraren azaletik ezabatuko gaituzten punk gazteak?"

Esparruei dagokienez, AngularJS, Node.js eta React dira eskaerarik handiena, eta eskaintzaren eta eskariaren arteko tarterik handiena dute, JavaScript ekosistema aldatzen ari den abiadurarekin azaltzen dela dirudi, adibidez, ExpressJSrentzat. , eskaintzak eskaria gainditzen du dagoeneko.

"Non daude lurraren azaletik ezabatuko gaituzten punk gazteak?"

Gaitasunei dagokienez, enplegatzaileek, batez ere, Arazoak Ebazteko gaitasunak espero dituzte hautagaiengandik. Enplegatzaileen %95 inguruk gaitasun horiek garrantzitsutzat jotzen dituzte. Programazio Hizkuntza Gaitasuna bigarren postuan dago, %56rekin. Bide batez, ez dago batere lerrorik algoritmoen, datu-egituren eta beste Informatika-zientzien oinarrizko ezagutzarekin, galdetegian ez zegoen, edo ezagutza akademikoa ez da eskala handian eskatzen.

Datu-baseen diseinua 23.2 pertsona baino gutxiagoko enpresen %100k eta 18.8 pertsonatik gorako enpresen %1000k behar dute. Bai, badirudi ORM eta SQLri buruzkoa dela! Azalpen logikoa, IMHO, da enpresa handietan DBAren eginkizun dedikatu bat dagoela, alderdi honen arduraduna dena, eta, beraz, garatzaileentzako eskakizunak leuntzea eta azkarrago kontratatzea posible da. Baina System Design-ekin alderantziz da: %37.0 txikietan, %44.1 handietan. Badirudi handiek arkitekto dedikatuak izan beharko lituzketela, baina agian ez dira gai sortzen diren sistema kopurua estaltzeko. Edo oinarrizko algoritmo eta datu-egitura berdinak jartzen dira Sistemaren Diseinuan, gero apur bat argiago geratzen da.

Enpresa txikiek Framework Proficiency behar dute gero eta gutxiago aipatu Sistema Diseinua, eta hortik atera dezakegu kapitainaren ondorioa dela startupek nolabait funtzionatzen duen produktu bat ahalik eta azkarren abian jartzea, eta bihar etzi izango da.

"Non daude lurraren azaletik ezabatuko gaituzten punk gazteak?"

Zer ikasten dute ikasleek?

Hemen beste baten datuetan oinarritu naiz HackerRank ikerketa.
Garrantzitsua da kontuan hartzea unibertsitateetan programazioa modu batean edo bestean irakasten den arren (Informatika Zientzietako graduak esan nahi dut), inkestatuen erdiak baino gehiagok auto-heziketa ere egiten dutela esan dute.

Ikasle modernoek nahiago dute YouTube-tik ikastea, eta garatzaile zaharrek tutoretza eta liburuetara jotzen dute. Biek aktiboki erabiltzen dute StackOverflow. Bideoa Z belaunaldiko komunikabideen kanal ezagun bat izateari egozten diot hori, Y belaunaldiko ordezkariak blogaririk gabeko garai batean dauden bitartean.

Enpresaburuek eskatzen dutena irakasten dute: JavaScript, Java, Python. C/C++ ezagutzen dutela adierazten dute, baina ziurrenik hizkuntza hauek unibertsitateetan irakasteko erabiltzen direlako da. JS esparruak irakasten dituzte, baina eskaria eskaintza baino nabarmen handiagoa da, beraz, itxuraz, aktiboki ikasten ari dira lehen lana aurkitu ondoren.

"Non daude lurraren azaletik ezabatuko gaituzten punk gazteak?"

Oro har, espero bezala, eskatzen dena irakasten dute.

Ikasleek hazkunde profesionala espero dute lehen lanetik, lana eta bizitza uztartzea bigarrena da (herrialde batzuetan lehena), eta zeregin interesgarriak hirugarrena.

Garatzaileen populazioaren dinamika programazio lengoaia eta software moten arabera

"Non daude lurraren azaletik ezabatuko gaituzten punk gazteak?"

Web aplikazioak lehen postuan daude, gutxi gorabehera 16.9 milioi garatzailerekin. Hau SlashData da berriro. Ondoren, Backend Zerbitzuak (13.6 milioi), mugikorreko aplikazioak (13.1 milioi) eta mahaigainekoa (12.3 milioi). AR/VR eta IoT sektoreak ospea lortzen ari dira pixkanaka, AI/ML/Data Science nabarmen hazi da azken bi urteetan.

Javascript-a azkar hazten ari da; bere komunitatea dagoeneko handiena da, 2018 milioi hazi zen 2.5an bakarrik. Are gehiago, IoT eta ML sektoreetan idazten saiatzen ari dira.
Python 2018 milioi hazi zen 2.2an MLren ospea gero eta handiagoa dela eta, non tradizionalki indartsua den, baita hizkuntza ikasteko erraztasunagatik eta erosotasunagatik ere.

Java, C/C++ eta C# garatzaileen populazio orokorra baino erritmo motelagoan hazten ari dira. Gaur egun oso gutxitan dira jendeak hasteko aukeratzen duen programazio-lengoaia. Hemen garatzaileen eskaria eskaintzarekin gutxi gorabehera orekatuta dago. Nire ustez Java are motelago haziko litzateke Androiderako ez balitz.

PHP bigarren web aplikazioen programazio lengoaia ezagunena da eta nabarmen hazten ari da (% 32 2018an). Bere komunitatea 5.9 milioi garatzaile izango dela kalkulatzen da. PHPren ospe polarizatua izan arren, nahiko erraza da ikasteko eta oso erabilia.

Nola ikasten dute egungo hautagai gazteek aurreko belaunaldiekin alderatuta?

HackerRank datuak berriro. Gaur egun 38 eta 53 urte artean dituztenek lehen proiektu gisa jokoak zerrendatzen dituzte.

Bide batez, baieztatzen dut nire lehen lan-proiektua gutxi gorabehera "tic-tac-toe" izan zela bost jarraian eremu mugagabe batekin, bigarrena 15eko jokoa izan zela. Hau guztia idatzi nuen. BC 010-01, zegoen Vilnius oinarrizkoa, aka BASIC-86 eta fokoa. Eh.

Programatzaile hasiberri modernoek (21 urte arte) kalkulagailuak eta webguneak idazten dituzte lehen proiektu gisa.

X belaunaldiko ordezkarien artean, ia erdia 16 urte baino lehen hasi zen kodea idazten, askok 5 eta 10 urte bitartekoek (gaur egun 35 eta 45 urte bitartekoek batez ere). Gutxiago argi dago zergatik: informazio iturri gutxi zeuden, eta programatzaile izateko benetan nahi izan behar zen, eta benetan nahi zutenak goiz hasi ziren programatzen. Hainbeste nahi ez zutenek ziurrenik beste lanbide bat dute orain, beraz, soziologian irudia hauxe da.

"Non daude lurraren azaletik ezabatuko gaituzten punk gazteak?"

Gaur egungo hautagai gazteak % 20 baino ez dira hasten 16 urte baino lehen programatzen, gehiengoa 16 eta 20 urte bitartean. Baina ikastea ere askoz errazagoa da; orain askoz ere eskuragarriagoa da.

Findings

Oraindik ez dut erantzun zehatzik aurkitu web backend garatzaile hasiberri batek SQL behar duen ala ez gaur egun, baina programatzaileen populazio modernoaren ideia zuzendu dut.

Sustatzaileen hurrengo belaunaldia pertsona arruntak dira, nolabait aurrekoen antza dute; etxebizitzaren arazoak hondatu baino ez ditu egin. Enpresaburuek sortzen duten eskaera asetzen dute. Lanbidean sartzeko atalasea txikiagoa izan da, emaitzak azkar lortzeko aukera ematen duten tresna eta esparru erosoagoengatik. Jende gehiago ari da programatzaile bilakatzen; belaunaldi digitala (Z belaunaldia) teknologian bizi izan da jaiotzetik; haientzat ohiko lanbidea da, ez besteak baino okerragoa.

L1 cachearen latentzia ~ 4 ziklokoa dela eta hobe dela cache-lerroak alferrikako ez huts egitea dakienak gero eta txikiagoak dira biztanleriaren tamaina osoaren ehuneko gisa. Hala ere, ez lukete kezkatu behar lana lortzeko; norbaitek, azken finean, maila baxuko gauzak idatzi behar ditu oraindik behar diren lekuetan. Era berean, sistemaren diseinuan oinarrizko ezagutza sakona dutenek eta borroka praktiko odoltsuetan eskuratu dutenek eta zama-gurtu bat jarraitzen ez dutenek ez dute kezkatu behar. Taldeetan "kodea besterik ez idatzi" eta markoak "besterik gabe" erabili ditzaketen jende gehiago egongo da, eta "nolarik gabe bizitako urteen min izugarria saihesteko" (c) horrelako pertsonek orekatu beharko dituzte. .

Gaitasun bigunak pixkanaka desiragarrien kategoriatik derrigorrezkora migratzen ari dira (ez dut hori baieztatzeko datu objektiborik, behaketa praktikoa besterik ez). Programatzaileen kopurua hazten ari da, eta denak zuzendu behar dira emaitzak lortzeko, zuzeneko edo zeharkako kontrol bidez, eta horretarako behar dira hain zuzen ere soft skills.

"Sartu IT" tokiko eskualdeko istorio bat dela iruditzen zait, programatzaile baten diru-sarrerak "informatikakoa ez den" espezialista konparagarri baten diru-sarrerak nabarmen desberdinak diren tokietarako ohikoa. Minsken, bizi naizen tokian, orokorrean masa-mugimendu bat da, egunero ikusten ditut ikastaro berrien iragarkiak informatika preziatuan sartzeko, eta garbiketa-enpresek programatzaileei zuzentzen diete: β€œUlertzen al duzu argazki honetako kodea? Horrek esan nahi du zure apartamentua ez garbitzea ordaindu dezakezula, guk dena egingo dugu zuretzat”. Gauza bera gertatzen ari da itxuraz India batzuetan. Nik ere ez daukat hori frogatzeko daturik.

Orokorrean, nire ustez, ez du ezerk mehatxatzen programatzaileen populazioa. Ez du ezertarako balio egunean zehar benetako programatzailerik aurkitu ezin duzula eta hautagaiek askotan "ez dakite ezer". "Egiazko programatzaileak" bezain adimentsuak eta gaiak dira, agian "benetako programatzaileak" baino adimentsuagoak eta gaitasunagoak; besterik gabe, hazten ari den merkatuak eskatzen dien ezagutza eskuratzen dute eta oraindik behar ez dutena eta onurarik ekarriko ez dutena gerorako uzten dute. orain. Behar dutenean ikasiko dute, oraindik ikasi nahi dutelako. Seguruenik, denek ez dute horretarako gai izango, baina denek ere ez dute beharko; etorkizun hurbilean, merkatuak erraz onartuko ditu markoren bat erabiliz beste aplikazio-kontzeptu bat azkar batu dezaketen jendea.

Erregistratutako erabiltzaileek soilik parte hartu dezakete inkestan. Hasi saioa, mesedez.

Web backender elkarrizketek SQL ezagutza behar al dute?

  • Bai, lanerako behar dudalako eskatzen dut

  • Bai, bai, lanean gutxitan behar den arren.

  • Ez, ez dut eskatzen, NoSQL dugu

  • Ez, ez dut eskatzen, ORMek dena egingo du

320 erabiltzailek eman dute botoa. 230 erabiltzaile abstenitu ziren.

Iturria: www.habr.com

Gehitu iruzkin berria