"Bizni yer yuzidan yo'q qiladigan yosh panklar qani?"

Men o'zimga Grebenshchikovning formulasida sarlavhada qo'yilgan ekzistensial savolni jamiyatlardan birida boshlang'ich veb-backend ishlab chiquvchisiga SQL bilimi kerakmi yoki ORM baribir hamma narsani qiladimi yoki yo'qmi degan muhokamadan so'ng berdim. Men javobni faqat ORM va SQL haqida emas, balki biroz kengroq izlashga qaror qildim va asosan kichik va o'rta darajadagi rivojlanish lavozimlari uchun intervyuga ketayotgan odamlarni tizimlashtirishga harakat qildim, ularning tarixi nima va ular qanday dunyo. yashash. Umuman olganda, menda bir fikr bor edi, lekin u shaxsiy yollash tajribasi bilan shakllangan va mahalliy bozorga aniq moslashtirilgan. Umuman olganda, bu qiziqarli bo'ldi. Mana nima topdik.

Global ishlab chiquvchilar populyatsiyasi

Savolga qandaydir tarzda yondashish uchun men bugungi kunda dunyoda qancha ishlab chiquvchilar borligi va bu aholining vaqt o'tishi bilan qanday o'zgarib borayotgani haqidagi ma'lumotlarni qidirishdan boshlashga qaror qildim.
Turli manbalardagi hisob-kitoblarga ko'ra, bu raqamlar 12 milliondan 30 milliongacha. To'xtashga qaror qildi SlashData ma'lumotlari, chunki ularning metodologiyasi juda muvozanatli va mening ehtiyojlarimga mos tuyuldi. O'z baholashlarida ular Github-dagi hisoblar va omborlar sonini, StackOverflow-dagi hisoblar sonini, npm hisoblari va AQSh va Evropada ish bilan ta'minlanganlik haqidagi rasmiy manbalardan olingan ma'lumotlarni hisobga olishdi. Ular, shuningdek, har bir so'rov uchun taxminan 16 20 kishini o'z ichiga olgan o'zlarining 000 ta tadqiqoti yordamida olingan raqamlarni o'zgartirdilar.

SlashData ma'lumotlariga ko'ra, 2018 yilning to'rtinchi choragida dunyoda taxminan 18.9 million dasturchilar bo'lgan, ulardan 12.9 millioni professional dasturchilar, ya'ni ular tirik dasturlash bilan shug'ullangan. Hozirda professional dasturchi bo'lmaganlar - bu dasturlash sevimli mashg'ulot bo'lgan odamlar, shuningdek, hozirda kasbni o'rganayotganlar (turli talabalar va o'z-o'zini o'qitish). Ya'ni, bu erda meni qiziqtiradigan guruhning kattaligi - 6 million kishi haqida ishora. Rostini aytsam, bu men kutganimdan ham ko'proq.

Men uchun ikkinchi ajablanib dasturchilar sonining o'sish sur'ati bo'ldi: 2017 yilning ikkinchi choragidan 2018 yilning to'rtinchi choragigacha u 14.7 dan aytib o'tilgan 18.9 millionga o'sdi yoki 21 yilda 2018 foizga oshdi! Agar mendan dasturchilar sonining o'sish sur'atlarini hisoblashni so'rashsa, men bu ko'rsatkich har yili bir oz o'sishi bilan yiliga 5% ni tashkil qiladi, deb aytardim. Va bu erda u 20% ni tashkil qiladi.

Bundan tashqari, SlashData 2030 yilga kelib aholi soni 45 millionga yetishini taxmin qilmoqda. Hisoblash oson, bu har yili 8% dan bir oz ko'proq o'sishni anglatadi va umuman 20% emas, lekin ular Internetga kirishni hisobga olgan holda tuzatishga ishora qiladilar (hozirda dunyoda 57% ga yaqin. Statista ma'lumotlariga ko'ra) va boshqa bir qancha omillar, masalan, aholi jon boshiga ishlab chiquvchilar soni. Geografik jihatdan ishlab chiquvchilar soni Hindiston va Xitoyda eng kuchli o'sib bormoqda; Hindiston 2023 yilga kelib dasturchilar soni bo'yicha AQShni ortda qoldirishi kutilmoqda (bu allaqachon C# burchak ma'lumotlari).

Umuman olganda, dasturchilar ko'p bo'ladi, qanday qaramang, chunki talab ortib bormoqda. Aytgancha, talab haqida.

Nimaga talab bor?

Talabni baholash uchun men HackerRank ma'lumotlaridan foydalandim 2018 и 2019 yil.

Dasturlash tillari nuqtai nazaridan, kompyuter texnikasidan tashqari deyarli barcha sohalarda JavaScript, Python va Java tillariga talab katta. Ikkinchisida eng katta talab C/C++ ga to'g'ri keladi, bu tushunarli; apparat loyihalarida hali ham resurslarning intensivligi va tegishli dasturiy ta'minotning ishlashi uchun talablar mavjud.

"Bizni yer yuzidan yo'q qiladigan yosh panklar qani?"

Ramkalar nuqtai nazaridan, AngularJS, Node.js va React eng katta talabga ega va ular talab va taklif o'rtasidagi eng katta farqga ega, bu JavaScript ekotizimining o'zgaruvchan tezligi bilan izohlanganga o'xshaydi, chunki masalan, ExpressJS uchun , taklif allaqachon talabdan oshib ketadi.

"Bizni yer yuzidan yo'q qiladigan yosh panklar qani?"

Vakolatlarga kelsak, ish beruvchilar birinchi navbatda nomzodlardan muammolarni hal qilish ko'nikmalarini kutishadi. Ish beruvchilarning qariyb 95 foizi ushbu ko'nikmalarni muhim deb ta'kidlaydi. Dasturlash tilini bilish darajasi 56% bilan ikkinchi oʻrinda. Aytgancha, algoritmlar, ma'lumotlar tuzilmalari va boshqa kompyuter fanlari bo'yicha fundamental bilimlarga ega bo'lgan chiziq umuman yo'q, yoki u so'rovnomada yo'q edi yoki endi keng miqyosda akademik bilim talab qilinmaydi.

Ma'lumotlar bazasini loyihalash 23.2 kishidan kam bo'lgan kompaniyalarning 100 foiziga va 18.8 kishidan ortiq kompaniyalarning 1000 foiziga kerak. Ha, bu ORM va SQL haqida bo'lganga o'xshaydi! Mantiqiy, IMHO, tushuntirish shundan iboratki, yirik kompaniyalarda bu jihat uchun mas'ul bo'lgan DBA ning alohida roli mavjud va shuning uchun ishlab chiquvchilar uchun talablarni yumshatish va tezroq ishga olish mumkin. Ammo tizim dizayni bilan buning teskarisi: kichiklarida 37.0%, kattalarida 44.1%. Ko'rinishidan, yirik me'morlar bag'ishlangan me'morlarga ega bo'lishi kerak edi, lekin ular yaratilgan tizimlar sonini qamrab ololmaydilar. Yoki bir xil asosiy algoritmlar va ma'lumotlar tuzilmalari tizim dizayniga kiritiladi, keyin u biroz aniqroq bo'ladi.

Kichik kompaniyalarga yuqorida aytib o'tilgan tizim dizayniga ko'proq va kamroq ehtiyoj bor, biz kapitanning xulosasiga kelishimiz mumkinki, startaplar qandaydir tarzda ishlaydigan mahsulotni iloji boricha tezroq ishga tushirishlari muhim va ertaga ertaga bo'ladi.

"Bizni yer yuzidan yo'q qiladigan yosh panklar qani?"

Talabalar nimani o'rganadilar?

Bu erda men boshqa ma'lumotlarga tayandim HackerRank tadqiqoti.
Shuni hisobga olish kerakki, universitetlarda dasturlash u yoki bu shaklda o‘qitilishiga qaramay (men informatika yo‘nalishini nazarda tutyapman), so‘rovda qatnashganlarning yarmidan ko‘pi o‘z-o‘zini tarbiyalash bilan ham shug‘ullanishini ta’kidlagan.

Zamonaviy talabalar YouTube'dan o'rganishni afzal ko'rishadi, eski ishlab chiquvchilar esa darsliklar va kitoblarga moyil. Ularning ikkalasi ham StackOverflow-dan faol foydalanadi. Men buni videoning Z avlodi uchun tanish media-kanal ekanligi, Y avlod vakillari esa hali ham bloggerlarsiz davrda ekanligi bilan izohlayman.

Ular ish beruvchilar tomonidan talab qilinadigan narsalarni o'rgatishadi: JavaScript, Java, Python. Ular C/C++ tilini bilishlarini ko'rsatadilar, ammo bu, ehtimol, bu tillar universitetlarda o'qitish uchun ishlatilgani uchundir. Ular JS ramkalarini o'rgatishadi, lekin talab taklifdan sezilarli darajada yuqori, shuning uchun ular birinchi ishini topgandan keyin faol o'rganishmoqda.

"Bizni yer yuzidan yo'q qiladigan yosh panklar qani?"

Umuman olganda, kutilganidek, ular talab qilinadigan narsalarni o'rgatishadi.

Talabalar birinchi ishidan professional o'sishni kutadilar, ish va hayot muvozanati ikkinchi o'rinda (ba'zi mamlakatlarda birinchi) va qiziqarli vazifalar uchinchi o'rinda turadi.

Dasturlash tillari va dasturiy ta'minot turlari bo'yicha ishlab chiquvchilar populyatsiyasining dinamikasi

"Bizni yer yuzidan yo'q qiladigan yosh panklar qani?"

Taxminan 16.9 million ishlab chiquvchi bilan veb-ilovalar birinchi o'rinda turadi. Bu yana SlashData. Keyingi o‘rinlarda Backend Services (13.6 million), mobil ilovalar (13.1 million) va desktop (12.3 million). AR/VR va IoT tarmoqlari asta-sekin ommalashib bormoqda, AI/ML/Data Science so‘nggi ikki yil ichida sezilarli darajada o‘sdi.

Javascript eng tez o'sib bormoqda; uning hamjamiyati allaqachon eng katta bo'lib, faqat 2018 yilda 2.5 millionga o'sgan. Ular hatto IoT va ML sektorlarida yozishga harakat qilmoqdalar.
Python 2018 yilda 2.2 millionga o'sdi, chunki u an'anaviy ravishda kuchli bo'lgan ML mashhurligi, shuningdek, tilni o'rganish qulayligi va qulayligi tufayli.

Java, C/C++ va C# umumiy ishlab chiquvchilar soniga qaraganda sekinroq o'smoqda. Endi ular kamdan-kam hollarda odamlar boshlashni tanlaydigan dasturlash tilidir. Bu erda ishlab chiquvchilarga bo'lgan talab taklif bilan ko'proq yoki kamroq muvozanatlangan. Menimcha, agar Android bo'lmaganida Java sekinroq o'sgan bo'lardi.

PHP ikkinchi eng mashhur veb-ilovalarni dasturlash tili bo'lib, u ham sezilarli darajada o'sib bormoqda (32 yilda 2018% ga). Uning hamjamiyati 5.9 million dasturchilarni tashkil qiladi. PHP ning qutbli obro'siga qaramay, uni o'rganish juda oson va keng qo'llaniladi.

Hozirgi yosh nomzodlar oldingi avlodlarga nisbatan qanday tahsil oladi?

HackerRank ma'lumotlari yana. Hozir 38 dan 53 gacha bo'lganlar o'zlarining birinchi loyihalari sifatida o'yinlarni ro'yxatga olishadi.

Aytgancha, mening birinchi ko'p yoki kamroq ishlaydigan loyiham cheksiz maydon bilan ketma-ket beshtagacha "tic-tac-toe" ekanligini tasdiqlayman, ikkinchisi 15 o'yin edi. Men bularning barchasini yozdim. Miloddan avvalgi 010-01, Bor edi Vilnyus asosiy, aka BASIC-86 va fokal. Eh.

Zamonaviy boshlang'ich dasturchilar (21 yoshgacha) o'zlarining birinchi loyihalari sifatida kalkulyatorlar va veb-saytlarni yozadilar.

X avlod vakillarining deyarli yarmi kod yozishni 16 yoshdan oldin boshlagan, ko'pchiligi 5 yoshdan 10 yoshgacha (asosan hozir 35 yoshdan 45 yoshgacha bo'lganlar) kod yozishni boshlagan. Buning sababi ko'proq yoki kamroq tushunarli: ma'lumot manbalari kam edi va dasturchi bo'lish uchun siz buni juda xohlashingiz kerak edi va uni chindan ham xohlaydiganlar dasturlashni erta boshlashdi. Buni juda xohlamaganlar, ehtimol, endi boshqa kasbga ega, shuning uchun sotsiologiyadagi rasm aynan shunday.

"Bizni yer yuzidan yo'q qiladigan yosh panklar qani?"

Hozirgi yosh nomzodlar atigi 20% 16 yoshdan oldin dasturlashni boshlaydilar, aksariyati 16 dan 20 gacha. Ammo ular uchun o'rganish ham ancha oson; endi u ancha qulayroq.

topilmalar

Men hali ham boshlang'ich veb-sayt dasturchisiga SQL kerakmi degan savolga aniq javob topa olmadim, ammo men dasturchilarning zamonaviy populyatsiyasi haqidagi fikrimni to'g'irladim.

Ishlab chiquvchilarning keyingi avlodi oddiy odamlardir, ular qaysidir ma'noda avvalgilariga o'xshaydi, uy-joy muammosi ularni faqat buzdi. Ular ish beruvchilar tomonidan yaratilgan talabni qondiradi. Natijalarga tezda erishishga imkon beradigan qulayroq vositalar va ramkalar tufayli kasbga kirish chegarasi pastroq bo'ldi. Hozirda ko'proq odamlar dasturchiga aylanishmoqda; raqamli avlod (Z avlodi) tug'ilganidan beri texnologiyada yashaydi; ular uchun bu oddiy kasb, boshqalardan kam emas.

L1 kesh kechikishi ~ 4 sikl ekanligini va kesh liniyalarini keraksiz ravishda buzmaslik yaxshiroq ekanligini biladiganlar umumiy populyatsiya hajmining foizi sifatida kamroq bo'ladi. Biroq, ular ishga joylashish haqida qayg'urmasliklari kerak, chunki kimdir hali ham kerak bo'lgan joyda past darajadagi narsalarni yozishi kerak. Xuddi shunday, tizimni loyihalash bo'yicha chuqur fundamental bilimga ega bo'lgan va uni qonli amaliy janglarda qo'lga kiritgan va shunchaki yuk kultiga ergashmaydiganlar tashvishlanmasliklari kerak. Chunki jamoalarda "shunchaki kod yoza oladigan" va "shunchaki" ramkalardan foydalana oladigan odamlar ko'proq bo'ladi va "maqsadsiz o'tgan yillardagi og'riqli azoblardan qochish" uchun (c) ularni aynan shunday odamlar muvozanatlashi kerak. .

Yumshoq ko'nikmalar asta-sekin kerakli toifadan majburiy toifaga o'tadi (menda buni tasdiqlash uchun ob'ektiv ma'lumotlar yo'q, shunchaki amaliy kuzatish). Dasturchilar soni ortib bormoqda va ularning barchasi to'g'ridan-to'g'ri yoki bilvosita nazorat orqali natijalarga erishish uchun yo'naltirilishi kerak va aynan shu narsa uchun yumshoq ko'nikmalar kerak.

"ITga kirish" menimcha, dasturchining daromadi taqqoslanadigan "IT bo'lmagan" mutaxassisning daromadidan sezilarli darajada farq qiladigan joylar uchun xos bo'lgan mahalliy mintaqaviy voqea bo'lib tuyuladi. Men yashayotgan Minskda bu ommaviy harakat, har kuni men istagan IT sohasiga kirish bo'yicha yangi kurslar haqidagi e'lonlarni ko'raman va tozalash kompaniyalari dasturchilarni nishonga olishadi "Bu rasmdagi kodni tushunyapsizmi? Bu sizning kvartirangizni tozalamaslikka imkoningiz borligini anglatadi, biz siz uchun hamma narsani qilamiz. Ayrim Hindistonda ham xuddi shunday holat kuzatilmoqda. Menda buni tasdiqlaydigan ma'lumotlar ham yo'q.

Umuman olganda, mening fikrimcha, dasturchilar aholisiga hech narsa tahdid solmaydi. Kun davomida haqiqiy dasturchilarni topa olmasligingiz va nomzodlar ko'pincha "hech narsa bilmasligi" haqida gapirib berishning ma'nosi yo'q. Ular xuddi shunday aqlli va qobiliyatli, balki "haqiqiy dasturchilar"dan ham aqlliroq va qobiliyatliroqdirlar; ular shunchaki tez o'sib borayotgan bozor ulardan talab qiladigan bilimlarga ega bo'lishadi va ular hali kerak bo'lmagan va foyda keltirmaydigan narsalarni keyinga qoldiradilar. hozir. Ular kerak bo'lganda o'rganishadi, chunki ular hali ham o'rganishni xohlashadi. Ehtimol, hamma ham bunga qodir emas, lekin hamma ham bunga muhtoj emas, yaqin kelajakda bozor qandaydir ramka yordamida boshqa dastur kontseptsiyasini tezda jamlay oladigan odamlarni osongina qabul qiladi.

So'rovda faqat ro'yxatdan o'tgan foydalanuvchilar ishtirok etishlari mumkin. tizimga kirishiltimos.

Veb-backender intervyulari SQL bilimini talab qiladimi?

  • Ha, men buni talab qilaman, chunki u menga ish uchun kerak

  • Ha, men ishda kamdan-kam hollarda kerak bo'lsa-da.

  • Yo'q, men buni talab qilmayman, bizda NoSQL mavjud

  • Yo'q, men buni talab qilmayman, ORM hamma narsani qiladi

320 foydalanuvchi ovoz berdi. 230 nafar foydalanuvchi betaraf qolgan.

Manba: www.habr.com

a Izoh qo'shish