Qanday qilib dasturchi bo‘lish mumkin: kasbning o‘ziga xos jihatlari va maoshi haqida
© Depositphotos / RawpixelProgrammist v protsesse raboti
© Depositphotos / Rawpixel
Obuna bo‘lish
Dasturchi kim? Qanday qilib dasturchi bo‘lish mumkin va rostdan ham bu kasb egalariga ko‘p haq to‘lanadimi? – javoblarni Sputnik materialidan topasiz.
Dasturlash- XXI asrning eng jadal rivojlanayotgan texnologik yo‘nalishlaridan biri.
Bugungi kunda IT mutaxassislariga talab juda yuqori, bu kasbda ijod uchun cheksiz imkoniyatlar bor va dasturchilarga yaxshi haq ham to‘lanadi.
Xo‘sh, qanday qilib dasturchi bo‘lish mumkin? Sputnik radiosi materialida bu kasbga qadam qo‘yayotganlar uchun barchasi keltirib o‘tilgan.
Dasturchi kim?
Bugungi kunda hayotimizni turli xil ilovalarga ega smartfonlar, agregatorlar, onlayn xizmatlar va boshqa bir dunyo virtual texnologik narsalarsiz tasavvur qila olmaymiz. Bularning barchasi esa- dasturchilar qo‘li bilan yaratiladi.
Bunday mutaxassis dastur yaratadi-bularning barchasi o‘sha–o‘sha xizmatlar va platformalardir. IT mutaxassis- dasturchi bo‘lishi shart emas, masalan IT-loyihalar menejeri. IT- mutaxassis umumiy so‘z bo‘lib ellikdan ortiq mutaxassisliklar, yo‘nalishlar va lavozimlarni o‘z ichiga oladi
Ularning barchasini informatsion texnologiyalar va tizimlar bilan ishlash birlashtirib turadi, biroq ba’zida ular o‘rtasidagi farq shu darajada kattaki, qayt o‘rganmasdan turib shunchaki bu sohadan boshqasiga “sakrash” juda murakkab.
Va albatta, kompyuter tuzatadigan usta bilan dasturchini adashtirmaslik kerak- bu bir xil kasb emas. Dasturchi kuler yoki videokartangizni bilan bog‘liq muammolarni hal qilishga majbur emas.(garchi qisman ular haqida bilishi mumkin). Singan dipley, kir yuvish mashinasi yoki dazmol muammolari bilan ushbu kasb egalarining boshini og‘ritish kerak emas.
Dasturchi dasturlash tillaridan birida kod yaratib, dasturiy ta’minotni yozadi- belgilar, harflar, so‘zlar va raqamlarni terish va yozish uchun maxsus tizim. Yuzlab dasturlash tillari mavjud, biroq ular orasidagi eng ko‘p foydalaniladiganlari- Java, Python, Perl, PHP, C#, JavaScript, C, S++, Objective-C, Swift.
Har xil vazifalar va mahsulotlar turli tillardan foydalanishni talab qiladi. O‘rganish uchun qaysi dasturlash tilini tanlash kerakligini odamning o‘zi hal qiladi deydi Axborot xavfsizligi bo‘yicha mutaxassis, dasturchi Taras Tatarinov Sputnik Radiosiga izoh berarkan.
Hozir aniq bir dasturlash tili yoki platformadan foydalanish trendga chiqqan deyish qiyin. IT sohasida aynan aniq tanlangan yo‘nalishda rivojlanish kerak. Universal yo‘nalish yoki universal mutaxassislar bo‘lmaydi bu sohada
Kasb egalariga bo‘lgan talabga kelsak, dasturchilar deyarli barcha zamonaviy kompaniyalarga, hammaga har doim kerak: Rossiyada ish izlash bo‘yicha eng mashhur saytlaridan birida IT bo‘yicha 15 yarim mingdan ortiq vakansiyalar e’lon qilingan, va bu ham faqat Moskvada- hamma ham aynan kodlar yozadigan mutaxassislarni qidirmaydi, ammo biz bilamizki, dasturchilik ta’limi industriyada ko‘plab eshiklarni ochadi.
Bunday mutaxassislarga talab tobora ortib boradi, chunki insoniyat ham hayotni va uning barcha jabhalarini raqamlashtirish yo‘lidan bormoqda. Shu sababli, kasb bozorda eng ko‘p talab qilinadigan bo‘lmasa ham, istiqbolli va zarur bo‘lgan 5 ta eng talab yuqori kasblar sirasiga kiradi.
Kasb xususiyatlari va mutaxassislik
Mutaxassisliklarni uzoq vaqt sanash mumkin, batafsil har bir mutaxassislik haqida esa yanada uzoqroq so‘zlash mumkin- shuning uchun biz faqat bir nechtasiga to‘xtalamiz. Ishlab chiqarish nuqtayi nazaridan uchta katta segment mavjud – tizimli, amaliy va veb dasturchilar.
Tizimli dasturlash - operatsion tizimlar, yangilanishlar va ular uchun proshivkalarni yaratish degani, masalan, mobil ishlab chiqish - iOS-ishlanma va Android-ishlanma (darvoqe, bu ikki platforma shunchalik farq qiladiki, dasturchilar odatda faqat bitta yo‘nalish bilan shug‘ullanadi. Ushbu operatsion tizimlar uchun mobil ilovalarni yaratishda xuddi shunday bo‘ladi).
Amaliy ishlanmalar va biznes dasturlari buyurtma bo‘yicha ma’lum bir "operatsion tizimda" ishlash kerak bo‘lgan aniq ilovalar va xizmatlar degani.
Veb-ishlanma, o‘z navbatida, saytlar, veb-ilovalarni yaratish va ularning ishlashi uchun dasturlarni yaratishga bag‘ishlangan. Frontend-ishlanma, Backend-ishlanma, Fullstack-ishlanma- bularning barchasi har doim dasturlash haqida bo‘lmasa ham, Internet maydoni haqida.
Birinchisi- grafik foydalanuvchi interfeysni yaratish haqida: bunday mutaxassis ham dizayner (veb-dizayn o‘zining nozik jihatlarga boy) va dasturchi bo‘lishi kerak.
Ikkinchisi- mohiyatni ishlab chiqish, "to‘ldirish", dasturiy ta’minotning miyasi haqida: oddiy misol - standart sayt sozlamalarini hisobga olgan holda so‘rovlaringiz va afzalliklaringiz, filtrlaringiz bo‘yicha qidiruv natijalarini tanlaydigan ma’lum bir agregator.
Uchinchisi-(fullstack-ishlanma) yuqorida tavsiflangan ikkita mutaxassislikning haqiqiy kombinatsiyasi bo‘lib, bunda dasturchi ikkalasi bilan ishlaydi.
Yana bir mavzu - yuqorida aytib o‘tilgan dasturlash tili bo‘yicha koderlarni bo‘lish. Albatta, bir vaqtning o‘zida bir nechta tillarni bilish tavsiya etiladi va shu bilan karyera istiqbollari yaxshilanadi.
DevOps/DevSecOps mutaxassislari haqida ham so‘zlash lozim – ular o‘z ishlarida tizim boshqaruvi, ishlab chiqish, testdan o‘tkazish va menedjmentni birgalikda olib boradigan muhandislardir. Ular, shuningdek, xavfsizlik tamoyillarini joriy etish bilan ham shug‘ullanadi.
Va yana ishlab chiqish sohalari haqida bir oz batafsil so‘zlasak. Neyroset va kompyuterni ko‘rish qobiliyati kabi qiziqarli sohalar haqida alohida to‘xtalib o‘tish kerak.
Neyroset - bu inson miyasi qanday ishlashini eslatib yuboradigan raqamli aqlli tizim. Bunday "kompyuter miyalari" tovushlar, nutq, tasvirlarni tahlil qilish va tanib olish uchun zarur. Videokuzatuv va tanish tizimlari, ovozli yordamchiga ega aqlli uy dinamiklari, hatto DeepFake yuzini almashtirish bilan ko‘ngilochar videolari - bularning barchasi hozirda mavjud va neyron tarmoqlar yordamida ishlaydi.
Neyrosetlarning kelajagi bor, ular bizga yuqori texnologiyali hayotni chinakam "aqlli" va o‘rganish mumkin bo‘lgan texnologiyalar bilan ta’minlaydi, shuning uchun yo‘nalish juda istiqbolli.
Kompyuterdek ko‘ra olish qobiliyati - bu sun’iy intellekt rivojlanishiga tegishli texnologiya: mashinani tasvirlarni "ko‘rish"ga, ularni tanib olish va tahlil qilishga o‘rgatish mumkin. Xavfsizlik, tibbiyot, sanoat, savdo - amalga oshirish doirasi va potensial foydalanish juda keng. Chiqarilgan mahsulotni hurda uchun tekshirish, tasvirlarni baholash va tasvirlar, dronlar va robotlar ishlab chiqaradigan boshqa tadqiqotlar faqat bir nechta misoldir.
Kompyuternoe zrenie — texnologiya, prinadlejashaya k oblasti razrabotki iskusstvennogo intellekta: mashinu mojno nauchit "videt" izobrajeniya, raspoznavat ix i analizirovat. Bezopasnost, meditsina, promishlennost, torgovlya — sfera vnedreniya i potensialnogo ispolzovaniya obshirna. Ishlab chiqarilgan mhsulotning yaroqli-yaroqsizligini tekshirish, tasvirlarni baholash va tasvirlar chiqaradigan boshqa tadqiqotlar natijalari, dronlar va robotlar- mana bir nechta misollar.
Bundan tashqari, ma’lumotlar tahlili va statistika, mashina o‘rganish texnologiyalari, data scientist ixtisosligi - bularning barchasi umuman IT sohasiga, xususan, dasturlashga kiradi.
Tahlil va statistika juda ko‘p ma’lumotlar bazalari, Big Data bilan ishlashga tayyorlar uchun, ehtimol, yangi qonuniyatlarni kashf qilish, trendlarni aniqlash, tahliliy va statistik natijalarga asoslangan g‘oyalarni yaratish uchun kerak.
Analiz i statistika podoydut tem, kto gotov imet delo s ogromnim kolichestvom baz dannix, Big Data, chtobi, vozmojno, obnarujivat novie zakonomernosti, viavlyat trendi, generirovat idei na osnove tex samix analiticheskix i statisticheskix rezultatov.
"Orzudagi ish"da kompyuter o‘yinlarini yaxshi ko‘radiganlar bilishi kerak- GameDev - turli platformalar, smartfonlar va shaxsiy kompyuterlar uchun o‘yinlarni yaratish uchun ishlanma.
Qayerda o‘qish kerak: ta’lim maskanlari va kurslar haqida
Dasturchi kasbini klassik usulda - universitetlarda, o‘rta maxsus muassasalarda va kollejlarda o‘zlashtirishingiz mumkin. Yoki muqobil ravishda: an’anaviy va masofaviy kurslarda, shu jumladan,keyinchalik ish bilan ta’minlagan yirik kompaniyalarda yoki hatto mustaqil ravishda ham o‘rganishingiz mumkin, chunki kerakli adabiyotlar va manbalar juda ko‘p.
Darvoqe, u yoki bu shaklda muntazam o‘qishga to‘g‘ri keladi- bu kasbning talablaridan biri
Oliy o‘quv yurtida ta’lim olish standart ravishda bakalavriat va magistratura kurslari bo‘yicha 4-6 yil.
Mantiqan yetakchi texnik universitetlarni tanlash to‘g‘ri, oliy ta’lim muassasiga kirish uchun majburiy rus tilidan tashqari matematika, fizika va informatika bo‘yicha bilim kerak - kirish imtihonlari to‘plami muayan ta’lim kursiga qarab farq qilishi mumkin.
Shaxsiy harakatlar va afzalliklarga qarab "Amaliy matematika", "Informatika va sanash texnikasi", "Amaliy informatika", "Dasturi injiniring", "Axborot xavfsizligi" mutaxassisliklarini tanlash kerak.
IT-mutaxassislarga bo‘lgan yuqori talab tufayli ko‘p universitetlar o‘z ta’lim dasturlari ro‘yxatiga tegishli yo‘nalishlarni qo‘shgan yoki qo‘shish arafasida.
Shunga qaramay, birinchi navbatda, ishonchli obro‘ga ega bo‘lgan yetakchi ta’lim muassasalariga e’tibor qaratish lozim: Moskva fizika-texnika instituti (MIPT), boshqalardan tashqari mashhur Massachusets texnologiya instituti (MIT) bilan aloqalar o‘rnatgan. N.E. Bauman nomidagi Moskva davlat texnika universiteti, Sankt-Peterburg davlat axborot texnologiyalari, mexanika va optika universiteti (ITMO), Buyuk Potr Sankt-Peterburg politexnika universiteti. Va albatta "klassiklar" - M.V.Lomonosov nomidagi Moskva davlat universiteti va Sankt-Peterburg davlat universitetlari shular qatoridandir.
Bundan tashqari, universitetlar va yirik kompaniyalarda o‘quv kurslari va maxsus dasturlar mavjud; ular onlayn yoki oflayn rejimda o‘tkazilishi mumkin. Odatdagidek, ularda yetakchi oliy o‘quv yurtlari o‘qituvchilari dars beradi.
Shuni ham tushunish kerakki, ish beruvchi ishga qabul qilishda ishga da’vogarning amaliy ko‘nikmalarini, test topshirig‘i shaklida tekshirishi mumkin. Bunda "yaltiroq qog‘oz,ya’ni diplom" emas, balki haqiqiy ko‘nikmalar hal qiluvchi rol o‘ynaydi, lekin maxsus ta’lim kerak emas deb o‘ylamaslik kerak.
Ishga joylashish va ish joyi
Yuqorida aytib o‘tganimizdek, dasturiy ta’minot ishlab chiqaruvchilari hamma joyda kerak. Biroq, dasturchining ishi juda xilma-xil bo‘lishi mumkin. Avvalo, bu tashkilot turiga bog‘liq.
IT-kompaniyada qat’iy ixtisoslashtirilgan vazifalarni hal qilish, yangi mahsulotlar va texnologik yechimlarni yaratish, mavjud dasturiy ta’minot uchun yangilanishlarni ishlab chiqish kerak bo‘ladi.
To‘g‘ridan-to‘g‘ri IT sanoati bilan bog‘liq bo‘lmagan kompaniyada, odatdagidek, bir vaqtning o‘zida hammasi bilan tezdashug‘ullanadigan "ko‘p stansiyali dasturchilar" kerak bo‘ladi: barcha raqamli tizimlar ishlashi, sayt va korporativ dasturiy ta’minotni sozlash, yaxshilash va albatta "mana bu tugmani bosgandim hamma narsa g‘oyib bo‘lib qoldi" yoki "biz uni shunday ishlashini xohlaymiz, shuni bajaring" qabilidagimuammo yoki vazifani hal qilish kerak bo‘ladi
Shunda katta tajriba orttirishingiz, ko‘nikmalarni rivojlantirishingiz va shu bilan o‘z rezumeingizni to‘ldirib borishingiz mumkin.
Darvoqe, tillarni bilish mutlaqo foydali element: ingliz tilini bilmasdan dasturchi sifatida ishlash mumkin, ammo ingliz tilini bilish bu ishda faqat va faqat olqishlanadi.
Bu kasbiy vazifalar doirasidagi muammolarni hal qilish imkoniyatini ham oshiradi. Shuningdek, bu eng yirik xalqaro kompaniyalarda ishga joylashish imkoniyatlarini ochadi.
Shaxsiy sifatlar
Dasturchi bo‘lish va bu sohada muvaffaqiyatga erishish uchun matematik qobiliyat, qat’iyatlilik, ehtiyotkorlik, mantiqiy fikrlash va ijodiy yondashuv kerak. Bir oz sabr ham zarar qilmaydi, yaxshi xotira, ko‘p vazifalarni bajara olish, moslashuvchanlik ham.
Muntazam o‘z shaxsiy darajangizni oshirib borishingiz, bilim va ko‘nikmalaringizni yangilab borish lozim. Masalan, aytaylik, besh yil oldin zamonaviy dunyoda mavjud bo‘lgan tajribaning ahamiyati yo‘q, shuning uchun biz yetakchi lavozimlarda ham shunday tendensiyani ko‘rapmiz. Asosan yetakchi dasturchilar orasida butunlay yoshlar ko‘p, chunki yoshlar ko‘proq ilg‘or fikrlovchilar bo‘lib, yangi texnologiyalarni faol o‘zlashtirmayotgan yoshi kattalarga qaraganda ko‘proq o‘rganadilar, kattalar esa o‘zlarining o‘tmishdagi tajribasiga tayanadilar, bu esa allaqachon ahamiyatsiz bo‘lishi mumkin
Ko‘pincha dasturchilar loyihalarni guruh bo‘lib ishlab chiqadi, shuning uchun bu kasbda soft skills ko‘nikmalar ham talab qilinadi: xushmuomalalik (siz ofisda emas, masofadan turib vazifalarni bajarsangiz ham, hamkasblar va rahbariyat bilan muloqot qilishingiz kerak bo‘ladi) va jamoada ishlash qobiliyati kerak bo‘ladi.
Ish haqi
IT sohasida ish haqi juda yuqori, degan fikr keng tarqalgan. Bu qisman to‘g‘ri, chunki ko‘plab mutaxassislargatalab yuqori va talabni qondirish uchun hali ham malakali kadrlar yo‘q.
Boshqa tomondan, cheklangan ko‘nikmalarga ega, sohaga endi kirib kelgan boshlang‘ich dasturchilar olti raqamli summa topishi amri mahol.
Yoshi kichikdasturchilar (karyeraning birinchi bosqichi) oyiga 30-40 ming rubl olishi mumkin (bu talaba uchun anchayin yaxshi summa), ammo katta tajriba va ko‘nikmaga ega bo‘lgan mutaxassislar, masalan, dasturiy ta’minot arxitektorlari, yuz minglab summaga da’vo qiladi.
Ish haqi borasida tarqoqlik juda katta. Va bu kasbiy mahoratga bog‘liq. Katta kompaniyada yaxshi dasturchi uchun oyiga 500 ming rubl ko‘rsatkichi tamomila real summa - dedi Taras Tatarinov.
Mashhur dasturchilar
Bill Geyts, Mark Sukerberg, Sergey Brin, Yevgeniy Kasperskiy va Pavel Durovlarning ismi albatta barchaga yaxshi tanish. Bu insonlar IT va dunyomizning hozirgi holatiga kelishiga katta hissa qo‘shgan ajoyib dasturchilar.
Biroq, keng jamoatchilik orasida unchalik mashhur bo‘lmagan yoki milliarder bo‘lishga ulgurmagan, ammo ahamiyati va mehnatining salmog‘i kam bo‘lmagan dasturchilarni ham ta’kidlab o‘tish kerak.
Linus Torvalds - Linux operatsion tizimi yaratuvchisi. Uni afsona, deb ayta olmaymiz, lekin u zamonaviy IT qiyofasini belgilab bergan narsani yaratgan. Boshqa tomondan esa, uni shunday deb aytish mumkin emas. U IT olamidagi o‘ziga xos afsona emas , lekin u aniq tarixga kirgan. Yoki aytaylik, Dennis Ritchi, C tili yaratuvchisi – u ham o‘z hissasi uchun xotirlanadi, ardoqlanadi va qadrlanadi. Ammo u xuddi Stiv Jobs yoki boshqalar kabi media odami emas edi. Bu nomlar IT olamiga hech qanday aloqasi bo‘lmagan kishiga tanish bo‘lishi dargumon
Axborot texnologiyalari va dasturlashning kelib chiqishi haqida so‘z ketganda, kashshoflar, ota va ona-asoschilarni eslamasdan bo‘lmaydi.
Darvoqe, onalar haqida: matematik olim va lord Bayronning qizi Ada Lavleys tarixdagi birinchi dasturning asoschisi hisoblanadi (XIX asr o‘rtalari). U Bernulli raqamlarini mashinada hisoblash algoritmiga asos solgan
Ko‘p o‘tmay venger-amerikalik matematik Jon fon Neyman haqiqatan ham zamonaviy kompyuterning o‘tmishdoshi-ikkala dasturni va ular ishlash uchun foydalanadigan ma’lumotlarni "saqlovchi" mashina dizaynini ixtiro qildi.
Agar biz hozirgi kun haqida so‘zlaydigan bo‘lsak, dasturlash mafkurasi va “Dasturlash san’ati” monumental asari muallifi Donald Knutni eslab o‘tmasdan iloj yo‘q: uning mashhur asari dunyodagi barcha dasturchilar o‘qishi shart bo‘lgan kitob deya hisoblanadi.
Britaniyalik Ser Tim Berners-Li HTTP protokolini yaratgan, va deyarli butun Internet unga asoslangan.
URL va HTML xuddi xalqaro o‘rgimchak to‘ri kabi- Berners-Lining aqliy farzandlaridir. Jeyms Gosling mashhur Java dasturlash tilini, Brem Koen BitTorrent protokolini, Byern Straustrup C++tilini (C dasturlash tilining takomillashtirilgan versiyasi) ixtiro qilgan. Bu ham IT olamida muhim bo‘lgan insonlarning to‘liq ro‘yxati emas.
Bu sohaning jadal rivojlanishi bilan bunday nomlar ko‘payadi deb ishonamiz.