O'zidan shubhalanadigan dasturchilar uchun: siz etarlimi?

Quyidagi har qanday tovush tanishmi?

Siz doimo etarlicha yaxshi emasligingizdan xavotirdasiz.

Atrofingizdagi ishlab chiquvchilarga qarang. Ular hamma narsani birlashtirganga o'xshaydi. Ularning kodi sizning kodingizdan toza. Ular siznikidan tezroq disk raskadrovka qilishadi. Ular o'zlariga kerak bo'lgan narsani bilishdan oldin shunchaki hujjatlarga qarashadi. Ular o'ziga ishonishadi. Ular kodlashni yaxshi ko'radilar.

Ammo siz, siz xavotirdasiz. Siz ishlatilayotgan til va tizim to'g'risida etarli ma'lumotga ega emasligingizdan xavotirlanasiz. Siz xatolar haqida tashvishlanasiz. Siz eng yangi texnologiyalar bilan tanishish haqida tashvishlanasiz. Siz etarlicha iqtidorli emasligingizdan xavotirlanasiz. Sizga tabiiy narsalar kelmaydi. Siz o'zingizga shunday deb o'ylaysiz: "Balki men dasturchi bo'lishni istamayman."

Agar o'zingizning shubhali fikrlaringizdan biri sizga tanish bo'lsa, siz yolg'iz emassiz. Google "o'zidan shubhali dasturchilar", va bir soniya ichida 2 milliondan ortiq natijalarni topasiz.

Men siz edim.

Bir muncha vaqt davomida men o'zimning shubhalarimni boshdan kechirdim, bunda "buni qilamanmi" deb o'yladim. Bu kollejda men mashq qilayotganda va ish suhbatlariga tayyorgarlik ko'rayotganimda yuz berdi. Har kuni, ushbu algoritm bilan bog'liq muammolar meni to'liq muvaffaqiyatsizlikka olib kelganday his qildi. Meni hayajonlangan va xavotirga solgan edingiz, hozirgacha.

Oxir oqibat, mening amaliyotim o'z samarasini berdi va men nufuzli texnologiya kompaniyalaridan bir nechta ish takliflarini oldim. Yo'l davomida men dasturlash haqidagi qarashlarimni o'zgartirgan va o'zimning shubhali fikrlarimni yo'q qiladigan ikkita muhim saboq oldim. Men hozir ularni siz bilan baham ko'rmoqdaman. Umid qilamanki, ular yordam berishadi.

1-dars: Dasturlashni o'rganish mushaklarni qurish bilan bir xil

Futbol o'ynashni o'rganish uchun maydonga borib, o'ynash kerak. Kuchli mushaklarni qurish uchun siz sport zaliga borib, og'irliklarni ko'tarishingiz kerak. Dasturlashni o'rganish uchun siz o'tirishingiz va kodlashingiz kerak.

Og'irlikni ko'targaningizdan so'ng, ertasi kuni og'ir va charchagan his qilasiz. Dasturlash muammosiga duch kelganingizda, miyangiz (tom ma'noda) zarar qiladi va siz asabiylashasiz.

Siz shunchaki og'riq his qilganingiz uchun ishdan bo'shamaysiz. Bilasizmi, bu jarayonning bir qismi. Ammo dasturlash paytida qoqilib qolsangiz, o'zingizni etarli darajada iqtidorlimi, deb hayron bo'lishingiz mumkin. Chunki: (1) tiqilib qolish - bu sizning aybingiz deb o'ylaysiz, (2) boshqalar buni osonlashtirmaydi.

1. Siqilish - bu jarayonning bir qismi.

Ehtimol, buni sizga hech kim aytmagan, lekin dasturlash paytida qoqilib ketish odatiy holdir. Bu hatto katta dasturchilar uchun ham sodir bo'ladi. Dasturlashtirishning katta qismi nima uchun kutilganingiz amalga oshmaganligini aniqlashdir. Agar siz bolani birinchi marta oyoqqa tura oladigan bo'lishini kutish bema'nilik bo'lsa, nega siz kodingizning birinchi loyihasi hech qanday xatosiz mukammal ishlashini kutasiz?

Shuncha vaqt davomida qoqilib, boshimni devorga urmoqchi bo'lgan paytlar esimda. Men bu juda qiyin va asabiylashishini bilaman (ayniqsa dev muhitiga tegishli masalalarni hal qilishda). Ammo u erda osib qo'ying. Muammoni hal qiling. Google-dan so'rang. Do'stingizdan so'rang. Sayr qilmoq. Siz oxir-oqibat uni hal qilasiz va harakat qilasiz. Ko'proq tajriba orttirganingiz sayin, asta-sekin kamayib ketasiz.

Keyingi safar qoqilib qolsangiz, o'zingizga og'ir vaqt bermang. Bu sizning aybingiz emasligini o'zingizga eslatib qo'ying. Bu normal holat. Jarayonning bir qismi.

PS - Dasturlashning eng qiyin qismi bo'lishi mumkin dasturiy muhitni sozlash.

Rivojlanish muhitini yaratish uchun kunni sarflash juda odatiy. Bu sizning qalbingizni buzishi mumkin bo'lgan daqiqalar. Siz ko'rsatmalarni bosqichma-bosqich bajarishga harakat qilasiz. Ammo tasodifiy xatolar har bir qadamda ko'rinishda davom etmoqda. Ko'rsatmalar oson ko'rinishi mumkin, ammo unday emas. Sizning aybingiz qotib qolishda emas. Ushbu o'quv qo'llanmani o'qiyotganlarning 99,99 foizi qoqilib ketishdi. Qolgan 0,01% - bu yo'riqchi bilan bir xil operatsion tizimni o'rnatgan omadli odamlar.

Afsuski, dasturlashni o'rganishning birinchi bosqichi, shuningdek, eng xafagarchilik va ruhni ezadigan qismdir. Tushunolmaydigan xatolarni ko'rsangiz, aniq xato xabarini va Google-ga nusxa ko'chiring. (Xato xabari atrofida tirnoq qo'yish yoki shunchaki xabarning birinchi yarmini izlash yordam berishi mumkin.) Siz ishlayotganini topmaguningizcha turli xil echimlarni sinab ko'ring. Va davom eting.

Takrorlash uchun meni afv eting: bu bosqichda qoqilib qolish sizning aybingiz emas. HAMMA biz qilamiz. Va'da beraman, agar siz ushbu bosqichdan o'tib ketsangiz, dasturlash yanada qiziqarli bo'ladi.

2. Biz "genetik jihatdan aqlli" degan narsani "aqlli bo'lib ko'ringanligi sababli odam bog'liq mavzularga ko'p vaqt sarflaganligi" bilan adashtiramiz.

Kollejdagi so'nggi semestrimda do'stlarim ma'lumotlarning kengaytirilgan tuzilishi va algoritmlar sinfida yaxshi o'qiganimdan hayratda qoldilar. Men ular qiynalayotgan paytda, buni zo'rg'a tuyuldim.

Sinfdan bir necha oy oldin intervyuga tayyorgarlik ko'rish uchun men son-sanoqsiz soatlarni kodlash bilan shug'ullanganman, ular sinfning aniq mavzularini o'z ichiga olgan: dinamik dasturlash, chuqur birinchi izlash, kenglik birinchi izlash, va hokazo. Men bu kurashlarni allaqachon boshdan kechirganim uchun bu oson bo'lmagan edi.

Men bu tushunchalarni birinchi o'rgatganimda, bir necha soat muammoga tikilib, uni tushuna olmasdim. Internetdan voz kechib, echimlarni izlaganimda, ularni tushunishga qiynaldim. Oxir-oqibat, men o'zimni shunday qarorga kelishga aqlli ekanligimga shubha qilganim uchun yanada hafsalam pir bo'ldi.

Ba'zan yana bir xil muammoga duch kelganimda ham, men unga qanday murojaat qilishim kerakligini bilmay qolaman. Shunchalik qattiq siqilishim mumkinki, o'zimni tinchlantirish uchun uzoq vaqt davomida issiq dush qabul qilishim kerak edi.

Shunday qilib, men o'zingizni shubha ostiga olishni va uni qila olmasligingizdan xavotirlanishni bilaman deb aytganda, menga ishoning. Men ilgari u erda bo'lganman. Sizni ishontirib aytamanki, siz yolg'iz emassiz. Ko'plab buyuk ishlab chiquvchilar xuddi shu narsani boshdan kechirdilar. (Mana shu mavzu bo'yicha podkast.)

Keyingi safar siz atrofingizdagi odamlar g'oyat zo'r harakat qilayotganda kurashayotganda, bu siz etarlicha iqtidorli emasligingiz deb o'ylamang. Ehtimol, ular sizdan ko'ra mavzuga yoki shunga o'xshash mavzularga ko'proq murojaat qilishadi. Ularning miyalari bu kabi mavzularni hal qilish uchun "mushaklarni" qurgan. Hozirgi kurashlarni boshdan kechirganingizdan so'ng, siz ham aqlli va kuchsiz bo'lib ko'rinasiz.

Hammasi vakillar va to'plamlar haqida.

Siz ularni mashqlar qilib mushaklarni qurasiz. Qancha ko'p harakat qilsangiz, shuncha ko'p mashq qilsangiz, shunchalik kuchliroq bo'lasiz. Dasturlashni o'rganish aynan bir xil jarayonga ega. Kodlash uchun qancha vaqt sarflasangiz, shunchalik malakali bo'lasiz. Siz nima eksangiz, shuni o'rasiz.

# 2-dars: O'zingiz emas, o'zingizning mahoratingizga e'tibor qarating

Siz dasturchi qanchalik yaxshi yoki yomon ekanligingiz haqida o'ylashni to'xtating. Agar siz jamoangizning 5% pastki qismida bo'lsangiz, yaxshilanishni xohlaysiz. Agar siz eng yaxshi 5% ichida bo'lsangiz, baribir yaxshilanishni xohlaysiz. Siz qanchalik yaxshi yoki yomon bo'lmasligingizdan qat'i nazar, har doim sizning oldingizda odamlar va sizning orqangizda odamlar bor. Xo'sh, nega bu haqda o'ylashga vaqt sarflash kerak?

Buning o'rniga, o'zingizning hunarmandchiligingizga e'tibor qarating. Siz qanchalik yaxshi ekanligingizni so'rashni to'xtating. Kodingiz qanchalik yaxshi ekanligini so'rang. Qanday qilib uni yaxshiroq, tezroq va o'qishga qulayroq qilishingiz mumkin? Sizni qoyil qoldiradigan muhandislar bilan o'rab oling. Ularning kodini o'qing. U siznikidan qanday farq qiladi? Ular qanday savdo qilmoqdalar?

Agar siz allaqachon dasturiy ta'minot muhandisi sifatida ishlayotgan bo'lsangiz, kimdir sizga kod yozish uchun sizga pul to'laydi. Siz pauza qilishingiz va bu haqda o'ylashingiz kerak, chunki bu juda ko'p narsani anglatadi: kimdir sizning kodlash mahoratingizga ishonadi yoki sizning imkoniyatlaringizni ko'radi. Ushbu potentsialga muvofiq hayot kechirishning yagona usuli - bu sizning mahoratingizga e'tibor qaratish va uni doimiy ravishda yaxshilash.

Harakat bandi: Kichik g'alabalarni kuzatishni boshlang

Qachon oxirgi marta qoqilib qoldingiz va muammoni hal qila olmasligingizga ishonchingiz komilmi? Oxir oqibat buni qanday hal qildingiz?

Yangi Google Doc-ni oching va yozib oling.

Keyingi safar o'zingizni shubha ostiga qo'yganingizda, hujjatga qarang va o'zingizga eslatib qo'ying: agar siz oxirgi muammoni hal qilsangiz, uni ham hal qilasiz.

Siz duch kelgan muammolarni va ulardan nima o'rganganingizni kuzatib borish uchun hujjatdan foydalaning. Har doim, har doim bu kichik g'alabalarni nishonlang!

Fikringizni qoldiring va oxirgi marta qachon kurashayotganlarga ular yolg'iz emasliklarini eslatib turish uchun ulashing.

Texnika sohasidagi martabaim ​​haqida o'qishni xohlaysizmi? Boshqa maqolalarimni ko'rib chiqing.

Dasturlash bilan bog'liq boshqa savollaringiz bormi?

Iltimos, menga elektron pochta orqali xabar yuboring: sihui@sihui.io