Qanday qilib men yangi ishdan to'liq ishlagan 9 oy ichida dastur muhandisiga o'tdim

Ushbu lavozimda, to'qqiz oy davomida to'liq ishlaydigan va o'z-o'zim o'qiyotgan holda dasturiy ta'minotni loyihalashtirish bo'yicha olti raqamli ish taklifiga qanday o'tganimni baham ko'raman.

Unsplash-da Artem Sapegin olgan surat

Muvaffaqiyatli hikoyani o'qishni har safar boshlaganimda, darhol uning muallifini o'rganish niyatidaman, chunki u mennikiga mos kelar edi. Men hech qachon mennikiga o'xshash birorta odamni topa olmadim, va ehtimol bu mennikiga mutlaqo mos kelmaydi.

Shunga qaramay, mening hikoyam boshqalarni ilhomlantiradi va sizning muvaffaqiyatlaringiz haqidagi ma'lumotlar to'plamiga qo'shilishi mumkin bo'lgan qimmatli ma'lumotlar nuqtasi sifatida ishlaydi deb umid qilaman.

To'liq oshkor qilish

O'rta maktabda Visual Basic (VBA) kursini oldim (to'qqiz yil oldin). Birinchi kurs muhandislik kursida (etti yil oldin) men ba'zi C, Python, Matlab va Labview-ni o'rgandim. Men yaxshi universitetni kimyoviy muhandislik darajasi va yaxshi GPA bilan tugatganman (uch yil oldin). O'tgan yili o'rganishni xohlaganimga qadar maktabdan tashqari, o'rta maktab yoki kollejda biron bir dastur qilmaganman.

Kollejdan so'ng men zavodda texnolog muhandis bo'lib ishga joylashdim. Men kariyeramni dasturiy ta'minotga o'zgartirganimgacha u erda ishladim.

Nega men karerani o'zgartirishni xohladim

Menga texnik muammolarni hal qilish yoqdi, lekin men biron bir vaqtda biznes / startaplar dunyosiga kirishni xohlayotganimni bilardim. Men har doim MBA haqidagi fikrimni xayolimda saqlab turardim, lekin har safar eng yaxshi maktablarning narx yorlig'iga qaraganimda, qiziqishim pasayib ketdi.

2017 yil 27-may kuni men yana MBA haqida o'qiy boshladim va qandaydir tarzda dasturiy ta'minot muhandisligiga qoqildim. Bu juda mos edi.

Dasturiy ta'minot muhandislariga talab ortib bormoqda, ish haqi katta va bu bir tonna boshlang'ich sarmoyaga ehtiyoj sezmasdan boshlang'ich dunyoga chiqish uchun eng zo'r soha. Sizga kerak bo'lgan yagona narsa - kompyuter va sizning imkoniyatlaringiz cheksizdir (bunday).

Hech qanday boshqa muhandislik intizomida siz shunchaki tasavvurga ega bo'lolmaysiz, uni qurishni boshlaysiz, uni foydalanuvchilarga ko'rsata olasiz va kirish uchun kam to'siq bilan iteratsiya qilasiz. Kimyoviy muhandislikda, agar siz yangi mahsulot uchun g'oyangiz bo'lsa, o'simlikni loyihalashtirish uchun sizga ishlaydigan o'simlik yoki katta mablag 'kerak bo'ladi.

Men odamlar ishdan bo'shab, bootcampga qatnashganini eshitgan edim, lekin bu haqda Internetda qancha ko'p o'qigan bo'lsam, shuni angladimki, agar siz o'z ishingizda sodiq va diqqatli bo'lsangiz, barchasini o'zingiz mustaqil ravishda o'rganishingiz mumkin.

Siz bootcamp tomonidan taqdim etilgan tarmoq va martaba bo'yicha maslahatlarni yo'qotayotganligingiz haqida bahslashishingiz mumkin. Bu haqiqat bo'lishi mumkin, lekin men baxtli bo'lganim sababli Bay hududida yashadim, bu menga bir nechta uchrashuvlarda qatnashishga imkon berdi, shuning uchun men shu tarzda tarmoq qurdim.

Bundan tashqari, eng yomoni, men buni o'zim qilolmasligimni tushunib etdim va keyin men bootcampda qatnashishdan voz kechdim.

Maqsad

Unsplashda Robert Beyker surati

Sizda maqsad bo'lishi kerak. Ayniqsa, agar siz to'liq kunlik ish paytida o'rganishga harakat qilsangiz. Agar sizda biron bir tashqi bosim bo'lmasa, o'rganish davom etaverishi oson. Shunday qilib, ichki bosimni yaratishingiz kerak. Sizning maqsadingiz oddiy va miqdoriy bo'lishi kerak. O'rtacha maqsadga erishish uchun etarlicha tadqiqotlar o'tkazish kerak. Meniki quyidagicha edi:

Bir yil ichida men hozir ishlayotganimdan bir xil yoki undan yuqori ish haqi bilan dasturiy ta'minot muhandisligi bo'yicha ish toping.

Reja

Glenn Karstens-Petritsning Unsplash-dagi surati

Maqsadga erishganingizdan so'ng, sizga u erga borishga yordam beradigan reja kerak. Bu erda iloji boricha ko'proq muvaffaqiyat tarixlarini iste'mol qilasiz. Ularning hech biri sizning aniq vaziyatingizga mos kelmaydi, ammo siz har biringizdan ba'zi maslahatlarni olishingiz mumkin. Men o'z rejamni o'quv dasturlash subreddit, freeCodeCamp forumi va O'rta kabi manbalardan foydalangan holda ishlab chiqdim (va takrorladim).

2017 yil 27-may kuni men kodni to'ldirishga qaror qildim va avval kaptarni boshimga qo'ydim. O'sha kuni ishdan keyin va dam olish kunlari kodlash uchun vaqt topa olishim uchun haftasiga 40 soatdan ko'p bo'lmagan vaqtni ish bilan boshlashga qaror qildim. Yaxshiyamki, men muvaffaqiyatlarimni hujjatlashtirish uchun juda yaxshi ish qildim.

Mening rejam ko'plab takroriyliklar orqali quyidagicha ko'rinishni tugatdi:

  1. CS asosiy tushunchalari to'g'risida chuqur bilimga ega bo'lish uchun CS kursiga kirish
  2. FreeCodeCamp-ga o'zim portfel darajasida to'liq stack veb-ilovalarni yaratgunimcha amal qiling
  3. Kodni tozalash, sinovlarni qo'shish, ilg'or kontseptsiyalarga e'tibor qaratadigan refaktor
  4. Ochiq manbaga hissa qo'shing
  5. Ish bo'yicha suhbatlarga tayyorlaning

Boshlash uchun mening rejam oddiy edi. O'shanda men Google-ning texnik ko'rsatmalariga amal qilaman deb o'ylagandim va ularni tavsiya etilgan kirish kursi - Udacity CS101 bilan boshladim.

Oy 0 - Udacity CS101, Garvard CS50

Ushbu katta qarorni qabul qilishning yuqori darajasi menga bir tonna energiya berdi. Men ishdan uyga qaytganimda kodlashni boshlardim va uxlashimga qadar to'xtamayman. Va keyin yana butun hafta oxiri. Udacity CS101 yakunlanish foizini kuzatdi, bu men uchun katta turtki bo'ldi. Kodlashdan keyin har kuni o'zimning tugatish foizimni qayd etdim. Men birinchi 75% ni 10 kun ichida tugatdim. So'nggi 25% rekursiyada og'ir edi va bu men uchun biroz qattiqroq edi. Umuman olganda, Udacity CS101-ni tugatish uchun 20 kun kerak bo'ldi.

Udacity CS101-ni qabul qilayotganda, men dasturlash uchun subredditni juda qattiq o'qiy boshladim. Men martaba o'zgarishini izlayotgan o'z-o'zini o'rgatadigan dasturchilar uchun Internetda faol bo'lish juda muhimligini o'qidim. Men o'zimning to'liq ismimni ishlatib, yangi Twitter, Reddit, Stack Overflow, Medium va Quora akkauntlarini yaratishga qaror qildim, shunda Internetda qatnashish imkoniyatiga ega bo'ldim.

Bundan tashqari, men Instagram, Facebook va dasturlashtirilmagan subreddits kabi chalg'ituvchi ommaviy axborot vositalarini o'qishni to'xtatishga qaror qildim. Men faqat o'z dasturlarim bilan bog'liq yangiliklar va xabarlarni tekshirish uchun telefonimni tekshirardim. Bu mening eng yaxshi o'rganish yo'llari va o'quv manbalari haqida ma'lumotga ega ekanligimga ishonch hosil qilishimda juda muhim edi. Shuning uchun men Garvard CS50 haqida edX-da bilib oldim.

Men dastlab bitta intro kursni bajarganimdan mamnun edim, ammo hamma Garvard CS50-ni tavsiya qilganday tuyuldi, shuning uchun men keyingi bosqichga o'tishga qaror qildim. Boshqa maktablardagi CS talabalari ushbu kursni o'tashgan va CSda o'qiyotgan universitetlarida bir yoki ikki yildan ko'proq CS50da ko'proq ma'lumot olishganlarini aytishdi. Kurs qiyin bo'lgan, ammo bunga arziydi degan umumiy fikrga kelishdi. 0 oyning oxiriga kelib, men dastlabki 5 ta ma'ruza va uy vazifalarini topshirdim.

1-oy - Garvard CS50, Linux, 1-uchrashuv, freeCodeCamp

Men CS50-ni oyning yarmida tugatdim. Men CS50 bilan bo'lgan tajribam haqida ko'p fikr bildirmoqchi emasman, chunki men bu erda o'z tajribam haqida chuqur post yozdim.

TLDR: Bu juda yaxshi kurs, buni sizga juda tavsiya qilaman. Devid Malan a'lo darajadagi o'qituvchidir va uni engishga yordam beradigan juda ko'p manbalar mavjud. Siz C-dan boshlaysiz, Python-ga o'tasiz va keyin veb-ishlab chiqishni tugatasiz. Bu juda zich, va material juda ko'p, ammo menimcha bunga arziydi.

CS50-dan keyin Windows va Ubuntu-ni ikki marta yuklash uchun XPS 15-ni o'rnatishga qaror qildim. Dam olish kuni asabiylashdi. Bo'limlarni aralashtirib yubordim va tizza kompyuterimni sindirib tashladim. Men tizza kompyuterimni chaynab, yangisini olishga yaqinlashdim.

Sekin-asta o'zimni Windows-dan olib tashladim va oxir-oqibat faqat Ubuntu-dan foydalandim. Men o'zimni qandaydir darajada ishlagan buyruq satri bilan ishlashga majbur qilmoqchi edim, lekin hali ham uzoq yo'llarim bor.

Men har kuni diqqat markazida bo'lib, kodlashimga ishonch hosil qilish uchun 100 kunlik kodni boshladim. Sizning muvaffaqiyatingizni hujjatlashtirish juda muhimdir. Agar siz har kuni rivojlanayotgan bo'lsangiz, bu unchalik ko'rinmaydi, lekin bir oy yoki bir necha oyga qarasangiz, haqiqatan ham biroz rivojlanishga erishganingizni tushunasiz, bu sizni davom ettirishga undaydi.

Tarmoq meni buzishini yoki buzishini bilardim, shuning uchun birinchi kodlash uchrashuviga borish uchun jasoratni to'pladim. Men hech qachon biron bir uchrashuvga bormagan edim, faqat kodlash bilan tanishishni. Men juda hayajonlangan edim, u erda haydab, to'xtab, eshik oldiga borganimdan so'ng, deyarli orqamga o'girilib, uyga qaytdim.

Bu guruh uchun birinchi uchrashuv bo'ldi. Men asabiylash uchun hech qanday sabab yo'qligini tezda angladim. Hech kim bir-birini tanimasdi, hech kim hukm qilmadi va hamma o'rganishga intildi. Bu uchrashish-kelishuvning boshlanishi edi. Men 9 oy ichida 50 dan ortiq uchrashuvlarda qatnashdim.

Uchrashuvlarni erta boshlaganimdan xursandman. Aksariyat odamlar ish qidirishganda uchrashuvlarga borishni boshladilar, ammo shu payt deyarli kech. Erta boshlash uchun juda ko'p sabablar mavjud. Bir nechtasini nomlash:

  1. O'zaro munosabatlarni rivojlantirish uzoq vaqt talab etadi. Erta boshlash, keyinchalik ish qidirishda sizga kafolat beradigan ulanishlaringiz borligini anglatadi
  2. Notanishlar bilan dasturlash haqida suhbatlashish - suhbatga tayyorgarlik ko'rishning ajoyib usuli
  3. Siz yangi ramkalarni, vositalarni va o'rganish manbalarini sizdan oldinroq bo'lgan odamlardan o'rganishingiz mumkin. Bu sizning kelajakdagi o'quv rejangizga ta'sir qilishi mumkin.

Bu vaqtda kodlash sayohatida noaniqliklar bor edi. Bu men qanday dasturiy ta'minot ishlab chiqaruvchisi bo'lishni xohlashimni hal qilishim kerak bo'lgan payt edi.

Oxir oqibat, men veb-ishlab chiqarishni tanladim, chunki juda katta talab va Internet resurslariga ehtiyoj bor edi. Men buni anglab etganimdan keyin, keyin nima qilishimni aniqlab olishim kerak edi. Ba'zi odamlar ushbu bosqichda men qurmoqchi bo'lgan veb-ilovalarim haqida o'ylab ko'rishni va keyin ishlashni davom ettirishni tavsiya qilishdi. Ba'zi odamlar Odin loyihasini yoki freeCodeCamp-ni tavsiya qilishdi.

Men qatnashgan haftalik uchrashuvni boshqargan yigit Rubini bilardi va Rubi bilan loyihalar qilishni xohlar edi. Men Odin loyihasini davom ettirishga qaror qilganimga katta sabab bo'ldi.

Ikki kundan keyin men bu fikrga qo'shildim.

Bu o'z-o'zidan o'rgatilgan marshrutni yo'naltirishning salbiy tomonlaridan biridir. Bir daqiqada siz qaysi yo'ldan yurishingiz kerakligini bilasiz deb o'ylaysiz, lekin ertasi kuni bu to'g'ri harakat bo'lganmi deb hayron bo'lasiz.

Men Rubyni yoqtirmayotganini o'qidim va men Ruby vs JavaScript ishlarini qidirish orqali isbotladim, shuning uchun freeCodeCamp-ni ishga tushirdim. FreeCodeCamp haqida meni bezovta qilgan narsa shundaki, ular loyiha g'oyalarini o'ylab topishdi, shuning uchun har bir operator xuddi shunday loyihalarni amalga oshiradi. Avvaliga bu meni qiziqtirdi, chunki men yollanma ishchilar bilan ajralib turishni xohladim. Ammo, freeCodeCampni sevib tugatdim va endi buni juda tavsiya qilaman. Mening tajribam va freeCodeCamp bo'yicha tavsiyalarim haqida ko'proq ma'lumot olish uchun bu erda mening yozuvimni ko'rib chiqing.

2-oy - YDKJS, freeCodeCamp Front End, reaktsiya

Siz JavaScript-ni bilmayapsizmi, o'qishni boshladim, chunki hamma uni FreeCodeCamp-ni to'ldirishni tavsiya qildi. Men bir nechta bo'limlarni qayta o'qib chiqishga majbur bo'ldim, chunki u zich, ammo leksik doirani, yopilishlarni, va'dalarni va JavaScript-ning siz eshitgan va o'rganishni istagan barcha qismlarini o'rganish uchun juda yaxshi manba, lekin ular hech qachon qiyin bo'lmagani uchun qilmang.

FreeCodeCamp-ning oldingi qismini tugatdim. Tekshiruv varag'ining shakli va tugallangan vaqt meni tezda tugatishimga turtki bo'ldi. Keyingi qismga o'tish va reaktsiyani o'rganish uchun men ham qichima boshladim. Biroq, bu mening loyihalarim minimal uslubga ega ekanligini anglatardi. Men foydalanuvchi hikoyalarini bajarish uchun kerak bo'lgan narsani qildim va boshqa hech narsa qilmadim.

Tushlik paytida, ehtimol, men loyihalarni yanada jozibador qilishga e'tibor qaratishim kerak edi. Ehtimol, bu menga CSS-ni chuqurroq o'rganishga yordam bergan bo'lishi mumkin.

Keyingi qadam Reactni o'rganish edi va men juda pompalandim.

Men bu haqda ko'p eshitganman va ajoyib bolalar bilan moslashishga tayyor edim. Ammo, o'sha paytda litsenziyalash masalasida biroz ikkilandim. Men endi boshqa muammo emasligidan juda xursandman. Reaktiv o'rganish men uchun qiyin bo'ldi. O'shanda men biron bir yaxshi darslikdan bexabar edim (lekin hozir bir tonna borga o'xshaydi).

Men hujjatlarni o'qishga va Facebook-ning Tic-Tac-Toe qo'llanmasiga rioya qilishga harakat qildim, lekin barchasini tushunmadim. Agar menga ishlamasa, menga JavaScript-ni etarli darajada tushunmayotganimni aytishdi. Shunday qilib, men siz "JavaScript-ni bilmayapsiz" ni o'qishga qaytib bordim, ammo bu men uchun juda zich edi.

3 oy - freeCodeCamp reaktsiyasi, CodeClub, boshlang'ich freeCodeCamp Back End

Oxir oqibat, men faqat freeCodeCamp React loyihalari orqali qanday ishlashini ko'rish uchun harakat qilishga qaror qildim. Bu kod juda xunuk edi, lekin bu menga Reactni biroz yaxshiroq tushunishga yordam berdi.

Men har hafta qatnashgan uchrashuv, ular Ruby o'rniga to'liq stack JavaScript bilan loyihalar qurishga qaror qilishdi va birinchi loyiha CodeClub.Social uchrashuv guruhi uchun veb-sayt yaratishdan iborat bo'lishdi.

Men React and Meetup API-dan foydalangan holda kartalarni yaratdim, bu foydalanuvchiga bizning veb-saytimizdagi keyingi uchta uchrashuvga yozilish imkonini beradi. Buni amalga oshirish uchun freeCodeCamp-dan tezkor tanaffus olish juda qiyin edi, ammo men bu imkoniyatdan o'tolmadim. Kichik bir guruh odamlar bilan bir loyiha ustida ishlayotganimdan xursand bo'ldim. Bu menga Git va Gitubni o'rganishga yordam berdi.

Oy tugashidan oldin freeCodeCamp-ning orqa qismida ishlay boshladim.

4-oy - tugagan freeCodeCamp Back End, Yeggle

Men API-ning barcha loyihalarini freeCodeCamp-da ishladim, lekin Image Search Abstraction Layer loyihasida freeCodeCamp-dan chetga chiqishni boshladim.

To'liq stekli veb-ilovalarni tayyorlash uchun qichima qilardim, shu sababli ushbu loyihaning nomini ko'rib chiqqach, o'z loyiham haqida tasavvurga ega bo'ldim. Men tasodifiy imgur URL-larini ma'lumotlar bazasida saqlaydigan tuguncha dasturini yaratgan bo'lardim, so'ngra ushbu tasodifiy rasmlarning foydalanuvchi tomonidan belgilangan sonini chiqaradigan old tomonni yaratgan bo'lardim. Hamma aytganlari haqiqat: siz o'zingizning g'oyangiz bo'lgan loyihada ishlayotganingizda ko'proq ishlaysiz va ko'proq muvaffaqiyat qozonasiz.

Uni ishga tushirgandan so'ng, men o'zimdan juda g'ururlandim. Bu xunuk va bema'ni edi, lekin u ishladi.

FreeCodeCamp orqali ishlayotganimda, mening imkoniyatlarim doirasidagi qanday loyihalar haqida bilib oldim. Men o'sha paytda muntazam ravishda yugurib yurardim, shuning uchun men yugurishim haqida g'oyalarni o'ylab topib, uyga kelganimda yozib qo'yardim. Men tayyor bo'lganda loyiha g'oyalari ro'yxatiga ega bo'lardim.

Men nihoyat o'zimning foydali va sayqallangan to'liq stack veb-ilovalarimni foydalanuvchilar bilan bo'lishish va portfelimga qo'yish uchun yaratishni boshladim. Men boshlashga juda tayyor edim.

Yangi restoran qidirayotganda, men har doim sharhlarni tekshirish uchun Yelp-ni ochib, so'ngra ularning sharhlarini tekshirish uchun Xaritalarni ochganman. Agar ikkalasini yonma-yon taqqoslaydigan ilova yaratgan bo'lsam nima bo'ladi?

Shunday qilib, men Yeggle qildim. Men Google Maps va Yelp API bilan birgalikda "Node / Express / React" dan foydalanganman. Bir nechta to'siqlar bor edi, men buni engib o'tishim mumkin deb o'ylamagan edim, lekin oxirida tugatdim va o'z ilovamdan juda g'ururlandim. Keyin uni Reddit-ga joylashtirdim va hech kim unga ahamiyat bermadi. Bu biroz bummer edi, lekin men uni tushirishimga yo'l qo'ymadim.

5-oy - StockIT

Men bu oyda ko'p ish qilmadim, chunki uni Yaponiya va Tailandga ikki haftalik ta'til bilan boshladim!

Ammo men keyingi loyihamni boshladim va yakunladim. Men o'z-o'zini o'rgatadigan dasturchi sifatida ish topish qanchalik qiyinligi haqida o'qishni davom ettirardim, shuning uchun men biron bir noyob narsa qilishim kerak deb o'yladim. Men Dow Jones aktsiyadorlik grafigi tendentsiyasini boshlagan o'yinni esladim va sizda bitta sotib olish va sotish uchun bitta imkoniyat bor edi va maqsad bozorni engish edi. O'yinning maqsadi sizga bozorni urish qanchalik qiyinligini ko'rsatish edi.

Mening fikrim shunga o'xshash o'yin qilish edi, lekin bozorning o'rniga siz mashinani o'rganish algoritmiga qarshi o'ynaysiz. Shunday qilib men StockITni yaratdim.

Men Pandas va Scikit Learn-ga oid video darslarni oldim, u bir nechta mashina o'rganish usullarini o'z ichiga oladi. Men dastlab chuqur o'rganish usullarini taklif qilmoqchi edim, ammo shuni tushundimki, katta miqdordagi ma'lumotlar to'plami va sarflashim ko'proq vaqt talab etadi.

Buning o'rniga oddiy chiziqli regressiya modeliga yopishib oldim. Bu juda qiyin bo'ladi deb o'ylagandim, ammo u yo'q edi. Re3 bilan jive-ga kirish uchun D3-ni olish juda qiyin ish edi. Ikkala kutubxona ham DOMni boshqarishni xohlashdi. Ikkisiga qo'shilishga yordam beradigan boshqa kutubxonalar ham bor edi, lekin ular juda shishganligini his qildim. Men D3-dan foydalanib SVG-larni yaratdim va DOM-ni boshqarish uchun reaktsiya qildim, bu men uchun juda yaxshi ishladi.

Bu safar men Reddit-ga ulashganimda, hamma uni yaxshi ko'rardi!

VC-lar kabi redditorlar ham bu mashinani o'rganish bilan bog'liq. Reddit-dan kelgan barcha muhabbat katta ishonchni kuchaytirdi. Odamlar mening o'yinimni o'ynashdi va zavqlanishdi!

6-oy - jobSort (), Job Hunt Prep

StockIT-dan keyin men o'zimning shaxsiy shaxsiy loyihamga o'tirdim. Men Stack Overflow, Github va Hacker News kabi kichikroq texnologiyalarga yo'naltirilgan ish ro'yxati veb-saytlarini birlashtirgan ish taxtasini yaratmoqchi edim. Unga o'ziga xos spinni qo'shish uchun men uni foydalanuvchining ish joyida xohlagan texnologiyalari va ularning har birini qanchalik yomon orzu qilgani asosida saralashga qaror qildim.

Masalan, aytaylik, men JavaScript, React va / yoki Pythonni biladigan ish qidirayotgan edim va men haqiqatan ham JavaScript va React bilan ishlashni xohlar edim, lekin Python haqida unchalik qiziqmasdim. Shunda men JavaScript-ga 3, reaktsiyaga 3 va Python a 1-ni berishim mumkin edi, keyin ro'yxatlar shunga qarab saralanadi.

Men ushbu loyiha bilan turli xil to'siqlarga duch keldim va bir necha bor yo'nalishni o'zgartirishim kerak edi, lekin men o'zim mamnun bo'lgan mahsulotni topdim. Mening oxirgi texnologiyam React / Node / Express / MySQL edi. Men loyihani subreddit cscareerquestions subreddit-ga joylashtirdim va shaxsiy loyihalarga ruxsat bermagani uchun ularni olib qo'yishdan oldin 650 marta ko'rdim.

"Yakuniy" mahsulot bu erda, va agar siz mening kurashlarim va sabablarim haqida ko'proq bilmoqchi bo'lsangiz, bu erda mening postimni tekshiring.

Muammolarim tufayli jobSort () oyning munosib qismini oldi. Men birinchi uchrashuvda tanishgan do'stim bilan qahva ichishni tugatdim va u menga hozir ish topshirishni maslahat berdi. Men hamma murojaat qilishni juda uzoq kutishganini aytadigan joyni o'qib chiqdim. Bundan tashqari, qachon murojaat qilish kerakligini so'ragan xabarni ko'rganimda, eng yaxshi sharh har doim "hozir" edi.

Boshimda men o'zimning shaxsiy loyihalarim bilan portfelimni tuzish bo'yicha tuzilgan rejam bo'yicha ishlashni boshladim, so'ngra ochiq manbali badallar ustida ishladim va keyin intervyuga tayyorgarlik ko'rdim va nihoyat ish joylariga murojaat qilishni boshladim. Bu do'stim menga ushbu rejani tuzishga va uni qo'llashni boshlashimga ishontirdi. Shunday qilib, bu oyda men portfel va rezyumeni tayyorladim. Keyingi oy men murojaat qilishni boshladim.

7-oy - sinov, ish ovi

Ushbu oyda men loyihalarim haqida gapirish va ish joylariga murojaat qilishga e'tiborimni qaratdim. Men ham sinov va Reduxni o'rganishni xohlardim.

Men buni sezgir qilish uchun CodeClub.Social-ga fleksbox qo'shdim. JobSort () -dagi mobil UX-ni yaxshiladim. Men jobSort () ga mocha / chai / fermenti bilan sinovlarni qo'shdim, uni o'rnatish oson, boshlash oson va keyin 100% qamrab olish qiyin.

Oy oxiriga qadar 63 ta ish joyiga murojaat qildim. Men buni o'z-o'zini baholash sifatida ko'rdim. Mening portfelim / rezyumeim etarlimi? Agar shunday bo'lsa, intervyuga tayyorgarlik ko'rish uchun nima ustida ishlashim kerak edi? Avvaliga men Hacker News-ga murojaat qildim: kim yollashadi va haqiqatan ham.

Hacker News-da, qaysi ro'yxatga olish uchun murojaat qilishni aniqlash uchun jobSort () dan foydalandim. Darhaqiqat, men dasturiy ta'minotga ega bo'lmagan kompaniyalarga biron bir joyda qo'ng'iroq yoki intervyu olishim mumkinligini tekshirishga harakat qildim.

Dastlab, men tezda murojaat qildim va rezyume / muqovadagi xatimni shaxsiylashtirmadim. Keyin, men o'zimning shaxsiy xatimni shaxsiylashtirishga qaror qildim va kompaniyadan kimgadir elektron pochta xabarini yuborishga harakat qildim. Bu usul otishma yondashuviga qaraganda aniqroq edi.

O'sha oyda men beshta qo'ng'iroq oldim - ikkitasi yollash kompaniyalaridan va uchtasi dasturiy ta'minot kompaniyalaridan:

  • dotcom kompaniyasida shartnoma tuzuvchi DevOps / sinov vazifasi
  • bir qator B oziq-ovqat tahlil kompaniyasi, va
  • yaqinda bir yirik korporatsiya tomonidan sotib olingan juda katta va muvaffaqiyatli startap

Men buni ikkitasida HR ekranidan o'tkazdim, ammo ularning hech biri sayt orqali intervyu bermadi. Men uchta qo'ng'iroqdan mamnun edim va ulardan ko'p narsani o'rgandim.

Internetda aytilganlarning hammasi, yosh ishlab chiqaruvchilar boshidan ko'p narsani bilishlari kerak emasligini, ular shunchaki ishtiyoqli va o'rganishga qiziqishi kerakligini ta'kidlashdi. Men o'yladim, oson. Men ishtiyoqli va o'rganishga juda xursandman. Men ushbu qo'ng'iroqlardan nimani o'rgandim, hech kim yosh dasturchini qidirmagan edi. Ular sizdan nima qilayotganingizni birinchi kundan bilishingizni kutishadi.

Bu qo'ng'iroqlar menga kerak bo'lgan narsani o'rgatdi

  • birinchi kundan qiymat qo'shish uchun etarlicha yaxshi bo'ling
  • ularga birinchi kundan qiymat qo'shishim mumkinligiga ishontirish uchun etarlicha ishonchli bo'ling

8-oy - tungi Shift, Redux, ochiq manba, saytdagi intervyu

Men shu oyda to'liq ish vaqtimda 40 kunlik tungi smenada ishladim - haftada 6 kun, kuniga 12 soat, 5:00 dan 5:00 gacha. UG.

Men bu oyda ko'p ish qila olmasligimni bilardim, lekin oldimga bir maqsad qo'ygan edim va unga erishmoqchi edim, shuning uchun bir oy dam olishim mumkin emas edi.

Men RedSux-dan foydalanish uchun jobSort.tech-ni ishga tushirdim, ammo bu men kutgandek qiyin emas edi. Men bu haqda juda ko'p podkastlarni tingladim va u haqida blogpostlarni o'qib chiqdim va undan foydalanishni boshlaganimgacha bu menga hech qachon ma'no bermadi.

Menga Redux bilan ma'lumotlar oqimi juda yoqadi. Odamlarning Reduxdan shikoyat qilishlari endi qiziq. Men o'z fikrlarimni bemalol tarqatib yuborishga qodir emasman deb o'ylayman, lekin menga reduktor naqshlari yoqadi.

Bu oy men uchun ochiq manba bo'lishi kerak edi. Men birinchi ochiq manbaga o'z hissamni qo'shmoqchi edim va bu ajoyib kutubxonaga katta hissa qo'shadi. Men Reactga hissa qo'shmoqchi edim!

Hamma buni o'qishga yordam berishdan tashqari, o'qish oson bo'lgan kodlar bazasi ekanligini aytdi. Ammo men ajralib turishim kerak edi, men noyob bo'lishim kerak edi. Mening hissam ahamiyatsiz bo'lishini bilardim, ammo shunga qaramay buni qilmoqchi edim.

Men hujjatlarni oxirigacha o'qib, keyin kod bazasi orqali boshlashim kerak. Har bir sonni, har bir PRni tomosha qiling. React hujjatlarini to'liq o'qish juda yaxshi mashq edi va men buni qilganimdan xursandman. Ammo men tezda reaktsiyaga hissa qo'shadigan muammo shunchaki ko'p yaxshi "birinchi muammolar" yo'qligini va ular tezda tortib olinishini angladim.

Men qatnashgan uchrashuvlardan birida Entoni Ng Kent Doddsning avtoto'ldirgan Downshift kutubxonasini sinashni tavsiya qildi. Bu o'yinchi edi. Bu mening g'ildirakchamda edi. To'g'ri qiyinchilik, yordam berishga yordam beradigan muammolarning soni, juda ko'p sheriklar emas, juda foydali texnik xizmat ko'rsatuvchi, toza sinovdan o'tgan kod. Buning ustiga, bu mening jobSort () ilovam bilan bog'liq bo'lgan ba'zi muammolarni mukammal hal qildi.

Taxminan oyning yarmida men oldingi oyda murojaat qilgan kompaniyalardan biridan xat oldim. Ular dastlabki telefon ekranini, so'ngra texnik telefon ekranini o'rnatdilar. Ular qidirayotgan texnologiyalar aynan men o'rgandim - React, Redux va D3. Men asosan loyihalarim va nima uchun aniq qarorlar qabul qilganim haqida gaplashdim. Shundan so'ng, mendan suhbatga kelishimni iltimos qilishdi. Mening birinchi sayt suhbatim!

Men intervyuga umuman tayyorlanmagan edim, shuning uchun men ish topolmayman degan intervyuga kirdim, ammo intervyu olishda qimmatli tajribaga ega bo'laman. Men ham uch soatlik uxlayapman, chunki men hali ham yordam bermagan tungi smenada ishlaganman. Yaxshiyamki, texnik qism oq bo'lmagan, faqat bir soatlik dasturiy mashg'ulot. Bu juda oddiy edi, ammo men juda asabiy edim.

Avvaliga, hamma narsani qidirmasdan bilganligimga ishonchim komil edi. Vazifani oxiriga etkazmoqchi emasligimni anglaganimda, suhbatdoshning men haqimdagi o'ylaridan xavotirlanishni to'xtatishim kerakligini va javoblarni topish uchun google / stack-ni to'ldirib qo'yganimni tushundim. Men tugatishni tugatmadim va men muvaffaqiyatsizlikka uchradim deb o'yladim.

Men juft dasturlarni ishlata olmadim deb o'ylaganim uchun, suhbatning qolgan qismida o'zimni erkin his qildim. Oxir oqibat, men suhbatni iyagim bilan qoldirdim. Eng yomoni, men bir nechta intervyu olish tajribasiga ega bo'ldim va eng yaxshi holatda birinchi ish taklifimni oldim.

9 oy - ish taklifi

Men birinchi ish taklifimni 9 oy va 7 kundan so'ng olishni boshladim, shundan keyin birinchi kunni almashtirish niyatida birinchi bo'lib dasturga kirishga qaror qildim. Birinchi intervyuimdan keyin menga taklif tushganiga ishonchim komil edi, lekin shu bilan birga, agar men taklifni qabul qilmasam, bu bir necha oy davomida oladigan yagona taklif bo'lsa nima bo'ladi? Men taklifni qabul qildim va qarorimdan mamnunman. Men kodni to'lashni xohlardim!

Maslahatlar

Shu paytgacha men o'zimning hikoyamni bir nechta tavsiyalar bilan o'rtoqlashdim. Ehtimol siz o'qiyotgan bo'lsangiz, siz yo lavozimni o'zgartirish haqida o'ylaysiz yoki karyerani o'zgartirish niyati bilan kodlashni o'rganishni boshlaysiz. Umid qilamanki, quyida keltirilgan maslahatlar sizga reja ishlab chiqishga yoki hozirgi rejangizga sodiq qolishga va maqsadingizga erishishga yordam beradi.

  1. Sizni nima undayotganini bilib oling va uni o'zingizning foydangizga ishlating. Men uchun bu nazorat ro'yxatlari, mening yutuqlarimni hujjatlashtirish va turli dasturiy jamoalar bilan o'zaro aloqalar edi. Agar siz maqsadingizga erishishga unday olmasangiz, boshqa hech narsa muhim emas, chunki siz oxiriga etkazolmaysiz.
  2. Maqsadlar qo'ying va ularga javob bering. Men oylik va ehtimol kunlik maqsadlarga ega bo'lishingiz kerak deb bahslashaman. O'zingizning asosiy maqsadingizga erishishingizga ishonch hosil qilish uchun oylik maqsadlar va kunlik muvaffaqiyatga erishishingizga ishonch hosil qilish uchun kunlik maqsadlar. Kundalik maqsadlarimni kecha kunduzi qilish men uchun ishlagan strategiyalardan biri edi. Shunday qilib, siz kun bo'yi samarasiz ish bilan shug'ullana olmaysiz va haqiqatdan ham bo'lmaganingizda o'zingizni rivojlantirdingiz. Kundalik yutuqlaringizni kundalik maqsadlaringiz bilan taqqoslashga majbur qiladi.
  3. O'zingizni tayyor deb o'ylashingizdan oldin uchrashuvlarga boring. Uchrashuvlarga borish qo'rqinchli bo'lishi mumkin, ammo yuqorida aytib o'tganimdek. Ammo, umuman olganda, hamma yaxshi va yordam berishga tayyor. Siz bilan gaplashishni istamaydigan odamlarni topishingiz mumkin, ammo ular ozchilikni tashkil etadi va hech kim hukm qilinmaydi. Bundan tashqari, hamma maslahat berishni yaxshi ko'radi (xuddi hozir qilyapman).
  4. Siz tayyor ekanligingizni taxmin qilishdan oldin, ochiq manbali manbaga hissa qo'shing. Dasturlashni boshlaganingizda, Github siz hech qachon borishni istamaydigan bu dahshatli joyga o'xshaydi. Bu aslida yangi boshlanuvchilarni juda yaxshi kutib oladi va yaxshi kodni ko'rish va o'z kodingizni qayta ko'rib chiqish uchun juda yaxshi joy. Agar siz hali ham ishonchingiz komil bo'lmasa, mening postimni tekshirib ko'ring, nima uchun hozirda ochiq manbaga hissa qo'shishingiz kerak.
  5. Tayyor ekanligingizni o'ylamasdan oldin, yo'lni qo'llashni boshlang. Bu men uchun juda qiyin edi, chunki men o'zimni boshqacha deb o'yladim. Men nima ishlash kerakligini his qilish uchun bozorni sinab ko'rishim shart emas deb o'yladim. Men qachon murojaat qilishga tayyor ekanligimni bilaman deb o'yladim. Sizga hozir aytayapman. Qachon murojaat qilishingiz kerakligini bilmaysiz. Shunday qilib, endi boshlashingiz mumkin. Siz aqldan ozmasligingiz kerak va looplarni o'rganishdan oldin 300 kompaniyaga murojaat qilishingiz kerak. Lekin siz bilishingiz kerak bo'lgan narsani bilishning eng yaxshi usuli bu bozorni qo'llash va sinab ko'rishdir.

Endi u erga qaytib, kodni kiriting!