"On són els joves punks que ens esborraran de la faç de la terra?"

Em vaig fer la pregunta existencial que es posa al títol a la formulació de Grebenshchikov després d'una altra ronda de discussió en una de les comunitats sobre si un desenvolupador de backend web principiant necessita coneixements SQL o si ORM ho farà tot de totes maneres. Vaig decidir buscar la resposta una mica més àmplia que només sobre ORM i SQL, i bàsicament intentar sistematitzar qui són les persones que ara van a entrevistes per a llocs de desenvolupament de nivell júnior i mitjà, quina és la seva història i quin món tenen. viure a. En general, tenia una opinió, però estava formada per experiència personal de contractació i clarament ajustada al mercat local. En general, es va fer interessant. Aquí teniu el que hem trobat.

Població global de desenvolupadors

Per tal d'aproximar-me d'alguna manera a la pregunta, vaig decidir començar cercant dades sobre quants desenvolupadors hi ha en principi al món ara i com està canviant aquesta població amb el temps.
Les estimacions de diverses fonts situen les xifres entre 12 i 30 milions de persones. Decidit parar a dades de SlashData, perquè la seva metodologia semblava força equilibrada i adequada a les meves necessitats. En la seva avaluació, van tenir en compte el nombre de comptes i dipòsits a Github, el nombre de comptes a StackOverflow, comptes npm i dades de fonts oficials sobre ocupació als EUA i Europa. També van ajustar les xifres resultants utilitzant els seus propis 16 estudis, que incloïen aproximadament 20 persones per a cada enquesta.

Segons SlashData, hi havia aproximadament 2018 milions de desenvolupadors al món al quart trimestre del 18.9, 12.9 milions dels quals eren desenvolupadors professionals, és a dir, es guanyen la programació. Els que actualment no són desenvolupadors professionals són persones per a les quals la programació és un hobby, més els que actualment estan estudiant una professió (estudiants diversos i autodidactes). Bé, és a dir, aquí teniu una pista de la mida del grup que m'interessa: 6 milions de persones. Per ser sincer, això és més del que esperava.

La segona sorpresa per a mi va ser el ritme de creixement del nombre de programadors: des del segon trimestre del 2017 fins al quart trimestre del 2018, va passar de 14.7 als 18.9 milions esmentats, o va augmentar un 21% el 2018! Si em demanessin estimar la taxa de creixement del nombre de programadors, diria que és d'un 5% anual amb un lleuger augment anual de la taxa. I aquí resulta ser fins a un 20%.

A més, SlashData estima que la població arribarà als 2030 milions el 45. És fàcil esbrinar que això implica un creixement d'una mica més del 8% anual, no del 20%, però es refereixen a un ajust per tenir en compte la penetració d'Internet (actualment al voltant del 57% a tot el món). segons Statista) i diversos altres factors, com ara el nombre de desenvolupadors per càpita. Geogràficament, el nombre de desenvolupadors està creixent amb més força a l'Índia i la Xina; s'espera que l'Índia superi els Estats Units en nombre de desenvolupadors el 2023 (això ja és Dades de C# Corner).

En general, hi haurà molts programadors, no importa com ho miris, perquè la demanda creix. Per cert, sobre la demanda.

Què es demanda?

Per estimar la demanda, he utilitzat les dades de HackerRank 2018 и 2019 any.

Pel que fa als llenguatges de programació, la major demanda és de JavaScript, Python i Java en gairebé totes les indústries, a excepció del maquinari informàtic. En aquest últim, la major demanda és de C/C++, que és comprensible; els projectes de maquinari encara tenen requisits d'intensitat de recursos i rendiment del programari corresponent.

"On són els joves punks que ens esborraran de la faç de la terra?"

Pel que fa als frameworks, AngularJS, Node.js i React són els més demandats, i són els que tenen la bretxa més gran entre l'oferta i la demanda, la qual cosa sembla que s'explica per la velocitat amb què està canviant l'ecosistema JavaScript, perquè per exemple, per a ExpressJS , l'oferta ja supera la demanda.

"On són els joves punks que ens esborraran de la faç de la terra?"

Pel que fa a les competències, els ocupadors esperen principalment les habilitats de resolució de problemes dels candidats. Al voltant del 95% dels empresaris esmenten aquestes habilitats com a importants. El domini del llenguatge de programació ocupa el segon lloc amb un 56%. Per cert, no hi ha cap línia amb els coneixements fonamentals d'algorismes, estructures de dades i altres Ciències de la Informàtica, o bé no figurava al qüestionari, o ja no es requereixen coneixements acadèmics a gran escala.

El disseny de bases de dades és necessari per al 23.2% de les empreses de menys de 100 persones i el 18.8% de les empreses de més de 1000 persones. Sí, sembla que es tracta d'ORM i SQL! L'explicació lògica, a mi humil, és que a les grans empreses hi ha un paper dedicat del DBA, que és el responsable d'aquest aspecte, i per tant és possible suavitzar els requisits dels desenvolupadors i contractar més ràpidament. Però amb System Design és al revés: el 37.0% en els petits, el 44.1% en els grans. Sembla que els grans haurien de tenir arquitectes dedicats, però potser simplement no són capaços de cobrir el nombre de sistemes que es generen. O els mateixos algorismes i estructures de dades fonamentals es posen al disseny del sistema, i després es fa una mica més clar.

Les petites empreses necessiten Framework Proficiency més i menys de l'esmentat System Design, del qual podem treure la conclusió del capità que és important que les startups llancin un producte d'alguna manera que funcioni el més aviat possible, i demà serà demà.

"On són els joves punks que ens esborraran de la faç de la terra?"

Què aprenen els alumnes?

Aquí em vaig basar en dades d'un altre Investigació de HackerRank.
És important tenir en compte que, malgrat que la programació d'una forma o altra s'imparteix a les universitats (em refereixo a les titulacions d'Informàtica), més de la meitat dels enquestats diuen que també es dediquen a l'autoeducació.

Els estudiants moderns prefereixen aprendre de YouTube, mentre que els desenvolupadors més grans s'inclinen pels tutorials i els llibres. Tots dos utilitzen StackOverflow activament. Ho atribueixo al fet que el vídeo és un canal mediàtic familiar per a la generació Z, mentre que els representants de la generació Y encara es troben en una època sense bloggers.

Ensenyen allò que demanen els empresaris: JavaScript, Java, Python. Indiquen que coneixen C/C++, però probablement això és perquè aquests llenguatges s'utilitzen per a l'ensenyament a les universitats. Ensenyen marcs JS, però la demanda és significativament superior a l'oferta, així que sembla que estan aprenent activament després de trobar la seva primera feina.

"On són els joves punks que ens esborraran de la faç de la terra?"

En general, com era d'esperar, ensenyen allò que es demana.

Els estudiants esperen un creixement professional des de la seva primera feina, la conciliació de la vida laboral i la vida personal ocupa el segon lloc (en alguns països primer) i les tasques interessants en tercer lloc.

Dinàmica de la població de desenvolupadors per llenguatges de programació i tipus de programari

"On són els joves punks que ens esborraran de la faç de la terra?"

Les aplicacions web ocupen el primer lloc amb uns 16.9 milions de desenvolupadors estimats. Això és de nou SlashData. Els següents són els serveis de backend (13.6 milions), les aplicacions mòbils (13.1 milions) i l'escriptori (12.3 milions). Els sectors AR/VR i IoT estan guanyant popularitat gradualment, AI/ML/Data Science ha crescut significativament durant els últims dos anys.

Javascript està creixent més ràpidament; la seva comunitat ja és la més gran, creixent en 2018 milions només el 2.5. Fins i tot estan intentant escriure-hi als sectors IoT i ML.
Python va créixer en 2018 milions el 2.2 a causa de la creixent popularitat de ML, on tradicionalment és fort, així com per la facilitat d'aprenentatge i la comoditat de l'idioma.

Java, C/C++ i C# creixen a un ritme més lent que la població general de desenvolupadors. Ara poques vegades són el llenguatge de programació amb el qual la gent tria començar. La demanda de desenvolupadors aquí està més o menys equilibrada amb l'oferta. Crec que Java hauria crescut encara més lent si no fos per Android.

PHP és el segon llenguatge de programació d'aplicacions web més popular i també està creixent significativament (un 32% el 2018). La seva comunitat s'estima en 5.9 milions de desenvolupadors. Malgrat la reputació polaritzadora de PHP, és bastant fàcil d'aprendre i s'utilitza àmpliament.

Com estudien els joves candidats actuals en comparació amb les generacions anteriors?

Dades de HackerRank de nou. Els que ara tenen entre 38 i 53 anys enumeren els jocs com els seus primers projectes.

Per cert, confirmo que el meu primer projecte més o menys de treball va ser "tic-tac-toe" fins a cinc seguits amb un camp il·limitat, el segon va ser un joc de 15. Tot això ho vaig escriure a BC 010-01, hi havia Vilnius bàsic, també conegut com BASIC-86 i focal. Eh.

Els programadors novells moderns (fins a 21 anys) escriuen calculadores i llocs web com els seus primers projectes.

Entre els representants de la generació X, gairebé la meitat van començar a escriure codi abans dels 16 anys, molts ho van fer entre els 5 i els 10 anys (principalment els que ara tenen entre 35 i 45 anys). És més o menys clar el perquè: hi havia poques fonts d'informació, i per ser programador realment calia desitjar-ho molt, i els que realment ho volien van començar a programar aviat. Aquells que no ho volien tant, probablement ara tinguin una professió diferent, de manera que el panorama en sociologia és exactament així.

"On són els joves punks que ens esborraran de la faç de la terra?"

Els joves candidats actuals només el 20% del temps comencen a programar abans dels 16 anys, la majoria entre els 16 i els 20. Però també els és molt més fàcil aprendre, ara és molt més accessible.

Troballes

Encara no he trobat una resposta concreta a la pregunta de si un desenvolupador de backend web principiant necessita SQL avui, però he corregit la meva idea de la població moderna de programadors.

La propera generació de promotors són persones corrents, d'alguna manera s'assemblen als anteriors; el problema de l'habitatge només els va espatllar. Satisfer la demanda que creen els empresaris. El llindar per accedir a la professió s'ha reduït a causa d'eines i marcs més convenients que permeten obtenir resultats ràpidament. Ara més gent s'està convertint en programadors; la generació digital (Generació Z) viu en tecnologia des del naixement; per a ells és una professió habitual, no pitjor que altres.

Aquells que saben que la latència de la memòria cau L1 és d'aproximadament 4 cicles i que és millor no bloquejar les línies de memòria cau innecessàriament, s'estan fent més petits com a percentatge de la mida total de la població. No obstant això, no haurien de preocupar-se per trobar feina; després de tot, algú ha d'escriure coses de baix nivell on encara cal. De la mateixa manera, aquells que tinguin un profund coneixement fonamental en disseny de sistemes i els hagin adquirit en sagnants batalles pràctiques, i no només segueixen un culte de càrrega, no s'haurien de preocupar. Perquè hi haurà més persones en equips que puguin "només escriure codi" i "només" utilitzar marcs, i per "evitar el dolor insoportable d'anys passats sense rumb" (c) hauran de ser equilibrats per aquestes persones. .

A poc a poc, les competències blandes van migrant de la categoria de desitjable a obligatòria (no tinc dades objectives que ho confirmin, només una observació pràctica). El nombre de programadors està creixent, i tots han d'estar dirigits per aconseguir resultats, ja sigui a través d'un control directe o indirecte, i per això es necessiten, precisament, les soft skills.

"Enter IT" em sembla una història regional local, típica d'aquelles ubicacions on els ingressos d'un programador difereixen significativament dels ingressos d'un especialista comparable "no informàtic". A Minsk, on visc, aquest és generalment un moviment de masses, cada dia veig anuncis de nous cursos sobre com entrar en la cobejada TI i les empreses de neteja s'adrecen als programadors amb el missatge "Entens el codi d'aquesta imatge? Això vol dir que us podeu permetre el luxe de no netejar el vostre apartament, nosaltres ho farem tot per vosaltres.” Sembla que passa el mateix en alguna Índia. Tampoc tinc dades que ho demostrin.

En general, al meu entendre, res no amenaça la població de programadors. No té sentit balbucejar sobre el fet que no pots trobar programadors reals durant el dia i que els candidats sovint "no saben res". Són igual d'intel·ligents i capaços, potser fins i tot més intel·ligents i capaços que els "programadors reals"; simplement adquireixen el coneixement que els exigeix ​​un mercat en ràpid creixement i posposen per a més tard allò que encara no han necessitat i que no els aportaran beneficis adequats. ara. Aprendran quan ho necessitin, perquè encara volen aprendre. Probablement, no tothom serà capaç d'això, però tampoc tothom ho necessitarà; en un futur previsible, el mercat acceptarà fàcilment persones que puguin crear ràpidament un altre concepte d'aplicació mitjançant algun marc.

Només els usuaris registrats poden participar en l'enquesta. Inicia sessiósi us plau.

Les entrevistes de backender web requereixen coneixements SQL?

  • Sí, ho demano perquè ho necessito per feina

  • Sí, ho faig, tot i que poques vegades es necessita a la feina.

  • No, no ho necessito, tenim NoSQL

  • No, no ho necessito, ORM ho farà tot

Han votat 320 usuaris. 230 usuaris es van abstenir.

Font: www.habr.com

Afegeix comentari