2019 yilda kodlashni o'rganing, yollaning va yo'l davomida dam oling

Ushbu maqolaning to'liq versiyasini endi bu erda topish mumkin!

O'tgan yili men veb-dastur ishlab chiqaruvchisi bo'lish uchun noldan va bepul ko'rsatmalar berganman. O'shandan beri juda ko'p narsa o'zgarib ketdi va men vaqtni isrof qilmaslik tarafdori bo'lganim sababli, men sizlarga yangilangan maqolani aytib bermoqchiman, chunki 2019 yil uchun bir nechta o'zgarishlar mavjud! Tezkorlikka e'tibor qaratilgan: imkon qadar tezroq ishga joylashishingiz uchun hozirda talab qilinadigan to'g'ri mavzularni o'rganing.

Agar siz 2019 yilda kodlashni, karerangizni o'zgartirishni va veb-ishlab chiqaruvchiga aylanishni o'rganmoqchi bo'lsangiz, bular qadamlardir.

Bu 2 qismli seriyaning 1 qismi. Ikkinchi qismni bu erda o'qishingiz mumkin.

Agar siz to'liq boshlang'ich, kichik dasturchi bo'lsangiz yoki ushbu sohaga qiziqsangiz, ushbu xabar siz uchun. Ammo, agar siz tajribali dasturchi bo'lsangiz, siz bu erda ba'zi foydali havolalarni topishingiz mumkin, chunki men o'z mahoratingizni to'ldirish uchun eng yaxshi bepul manbalarni sanab o'taman, ammo men sizga qanday qilib foydali bo'lishi mumkin bo'lgan dasturiy ta'minotni katta ishlab chiqaruvchisi bo'lish haqida yozdim. .

Agar siz ushbu xabarni juda uzoq vaqt topsangiz, siz 5 oydan o'tib, qadam-qadam bo'limidan boshlashingiz mumkin. Ammo siz mening his-tuyg'ularimni ranjitasiz ... bilasizmi, siz shu ayb bilan yashay olasiz.

Ok siz hali ham shu yerdasiz. Ajoyib! Men sizga allaqachon yoqaman. Davom eting ...

Faqatgina bepul onlayn kurslar, darsliklar va bepul vositalardan foydalanib, siz qimmatbaho mahoratga ega bo'lishingiz mumkin, bu sizga ajoyib sohada ishlashga imkon beradi, bu sizga ajoyib, qiyin va butun dunyo bo'ylab harakatlanishning ko'p imkoniyatlari bilan yordam beradi (bu haqida keyinroq ). Eng yaxshi qismi? Sizga kollej darajasi yoki qimmat bootcamp kerak emas.

Muhim eslatma: Xabar ishlab chiquvchiga aylanish uchun nima qilish kerakligi haqida asta-sekin ko'rsatma kabi ko'rinishi mumkin, ammo agar siz diqqat bilan qarasangiz, har qanday o'rganishga murojaat qilishingiz mumkin bo'lgan strategiya.

Nega kodlash kerak?

Dasturchi bo'lish uchun qadamlar qo'yishdan oldin, avval nima uchun bu yo'ldan borishni xohlashingiz haqida o'ylab ko'rishimiz kerak. Hayotingizning muhim vaqtini talab qiladigan har bir qaror asosli bo'lishi kerak. Vaqt, biz uchun eng muhim manba:

A. Siz oziq-ovqat tarmog'ining yuqori qismida juda muhim rollarda bo'lish uchun mahoratga talab yuqori bo'lgan va ko'plab imkoniyatlarga ega bo'lgan sohada ishlashni xohlaysiz.

B. Siz manzilingiz mustaqil bo'lishni yaxshi ko'rasiz. Siz dunyoning istalgan burchagiga borishga va baribir osonlikcha ish topishga imkon beradigan mahoratni xohlaysiz. Agar ertaga Islandiyaga ko'chib o'tishga qaror qilsangiz, ish topishda muammolar bo'lmaydi.

C. Siz 2004 va 2019 yillar orasidagi farqni va o'sha 15 yil ichida qanday texnologik taraqqiyotga erishganimizni payqadingiz. Siz dunyoga ta'sir ko'rsatadigan sohada etakchi bo'lishni xohlaysiz.

D. So'nggi ikki yil ichida eng katta sanoat o'sishi cryptocurrency (Bitcoin) va sun'iy intellekt (Machine Learning) makonida bo'ldi. Biz har kuni texnologiya bilan aloqa qilamiz va siz tuproqda qolib ketmasligingizni xohlaysiz, chunki ular bizning kelajagimizni o'z zimmasiga oladi. Siz tushunishni xohlaysiz va bularning barchasini hisobga olgan holda ko'nikmalarni egallashni xohlaysiz: dasturlash. Veb-ishlab chiqarish ushbu sohalar uchun eshikdir.

E. Siz o'zgarish yaxshi deb o'ylaysiz va o'rganish hech qachon to'xtamasligi kerak. Xo'sh, nega yangi narsa qilmaysiz?

Ammo menda kompyuter fanlari darajasi yo'q va hatto Internet qanday ishlashini ham bilmayman! Xavotir olmang, biz buni sizning foydangizga ishlatamiz. O'qishni davom ettiring ...

Yangi martaba yo'nalishini tanlashda ba'zi yaxshi va yaxshi narsalar bo'lishi kerak:

1. Keyingi 10+ yil uchun tegishli bo'lishi kerak. Ushbu mahorat kelajakda sizning ishingiz xavfsizligini kafolatlaydigan ko'p yillar davomida qadrlanishi kerak.

2. Ushbu ko'nikmaga ega bo'lgan odamlar uchun talab taklifdan yuqori bo'lishi kerak. Sohada malakali ishchilar soni qancha kam bo'lsa, ish va siz ishlayotgan kompaniyalar ustidan shuncha ko'p nazoratga ega bo'lishingiz mumkin.

3. Tarmoqdagi yillaridan qat'iy nazar yuqori maoshga ega bo'lish qobiliyati. Siz munosib hayot kechirmaguningizcha ko'p yillar davomida korporativ narvonga ko'tarilishni xohlamaysiz.

4. Universitetning ixtisoslik ma'lumotini talab qilmaydigan soha. Siz pul ishlashni boshlashdan oldin keyingi 4 yilni qarzga botib, magistrlik dasturiga borishni xohlamaysiz. Va ha, menimcha, qimmat kodlash bootcampiga borishdan ko'ra yaxshiroq alternativalar mavjud.

5. Qisqa vaqt ichida ushbu sohadagi eng yaxshi ijrochilarni topish imkoniyati. Kichik tajriba hali ham sizni ish bilan ta'minlashga qodirmi? Siz bu sohada katta yoki mutaxassis deb hisoblanishingiz uchun bo'sh joyni imkon qadar tezroq yopishingiz mumkinmi?

6. Bu kelajakda nima bo'lishidan qat'i nazar, sizga ko'p martaba tanlash imkoniyatini beradigan asos bilimlarini shakllantirishga imkon berishi kerak. Masalan, kodlashni o'rganib, taqsimlangan dasturlar, mashinalarni o'rganish va bulutli hisoblash kabi yangi paydo bo'lgan texnologiyalarni yaxshiroq tushunishingiz va keyingi qaysi sohaga o'tishni tanlashingiz mumkin.

7. Xursand bo'ling. Eng muhimi. O'zingizni uzoq vaqt davomida haftasiga 40 soat shunday qilayotganingizni ko'ryapsizmi?

Kodlash mening tajribamdagi yuqoridagi fikrlarning har biriga to'g'ri keladi. Sizning masofangiz boshqacha bo'lishi mumkin.

Mening eng sevimli kitoblarimdan biri shunday yaxshi deb nomlanganki, ular sizni e'tiborsiz qoldirolmaydi. U erda muallif ehtiros afsona ekanligini ta'kidlaydi. Siz sayohatga kirishga kirishmasligingiz kerak, chunki siz sayohatga "ishtiyoqli" emassiz. Ko'pchilik kurashni va mahoratni egallash uchun ko'p mehnat qilish orqali ishtiyoqni topadi. Odamlar sizning qimmatbaho qobiliyatingizni tan olishni boshlaganlaridan so'ng, siz ushbu ko'nikmalarga bo'lgan hurmatni his eta olasiz, shu bilan siz o'zingiz qilayotgan ishtiyoqni rivojlantirasiz.

Hali men bilanmi? Men sizni qo'rqitmadimmi? OK, keyin davom etamiz ...

MUHIM NAZARNI O'QING: yodda tutingki, dastlabki 2 oyda siz o'zingizni engib bo'lmaydigan toqqa chiqayotganday his qilasiz. Qilgan har bir darsingiz, darsingiz yoki darsingiz sizni dunyoda bu narsani bilmaydigan yagona odam kabi his qilishingizga yordam beradi. Bardam bo'l. Siz u erga borasiz va vaqt o'tishi bilan siz ko'proq "AHA!" Daqiqalariga ega bo'lasiz. Biz buni "murtad sindromi" deb ataymiz: siz o'zingizni xuddi bu ma'lumotni bilmaydigan odamsiz va o'zingizni shubha ostiga olgansiz. Biron bir yangi narsani o'rganganimizda, barchamiz o'zimizni shunday his qilganimizga amin bo'ling.

Buning oxirida nimani bilib olasiz: yaxshi dasturchi bo'lish, bir qator hujjatlar to'plamini yodlash shart emas. Sizga mavjud bo'lgan barcha vositalardan foydalangan holda muammolarni qanday hal qilishni o'rganish haqida. Bu muammoni hal qilish va bilishni bilmaslik holatidan chiqish haqida.

Siz kimsiz va nega sizni tinglashim kerak?

Voy, siz to'g'ridan-to'g'ri, lekin menimcha bu adolatli savol. Birinchidan, men har xil joylarda, shu jumladan, Silikon vodiysida, eng yaxshi texnologiya kompaniyalarida ishlagan katta dasturiy ta'minot ishlab chiquvchisiman. Men faoliyatim davomida juda omadli edim va o'tgan yili butun dunyo bo'ylab 60,000 dan ortiq odamlarga noldan dasturchi bo'lishga yordam berish uchun yo'l oldim. Ammo men kompyuter ustasi bo'lib tug'ilmaganman. Men informatika fanini tugatmadim. Men mutlaqo o'zim o'qituvchiman.

P.S. Bu qism men haqimda, shuning uchun sizga umuman ahamiyat bermasangiz, ushbu qismni o'tkazib yuboring. Oxir-oqibat men uni engaman.

Hammasi ko'p yillar oldin boshlangan ... Men martaba o'zgarishini xohladim va o'zimga kompyuter dasturlarini o'rgatishga qaror qildim.

Birinchi oyni biron bir dars yoki kitoblardan qochdim. Buning o'rniga men bu oyni o'rganish va yollash uchun eng yaxshi usulni ko'rib chiqdim. Men samarali bo'lishni, vaqtimni behuda sarflamaslikni va eskirgan texnologiyalarni o'rganishni yoki bir oydan keyin unutadigan narsalarni o'rganishni xohlardim. Men boshqa odamlarning tajribalarini o'rganib chiqdim, ish joylariga yozilganlarni ko'rib chiqdim, tuzilgan dasturchilar bilan suhbatlashdim, onlayn kurslarni ko'rib chiqdim, botcamplarni ko'rib chiqdim va hatto futuristlarning 20 yil ichida biz texnologiyada qanday bo'lishimiz haqidagi maqolalarini o'qib chiqdim. Shunga asoslanib, men o'zim uchun samaradorlikka yo'naltirilgan o'quv dasturini yaratdim: Qisqa vaqt ichida ishga joylashish uchun juda muhim miqdordagi o'qish.

Agar siz Tim Ferrissning asarlarini men kabi yaxshi ko'rsangiz, buni yaxshi ko'rasiz. O'quv dasturi eng kam ishlarni bajarishga qaratilgan emas. Buning o'rniga, u eng maqbul usulda ishga joylashish uchun juda muhim bo'lgan narsalarda chinakam ishlashga qaratilgan. Bu yalang'och minimal ish qilish va yosh dasturchi sifatida yollanish degani emas. Agar siz astoydil ishlay olsangiz va ishlab chiquvchi oralig'ida to'g'ridan-to'g'ri sakrab chiziqni o'tkazib yuborsangiz, bu yaxshi natija. Yaxshiyamki, men allaqachon hamma narsani sinab ko'rdim.

Garchi men haqiqatan ham o'qish o'rniga o'qishimni rejalashtirishga bir oy vaqt sarflagan bo'lsam ham, kelajakda bu foyda keltirdi, chunki men ko'r ko'rmadim. Qayerga ketayotganimni bilardim va marraga yetib boradigan xaritam bor edi. Siz ham shunday qilasiz.

Ha, men siz qaerda edingiz va nima kerakligini bilaman. Ishimni boshlaganimda, menga asta-sekin tushuntirib beradigan shunday narsalar bo'lishini xohlardim. Shuningdek, men ko'plab darsliklarni juda ko'p texnik ma'lumotlarga ega bo'lgan odamlar tomonidan o'qiganman, ammo yangi boshlovchilarga to'g'ri o'rgata olmagan holda topdim. Bu vaqtga qadar ruxsat etilgan har bir video, darslik va darslarni o'qib chiqdim va o'rganib chiqdim.

O'shandan beri men Fortune 500 texnologik kompaniyalari bilan maslahatlashdim, kodlash ustaxonalarida ishladim, nashr etilgan texnologik kitoblar bo'yicha maslahatlashdim, texnik muzokaralar olib bordim va dasturlashda nol tajribaga ega bo'lganlarga bir necha oy ichida ish topishga yordam berdim. Asosan, menimcha, bootcamplar sizga pul to'laydi. Xavotir olmang, buni quyida ko'rib turganingizdek bepul qilishingiz mumkin. Men hozir birovga ishlashim shart bo'lmagan vaziyatdaman. Men bu karerani yaxshi ko'raman va ko'p odamlar bundan zavq olishlari va bundan foyda olishlari mumkin deb o'ylayman. Shunday qilib, men bu sakrashni xohlaganlarga yordam berish vazifasini bajaraman.

Mayli, bu so'nggi jumboq juda dramatik edi ...

Biz qaysi tilni o'rganamiz?

Ha, bu erda.

Siz quyidagi sabablarga ko'ra Javascript ninja / ninjessiga aylanasiz:

→ Javascript hamma joyda. Veb-sayt yoki ilovaga ega bo'lgan har bir kompaniyaga Javascript ma'lumotiga ega bo'lgan kishi kerak. Ushbu til bir tonna ish joyiga yuboriladigan talab (agar menga ishonmasangiz, LinkedIn-da o'zingizning mintaqangizda Javascript-ni qidiring).

→ Node.js-ning kiritilishi bilan siz Javascript-dan to'liq stackli ilovani yaratishingiz mumkin (english = siz o'zingizning butun loyihangizni yaratish uchun javascript-dan foydalanishingiz mumkin). Elektron, React Native va boshqa ko'plab vositalardan foydalangan holda Javascript sizga ish stolini, mobil ilovalarni, veb-dasturlarni va hatto VR-ilovalarni yaratishga imkon beradi. Jonny-Fivega o'xshash narsalarni ishlatib, robotlarni boshqarishingiz mumkin. Siz o'zingizning blokchainni qurishingiz mumkin. Lisk, platforma kabi ethereum javascript-dan foydalanadi. AI va Machine Learning-dan foydalanmoqchimisiz? Ajoyib, bularning barchasini bajarish uchun Javascript-dan foydalanishingiz mumkin.

→ Agar siz birinchi fikrni o'qimagan bo'lsangiz va boshqa narsa haqida o'ylayotgan bo'lsangiz, yana bir bor aytib o'tishga ijozat bering: Javascript mutaxassislariga bo'lgan sanoat talabi katta. Bu ish beruvchilar tomonidan eng talabchan til. Ish taklif qiluvchilar va bosh ovchilar bilan haftasiga bir necha marta ish takliflari bilan bog'lanishlar kam uchraydi.

→ Javascript hamjamiyati tez sur'atlar bilan o'sib bormoqda. Jamiyatda juda ko'p yangi o'zgarishlar mavjud. Ba'zi odamlar Javascript charchashidan shikoyat qilmoqdalar, chunki har kuni tobora ko'proq yangi vositalar ishlab chiqilmoqda. Biroq, biz buni o'z foydamiz uchun ishlatishimiz mumkin. Siz ushbu yangi texnologiyalarni ko'p yillar davomida ushbu sohada ishlagan odamlar bilan bir vaqtda o'rgangan bo'lar edingiz.

Menga ishoning, bu juda katta talabga ega bo'lgan ajoyib jamoadir. Agar menga ishonmasangiz, bu erda dasturchilar ko'nikmalarining tahlili juda qiziq.

Jabber kifoya, boshlaylik. Quyida siz vaqtingizdan unumli foydalanishingiz uchun eng yaxshi deb hisoblaydigan narsalar topasiz. 5 oyning oxiriga kelib, siz birinchi haqiqiy bo'lmagan kirish darajasidagi dastlabki dasturiy ishingizni topshirishingiz kerak. O'tkazgichlar yo'q. Faqat siz va qat'iyligingiz.

5 oy - bosqichma-bosqich

Biz 2019 yilda eng ko'p ishlaydigan va talab qilinadigan ko'nikmalarga e'tibor qaratamiz. PHP yoki jQuery kabi eskirgan texnologiyalarga vaqt yo'q. Ularda hech qanday yomon narsa yo'q va men butunlay hurmat qilaman, lekin sizdan olgan bir necha elektron pochta xabarlariga asoslanib, ko'p odamlar moliyaviy yordamga muhtoj va ularni qo'llab-quvvatlashlari kerak bo'lgan oilalari bor. Vaqt siz uchun juda muhim va siz imkon qadar tezroq ishga joylashishni va zamonaviy ko'nikmalarni o'rganishni xohlaysiz.

1-oy: Katta rasm

Javob beradigan katta savol: Kompyuterlar, Internet va veb-saytlar qanday ishlaydi? Qanday qilib veb-saytni yaratishim mumkin?

  • Feynman texnikasini tushunib oling, shunda siz qisqa muddatli xotiradan foydalanishning o'rniga keyingi 5 oy davomida haqiqatan ham o'rganasiz.
  • Internet qanday ishlaydi: bu LearnCode.academy-dan va undan keyin esaостondan.
  • Kompyuter fanining eng yaxshi sharhi: Crash Course Computer Science
  • Ushbu Garvard kursini youtube-da tomosha qiling. Bu, ehtimol, eng yaxshi kompyuter fanlari o'qituvchisidan olingan sof oltin. Mashqlarni bajarishga hojat yo'q.
  • Buyruq satridan qanday foydalanish kerak: bu Zed Shaw tomonidan.
  • Qanday qilib veb-saytni yaratish / domenga ega bo'lish / uni yaratish va ishlamoq kerak: LearnCode.academy video.
  • Qanday qilib HTML, CSS bir-biriga mos keladi: ushbu ajoyib pleylistni tomosha qiling.
  • Bootstrap yordamida veb-saytlar yaratishni o'rganing. Buni boshlang, so'ng Bootstrap 4 hujjatlariga o'ting va u erda ko'rgan tarkibiy qismlarni namunaviy veb-saytga qo'shing. O'zingiz CSS yozishga qarshi bo'lgan afzalliklarni tushunib oling. LEKIN bu bilan ovora bo'lmang, chunki buning o'rniga biz ko'proq ishlash qobiliyatiga ega bo'lgan keyingi ikkisiga ko'proq e'tibor qaratmoqchimiz:
  • Veb-saytni tuzishda Flexbox va CSS Grid-dan qanday foydalanishni bilib oling. Keyin ushbu mashqni bajaring. O'z veb-saytingiz tartibini noldan yarating.
  • Bepul mavzular va shablonlarni ishlatib veb-saytlarni yaratish uchun shablonlarni qanday ishlatishni tushuning.
  • Agar vaqtingiz bo'lsa, freeCodeCamp-da HTML va CSS bo'limlarida bir nechta kurslarni qilishingiz mumkin.
  • BU MUHIM: Barcha HTML va CSS xususiyatlarini va teglarini sinab ko'rmang va yodlamang. Bu men ham qilgan xato. Siz Javascript-ni iloji boricha tezroq o'rganishni boshlamoqchisiz, bu veb-ishlab chiqaruvchi bo'lishning asosiy qismi. Siz CSS haqidagi bilimingizni "qanday qilib" to'liqsiz yoki to'liqsiz bo'lishidan qat'iy nazar, keyingi qismga o'ting, chunki qolgan oylar davomida HTML va CSS-dan foydalanasiz. Menga bunga ishoning.

2-oy: Javascript

Javob beradigan katta savol: Qanday qilib javascript mashinalari o'zingiz xohlagan narsani qiladi?

  • Keyingi oylarda sizning diqqat markazingiz ko'proq bo'ladi. Javascript qanday muammoni hal qiladi? Javascript-da veb-saytingizni ma'lum bir tarzda o'zini tutish uchun kichik dasturlarni yozishni boshlang. Ushbu til veb-saytlaringizni shunchaki chiroyli ko'rinishdan boshqa narsalarni qilishga majbur qiladi. Ushbu ikkita kursdan boshlang: bitta va ikkita
  • DOM manipulyatsiyasi haqida bilib oling.
  • Dasturlash haqida ushbu ajoyib maqolani o'qing.
  • Bu uzun seriyali seriyadir, ammo uni javascript-da tushunmagan narsangizga duch kelganingizda uni ma'lumotnoma sifatida foydalaning.
  • Javascript yozish uchun qanday qilib Chrome dasturiy ta'minotidan foydalanishingiz mumkinligini bilib oling. Ushbu CodeSchool kursini bajaring (faqat konsol bo'limi). Keyin javascript fayllarini ishga tushirish uchun html-ga