Bilasizmi?

Men qanday qilib dasturchi bo‘ldim? - Farhod Dadajonov

Bizga o‘quvchilarimizda dasturlash tillarini qanday o‘rganish mumkinligi haqida maqolalar berib borish istaklari ko‘p marotaba keldi. Biz shu sababdan O‘zbekiston va xorijda dasturchi bo‘lib ishlayotgan vatandoshlarimiz qanday qilib dasturlashni muvaffaqiyatli o‘rganib olishganligiga qiziqdik. Natijada  Erkak.uz saytida har hafta "Men qanday qilib dasturchi bo‘ldim" nomi ostida seriyali-maqolalar berib boramiz. Bugungi mehmonimiz Malayziyada banklarga dasturiy ta’minot vositalarini ishlab chiqaruvchi va xizmat ko‘rsatuvchi "SONSOLSYS SDN BHD" kompaniyasida yetakchi dasturchi bo‘lib ishlayotgan Farhod Dadajonov akamiz bo‘ladilar. Farhod aka quyida qanday qilib dasturlash tillarini va kompyuter ilmini o‘rganganini so‘zlab beradilar.

* * *

farhoddadajanovroundDasturlashdan ilk tajribam maktabda 6-7-sinflarda o‘qib yurganda bo‘lgan edi. O‘shanda ekranga har xil shakllar chiqaradigan kichkina dasturchalarni Basis tilida, Praves 8a kompyuterida yozar edik:

10 REM DOIRA 20 ...

O‘sha vaqtda yozgan dasturimni nima qilishni to‘liq tushunmagan bo‘lsam ham, vazifamni sinfda birinchilardan bo‘lib bajarar edim. Uyga shaxsiy komputer olganimizdan keyin dasturlashni mukammalroq o‘rganishni boshlaganman. Kompyuter olinganida hamma qatori o‘yin o‘ynashga qiziqar edim. U vaqtlarda, (1997 - 1998 yillari) menimcha, Toshkentda internet sanoqli joylarda bo‘lgan. Har xil o‘yinlarni SD disklardan yozib olib, o‘ynar edi. Tabiiyki, ba’zi disklar virus bilan zararlangan bo‘lardi. Kompyuterga virus tushavergach, uni tozalash uchun ustaga olib boraverish jonga tegardi. O‘sha vaqtlarda gazeta e’lonlarida kompyuter tuzatishni o‘rgatuvchi kurs borligini o‘qib, qiziqib qoldim. Ushbu kursga qatnash uchun otamdan ruxsat oldim.

Kursda o‘qishim davomida, kompyuterning ichki tuzulishi, qurilmalari, operatsion tizimlar, smd-buyruqlari bilan tanishdim. Har xil smd-buyruqlarini ishlatib, mayda-chuyda dasturchalar qilib ko‘rdim. Dasturchalarimni rostdan ham ishlayotganini ko‘rib, rosa quvonar edim. Shundan so‘ng, dasturlashni o‘rganishga qiziqishim yana-da ortdi.

Bir kuni ko‘chada ketayotib, Visual Basis dasturlash tilini o‘rgatuvchi “samouchitel Visual Basis 6.0” deb nomlangan yashil rangli kitobga ko‘zim tushib qoldi. Olib varaqladim: kitob juda tushunarli, sodda tilda yozilgan ekan. Ammo kitobni olish uchun pulim yetmadi. Ota-onamdan pul olib, kitobni sotib oldim.

Offise dasturi ichidagi VBA dasturlash muhitida ofis hujjatlari bilan dasturlash yordamida har xil qiziq narsalar qilish mumkinligini tajribam davomida o‘rganib oldim. Lekin baribir kitobni ba’zi joylariga tushunmasdim. Internet yo‘q. Kimdan so‘rashni bilmayman. Yana gazeta orqali dasturlashni o‘rgatuvchi kurslar borligini topdim. Aynan Visual Basisni o‘rgatadigan kursda o‘qidim. Har darsning oxirida domlam menga oddiy dasturchalar qilib kelishni uy vazifasi sifatida berishi – o‘qishda eng yoqqani edi. Uy vazifalarni qilib, bilmaganimni kitobga qarab o‘rganar edim. Javob topa olmagan savollarimni daftarimga yozib olib, ertasiga ustozimdan so‘rab, bilib olardim. Uy vazifasi dasturlarini yumshoq disketga yozib olib olardim. O‘shanda esimda: uydagi komputerimizning xotirasi 32 MB, o‘qishdagi komputerniki esa 128 MB edi.

Kursni bitirib o‘zim mustaqil tarzda dasturlar yoza boshladim. O‘sha vaqtda “Kommersant” degan o‘yin bo‘lar edi: sizda boshlang‘ich sarmoya bo‘ladi va u bilan neft birjasida ish qilishingiz kerak. Narxi tushib ketganda, ko‘p sotib olasiz, ko‘tarilganda esa sotasiz. Uy, mashina sotib olasiz. Har xil kutilmagan holatlar bo‘lib turadi. O‘yin DOS "rejimi"da ishlovchi, foydalanuvchi interfeysi juda primitiv bo‘lsa ham, o‘yindagi jarayonlarni miyangizda tasavvur qilib o‘ynayverasiz. O‘sha o‘yinni soatlab o‘ynardim.

So‘ngra, shunaqa o‘yinni Visual Basisda yaratish fikri tug‘ildi va uni amalga ham oshirdim. Keyinroq "Tezikovka" bozoridan dasturlashga taalluqli SD disklarni sotib olib, ular bilan tanishishni boshladim. Bir diskning ichida Visual Basisga tushuvchi, 3D effeklar qilib beruvchi komponentasi bor ekan. O‘shani o‘rnatib, o‘z ismim yozilgan 3D text ekranga sekin-asta paydo bo‘lib, har xil tomonlarga o‘ynaydigan dastur yaratdim. Yaratgan dasturlarimni uydagilarga, qarindoshlarimga, do‘stlarimga ko‘rsatar edim.

Ammo kelajak kasbimni tanshash vaqti yetganda, negadir Toshkent Axborot texnologiyalari unversitetiga topshirish fikri kelmagan edi. Toshkent Irrigatsiya institutini bitirdim. Institutda o‘qishim davomida, Toshkentda internet rivojlanib bordi. O‘qishdan keyin turli xil joylardagi internet kafelarga borib, dasturlash forumlariga kirib, savollar berardim va javobini ertasiga o‘qish "mazza" edi.

Men eng birinchi a’zo bo‘lgan forum – Visual Basisga mo‘ljallangan forum edi. Ushbu forumda aksar savollarga Gaydar Magdonurov degan mashhur dasturchi javob yozardi. Institutni bitirib, o‘z soham bo‘yicha ishlab ko‘rdim. Ammo qiziqishim yo‘q edi. 2 oydan ortiq ishlay olmadim. Ish joyimdan bo‘shab, internet kafelardan birida admin bo‘lib ishladim. Komputer tarmoqlaridan ilk tajribamni o‘sha joyda ishlash jarayonida oldim. LAN tarmoqlar, TSP/IP, IP-manzil, ping buyrug‘i... Remote Administrator dasturini ko‘rib, unga o‘xshah o‘zimning ilk “sliyent-server” dasturimni tuzdim va komputerlarga o‘rnatib chiqdim. Ineternet kafeda 1 yilcha ishlaganimdan keyin, bir yirik korxonaning IT bo‘limiga ishga kirdim. U yerda qiladigan ishimni puxta bajarish uchun komputer tarmoqlarini, DNS, DHSP, AD, SQL Server, T-SQL, Delphi dasturlash tillini, HTML, ASP, IIS va Tomsat veb serverlarni yaxshi bilishim zarur edi. 7 yil mobaynida yuqoridagi texnologiyalarni ham amaliy, ham nazariy jihatdan o‘rgandim. Ishlash jarayonida hamkasblarimdan ancha narsa o‘rgandim.

Bundan tashqari, NetDes, Misros kabi o‘quv markazlarida ishim uchun zarur bo‘lgan texnologiyalarni o‘rgatuvchi kurslarda tahsil oldim. Boshida “VBA” ni bilishim qo‘l keldi. Uni ishlatib, ma’lumotlar bazasidan har xil hisobotlarni qilib beruvchi dasturchalar qildim. Ishxonamda iloji boricha hamma narsani avtomatlashtirishga intilardik. Shu sababli, bo‘sh vaqtimiz ham ko‘p bo‘lar, men esa vaqtdan foydalangan holda dasturlash borasidagi bilimlarimni yana-da mustahkamlashga intilar edim.

Vaqt o‘tishi bilan internet hamyonboplashib bordi. Dasturlashni o‘rganish uchun internetdan dasturlashga oid elektron formatdagi kitoblarni, maqolalar yozilgan veb sahifalarni va video darslarni yuklab olib, o‘rganar edim. SQL.ru forumidan ko‘p narsa o‘rgandim. Mustaqil tarzda har xil dasturlar yaratishni o‘z oldimga maqsad qilib, sekinlik bilan bo‘lsa-da ularga erishardim.

Yaratganning irodasi bilan ayni damda chet elda, banklarning dasturiy ta’minoti bilan shug‘ullanuvchi katta korxonada yetakchi dasturchi sifatida ishlayapman. Bu yerga kelib, "prinsiples of softvare development"ni, "design pattern"larni, .Net ni mukammal o‘rgandim. Misrosoft texnologiyalari bo‘yicha bilimlarim darajasini sinab ko‘rishim uchun Misrosoftning xalqaro sertifikatlarini (MSP, MSPD) egallash uchun imtixonlarni ham muvaffaqqiyatli topshirib oldim.

Xulosa tarzida dasturlashni o‘rganishim uchun menga katta yordam bergan omillarni sanab o‘taman:

  1. Dasturlashga bo‘lgan chin dildan qiziqish;
  2. Ota-onamning qiziqishimni tushungan holda qo‘llab-quvvatlashlari, yordamlari va rag‘batlari;
  3. Ilm olish uchun vaqtni va pulni ayamaslik;
  4. Dasturlashga oid kitoblar, maqolalar, forumlar va video darslar;
  5. Quruq nazariy bilimlar bilan chegaralanib qolmasdan, amaliy ham harakat qilish, ya’ni dasturlash. O‘z loyihalarim ustida ishlash;
  6. Hamkasblar bilan tajriba almashish;
  7. Bilmagan, tushunmagan narsalarni biladiganlardan so‘rab, bilib olish;
  8. Bilganini boshqalarga o‘rgatish;
  9. Doimo yangi bilimlarni egallab borish, o‘rganishdan to‘xtab qolmaslik.