"Bizi yer üzündən siləcək gənc punklar haradadır?"

İcmalardan birində yeni başlayan bir web backend tərtibatçısının SQL biliyinə ehtiyacı olub-olmaması və ya ORM-nin hər halda hər şeyi edib-etməyəcəyi ilə bağlı növbəti müzakirə raundundan sonra Grebenshchikovun tərtibatında başlıqda qoyulmuş ekzistensial sualı özümə verdim. Mən cavabı yalnız ORM və SQL ilə bağlı deyil, bir az daha geniş şəkildə axtarmaq qərarına gəldim və əsasən indi kiçik və orta səviyyəli inkişaf vəzifələrinə müsahibə üçün gedən insanların kimlər olduğunu, onların tarixinin nə olduğunu və hansı dünya olduğunu sistemləşdirməyə çalışdım. yaşayıram. Ümumiyyətlə, mənim fikrim var idi, lakin bu, şəxsi işə götürmə təcrübəsi ilə formalaşıb və yerli bazara aydın şəkildə uyğunlaşdırılıb. Ümumiyyətlə, maraqlı oldu. Tapdıqlarımız budur.

Qlobal developer əhalisi

Suala bir növ yanaşmaq üçün mən bu gün dünyada nə qədər tərtibatçının olduğu və bu əhalinin zamanla necə dəyişdiyinə dair məlumatları axtarmaqla başlamaq qərarına gəldim.
Müxtəlif mənbələrdəki hesablamalar 12 milyondan 30 milyon nəfərə qədər olan rəqəmləri göstərir. dayanmağa qərar verdi SlashData-dan məlumatlar, çünki onların metodologiyası kifayət qədər balanslaşdırılmış və ehtiyaclarıma uyğun görünürdü. Qiymətləndirmə zamanı onlar Github-da hesabların və depoların sayını, StackOverflow-da hesabların sayını, npm hesablarını və ABŞ və Avropada məşğulluq haqqında rəsmi mənbələrdən alınan məlumatları nəzərə alıblar. Onlar həmçinin, hər bir sorğu üçün təxminən 16 insanı əhatə edən öz 20 araşdırmalarından istifadə edərək, əldə edilən rəqəmləri düzəldiblər.

SlashData-nın məlumatına görə, 2018-ci ilin dördüncü rübündə dünyada təqribən 18.9 milyon tərtibatçı olub, onlardan 12.9 milyonu peşəkar tərtibatçı olub, yəni onlar proqramlaşdırma ilə məşğuldurlar. Hal-hazırda peşəkar tərtibatçı olmayanlar, proqramlaşdırmanın hobbi olduğu insanlar, üstəlik, hazırda bir peşə öyrənənlərdir (müxtəlif tələbələr və özünü öyrədənlər). Yaxşı, yəni burada məni maraqlandıran qrupun ölçüsünə bir işarə var - 6 milyon insan. Düzünü desəm, bu gözlədiyimdən də artıqdır.

Mənim üçün ikinci sürpriz proqramçıların sayının artım tempi oldu: 2017-ci ilin ikinci rübündən 2018-ci ilin dördüncü rübünə qədər o, 14.7-dən qeyd olunan 18.9 milyona yüksəldi və ya 21-ci ildə 2018% artdı! Əgər məndən proqramçıların sayının artım tempini təxmin etmək istənsəydi, deyərdim ki, bu, hər il cüzi artımla illik təxminən 5% təşkil edir. Və burada 20% qədər olduğu ortaya çıxır.

Bundan əlavə, SlashData əhalinin 2030-cu ilə qədər 45 milyona çatacağını təxmin edir. Bunun hər il 8% deyil, 20%-dən bir qədər çox artım nəzərdə tutduğunu başa düşmək asandır, lakin onlar internetin nüfuzunu nəzərə almaq üçün düzəlişlərə istinad edirlər (hazırda dünya üzrə təxminən 57%). Statista görə) və bir sıra digər amillər, məsələn, adambaşına düşən tərtibatçıların sayı. Coğrafi baxımdan tərtibatçıların sayı ən çox Hindistan və Çində artır; Hindistanın 2023-cü ilə qədər tərtibatçıların sayına görə ABŞ-ı keçəcəyi gözlənilir (bu artıq C# Künc məlumatları).

Ümumiyyətlə, nə qədər baxsan, proqramçılar çox olacaq, çünki tələbat artır. Yeri gəlmişkən, tələb haqqında.

Tələb nədir?

Tələbi qiymətləndirmək üçün HackerRank məlumatlarından istifadə etdim 2018 и 2019 il.

Proqramlaşdırma dilləri baxımından ən çox tələbat kompüter avadanlığı istisna olmaqla, demək olar ki, bütün sənaye sahələrində JavaScript, Python və Java dillərinədir. Sonuncuda ən böyük tələbat C/C++ üçündir, bu başa düşüləndir; hardware layihələrində hələ də resurs intensivliyi və müvafiq proqram təminatının işləməsi tələbləri var.

"Bizi yer üzündən siləcək gənc punklar haradadır?"

Çərçivələr baxımından AngularJS, Node.js və React ən böyük tələbatdır və onlar tələb və təklif arasında ən böyük boşluğa malikdirlər, görünür, bu JavaScript ekosisteminin dəyişmə sürəti ilə izah olunur, çünki məsələn, ExpressJS üçün , təklif artıq tələbi üstələyir.

"Bizi yer üzündən siləcək gənc punklar haradadır?"

Bacarıqlar baxımından işəgötürənlər ilk növbədə namizədlərdən Problem həll etmə bacarıqlarını gözləyirlər. İşəgötürənlərin təxminən 95%-i bu bacarıqların vacib olduğunu qeyd edir. Proqramlaşdırma dili bilikləri 56% ilə ikinci yerdədir. Yeri gəlmişkən, alqoritmlər, məlumat strukturları və digər Kompüter Elmləri ilə bağlı fundamental biliklərə malik heç bir xətt ümumiyyətlə yoxdur, ya anketdə yox idi, ya da geniş miqyasda akademik bilik tələb olunmur.

Verilənlər bazasının dizaynına 23.2 nəfərdən az olan şirkətlərin 100%-i, 18.8 nəfərdən çox şirkətlərin isə 1000%-i ehtiyac duyur. Bəli, deyəsən ORM və SQL haqqındadır! Məntiqi, IMHO, izahat budur ki, böyük şirkətlərdə bu aspektə cavabdeh olan DBA-nın xüsusi rolu var və buna görə də tərtibatçılar üçün tələbləri yumşaltmaq və daha tez işə götürmək mümkündür. Ancaq Sistem Dizaynı ilə bunun əksinədir: kiçiklərdə 37.0%, böyüklərdə 44.1%. Belə görünür ki, böyüklərin xüsusi memarları olmalıdır, lakin ola bilsin ki, onlar yaradılan sistemlərin sayını sadəcə əhatə edə bilmirlər. Və ya eyni fundamental alqoritmlər və məlumat strukturları Sistem Dizaynına daxil edilir, sonra bir az daha aydın olur.

Kiçik şirkətlərin yuxarıda qeyd olunan Sistem Dizaynına getdikcə daha az Çərçivə Təcrübəsinə ehtiyacı var, bundan sonra kapitanın belə nəticəyə gəlmək olar ki, startapların hansısa bir şəkildə işləyən məhsulu mümkün qədər tez işə salması vacibdir və sabah sabah olacaq.

"Bizi yer üzündən siləcək gənc punklar haradadır?"

Tələbələr nə öyrənirlər?

Burada başqasının məlumatlarına istinad etdim HackerRank araşdırması.
Nəzərə almaq lazımdır ki, universitetlərdə proqramlaşdırmanın bu və ya digər formada tədris olunmasına baxmayaraq (Mən kompüter elmləri ixtisaslarını nəzərdə tuturam) sorğuda iştirak edənlərin yarıdan çoxu öz-özünə təhsillə də məşğul olduqlarını bildiriblər.

Müasir tələbələr YouTube-dan öyrənməyə üstünlük verir, yaşlı tərtibatçılar isə dərsliklərə və kitablara meyl edirlər. Onların hər ikisi aktiv olaraq StackOverflow-dan istifadə edir. Mən bunu onunla əlaqələndirirəm ki, video Z nəsli üçün tanış media kanalıdır, Y nəslinin nümayəndələri isə hələ də bloqqersiz bir dövrdədir.

Onlar işəgötürənlər tərəfindən tələb olunanları öyrədirlər: JavaScript, Java, Python. Onlar C/C++ dilini bildiklərini bildirirlər, lakin bu, çox güman ki, bu dillərin universitetlərdə tədris üçün istifadə olunması ilə bağlıdır. Onlar JS çərçivələrini öyrədirlər, lakin tələb təklifdən əhəmiyyətli dərəcədə yüksəkdir, ona görə də görünür, onlar ilk işlərini tapdıqdan sonra fəal şəkildə öyrənirlər.

"Bizi yer üzündən siləcək gənc punklar haradadır?"

Ümumiyyətlə, gözlənildiyi kimi, tələb olunanı öyrədirlər.

Tələbələr ilk işlərindən peşəkar inkişaf gözləyirlər, iş-həyat balansı ikinci yerdə (bəzi ölkələrdə birinci), maraqlı tapşırıqlar isə üçüncü yerdə gəlir.

Proqramlaşdırma dilləri və proqram növləri ilə tərtibatçı əhalinin dinamikası

"Bizi yer üzündən siləcək gənc punklar haradadır?"

Təxminən 16.9 milyon tərtibatçı ilə veb proqramlar birinci yerdədir. Bu yenidən SlashData. Sonrakı yerlərdə Backend Services (13.6 milyon), mobil proqramlar (13.1 milyon) və masaüstü kompüterlər (12.3 milyon). AR/VR və IoT sektorları tədricən populyarlıq qazanır, AI/ML/Data Science son iki ildə əhəmiyyətli dərəcədə artıb.

Javascript ən sürətlə böyüyür; onun icması artıq ən böyüyüdür və təkcə 2018-ci ildə 2.5 milyon nəfər artır. Onlar hətta IoT və ML sektorlarında yazmağa çalışırlar.
Python 2018-ci ildə ənənəvi olaraq güclü olduğu ML-nin artan populyarlığı, həmçinin öyrənmə asanlığı və dilin rahatlığı sayəsində 2.2 milyon artıb.

Java, C/C++ və C# proqramçıların ümumi sayından daha yavaş inkişaf edir. Onlar indi nadir hallarda insanların başlamaq üçün seçdiyi proqramlaşdırma dilidir. Burada tərtibatçılara tələbat təkliflə az-çox balanslaşdırılmışdır. Məncə, Android olmasaydı, Java daha da yavaş inkişaf edərdi.

PHP ikinci ən populyar veb tətbiqi proqramlaşdırma dilidir və o, həm də əhəmiyyətli dərəcədə artır (32-ci ildə 2018%). Onun icmasının 5.9 milyon tərtibatçı olduğu təxmin edilir. PHP-nin qütbləşən nüfuzuna baxmayaraq, onu öyrənmək olduqca asandır və geniş istifadə olunur.

İndiki gənc namizədlər əvvəlki nəsillərlə müqayisədə necə təhsil alırlar?

HackerRank məlumatları yenidən. İndi 38 ilə 53 arasında olanlar ilk layihələri olaraq oyunları siyahıya alırlar.

Yeri gəlmişkən, təsdiq edirəm ki, mənim ilk az-çox işləyən layihəm “tic-tac-toe” ard-arda qeyri-məhdud sahə ilə beşə qədər, ikincisi isə 15-lik bir oyun idi. Bütün bunları mən yazdım. BC 010-01, var idi Vilnüs əsas, aka BASIC-86 və fokus. Eh.

Müasir təcrübəsiz proqramçılar (21 yaşa qədər) ilk layihələri kimi kalkulyatorlar və internet saytları yazır.

X nəslinin nümayəndələri arasında, demək olar ki, yarısı kod yazmağa 16 yaşından əvvəl başlamışdı, bir çoxu bunu 5 yaşından 10 yaşa qədər (əsasən indi 35-45 yaş arasında olanlar) edirdi. Səbəbi az-çox aydındır: məlumat mənbəyi az idi və proqramçı olmaq üçün həqiqətən bunu çox istəməli idin və bunu həqiqətən istəyənlər proqramlaşdırmaya erkən başladılar. Bunu çox istəməyənlər çox güman ki, indi fərqli bir peşəyə sahibdirlər, buna görə də sosiologiyada mənzərə tam olaraq belədir.

"Bizi yer üzündən siləcək gənc punklar haradadır?"

İndiki gənc namizədlər zamanın yalnız 20%-i 16 yaşından əvvəl proqramlaşdırmaya başlayır, əksəriyyəti isə 16-20 yaş arasındadır. Ancaq öyrənmək onlar üçün çox asandır, indi daha əlçatandır.

Tapıntılar

Mən hələ də başlanğıc veb-backend tərtibatçısının bu gün SQL-ə ehtiyacı olub-olmaması sualına konkret cavab tapa bilməmişəm, lakin müasir proqramçıların sayı haqqında fikrimi düzəltmişəm.

Gələcək nəsil tərtibatçılar adi insanlardır, müəyyən mənada əvvəlkilərə bənzəyirlər; mənzil problemi onları yalnız korladı. Onlar işəgötürənlər tərəfindən yaradılan tələbi ödəyirlər. Nəticələri tez bir zamanda əldə etməyə imkan verən daha rahat alətlər və çərçivələr sayəsində peşəyə girmə həddi aşağı oldu. İndi daha çox insan proqramçı olur; rəqəmsal nəsil (Z nəsli) doğulduğu gündən texnologiyada yaşayır; onlar üçün bu, başqalarından pis olmayan ümumi bir peşədir.

L1 keş gecikmə müddətinin ~4 dövr olduğunu bilənlər və keş xətlərini lazımsız yerə sındırmamağın daha yaxşı olduğunu bilənlər ümumi populyasiya ölçüsünün faizi kimi azalır. Bununla belə, onlar işə düzəlməkdən narahat olmamalıdırlar, axı kimsə hələ lazım olan yerdə aşağı səviyyəli şeylər yazmalıdır. Eynilə, sistem dizaynında dərin fundamental biliyə sahib olan və bunu qanlı praktiki döyüşlərdə əldə edən və sadəcə yük kultuna tabe olmayanlar narahat olmasın. Çünki komandalarda “sadəcə kod yaza bilən” və “sadəcə” çərçivələrdən istifadə edən daha çox insan olacaq və “məqsədsiz keçən illərin dözülməz ağrılarından qaçmaq” üçün (c) məhz belə insanlarla tarazlıq qurmalı olacaqlar. .

Yumşaq bacarıqlar tədricən arzu olunanlar kateqoriyasından məcburiliyə keçir (bunu təsdiqləmək üçün heç bir obyektiv məlumatım yoxdur, sadəcə praktik müşahidə). Proqramçıların sayı getdikcə artır və onların hamısı birbaşa və ya dolayı nəzarət yolu ilə nəticə əldə etməyə yönəldilməlidir və soft bacarıqlar məhz bunun üçün lazımdır.

“Enter IT” mənə elə gəlir ki, proqramçının gəliri müqayisə olunan “qeyri-İT” mütəxəssisinin gəlirindən əhəmiyyətli dərəcədə fərqlənən yerlər üçün xarakterik olan yerli regional hekayədir. Yaşadığım Minskdə bu, ümumiyyətlə, kütləvi hərəkatdır, hər gün arzulanan İT sahəsinə necə girmək barədə yeni kurslar üçün elanlar görürəm və təmizlik şirkətləri proqramçılara “Bu şəkildəki kodu başa düşürsünüzmü? Bu o deməkdir ki, siz öz mənzilinizi təmizləməyə imkanınız var, biz sizin üçün hər şeyi edəcəyik”. Eyni şey, yəqin ki, bəzi Hindistanda da baş verir. Bunu sübut edəcək heç bir məlumatım da yoxdur.

Ümumiyyətlə, mənim fikrimcə, heç bir şey proqramçıların əhalisini təhdid etmir. Gün ərzində həqiqi proqramçılar tapa bilmədiyiniz və namizədlərin çox vaxt “heç nə bilmədiyi” barədə danışmağın mənası yoxdur. Onlar eyni dərəcədə ağıllı və bacarıqlıdırlar, bəlkə də “əsl proqramçılardan” daha ağıllı və bacarıqlıdırlar; sadəcə olaraq sürətlə böyüyən bazarın onlardan tələb etdiyi biliklərə yiyələnirlər və hələ ehtiyac duymadıqları və heç bir fayda verməyəcəklərini sonraya qoyurlar. İndi. Lazım olanda öyrənəcəklər, çünki hələ də öyrənmək istəyirlər. Yəqin ki, hamı buna qadir olmayacaq, amma hamının buna ehtiyacı olmayacaq; yaxın gələcəkdə bazar hansısa çərçivədən istifadə edərək başqa bir tətbiq konsepsiyasını tez bir zamanda birləşdirə bilən insanları asanlıqla qəbul edəcək.

Sorğuda yalnız qeydiyyatdan keçmiş istifadəçilər iştirak edə bilər. Daxil olunxahiş edirəm.

Veb backender müsahibələri SQL biliklərini tələb edirmi?

  • Bəli, iş üçün lazım olduğu üçün tələb edirəm

  • Bəli, işdə nadir hallarda ehtiyac duyulsa da, edirəm.

  • Xeyr, mən bunu tələb etmirəm, bizdə NoSQL var

  • Xeyr, mən bunu tələb etmirəm, ORM hər şeyi edəcək

320 istifadəçi səs verib. 230 istifadəçi bitərəf qalıb.

Mənbə: www.habr.com

Добавить комментарий