Ko'p tanishlarim menga qaysi dasturlash tilini o'rganish kerakligini so'rab yoki dasturlashni o'rganishni boshlab, o'rganayogan til yoki freymvorklari haqida yozib qolishadi. O'zi shu narsani o'rganishim to'g'rimi degan savollar ham ko'p beriladi. Shu kabi savollarga umumiyroq javob bo'lishi uchun ushbu maqolani yozishga jazm qildim.
O'zim nega frontendni tanlaganim haqida
Men ilk kodimni HTMLda yozganman. Bu shunchaki qiziqish yuzasidan bo'lgan. Keyinchalik dasturchi bo'lishga qaror qilgach, men o'zimga tanish bo'lgan yo'ldan boshlash eng ma'quli va osoni deb bildim. Lekin asl niyatim frontendni biroz o'rganib backendni o'rganish bo'lgan.
Men chiroyli va qulay foydalanuvchi interfeysini yaratishga juda qiziqib qodim. CSS3 va JavaScript orqali "mo'jizalar" yaratish mumkinlignini angladim va o'zimda shu yo'nalishga moyillik sezdim. Shunday qilib men frontend dasturchi bo'lishga qaror qildim.
Yo'nalishni aniqlab olish
Hamma o'zingizga yoqqan yo'nalishni tanlang deb maslahat berishadi. Lekin o'sha nima yoqishini bilolmay qiynalayotganlar ham bor. Shuning uchun avvalo o'zingizga savol berib ko'ring: Nega dasturchi bo'lmoqchiman?
Balki o'zingizda dasturlashga iqtidor sezganingiz uchundir? Unday bo'lsa bir ilhomingizni ishga solib, dasturchi sifatida nimalar yaratishni xohlashingiz haqida o'ylab ko'ring. Balki bu mobil ilovadir, veb-saytdir, o'yindir, boringki sun'iy intellekt bo'lsin. Aynan ko'z oldingizga keltirishingiz shart emas, shunchaki ichingizda qaysi biriga moyil ekaningizni anglab oling. Shu orqali o'zingizga yo'nalish tanlab olasiz, va o'sha moyillik o'rganish jarayonini yengillashtiradi.
Ko'proq pul topish uchunmi? Agar pul topish asosiy maqsad bo'lsa, bilingki, dasturchining maoshini uning bilim-tajribasi belgilaydi. Bilim va tajriba esa qaysi yo'nalish bo'lmasin vaqt talab qiladi. Ya’ni sizning daromadingiz tajriba va ko’nikmalaringizga to’g’ri proportsional. Sezganingizdek, pul asosiy motivatsiya o’chog’i bo’lsa, shu joyda paradoks yuzaga keladi. Bu qoida nafaqat ITda balki boshqa barcha sohalarda ham mavjud. Shuning uchun hammasidan oldin shu masalalarda o’zing bilan ochiq munosabatda bo’ling. Mehnatsiz natijaga erishib bo’lmaydi.
Bilmaysizmi? Balki sizni kimdir ilhomlantirar? Masalan, Bill Gates yoki biror professional dasturchi tanishingiz. U holda shunchaki ularga ergashing. Misol uchun, agar o'sha odam iOS dasturchisi bo'lsa siz ham iOS dasturlashni o'rganishni boshlang. Agar shu odam bilan bog'lanish imkoni bo'lsa maslahatlar oling. Muhimi bir sohani ushlab unga chuqur kirishish.
Bu maslahatlar ko'proq dasturlashga kirishib olish uchun yordam beradi. Agar qaysi yo'ldan ketishni tanlagan bo'lsangiz endi sizda "Qaysi tilni o'rgaman?"ga o'xshagan savollarga o'z-o'zidan javob bo'ladi. Kamida shu kabi savollar endi kichikroq ko'lamda bo'ladi. Chunki biz yuzlagan texnologiyalar ichidan o'zimizga keraklilarini ajratib oldik. Agar keyinchalik tanlagan yo'nalishingizdan boshqasiga o'tishni xohlasangiz ham endi qo'rqmasdan o'tishingiz mumkin. Chunki dasturlash tillari bir-biriga o'xshash. Dasturlash tilida ko'nikmalaringiz yaxshi shakllanishga ulgurgan bo'lsa, shu tildagi freymvorklarning ham aksariyatining umumiy joylari ko'p.
O'rganadigan narsa ko'p, nima qilay?
Sizga aytsam o'rganadigan narsa hech qachon tugamaydi. Istalgan sohani oling, bilishingiz kerak bo'lgan narsalar boshqasinikidan kam emas. Umuman olganda, biror bir soha professionali bo'lishning yagona qiyinchiligi ko'p bilim va ko'nikmalarga ega bo'lishda. O'sha professionallar ham bir kechada hozirgi darajalariga chiqib olmaganlar. Qizig'i shuki ular hozir ham o'rganishda davom etmoqdalar.
Hech qachon shoshilmang! O'rganiladigan narsalar ketma-ketligini (roadmap) internet orqali ko'rib chiqing yoki tajribasi bor dasturchilardan so'rab maslahatlarini oling va sekin o'rganishni boshlang. Mana bu yerda hozirda ommabop bo'lgan yo'nalishlar roadmaplari bor. Agar sizga kerakligini topa olmasangiz har doim Googledan "Roadmap soha" deb qidirishingiz mumkin. Masalan "Roadmap game development".
Ha aytgancha, haaammma narsani bilishingiz shartmas, buni sizdan hech kim talab ham qilmaydi. Bilimning ko'pi tajriba orqali keladi. Ba'zida holatlar bo'ladi oldingizdan bir muammo chiqqanda xohlang, xohlamang uning yechimi bo'lgan narsani chuqur o'rganib olasiz. To'g'rirog'i, majbur bo'lasiz. Shuning uchun hotirjam bo'ling, o'rganishda shoshilmang.
Ustozim bo'lishi shartmi?
Aynan "Ustoooz" bo'lishi shart emas. Lekin bo'lgani yaxshi. Kamida qiynalgan paytingizda savollaringizga javob berib, yo'l ko'rsata oladigan odam bo'lishi yetarli. Agar ustozingiz bo'lsa o'rganishingiz nisbatan tez bo'ladi. Chunki xatolaringizni doim ko'rsatib turadigan odam bo'lsa, siz kamroq xato qilishga harakat qilasiz va natijada ko'proq xato qilasiz. Keyin esa bora-bora xatolaringiz kamayadi. Agar yo'l ko'rsatuvchi bo'lmasa, qilyotganingiz xato yoki noto'g'riligini boshida bilolmaysiz. Vaholanki, ishingiz hech qachon avval boshidan to'g'ri bo'lmaydi. Shunchaki ustozsiz buni kechroq tushunib yetasiz.
Mening o'ziming ustozim bo'lmagan. Lekin yordam so'ray oladigan o'zimdan katta dasturchilar bilan tanishib, ular orqali xatolarim ustida ishlaganman. Ayniqsa ishga joylashgandan so'ng o'zimdan kuchli dasturchilar bilan ishlab ancha-muncha tajriba olganman.
Albatta, savollaringizga internetdan ham javob topsangiz bo'ladi. Faqat har doim ham aynan siz izlagan narsa topilavermaydi. Ayniqsa o'zbek tilida qidirsangiz. Shuning uchun mustaqil o'rganuvchilar ingliz yoki rus tilini yaxshi bilishlari kerak.
Video darslar girdobi
Video darslar dasturlashni endi boshlayotganlar uchun eng zo'r material. Boshlang'ich bilimni video darslar orqali olib, keyin kimgadir shogird tushish - o'rganishning men bilgan eng effektiv usuli. Chunki video darslardan keyin sizda endi ma'noli savollar paydo bo'la boshlaydi.
Internetda sifatli bir-biridan zo'r onlayn darslar ko'p. Agar sarlavhalarini o'qisangiz hammasini ko'rib chiqishim kerak ekan deb qolasiz. Bu huddi supermarketga kirib yaltiragan hamma narsani olishni xohlaganingizdek gap. Ba'zilar video darslarni keragidan ortiq ko'rib vaqtlarini yo'qotishadi. Maslahatim, siz faqat o'sha video kurslardan yoqqan bittasini olib ko'rib chiqing, unda qilinayotgan ishlarni o'zingiz ham bajaring. Keyin shu texnologiyani ishlatib mustaqil bir proyekt qilib ko'ring. Shunda bilimingiz mustahkamlashadi. Agar shunda ham tushunmovchiliklar bo'lsa boshqa kursni ko'rib chiqing. Lekin endi ularga ko'p vaqt ajratmang. Savollaringizga javob bera oladigan joylarinigina ko'ring.
Xullas, faqat video ko'rib bilim olib bo'lmaydi, o'zingiz nimadir bajarishingiz kerak. Tajriba muhim. Dasturlashda ba'zi tushunchalarni boshida na o'qish, na video ko'rish orqali tushunolmaysiz. Hatto kimdir oldingizda tushuntirib bersa ham qabul qilish qiyin kechadi. Bu holatlarda o'sha narsani o'zingiz amalda takrorlayverishingiz kerak. Shunda oxir-oqibat "ahaa" deb birdan tushunib yetasiz. Bu kabi og'irroq mavzu va tushunchalar shunchaki vaqt talab qiladi, xavotirga umuman hojat yo'q. Demoqchimanki, vaqtingizni video darslarni ko'p ko'raverishdan ko'ra, amaliy mashg'ulotlarga sarflang.
Xulosa
TATUda o'qiyotgan paytim oliy matematika domlamiz shunday degandi:
Suzishni o'rganish uchun, suvga tushish kerak.
Qaysiki yo'nalishni tanlamang, faqat ma'lum bir pog'onaga yetkazing. Hech qachon o'rganayotganingizni chala tashlab ketmang. Sizdan ozgina jasorat. Agar biror yo'nalishni tanlab keyin boshqasiga o'tishni xohlab qolsangiz ham, endi siz "suv"ning qandayligini, "suzish" nimaligini bilasiz.
Omad!