«Бізді жер бетінен жойып жіберетін жас панктар қайда?»

Мен өзіме Гребенщиковтың тұжырымындағы тақырыпта қойылған экзистенциалды сұрақты қауымдастықтардың бірінде жаңа веб-бағдарлама әзірлеушісіне SQL білімі қажет пе немесе ORM бәрібір бәрін жасай ма деген сұрақты талқылаудан кейін қойдым. Мен жауапты ORM және SQL туралы ғана емес, кеңірек іздеуді шештім және негізінен кіші және орта деңгейлі даму лауазымдарына сұхбаттасуға баратын адамдар кім екенін, олардың тарихы қандай және олар қандай әлемде екенін жүйелеуге тырыстым. тұру. Жалпы, менің пікірім болды, бірақ ол жеке жалдау тәжірибесінен қалыптасып, жергілікті нарыққа нақты бейімделген. Жалпы, бұл қызықты болды. Міне, біз таптық.

Жаһандық әзірлеушілер популяциясы

Сұраққа қандай да бір жолмен келу үшін мен бүгін әлемде қанша әзірлеушілер бар және бұл популяция уақыт өте келе қалай өзгеретіні туралы деректерді іздеуден бастауды шештім.
Әртүрлі дереккөздерде бұл сандар 12-ден 30 миллионға дейін жетеді. тоқтауды шешті SlashData деректерінен, өйткені олардың әдістемесі өте теңдестірілген және менің қажеттіліктеріме сәйкес көрінді. Бағалау кезінде олар Github-тағы тіркелгілер мен репозиторийлердің санын, StackOverflow-тағы шоттардың санын, npm тіркелгілерін және АҚШ пен Еуропадағы жұмысқа орналасу туралы ресми көздерден алынған деректерді ескерді. Олар сондай-ақ әрбір сауалнамаға шамамен 16 20 адам кіретін өздерінің 000 зерттеуін пайдалана отырып, алынған сандарды түзетеді.

SlashData мәліметтері бойынша, 2018 жылдың төртінші тоқсанында әлемде шамамен 18.9 миллион әзірлеушілер болған, олардың 12.9 миллионы кәсіби әзірлеушілер, яғни олар өмір сүретін бағдарламалаумен айналысады. Қазіргі уақытта кәсіби әзірлеуші ​​болып табылмайтындар - бұл бағдарламалау хоббиі болып табылатын адамдар, сонымен қатар қазіргі уақытта мамандықты оқып жатқандар (әртүрлі студенттер және өздігінен оқытылады). Міне, бұл жерде мені қызықтыратын топтың көлемі - 6 миллион адам туралы тұспал бар. Шынымды айтсам, бұл мен күткеннен де асып түсті.

Мен үшін екінші тосынсый бағдарламашылар санының өсу қарқыны болды: 2017 жылдың екінші тоқсанынан 2018 жылдың төртінші тоқсанына дейін ол 14.7-ден аталған 18.9 миллионға дейін өсті немесе 21 жылы 2018%-ға өсті! Егер маған бағдарламашылар санының өсу қарқынын бағалауды сұраса, мен бұл көрсеткіштің жыл сайын аздап өсуімен жылына шамамен 5% деп айтар едім. Ал мұнда ол 20%-ға дейін жетеді.

Бұған қоса, SlashData 2030 жылға қарай халық саны 45 миллионға жетеді деп болжайды. Бұл 8% емес, жыл сайын 20% -дан сәл астам өсуді білдіретінін анықтау оңай, бірақ олар Интернетке енуді есепке алу үшін түзетуге сілтеме жасайды (қазіргі уақытта бүкіл әлем бойынша шамамен 57%). Statista сәйкес) және жан басына шаққандағы әзірлеушілер саны сияқты бірнеше басқа факторлар. Географиялық тұрғыдан алғанда, әзірлеушілер саны Үндістан мен Қытайда ең күшті өсуде; Үндістан 2023 жылға қарай әзірлеушілер саны бойынша АҚШ-ты басып озады деп күтілуде (бұл қазірдің өзінде C# бұрыштық деректер).

Жалпы, қалай қарасаң да программистер көп болады, өйткені сұраныс артып келеді. Айтпақшы, сұраныс туралы.

Не сұранысқа ие?

Сұранысты бағалау үшін мен HackerRank деректерін пайдаландым 2018 и 2019 жыл.

Бағдарламалау тілдеріне келетін болсақ, компьютерлік жабдықты қоспағанда, барлық дерлік салаларда JavaScript, Python және Java тілдеріне ең үлкен сұраныс бар. Соңғысында ең үлкен сұраныс C/C++, бұл түсінікті, аппараттық жобаларда әлі де ресурс қарқындылығы мен сәйкес бағдарламалық жасақтаманың өнімділігіне қойылатын талаптар бар.

«Бізді жер бетінен жойып жіберетін жас панктар қайда?»

Фреймворктар тұрғысынан AngularJS, Node.js және React ең үлкен сұранысқа ие және оларда сұраныс пен ұсыныс арасындағы ең үлкен алшақтық бар, бұл JavaScript экожүйесінің өзгеру жылдамдығымен түсіндірілетін сияқты, өйткені мысалы, ExpressJS үшін , ұсыныс қазірдің өзінде сұраныстан асып түседі.

«Бізді жер бетінен жойып жіберетін жас панктар қайда?»

Құзыреттілік тұрғысынан жұмыс берушілер ең алдымен үміткерлерден проблеманы шешу дағдыларын күтеді. Жұмыс берушілердің шамамен 95% бұл дағдыларды маңызды деп атайды. Екінші орында бағдарламалау тілін меңгеру 56%. Айтпақшы, алгоритмдер, деректер құрылымдары және басқа да информатика туралы іргелі білімдері бар сызық мүлдем жоқ, ол сауалнамада жоқ немесе академиялық білім енді кең ауқымда талап етілмейді.

Деректер базасын жобалау 23.2 адамнан төмен компаниялардың 100% және 18.8 адамнан асатын компаниялардың 1000% қажет етеді. Иә, бұл ORM және SQL туралы сияқты! Логикалық, IMHO түсіндірмесі, ірі компанияларда осы аспектіге жауапты DBA-ның арнайы рөлі бар, сондықтан әзірлеушілерге қойылатын талаптарды жұмсартып, тезірек жалдауға болады. Бірақ Жүйе дизайнымен бәрі керісінше: кішкентайларда 37.0%, үлкендерде 44.1%. Үлкендердің арнайы сәулетшілері болуы керек сияқты, бірақ олар жасалып жатқан жүйелердің санын жай ғана қамти алмайтын шығар. Немесе дәл сол іргелі алгоритмдер мен деректер құрылымдары Жүйелік дизайнға қойылады, содан кейін ол біршама түсінікті болады.

Шағын компанияларға Framework Proficiency жоғарыда аталған Жүйе дизайнын қажет етеді, осыдан біз капитанның стартаптар үшін қандай да бір түрде жұмыс істейтін өнімді мүмкіндігінше тезірек іске қосу маңызды, ал ертең ертең болатыны туралы қорытынды жасауға болады.

«Бізді жер бетінен жойып жіберетін жас панктар қайда?»

Оқушылар нені үйренеді?

Бұл жерде мен басқа деректерге сүйендім HackerRank зерттеуі.
Университеттерде бағдарламалаудың сол немесе басқа нысанда оқытылатынына қарамастан (мен информатика мамандықтары дегенім) сауалнамаға қатысқандардың жартысынан көбі өз бетінше білім алумен де айналысатынын айтты.

Заманауи студенттер YouTube-тен үйренгенді қалайды, ал ескі әзірлеушілер оқулықтар мен кітаптарға жүгінеді. Олардың екеуі де StackOverflow қызметін белсенді пайдаланады. Мен мұны бейненің Z буыны үшін таныс медиа арна екенін, ал Y буын өкілдерінің әлі блогерлерсіз дәуірде болуымен байланыстырамын.

Олар жұмыс берушілер не қажет екенін үйретеді: JavaScript, Java, Python. Олар C/C++ тілін білетіндерін көрсетеді, бірақ бұл бұл тілдердің университеттерде оқыту үшін қолданылатындығынан болса керек. Олар JS фреймворктерін үйретеді, бірақ сұраныс ұсыныстан айтарлықтай жоғары, сондықтан олар бірінші жұмысын тапқаннан кейін белсенді түрде үйреніп жатқан сияқты.

«Бізді жер бетінен жойып жіберетін жас панктар қайда?»

Жалпы, күткендей, олар сұранысқа ие нәрсені үйретеді.

Студенттер бірінші жұмысынан кәсіби өсуді күтеді, екінші орында жұмыс пен өмірдің тепе-теңдігі (кейбір елдерде бірінші), ал қызықты тапсырмалар үшінші орында.

Бағдарламалау тілдері және бағдарламалық қамтамасыз ету түрлері бойынша әзірлеушілер популяциясының динамикасы

«Бізді жер бетінен жойып жіберетін жас панктар қайда?»

16.9 миллион әзірлеушілері бар веб-қосымшалар бірінші орында. Бұл қайтадан SlashData. Одан кейін Backend Services (13.6 миллион), мобильді қосымшалар (13.1 миллион) және жұмыс үстелі (12.3 миллион) тұр. AR/VR және IoT секторлары бірте-бірте танымал болуда, AI/ML/Data Science соңғы екі жылда айтарлықтай өсті.

Javascript ең жылдам өсуде; оның қауымдастығы қазірдің өзінде ең үлкен, тек 2018 жылы 2.5 миллионға өсті. Олар тіпті оған IoT және ML секторларында жазуға тырысады.
Python 2018 жылы 2.2 миллионға өсті, ол дәстүрлі түрде күшті болып табылатын ML танымалдылығының артуы, сондай-ақ үйренудің қарапайымдылығы мен тілдің ыңғайлылығы арқасында.

Java, C/C++ және C# жалпы әзірлеушілер санына қарағанда баяу қарқынмен өсуде. Олар қазір адамдар бастауды таңдайтын бағдарламалау тілі сирек. Мұнда әзірлеушілерге сұраныс ұсыныспен азды-көпті теңдестірілген. Менің ойымша, Java Android үшін болмаса, одан да баяу өсер еді.

РНР екінші ең танымал веб-қосымшаларды бағдарламалау тілі болып табылады және ол да айтарлықтай өсуде (32 жылы 2018%-ға). Оның қауымдастығы 5.9 миллион әзірлеушілерге бағаланады. РНР-дің поляризациялық беделіне қарамастан, оны үйрену өте оңай және кеңінен қолданылады.

Бүгінгі жас үміткерлер алдыңғы буынмен салыстырғанда қалай оқиды?

HackerRank деректері қайтадан. Қазір 38 бен 53 жас аралығындағылар өздерінің алғашқы жобалары ретінде ойындарды тізімдейді.

Айтпақшы, менің бірінші азды-көпті жұмыс жобам шексіз өрісі бар беске дейін қатарынан «tic-tac-toe» болғанын растаймын, екіншісі 15 ойыны болды. Мен мұның бәрін жаздым. BC 010-01, сонда болды Вильнюс негізі, aka BASIC-86 және фокалды. Эх.

Қазіргі жаңадан келген бағдарламашылар (21 жасқа дейін) калькуляторлар мен веб-сайттарды өздерінің алғашқы жобалары ретінде жазады.

X буын өкілдерінің жартысына жуығы 16 жасқа дейін код жаза бастады, көбісі 5 жастан 10 жасқа дейін (негізінен қазір 35 пен 45 жас аралығындағылар) жаза бастады. Неліктен азды-көпті түсінікті: ақпарат көздері аз болды, ал бағдарламашы болу үшін оны қатты қалау керек еді, ал оны шынымен қалайтындар бағдарламалауды ерте бастады. Мұны соншалықты қаламағандар қазір басқа мамандыққа ие болуы мүмкін, сондықтан әлеуметтанудағы сурет дәл осындай.

«Бізді жер бетінен жойып жіберетін жас панктар қайда?»

Қазіргі жас үміткерлер 20% ғана 16 жасқа дейін бағдарламалауды бастайды, көпшілігі 16 мен 20 арасында. Бірақ олар үшін үйрену әлдеқайда оңай, енді ол әлдеқайда қолжетімді.

қорытындылар

Мен әлі күнге дейін бастапқы веб-бағдарлама әзірлеушісіне SQL қажет пе деген сұраққа нақты жауап таба алмадым, бірақ мен бағдарламашылардың заманауи популяциясы туралы идеямды түзетіп алдым.

Құрылысшылардың келесі ұрпағы - қарапайым адамдар, олар қандай да бір жағынан бұрынғыларға ұқсайды, тұрғын үй мәселесі оларды тек бүлдірді. Олар жұмыс берушілер тарапынан жасалған сұранысты қанағаттандырады. Нәтижеге тез жетуге мүмкіндік беретін ыңғайлы құралдар мен құрылымдардың арқасында мамандыққа түсу шегі төмендеді. Қазір көбірек адамдар бағдарламашы болуда; цифрлық ұрпақ (Z ұрпағы) туғаннан бері технологияда өмір сүреді; олар үшін бұл басқалардан кем емес кәдімгі кәсіп.

L1 кэш кідірісі ~4 цикл екенін және кэш желілерін қажетсіз бұзбау жақсы екенін білетіндер жалпы популяция көлемінің пайызы ретінде азаяды. Дегенмен, олар жұмысқа орналасу туралы алаңдамауы керек, өйткені біреу әлі де қажет болған жерде төмен деңгейлі нәрселерді жазуы керек. Сол сияқты, жүйелік дизайнда терең іргелі білімі бар және оны қанды тәжірибелік шайқастарда алған және жүк культін ұстанбайтындар алаңдамауы керек. Командаларда «жай ғана код жаза алатын» және «жай» фреймворктерді қолданатын адамдар көп болады және «мақсатсыз өмір сүрген жылдардағы азапты болдырмау» үшін (c) оларды дәл осындай адамдар теңестіру керек. .

Жұмсақ дағдылар бірте-бірте қажет санаттан міндеттіге ауысады (оны растайтын объективті деректерім жоқ, тек практикалық бақылау). Бағдарламалаушылардың саны өсуде және олардың барлығын тікелей немесе жанама бақылау арқылы нәтижеге жетуге бағыттау керек және дәл осы үшін жұмсақ дағдылар қажет.

Менің ойымша, «IT-ке кіру» бағдарламашының табысы салыстырмалы «IT емес» маманның табысынан айтарлықтай ерекшеленетін жерлерге тән жергілікті аймақтық оқиға сияқты. Мен тұратын Минскіде бұл жаппай қозғалыс, күн сайын мен қалаған IT-ға қалай түсуге болатыны туралы жаңа курстар туралы хабарландыруларды көремін, ал тазалаушы компаниялар бағдарламашыларға «Сіз бұл суреттегі кодты түсінесіз бе? Бұл сіздің пәтеріңізді тазаламауға мүмкіндігіңіз бар екенін білдіреді, біз сіз үшін бәрін жасаймыз ». Дәл осындай жағдай кейбір Үндістанда да болып жатқан көрінеді. Менде мұны дәлелдейтін деректер де жоқ.

Жалпы, менің ойымша, бағдарламашылар халқына ештеңе қауіп төндірмейді. Күндіз нағыз бағдарламашыларды таба алмайтындығыңызды және үміткерлер жиі «ештеңе білмейтінін» айтып былдырлаудың қажеті жоқ. Олар «шынайы бағдарламашыларға» қарағанда дәл сондай ақылды және қабілетті, мүмкін одан да ақылды және қабілетті; олар тез дамып келе жатқан нарық олардан талап ететін білімге ие болады және олар әлі қажет емес нәрсені кейінге қалдырады және пайда әкелмейді. қазір. Олар қажет кезде үйренеді, өйткені олар әлі де үйренгісі келеді. Мүмкін, бұл бәрінің қолынан келе бермейді, бірақ бұл бәріне де қажет емес, жақын болашақта нарық қандай да бір құрылымды қолдана отырып, басқа қолданба тұжырымдамасын тез жинай алатын адамдарды оңай қабылдайды.

Сауалнамаға тек тіркелген пайдаланушылар қатыса алады. Кіру, өтінемін.

Веб-сервер сұхбаттары SQL білімін қажет ете ме?

  • Иә, мен оны талап етемін, өйткені бұл маған жұмыс үшін қажет

  • Иә, бұл жұмыста сирек қажет болса да, істеймін.

  • Жоқ, маған қажет емес, бізде NoSQL бар

  • Жоқ, мен мұны талап етпеймін, ORM бәрін жасайды

320 пайдаланушы дауыс берді. 230 пайдаланушы қалыс қалды.

Ақпарат көзі: www.habr.com

пікір қалдыру