„Каде се младите панкери кои ќе не избришат од лицето на земјата?

Си го поставив егзистенцијалното прашање ставено во насловот во формулацијата на Гребеншчиков по уште една рунда дискусија во една од заедниците за тоа дали на почетниот развивач на веб-бекенд му треба знаење за SQL или дали ORM сепак ќе стори сé. Решив да го побарам одговорот малку пошироко отколку само за ORM и SQL, и во основа се обидов да систематизирам кои се луѓето кои сега одат на интервјуа за помлади и средни позиции во развојот, каква е нивната историја и каков свет тие живее во. Во принцип, имав мислење, но тоа беше формирано со лично искуство за вработување и јасно приспособено на локалниот пазар. Во принцип, стана интересно. Еве што најдовме.

Глобална популација на програмери

Со цел некако да му пристапам на прашањето, решив да започнам со пребарување на податоци за тоа колку програмери има денес во светот и како оваа популација се менува со текот на времето.
Проценките во различни извори наведуваат дека бројките се движат од 12 до 30 милиони луѓе. Одлучи да застане на податоци од SlashData, бидејќи нивната методологија изгледаше доста избалансирана и погодна за моите потреби. Во нивната проценка, тие го земаа предвид бројот на сметки и складишта на Github, бројот на сметки на StackOverflow, сметките npm и податоците од официјални извори за вработување во САД и Европа. Тие, исто така, ги прилагодија добиените бројки користејќи свои 16 студии, кои опфатија приближно 20 луѓе за секое истражување.

Според 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% кај големите. Се чини дека големите треба да имаат посветени архитекти, но можеби тие едноставно не се во можност да го покријат бројот на системи што се генерираат. Или истите фундаментални алгоритми и структури на податоци се ставаат во System Design, тогаш станува малку појасно.

На малите компании се повеќе и помалку им е потребно Рамковно владеење од гореспоменатиот системски дизајн, од кој можеме да го извлечеме заклучокот на капетанот дека е важно стартапите да лансираат некако работен производ што е можно побрзо, а утре ќе биде утре.

„Каде се младите панкери кои ќе не избришат од лицето на земјата?

Што учат учениците?

Тука се потпирав на податоци од друга Истражување на 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.

PHP е вториот најпопуларен програмски јазик за веб-апликации и исто така значително расте (за 32% во 2018 година). Нејзината заедница се проценува на 5.9 милиони програмери. И покрај поларизирачката репутација на PHP, тој е прилично лесен за учење и широко користен.

Како учат денешните млади кандидати во споредба со претходните генерации?

Повторно податоци за HackerRank. Оние кои сега имаат меѓу 38 и 53 години ги наведуваат игрите како први проекти.

Инаку потврдувам дека мојот прв горе-долу работен проект беше „tic-tac-toe“ до пет по ред со неограничено поле, вториот беше игра од 15. Сето ова го напишав на п.н.е. 010-01, имаше Основен Вилнус, ака BASIC-86 и фокусна. Ех.

Современите програмери почетници (до 21 година) пишуваат калкулатори и веб-страници како први проекти.

Меѓу претставниците на генерацијата X, речиси половина почнаа да пишуваат код пред да наполнат 16 години, многумина тоа го правеа од 5 до 10 години (главно оние кои сега се на возраст меѓу 35 и 45 години). Повеќе или помалку е јасно зошто: имаше малку извори на информации, а за да станеш програмер навистина мораше да го сакаш тоа, а оние што навистина го сакаа почнаа рано да програмираат. Оние кои не го сакаа толку многу веројатно сега имаат поинаква професија, па сликата во социологијата е токму ваква.

„Каде се младите панкери кои ќе не избришат од лицето на земјата?

Денешните млади кандидати само 20% од времето започнуваат со програмирање пред 16-годишна возраст, мнозинството некаде помеѓу 16 и 20 години. Но, исто така им е многу полесно да учат, сега е многу подостапно.

Наоди

Сè уште не најдов конкретен одговор на прашањето дали на почетниот развивач на веб-заднина му треба SQL денес, но ја поправив мојата идеја за модерната популација на програмери.

Следната генерација на програмери се обични луѓе, на некој начин личат на претходните, проблемот со домувањето само ги расипа. Тие ја задоволуваат побарувачката што ја создаваат работодавците. Прагот за влез во професијата стана помал поради попогодни алатки и рамки кои ви овозможуваат брзо да постигнете резултати. Сега се повеќе луѓе стануваат програмери; дигиталната генерација (генерација Z) живее во технологијата од раѓање; за нив тоа е вообичаена професија, не полоша од другите.

Оние кои знаат дека доцнењето на кешот L1 е ~ 4 циклуси и дека е подобро да не се рушат линиите на кешот без потреба, стануваат се помали како процент од вкупната големина на популацијата. Сепак, тие не треба да се грижат дали ќе се вработат; некој, на крајот на краиштата, мора да пишува работи на ниско ниво каде што сè уште е потребно. Исто така, оние кои имаат длабоко фундаментално знаење во дизајнот на системот и го стекнале во крвави практични битки, а не само што следат карго култ, не треба да се грижат. Затоа што ќе има повеќе луѓе во тимовите кои можат „само да пишуваат код“ и „само“ да користат рамки, а со цел „да се избегне мачната болка од годините поминати бесцелно живеени“ (в) ќе треба да бидат избалансирани токму од такви луѓе .

Меките вештини постепено мигрираат од категоријата пожелни во задолжителни (немам објективни податоци за да го потврдам ова, само практично набљудување). Расте бројот на програмери и сите тие треба да се насочат кон постигнување резултати, било преку директна или индиректна контрола, а токму за тоа се потребни меки вештини.

„Enter IT“ ми се чини дека е локална регионална приказна, типична за оние локации каде што приходот на програмер значително се разликува од приходот на споредлив „не-ИТ“ специјалист. Во Минск, каде што живеам, ова е генерално масовно движење, секој ден гледам огласи за нови курсеви за тоа како да се влезе во посакуваната ИТ, а компаниите за чистење ги таргетираат програмерите со пораката „Дали го разбирате кодот на оваа слика? Ова значи дека можете да си дозволите да не го чистите вашиот стан, ние ќе направиме се за вас“. Истото очигледно се случува и во некоја Индија. И јас немам податоци за да го докажам ова.

Во принцип, според мое мислење, ништо не се заканува на популацијата на програмери. Нема смисла да џагорите за фактот дека не можете да најдете вистински програмери во текот на денот и дека кандидатите многу често „не знаат ништо“. Тие се исто толку паметни и способни, можеби дури и попаметни и поспособни од „вистинските програмери“; тие едноставно го стекнуваат знаењето што брзо растечкиот пазар го бара од нив и го одложуваат за подоцна она што сè уште не им е потребно и нема да донесе вистинска корист. сега. Ќе учат кога ќе треба, затоа што сепак сакаат да учат. Веројатно, нема секој да биде способен за ова, но нема да им треба на сите; во догледна иднина, пазарот лесно ќе прифати луѓе кои брзо можат да состават друг концепт на апликација користејќи некоја рамка.

Само регистрирани корисници можат да учествуваат во анкетата. Најави се, вие сте добредојдени.

Дали интервјуата за веб-бекндер бараат SQL знаење?

  • Да, барам затоа што ми треба за работа

  • Да, јас го правам тоа, иако тоа ретко е потребно на работа.

  • Не, не го барам, имаме NoSQL

  • Не, не барам, ОРМ ќе стори сè

Гласаа 320 корисници. 230 корисници беа воздржани.

Извор: www.habr.com

Додадете коментар