O'zingiz kodlashni o'rganishda eng qiyin narsalar va ularni qanday hal qilish kerakligi

Unsplashda Aleksandr Michlning

So'nggi yillarda ko'p odamlar kodlashni o'rganishga qiziqishmoqda.

Ular yo onlayn kurslar orqali yoki off-up uchrashuvlar orqali dasturlash yo'llarini topmoqdalar yoki shunchaki unga zarba berishga harakat qilmoqdalar.

Code.org, codecademy va freeCodeCamp kabi veb-saytlar tobora ommalashmoqda. Internetda juda ko'p miqdordagi kodlash kurslari mavjud va ular YouTube-da ham mavjud.

Ammo kodlash oson emas. Kodlashni o'rganishda biz duch keladigan ba'zi qiyinchiliklar.

1. Har kuni kodlash uchun "to'g'ri" vaqtni topish.

Agar siz o'zingiz kodlashni o'rganayotgan bo'lsangiz, hayotda boshqa majburiyatlarga ega bo'lishingiz mumkin.

Siz yarim kunlik ish yoki to'liq kunlik ish bilan mashg'ul bo'lishingiz mumkin, yoki siz uyda ota-ona bo'lishingiz mumkin. Gap shundaki, hamma bu hayotda band. Xo'sh, har kuni kodlash uchun vaqtni qanday topasiz?

Ba'zilar shunday deyishlari mumkin: «Agar sizga bag'ishlangan bo'lsangiz, har doim vaqt topishingiz mumkin». To'g'ri. Men bunga qo'shilaman.

Shunday qilib, savol tug'iladi: "Siz har kuni kodga qancha vaqt sarflashingiz kerak?" Agar kuniga atigi yarim soatni olsam, bu baribir hisoblanadimi? "

Bu savolga faqat o'zingiz javob bera olasiz. Kuniga necha soat kodlash kerakligini hisoblash juda qiyin. Ba'zi odamlar uni qisqa va shirin saqlashni maslahat berishadi. 15 daqiqa etarlicha yaxshi.

Spektrning narigi tomonida, odamlar yiliga 9 yoki 10 soat kodlash orqali rivojlanish sohasiga kirishganini eshitdim. Agar siz biron bir motivatsiyani xohlasangiz, unda siz ushbu ipga bir ko'rinish berishingiz mumkin.

Pastki chiziq: bu siz har kuni qancha kodlashingiz mumkinligini o'zingiz bilasiz va uni kuyib ketmasdan odat qilishni odat qilasiz. Oxirgi qism haqiqatan ham muhimdir. freeCodeCamp asoschisi Quincy Larson o'zining tvitterida bir marta shunday dedi:

"Bu sizning kunlik muvaffaqiyatingiz haqida emas, balki kunlik o'sish haqida."

Mana o'nlab yillar davomida texnologiya sohasida ishlagan katta dastur ishlab chiqaruvchisi ish paytida har kuni dasturchilar qancha ish qilishlari haqida video.

Bu oltin standart emas, lekin u har kuni kodlashni o'rganishni boshlaganda o'zingizni qanday qilib haqiqiy va eng muhimi, barqaror rejani belgilash haqida fikr beradi.

2. "Etarlicha muvaffaqiyatga erishmaslik" va "yonib ketish" o'rtasidagi muvozanatni topish.

Shaxsan men bu bilan juda ko'p kurashdim.

Men o'qiyotgan kitobdan bitta tushuncha / kod parchasini tushuna olmagan kunlarim bor. Bu shunchaki miyamga singib ketmagan edi. Juda yomon holga kelsam, o'zimni tinchlantirishim, balkonga borib, chuqur nafas olishim kerak edi.

Shu paytdan boshlab men o'zimni ortiqcha ishlamasligim kerakligini eslatib turardim.

Dasturlash oson emas. Bu sizdan diqqatni jamlashni talab qiladi, ayniqsa yangi narsalarni o'rganayotganda. Bu aqliy soliqdir, va ba'zida sizning kodingiz ishlamayotganligi yoki hatto nima uchun buni aniqlay olmagan paytlaringiz ham bor.

Men o'sha paytda ishlayotgan muammomga e'tiborimni qaratganimda, men eng samarali ekanligimni ko'rdim, lekin shu bilan birga men haqiqatan ham tinchlanib, butun jarayondan zavqlandim.

Men qachon bo'lgan edim:

  • Men hal qilishim kerak bo'lgan masalani topdim.
  • Yechimni onlayn forumlar orqali toping.
  • Qaysi biri ishlaganini ko'rish uchun uni echishning turli usullarini sinab ko'rdim.
  • Men muammoni butunlay hal qildim.

Biz o'rganayotgan ko'plab narsalar juda oddiy va murakkab (ma'lumotlar tuzilmalari va algoritmlar va hokazo) ekanligini anglash uchun men kodlashni o'rganayotganda 50/50 qoidasini ishlab chiqdim.

Vaqtning 50 foizini qiyin ishlarni bajarish uchun ishlataman, asoslarni, tushunchalarni, algoritmlarni va boshqalarni o'rganaman. Qolgan 50% men o'z loyihalarim, loyihalarim bilan ishtiyoqmandman. Kundalik mashg'ulotlarim haqida gap ketganda, muvozanat bor.

Shunday qilib, aniq qilib aytganda, nima qilayotganingizni yaxshi ko'rish kerak. Bu bizni keyingi nuqtaga olib boradi.

3. Nima qilayotganingizni yaxshi ko'rish, bu barcha to'siqlardan omon qolishning yagona yo'li.

Aftidan, ba'zida bu shunchaki haqiqat. Agar siz olib borayotgan yo'lingizni yaxshi ko'rsangiz, qilayotgan ishingizni seving, yo'nalishingizni seving ... sizga tashqi dunyoning tanqidlari kerak emas.

Ushbu turdagi majburiyatni qarzga olish yoki almashtirish, yoki undan ham yomoni soxta qilib bo'lmaydi.

4. Hayotdagi boshqa majburiyatlarni zimmasiga yuklaganingizdan so'ng, kodlashga qaytishni davom eting.

Haqiqat shundaki, o'z-o'zini o'rganish haqida gap ketganda, u erda bo'lish, o'rganish hech qachon o'zingiz bo'lmaydi.

Hayotda barchamiz zimmamizga yuklatiladigan har qanday majburiyat bor. Siz eri, xotini yoki kimningdir ota-onasi bo'lishingiz mumkin. Siz oilangizga g'amxo'rlik qilishingiz kerak yoki siz ishtirok etishingiz kerak bo'lgan ishingiz bor. Yoki siz diplom yoki darajangizni tugatishingiz kerak bo'lgan talabasiz.

Bizning zimmamizdagi barcha majburiyatlarni hisobga olib, kodlash uchun vaqtni qaerdan topamiz?

Haqiqat shundaki, ba'zida siz qilolmaysiz yoki shunchaki qila olmaysiz. Men kodlashni o'tkazib yuborgan kunlar bor. Men olgan eng uzoq "tanaffus" bu ikki oy edi.

Ammo shundan so'ng darhol kodlashga qaytdim. Va men bilib olgan ko'p narsalarni unutganimni bildim. Xuddi shu kitobni olganingizda asabiylashishingiz mumkin va qanday qilib davom etishni bilmayapsiz. "Xudo, haqiqatan ham barcha boblarni qayta o'qib chiqish va barcha topshiriqlarni qayta bajarishim kerakmi?"

Bu lahzani davom ettirish kerak, uni maydalash kerak.

Siz o'zingizdan shunday deb so'rashingiz kerak: "Yaxshi, birinchi o'quv soati unchalik samarasiz bo'lib tuyulishi mumkin. Ammo bu yaxshi, men buni ertangi kun haqida ko'proq bilib olaman. "

Bunga shakar paltosiga boshqa yo'l yo'q, lekin davom etishda davom eting. Kodlash forumiga yoki Twitter-ga o'ting va o'zingizning xafagarchilikingizni bildiring. Ammo buni amalga oshirganingizdan so'ng darhol kodlashga o'ting.

5. Qanday bo'lmasin, o'zingizni g'ayratli tuting.

O'z-o'zini o'rganish maktabga borishda juda farq qiladi. Kodlash paytida sizning atrofingizda hech kim yo'q. Sinfdoshlar yo'q, ijtimoiy aloqalar yo'q, tunnel oxirida sizni kutib turgan "katta marosim" ni topa olmaysiz. Ko'pincha buni yolg'iz qilasiz. Ko'pincha siz yolg'izsiz.

Shunday qilib, o'zingizni oldinga siljitish uchun qandaydir turtki topishingiz kerak.

Men har doim ushbu sub reddit-ni tekshiraman (r / macsetups), chunki u erda juda ko'p odamlar dasturchilar. Va ular yaratmoqchi bo'lgan dasturlarni yaratish uchun ular bir xil kuchli jihozlardan foydalanmoqdalar. Bundan savobroq narsa yo'q.

O'zingizni mukofotlang va buni odat qiling.

Bu kichik bo'lishi mumkin yoki katta bo'lishi mumkin. Bu kunning oxirida issiq dush yoki sovuq ichimlik bo'lishi mumkin. O'zingizni juda yaxshi ish qilayotganingizni ayting. Ko'pincha kodlashni o'rganayotganda kerak bo'ladi. Ushbu fotosuratni oldingizda devorga osib qo'ying - chunki siz bir kun oldin uning oldida o'tirgan odam bo'lishingizga ishonishingiz kerak.

6. "O'rganish uchun o'rganish" xatosiga tushib qolmang. Intervyuga boring, uchrashuvlar va uchrashuvlarga boring.

Ba'zida kodlashni o'rganayotganda biz tomonimizdan kuzatilishi mumkin. Men shunchaki dangasa bo'lishni istagan paytlar borligini his qildim. Siz boshqa o'rganishni xohlamasligingiz uchun emas, balki siz kun bo'yi monitor oldida o'tirib, siz haqiqiy qiyinchiliklarga duch kelishingiz shart emas deb umid qilamanki: Ishlab chiquvchi sifatida ishga kirish .

“Men o'rganyapman, shuning uchun etarli darajada yaxshi o'rganyapman. Ishlarim to'g'risida keyinroq, tayyor bo'lgandan keyin o'ylayman.

Bu ochig'ini aytadigan bo'lsam, ko'proq qilishim kerak bo'lgan narsa. Oila a'zolari va do'stlari uchun bepul veb-sayt yaratayotgan bo'lsa ham, potentsial mijozlar bilan bog'lanish.

Shunday qilib, keyingi safar intervyuga borganingizda, qanday ish qilganingizni ko'rsatishingiz mumkin. Bu sizning risolangizga qiymat qo'shadi. Birinchi qadam har doim eng qiyin. Ammo nima bo'lishidan qat'iy nazar buni qilishingiz kerak.

Yuqorida aytilganlarning barchasi siz ishlab chiquvchiga aylanish yo'lida duch keladigan qiyinchiliklar / vaziyatlardir. Ularni tan oling, ularga to'g'ri munosabatda bo'ling - duch keladigan to'siqlar sizni kuchliroq va yaxshilaydi.

Va nihoyat, eng muhimi, baxtli kodlash! O'zingizning loyihangizmi yoki o'zingizning kelajagingizmi, o'zingiz qurayotgan narsadan zavqlaning.

Meni Twitter-da, GitHub-da kuzatib boring (u erda men mashhur YDKJS seriyasining qisqacha mazmunini tayyorlaganman) va shunga o'xshash maqolalar uchun sekinpacedcoding.com veb-saytimni tekshirib ko'ring.