Qanday qilib men texnik daraja yoki ish tajribasiga ega bo'lmagan holda to'liq ishlab chiqaruvchi ishini topshirdim

Olti oy oldin men o'zimning birinchi ishlab chiqaruvchimni ishga tushirish uchun to'liq stack veb-ishlab chiqaruvchisi sifatida oldim. Tegishli ish tajribam, texnik darajam va hatto bir yil faol kodlash tajribam yo'q edi. Va shunga qaramay, men o'z orzuim taklifini amalga oshirishga muvaffaq bo'ldim va bugun hayotimda birinchi marta o'z ishimni sevaman deb aytishi mumkin. Mana men buni qanday qildim - uzoq versiya.

1 qism: choraklik hayot inqirozini qabul qilish

Taxminan uch yil oldin, men chorak hayotiy tanazzulning o'rtasida edim. Men biznes maktabini bitirgan edim, jozibali investitsiya bankiga ishga joylashdim va bir necha oydan keyin bu ishdan nafratlanganimni anglab, o'sha ishni tashladim.

To'liq yo'qolgan va juda klişe bo'lib, bir necha oy davomida "o'zimni topish" uchun yakka sayohat qildim. Garchi men qilgan deb o'ylagan bo'lsam ham, qilmadim. Baribir etarli emas. Ammo bu aslida menga bir nechta narsani tushunishga yordam berdi.

Birinchi narsa, men shunchaki moliyaviy martaba bilan shug'ullanishni davom ettira olmadim. Men shunchaki baxtli qiladigan biron bir stsenariyni ko'ra olmadim.

Ikkinchi narsa shundaki, yuk orttirish va bemaqsad, garchi juda yaxshi bo'lsa ham, men qidirayotgan "qo'ng'iroq" ni topishga yordam bermadi. Bitta oqilona narsa odatiy sinov va xato usuli kabi tuyuldi.

Shunday qilib, uyga qaytib kelganimda, men baxtli qiladigan va shu bilan birga munosib yashashni ta'minlaydigan bir nechta narsani sinab ko'rishga qaror qildim. Sinov va xato edi.

Birinchidan, men jiddiy zarbalar yozaman deb o'yladim. Shunday qilib, men onlayn-biznes-jurnal uchun yarim kunlik ishlarni yozish va tahrirlashni boshladim. Bir muncha vaqt ajoyib edi. Haftada uch kun ishlaydigan, tezkor tahririyatda ishlash, biznes, moliya, texnologiya yoki barqarorlik bilan bog'liq barcha narsalar haqida yozish.

Shu bilan birga, men freelancer sifatida hayot haqida juda ko'p eshitgan edim, chunki buni sinab ko'raman deb o'ylagan edim. Shunday qilib, men o'z firmasimni qurdim va ko'p o'tmay bir nechta biznes-tahlil loyihalariga qoqilib ketdim. O'z xo'jayinim bo'lish, shubhasiz, juda hayajonli edi va deyarli hamma joyda ishlash men uchun mutlaqo yangi edi.

Men bu ishni sakkiz oy davomida davom ettirdim, yozuvchi / muharrir va mustaqil biznes tahlilchisi sifatida ikki baravar ko'paydim. Ammo oxir-oqibat jurnalga qiziqishni yo'qotishni boshladim.

Raqamli tarkib bilan shug'ullanadigan har qanday aql-idrokli odam biladiki, bosish madaniyati ijodkorlik va sifat hisobiga bo'ladi. Boshqacha qilib aytganda, tarkibingizni bosish uchun asosiy sabab bo'lsa, sekin urish kerak bo'lgan barcha ustunliklar tez orada birinchi bo'lib bo'lgan har qanday ijodiy ehtiroslarga berilib ketadi. Bundan tashqari, men yozuvchi / muharrir sifatida o'zim xabar qilayotgan tadbirdan juda uzoq bo'lganligimni his qila olmayman.

Shuning uchun men tark etdim. O'zim bilan bo'lgan xato va xatolarga oid bitimga muvofiq, yaxshi edi. Ammo men yozishni boshlashga sakkiz oy sarflaganim uchun bu juda ham ayanchli edi. Ammo aqlli kimdir aytishi mumkin yoki bo'lmasligi mumkin: bitta eshik yopilganda, boshqasi ochiladi.

Mening sinovlarim va xatolarim ro'yxatida yana bir narsani tekshirishim kerak edi.

2-qism: Hayotimni o'zgartirgan tushlik

Hayot g'alati va ba'zida u siz kutmagan joylarda hayotni o'zgartiradigan eng katta ilhomlarni yashiradi. Kodlash tomon birinchi “tortishimni” boshdan kechirganimda, albatta, men uchun shunday bo'ldi.

Garchi jurnaldagi ishdan bo'shatilganim kabi, tajriba shunchaki behuda ketmaganligini isbotlaydi. Texnika startaplari va tadbirkorlarning hayajonli hayotlari haqida juda ko'p yozganimdan so'ng, men ham bu turmush tarziga zarba berishga tayyor edim.

Taxminan bir oylik izlanishlar va ish qidirishdan so'ng men o'sha paytda - ehtimol Nordikadagi FinTech kompaniyalari orasida ish topishga muvaffaq bo'ldim. Bir necha yil ichida u Evropaning eng katta aktsionerlik jamg'armasi platformalaridan biriga aylandi.

Men biron bir aniq ish ochish uchun murojaat qilmagan edim. Ammo men kompaniyaning vazifalariga juda ishonganim va ularning muvaffaqiyatlaridan taassurot olganim sababli, men ularga shunchaki aytib bergan CFO bilan bog'lanib qolgandim. Biz bir necha marta uchrashdik va birdan men o'sha erda biznesni rivojlantirish bo'yicha mavhum rolda ishladim.

Garchi men strategik va tahliliy loyihalar ustida ishlashni orzu qilsam ham, biznesni ishlab chiqaruvchilarning odatiy ishlari bilan shug'ullanishni tugatdim: sotish. Shu sababli ham bu ish oxiriga etkazilmadi.

Ammo yana ko'p narsalar mavjud.

Jurnaldagi so'nggi ish tajribasi singari, bu ish ham bejiz bo'lmaganligini isbotlaydi. Haqiqatdan ham, men bugungi kunda ishlab chiquvchi bo'lmasdim. Chunki men Sandra bilan tanishgan joyim shu edi.

U o'sha paytda biz siqib tashlagan kichkina kichkinagina koreyorka ofisining narigi chekkasida o'tirib, mahsulot guruhining eng yaxshi ishlab chiqaruvchisi edi.

Texnik jihatdan biz hamkasblar edik, ammo ishlamay qolgan texnologik kompaniyada ishlagan har bir kishi biladiki, savdo guruhidan mahsulot guruhigacha bo'lgan masofa ko'pincha galaktikalarni bir-biridan ajratib turgandek his qilishi mumkin.

Bu menejment butun guruhni Ukrainadagi uzoq guruhga yuborishga qaror qilganiga yordam bermadi. Ya'ni, Sandra va boshqa barcha ishlab chiqaruvchilar o'zlarining ikki oylik bildirishnomalarini taqdim etishadi yoki kamroq bo'lishadi.

Bu masofaga qaramay, bir kuni Sandra va men birga tushlik qildik. Bu, asosan, professional ishlab chiquvchi bilan bo'lgan birinchi haqiqiy suhbatim edi va menimcha, bu juda qiziquvchanlik va tezlashtirilgan ekzistensial inqiroz, tushlikni tez yoki kam intervyuga aylantirdi.

Va bizning tushlik men uchun butunlay hayotni o'zgartiradigan tajriba bo'ldi. Aniqrog'i, uchta vahiy shunday qildi.

  1. Men uning veb-ishlab chiqishda "haqiqiy" ma'lumotga ega emasligini bilib hayron bo'ldim, bu men uchun ilmiy darajaga teng keladigani yo'q edi. U bilgan hamma narsani u MOOC platformalaridan (Free OpenCodeCamp va Codecademy) o'rgangan.
  2. U menga o'xshab moliya sohasida ma'lumotga ega ekanligini aytdi. Aslida u bir necha oy oldin menejer sifatida ish boshlaganiga qadar, u bir necha oy oldin tajribali amaliyotchi sifatida ish boshqaruvchisi bo'lib ishlagan.
  3. U menga atigi olti oy kodlash tajribasi bilan qurgan portfel sahifasini ko'rsatganda, men bunga ishonolmadim. Bu aql bovar qilmas edi.

O'sha tushlik men uchun imkoniyatlar dunyosini ochdi. Sandraning hikoyasi meni ko'proq ochlikka majbur qildi.

Shunday qilib, men bir necha hafta davomida odamlar ishlab chiquvchiga aylangan yo'llarning turlarini o'rganib chiqdim. Men har xil forum va maqolalarda ishtirok etdim, ularning ko'plarini shu erda O'rta Osiyoda topdim.

Masalan, Stackoverflow-ning yillik ishlab chiqaruvchilar so'rovi (100,000 suhbatdoshlar) ta'kidlashicha, barcha professional ishlab chiquvchilarning faqat yarmi bakalavr darajasiga ega va bu yarmining uchdan bir qismi informatika va dasturiy ta'minot injiniringi bilan mutlaqo bog'liq bo'lmagan narsalarga ixtisoslashgan.

Qancha ko'p o'qigan bo'lsam, shuncha ko'proq mening ta'lim haqidagi ta'rifim qanchalik torligini angladim. Agar dasturiy ta'minot muhandisligi kabi murakkab bir narsaga kirish uchun sizga kompyuter fanlari darajasi kerak bo'lmasa, sizga nima kerak edi? O'sha paytda men buni ko'ra olmasligim mumkin edi, ammo men hozirda akademik tizimning buzilganligini aniq ko'rmoqdaman.

U siz bitta hunarmandchilikka ixtisoslashgan va keyinchalik shu ko'nikmalarni umringiz davomida ishlatadigan ishchilarning sanoat davri uchun mo'ljallangan edi. Bu, albatta, bugungi tarix jamiyati uchun yaratilmagan, unda dunyo tarixi to'g'risidagi barcha ma'lumotlar bir necha marta bosilib, hamma narsa shunchalik tez o'zgaradiki, ta'lim aslida hayot emas, balki jarayon bo'lishi kerak. abadiy bir martalik foydalanish.

Ammo bu o'z-o'zidan maqola uchun etarlicha katta mavzu. Sandra bilan bo'lgan tushlikning eng muhim jihati shundaki, u menda nimadir yoqib yubordi va mening hozirgi yarim martabali biznes kareramni buzadigan pastadirdan xalos bo'lishga undadi.

Garchi men atrofimdagi dasturchilarga doim hasad qilar edim - hatto bir necha yil oldin Python 101 yozgi kursida o'qigan bo'lsam ham, men bu uchun hayotiy martaba yo'lini hech qachon ko'rmaganman. Hech bo'lmaganda 3-5 yil universitetga qaytib kelmasdan.

Shunday qilib, agar siz ushbu Sandrani o'qiyotgan bo'lsangiz, rahmat! Agar men ushbu maqola bilan bitta odamni siz ilhomlantirgan ilhom bilan ilhomlantira olsam, uni yozish uchun qilingan urinishlar ming marta to'langan deb o'ylayman.

3-qism: Menga 6000 dollarga tushadigan matn

Keyingi bir necha oy ichida men yuzlab soatlarni Codecademy va freeCodeCamp kabi onlayn platformalarda o'tkazdim. Men hatto "Code School" pulli platformasiga obuna bo'ldim.

Maqsadim nima ekanligini aniq bilganimga amin emasman. Meni boshlagan narsa bu mening karyeramdagi umidsizliklarning tushkunligi edi. Ammo meni yurishga majbur qilgan narsa, bu kodlash mashqlari qanchalik kulgili va foydali bo'lishini topdim.

Men sizga kodlash tasodifiy loyihadan "o'ta jiddiy" professional dasturchi bo'lishga aylanib qolganini qaysi nuqtada ayta olmasligimni aytolmadim. Ammo u biron bir joyda edi. Keyingi hayotimni o'zgartiradigan voqea sodir bo'lganda, men FreeCodeCamp-dan oldingi sertifikatimni olish arafasida edim.

Biznesni rivojlantirish bo'yicha ishimni tashlaganimdan so'ng, Shvetsiyadagi qishning sovuq muzidan xalos bo'lib, Markaziy Amerikaga sayohatga borishga qaror qildim. Agar yuzlab soatlab yolg'izlanib, o'zimni kodlashni o'rgatishimga to'g'ri kelsa, buni iliq, arzon va tushkunlikka tushmaydigan joyda qilishim mumkin deb o'yladim.

Men o'zimning tizza kompyuterimda El-Salvadordagi yotoqxonada kodlashayotgan edim, men do'stim Mardan SMS olganimda.

"Men ish oldim!" Deyildi.

Mari ham kodlashni o'rgandi. U bir necha oy oldin u menga o'zi yuborgan ushbu kod maktabi haqida qanday gapirib berganini esladim. "Kodlash bootcamp".

O'sha paytda men uni masxara qilardim - Shunday qilib. Siz 12 haftalik kurs uchun 5000 dollar to'laysizmi? Va siz buning uchun bitta universitet kreditini olmaysizmi? Va siz buni amalga oshirish uchun o'zingizning eng yaxshi MBA darajangizni tashladingizmi? Tovushlar qonuniy.

Va u o'sha erda edi. To'rt oy o'tgach, Mari rasmiy ravishda Accenture raqamli agentliklaridan birida kichik yoshdagi ishlab chiqaruvchi sifatida ish boshladi. Men u uchun haqiqatan ham baxtiyorman, lekin albatta juda rashkchi.

Men nima qilayotganimni to'xtatdim va bir nechta hisob-kitoblarni qildim. Agar men hozirgi sur'imni davom ettira olsam, kuniga o'rtacha 6 soat, haftasiga 5 kun kodlash bilan haftada 30 soat ish qilardim. Shunday qilib, freeCodeCamp-ning to'liq 1200 soatlik dasturini tugatish uchun kamida 8 oy kerak bo'ladi. Va agar men bu sur'atni davom ettirsam. Men buni aniq bilolmasdim, chunki mening pulim tugab qolgan edi va men tezda Shvetsiyaga qaytib, yangi ish topishga majbur bo'lishim kerak edi.

Men boshidanoq Mari singari yo'lni bosib o'tmaganligim uchun o'zimni tepdim va 4 oy davomida pulimni yuk mashinasiga emas, pulni bot-botga sarfladim. Xo'sh, nima bo'ldi, men o'zimga o'yladim. Men hali ham bootcampning ishga qabul qilinadigan darajaga etarlicha tez erishish uchun eng yaxshi variant bo'lganligini qabul qilishim kerak.

Yaxshi eski Google tadqiqotlariga qaytish.

O'zimning Sandra bilan tushlikdan keyin boshlagan joyimda o'zimni xuddi o'zimga qaytgan kabi his etdim. Faqat bu safar men butun bootcamp hodisasiga yangi juft ko'zlar bilan qaradim. Mari voqeasini bilar ekanman, ularning hammasi ham haqiqatdan ham hiyla-nayranglar emasligini bilardim, ammo bu sohaga kirishning to'g'ri yo'llari bor edi.

Keyinchalik, Stackoverflow-ning har yili ishlab chiqaruvchilar tomonidan o'tkazilgan so'rovi, statistik ma'lumotlar bilan yana bir bor ishonch hosil qildi: 88.1% kodlash bootcamp bitiruvchilarini bootcampni tugatgandan so'ng bir yil ichida yollangan.

Switchup va Coursereport tufayli men Le Wagonni, dunyoning 15 tadan ortiq joylarini va ikkala reytingning eng yaxshi 5 reytingini o'z ichiga olgan Le Wagon-ni kashf etganimdan ko'p vaqt o'tmadi (yozish paytida, aslida # Har ikkisida 1 ta, 27 ta joy bilan!).

Uni Hack Reactor, Ironhack, General Assambleyasi va NYCDA kabi alternativalar bilan taqqoslaganimdan so'ng, meni boshqa narsalardan afzal ko'rishimga sabab bo'lgan ba'zi bir sabablar:

  • Nisbatan past narx (orqada 6000 dollar).
  • Tadbirkorlik va mahsulot ishlab chiqarishga e'tibor.
  • Dunyo miqyosi va hamjamiyati.

Shunga qaramay, men hali ham dastur haqida bir oz shubhalanardim.

  1. Ruby va MVC frame relslarining orqa tilini tanlash. Garchi bu boshqa taniqli bootcamplar orasida juda keng tarqalgan bo'lsa-da, men o'qigan deyarli har bir maqola Javascript haqiqatan ham juda issiq ekanligi va ish beruvchilar nimani qidirayotganligi haqida gapirdi. Masalan, mening do'stim Mari bototamp Node.js va Express.js-ga asoslangan orqa ustunlar to'plamini o'rgatdi. Ikkala Javascriptga asoslangan texnologiyalar. Ba'zi bir keng tarqalgan dalillar, Rubyni o'rganish uchun ajoyib til ekanligi ko'rinardi, ammo Node va Express qobiliyatlari ish beruvchilar juda yuqori baholagan. Ruby haqiqatan ham ot o'ynashga qodirmidi?
  2. 9 haftalik kurs biroz qisqa bo'lib tuyuldi. Ko'plab raqobatdosh dasturlar kamida 12 hafta bo'lib ko'rindi, bu esa ishga yaroqli veb-dasturchiga aylanish uchun juda qisqa bo'lib tuyuldi.
  3. Le Wagon bootcampni tugatgandan so'ng, ish qidirib topishda yordam ko'rsatmadi. Ko'plab raqobatchilar ish kafolati yoki xizmatga kuchli xizmat sifatida qarashadi.

Keyingi qism oxirida men ushbu uchta shubhani har biriga alohida-alohida murojaat qilaman.

Biroq, mening tashvishlarimga qaramay, bu mening eng yaxshi tanlovim, deb o'ylardim va shuning uchun men Barselonadagi maktablariga hujjat topshirishga qaror qildim. Bir necha kundan keyin mahalliy maktab menejeri Gus menga Skype orqali intervyu berish uchun murojaat qildi.

El-Tunco shahrining dangasa uyida joylashgan kafelarda nosog'lom Wi-Fi orqali bog'lanib, biz qisqa suhbatlashdik. Ammo bu men kutgandan ham ko'proq norasmiy edi. Men bog'langanimizni his qildim va bu meni yanada ko'proq tan olishni xohladi. Keyin, hatto 24 soatdan keyin ham, men kutgan elektron pochtani oldim. Gus menga keyingi partiyada bo'lishimdan mamnun bo'lishini va bundan keyin qilishim kerak bo'lgan yagona narsa - bu joyimni saqlab qolish uchun 1200 dollarlik omonatni to'lash ekanligini aytdi.

Bu o'sha paytda men qoldirgan barcha pullar edi, va mening Salvadordagi so'nggi haftalarim uchun, jumladan uyga qaytishim uchun to'lashim kerak edi. Ammo agar men shunchaki qat'iy byudjetga tayanib, kutilganidan oldinroq uyga reysni buyurtma qilsam, buni amalga oshirishim mumkinligini bilardim.

Shunday qilib, bir oz ikkilanib va ​​Le Vagonga bo'lgan tashvishimni eslab, sezgi bilan ish tutdim va Gusni depozitga topshirdim. Keyin biroz esankiraganimni eslayman. Men haqiqatan ham 9 haftalik kodlash kursi uchun deyarli $ 6,000 to'lashga majbur bo'ldimmi? Hech qachon ta'lim uchun bir foiz ham to'lamagan shved sifatida vaziyat juda g'alati edi.

Ammo ko'p vaqt o'tmay, g'alati tuyg'u hayajonga aylandi. Hech bo'lmaganda, men yaqin kelajakda moliya, savdo yoki Internet-nashrlarida ishlashga qaytmasligimni bilardim. Xuddi shu kuni men bootcampgacha bo'lgan vaqtni rejalashtirishni boshladim.

Qolgan uch oy ichida men qandaydir tarzda ushbu to'lovning qolgan 4800 dollarini olishim kerak edi. Shuningdek, ijara va yashash xarajatlari. Yaxshi sh * t.

Men ilgari maslahat bergan kompaniyalardan biriga bordim va xayriyatki, ularda mukammal biznes-tahlilchilar loyihasi paydo bo'ldi. Dastlab ular 4 oylik shartnomadan boshqa hech narsani qabul qilmasliklari sababli, bu ishni ikkiga bo'lishim mumkinligiga ishontirishim kerak edi. Qandaydir bir tarzda ishladi.

Eh! Bundan bir hafta oldin, men hech qachon uyga qaytishni xohlamagan holda sayohat qilgan edim. Endi men ikki haftadan kam vaqt ichida Stokgolmda yangi ikki oylik o'yinimni boshlashim va keyin Barselonaga o'tishim kerak edi. Haqiqatan ham qiziqarli narsalar.

4-qism: Barselonadagi "Bootcamp"

Uch oyda tez oldinga harakat qiling. Bu 2017 yil 1-may, va men o'zimning Le Vagondagi birinchi ma'ruzamda ishtirok etyapman.

Mening atrofimda dunyoning turli burchaklaridan kelgan 25 kishi. Germaniyadan Kilian, Venesueladan Doniyor, Frantsiyadan Francesca, Italiyadan Arbi, AQShdan Kortni va boshqalar. Ba'zilari umuman kodlash tajribasiga ega emas, ba'zilari ozgina, ba'zilari esa o'zlarining kompyuter fanlari bo'yicha ilmiy darajalarini olish uchun yarim yo'lda.

Biz maktab direktori Gusni va Rubi ismli o'qituvchini tinglaymiz, u oldinda dastur tuzilishini tushuntiradi.

Barchamiz o'rganishga kelganimizda, jadval juda tartibli edi. Kelgusi 9 hafta ichida biz 6 ta turli modullarga ko'proq yoki kamroq teng vaqt sarflaymiz, ularning har biri o'z mavzusi bilan shug'ullanadi, o'z veb-ilovamizni rejalashtirish va ishlab chiqishga ikki hafta vaqt sarflaydi.

Birinchi birinchi hafta davomida men dars mazmuniga nisbatan o'zimni yaxshi his qilganim esimda. Bu yuzlab soatlar freeCodeCamp-da bo'lib o'tganidan so'ng, kunlik kodlashda qiyinchiliklar biroz past bo'lib tuyuldi.

Ruby men uchun hali ham juda yangi bo'lsa-da, asoslar Javascript va Python bilan bir xil edi. O'zgaruvchilar, qatorlar, xeshlar, asosiy funktsiyalar va iteratsiyalar haqida bilish uchun ma'ruzalar tinglash va mashqlar bajarish juda takroriy edi. Shunday qilib, men xo'rozni oldim va shu bootcampdan biron bir narsa olamanmi deb o'yladim. Biroq, bir hafta o'tgandan keyin ham barchasi o'zgaradi. Men o'zimni sinfning eng yaxshi odamidek his qilishdan tutish uchun kurashishga tushdim.

Men buni bilmasligimdan oldin, biz asoslardan ob'ektga yo'naltirilgan dasturlash, MVC arxitekturalari va ma'lumotlar bazalariga o'tayotgan edik va kunlar tushunchalarini tushunmaganligimni his qilgan kunlar ko'p edi. keyingi mavzuga o'tish.

Shunday qilib, men keyingi vitesni kiyishim kerak edi. Sinfda kuniga 10 soat, bu men uchun qiyin emas edi. Men har kuni bir necha soatdan ko'proq vaqt ajratishni odat qildim va dam olish kunlarining ko'pini o'tgan haftadagi eng murakkab narsalarni takrorlash bilan o'tkazdim. "Barselona" dan birinchi haftalardagidek zavq ololmaslik biroz yutib yubordi, ammo mening barcha pullarimni bootcamp-ga sarflaganim katta turtki bo'ldi.

Ko'ngilsizliklarning yana bir manbai biz o'rganayotgan narsalarning tarqoq tabiati edi. Bizga yuzta jumboq parchasi berilgandek tuyuldi, ammo barchasini bir joyga to'plash bo'yicha ko'rsatmalar yo'q. Asosiy Ruby, HTML, CSS, Javascript va SQL-ni qanday yozishni bilish haqiqatan ham kuch bag'ishlaydi, ammo qanday qilib bu bilim menga haqiqiy ilovani yig'ishda yordam beradi?

Va keyin mening katta AHA lahzasi keldi.

Bu 6-hafta edi va biz nihoyat Ruby on Rails moduliga etib keldik. Buni bilishdan oldin men brauzer oynamga qaradim va “Yay! Siz raylardasiz! ”. Bu mening birinchi veb-ilovam edi, dedi o'qituvchi.

Har qanday yangi Rails loyihasi uchun odatiy ochilish sahifasi.

Nima? Men qilgan barcha narsalar mening terminalimdagi bir nechta oddiy buyruqlarni bajarib, mening brauzerimda http: // localhost: 3000 / ustiga chiqdim. Men hatto nimaga qaragandim?

Men matn muharririda ilova katalogini ochmagunimcha, bu shirin tushuncha joyiga tushdi. Reylar bularning barchasini juda sodda tarzda namoyish etdi.

HTML uchun bitta papka, CSS va Javascript uchun bitta, kontrollerlar uchun va modellar uchun bitta papka. Yo'nalishlar uchun bitta fayl. Va bu shirin, shirin sxema uchun bitta fayl, butun ma'lumotlar bazasini xaritadan tuzish kabi oziq-ovqat xarid qilish ro'yxatidan ko'ra murakkabroq emas.

Nihoyat, ushbu qismlar Rails kabi MVC doirasida bir-biriga qanday moslashishi haqida katta tasavvurga ega bo'lganimdan so'ng, butun kecha va dam olish kunlarini kodlash endi boshqa kurash emas edi. Aksincha, men kechasi uxlash uchun tizza kompyuterimni echib olish uchun ko'p kurashardim.

Men har kuni juda ko'p yangi ma'lumotlarga ega bo'ldim. Va bu mast qiluvchi ta'sirni berdi, uni so'z bilan aytib berish qiyin.

  • Shunday qilib, men aslida HTML va Rubyni erb fayllarim bilan aralashtirib yuboraman
  • Men bog'liq bo'lgan html.erb faylidagi kontrollerdan misol o'zgaruvchilariga kirishim mumkinmi?
  • Men Gems deb nomlangan narsadan foydalanib, boshqa odamlar yozgan kodni import qila olamanmi?
  • Men aktivlar / javascript katalogida xohlagancha vanil JavaScript-ni yoza olamanmi?
  • Men terminalda Rails konsolidan asosan barcha ma'lumotlar bazasi bilan xohlagan narsani qilish uchun foydalanishim mumkinmi?

Bu shunchaki nihoyatda qoniqarli Aha lahzalarini tugatadigan oqim edi. Gap shundaki, sizda kuch juda kuchli edi va har bir yangi ma'lumot bilan to'la Jediga o'tish uchun bir qadam yaqinlashdingiz. Hatto, to'qqiz oydan keyin ham, men o'zimni xuddi shu balandlikda ekanligim kabi his qilyapman va bu aslida doimiy narsa bo'lishi mumkin deb o'ylay boshladim. Qanday yaxshi!

Qanday bo'lmasin, yuk mashinasi poyezdi sekinlashayotgani yo'q edi va biz so'nggi ikki haftada o'z ilovamizni yaratishga ulgurganimizga qadar yetib oldik. Ikki hafta katta Demo kuni bilan tugaydi, bu erda har bir guruh o'zlarining dasturlarini kameralar va katta tomoshabinlar oldida tayyorlaydilar va namoyish qiladilar.

Bosim.

Ajablanarlisi shundaki, rejalashtirish hozirga qadar ko'p vaqt talab qiladigan qismga aylandi. So'nggi bir necha hafta ichida biz juda ko'p tayyorgarlik ko'rdik - ilova g'oyalarini tayyorlash, guruhlarni tuzish, eskizda xususiyatlarni loyihalash - bir necha kun kodlashdan keyin biz juda shuhratparast ekanligimizni angladik.

Ilovaning boshlang'ich g'oyasi "Professional ulanishlar uchun baxt" deb nomlangan edi. Xususan, foydalanuvchilarga boshqa foydalanuvchilar qatnashishi va kirishlari mumkin bo'lgan tarmoq voqealari uchun sahifalar yaratishga imkon berish. “Ammo bu uchrashuv” deb o'ylagandirsiz. Ammo bizning g'oyamizda bir burilish bor edi: agar siz voqea joyida jismonan bo'lsangiz, faqat biron bir hodisani tekshirishingiz mumkin edi. Shunday qilib, "Professional aloqalar uchun baxt."

Agar biron bir tadbirda ro'yxatdan o'tgan bo'lsa, foydalanuvchi LinkedIn-ning API-si orqali to'plangan ma'lumotlardan foydalangan holda, boshqa tekshirilgan foydalanuvchilarning professional profillarini ko'rishi va ularning manfaatlariga mos keladiganlar bilan ulanishi va ular bilan suhbatlashishi mumkin, shuning uchun katta ulanishlarni o'tkazib yubormaydi. .

Bu bizning dastlabki MVP (minimal hayotiy mahsulot) edi va biz uni Unify deb nomlashga qaror qildik. Super korniş va Silikon vodiysi, men bilaman. Ammo o'zimizni himoya qilishda, yaxshiroq nomlar haqida o'ylashdan ko'ra, vaqtimizni yaxshiroq o'tkazishimiz kerak edi.

Haqiqiy xususiyatlar haqida miya hujumi kabi. Ammo keyin biz aslida juda ko'p xuruj qildik va xususiyatlar qo'shildi va o'chirib tashlandi, biz butunlay boshqa dasturni topdik,

  1. qolgan o'n kun ichida hech qachon demo-tayyor bo'lmaydi
  2. birinchi g'oyamiz deb o'ylaganimizdek deyarli bezovta qilmadi.

Shunday qilib, biz MVP-ning xususiyatlarini qisqartirishimiz kerak edi va aslida Le Wagon menejeri Gus boshidanoq tavsiya qilgan mahsulot bilan deyarli tugadi.

O'sha paytda biz o'ylagan narsa vaqtni behuda sarf qilish edi. Ammo bu jarayon menga hech bo'lmaganda mahsulotni ishlab chiqish bilan bog'liq juda muhim narsalarni o'rgatdi:

  • To'g'ri bajarilganda, haqiqiy kodlashdan ko'ra rejalashtirish haqida ko'proq narsa bo'lishi kerak.
  • Eski kod xatolarini tozalash uchun, boshidanoq to'g'ri rejalashtirish va bajarishdan ko'ra ko'proq vaqt talab etiladi.
  • MVP har doim siz boshidan o'ylagandan kichikroq bo'ladi.

Oradan o'n kun o'tgach, 100 soatdan ortiq kodlash, loyihalashtirish, bahslashish, sinovdan o'tkazish, ma'lumotlar bazasini ko'chirish va ma'lumotlar bazasini ko'chirib o'tkazgandan so'ng, biz qandaydir tarzda Demo kuniga mo''jizaviy ravishda etib keldik va bizning dasturimiz haqida juda yaxshi his qildik. Albatta, bu mukammal emas edi, lekin barcha asosiy funktsiyalar aslida biz xohlaganimizdek ishlayotgan edi.

Biroq, namoyishdan bir necha soat oldin, deyarli barchamizda yurak xuruji bo'ladi.

Google-ning geolokatsiya APIsi bizning talablarimizga javob bermadi, shuning uchun biz demo uchun ishlatiladigan voqeani tekshira olmadik. Biz hamma narsani sinab ko'rdik. Kommutatsiya kompyuterlari va foydalanuvchilar. Yangi voqealarni yo'q qilish va yaratish. Hodisa ko'cha manzilini o'zgartirish. Hech narsa ishlamadi.

Uchovimiz vahima qo'zg'amay, xotirjam bo'lishga harakat qildik. Ehtimol, bu geolokasyon xususiyati uchun mas'ul bo'lgan odam osonlikcha qanday hal qilishni biladigan xato edi.

Ammo u kechroq yugurayotgan edi, shuning uchun uni chaqirishga harakat qildik.

Javob yo'q.

Biz yana qo'ng'iroq qildik.

Javob yo'q, yana.

Va keyin biz vahima qildik.

So'nggi daqiqagacha, bizning ajoyib o'qituvchilarimizdan biri Antuan tufayli biz xatoni topishga muvaffaq bo'ldik. Biz tasodifan masofa oralig'ini juda past qilib qo'yganimiz sababli, ilova voqea joyida ekanligimizni tasdiqlay olmadi. Biz shunchaki radiusni bir necha kilometrga ko'paytirdik, o'z maqsadimizga erishdik va ishlab chiqarish serverimizga o'zgartirish kiritdik.

Va voilà - ilova mukammal ishladi. Demo ham shunday qildi.

Umuman olganda, mening Le Wagon tajribam hayratlanarli narsa emas edi. Men bunday qisqa vaqt ichida hech qachon ko'p narsalarni o'rganmaganman. Darhaqiqat, ko'pchiligimiz 9 haftalik rivojlanish tajribasiga ega to'liq xususiyatli veb-ilovalarni yaratishga muvaffaq bo'lganimizga ishonish qiyin.

Ammo o'zingizni aldamang, bootcamp siz uchun ishlamaydi. Biror narsani olish uchun, siz unga to'liq majburiyatingizni berishingiz kerak. Men o'zim ko'p odamlar orqada qolayotganlarini yoki ular tashlab yuborganlarini ko'rdim

  • qiyinchilik darajasining to'g'ri taxmin qilinmaganligi,
  • etarlicha tayyorlanmagan yoki
  • ushlab turish uchun boshqa narsalar bilan juda band edi.

Yakuniy eslatmada, menimcha, ko'pgina hiyla-nayranglar bu kompyuter fanini o'z-o'zini o'rganish yoki bootcampga almashtirish, veb va / yoki mobil ishlab chiqaruvchi bo'lish uchun vosita deb hisoblashdir. Mening tajribalarimga asoslanib, bu aniq emas.

Agar siz kompyuter fanlari bo'yicha ilmiy darajaga ega bo'lsangiz ham, samarali bo'lish uchun hali ham ko'p miqdordagi amaliy bilimlarni to'ldirishingiz kerak bo'ladi. Men bu birinchi qo'limni mening bootcamp sinfdoshlarimda ko'rganman, ularning ortida 2 - 3 yillik CS tadqiqoti. Yana, buning sababi shundaki, akademik model buzilgan va eskirgan, shuning uchun real dasturiy ta'minotni ishlab chiqish o'zgarib turadigan keskin sur'atda davom eta olmaydi.

Mening fikrimcha, agar maqsad ishlab chiquvchi bo'lish bo'lsa, o'z-o'zini o'rganish yoki bootcamp biron-bir tarzda kerak bo'ladi. Shunday qilib, kompyuter fanlari darajasi almashtirish emas, balki qo'shimcha sifatida qabul qilinishi kerak.

Va (yaxshi) bootcampning sizni o'z-o'zini o'rganishdan ko'ra tezroq ishlab chiqaruvchiga aylantirishingizning sababi quyidagilardan iborat:

  • puxta, ammo qisqa o'quv dasturi,
  • darslar va mashqlar bilan, eng muhimi, muammosiz onlayn platforma;
  • devorga urganingizda odamning chaqiruv yordami.

Ushbu qismni yakunlash uchun men bootcampga kirishdan oldin uch bor duch kelgan muammolar haqida gapirib bermoqchiman.

1. JavaScript-ga asoslangan stakning o'rniga Rails-da o'rganish

Agar siz hozirda mening Rails bootcamp-ga qo'shilishimdan oldin turgan bo'lsangiz va Internetda toshib ketgan JavaScript gipotezasiga to'lib-toshgan bo'lsangiz, o'zingizdan: «Ruby - bu tarixiy tilmi, agar Rails - bu eski yil bo'lsa», deb o'zingizga savol berishingiz mumkin. Agar shunday bo'lsa, qisqa javobim "yo'q" bo'ladi.

Ammo uzoq javob bu bo'lishi mumkin.

Hozir men ishlayotgan kompaniyada yuqori tirbandlikdagi veb-ilova va orqa tomondan Ember.js old ramkasi o'rnatilgan. Taxminan olti oy davomida ushbu ilova bilan to'la vaqt ishlaganim, Javascript-da men kabi, Rubidan ham ko'p kodlashni talab qildi, bu menga texnologiyalar o'rtasidagi farqlar va o'xshashliklarni tushunishga yordam berdi.

Ishonamizki, HTML / CSS renderlash (yoki "qarashlar") haqida gap ketganda, Rails-ning tajribasi hatto eng katta JavaScript ramkalari bilan taqqoslanmaydi. Men raylarni yomon ko'radiganlarga berishim kerak.

Masalan, maqolaning yoki blog postining asosiy sharh qismini oling. Foydalanuvchi sifatida siz yuborgan har qanday sharhingiz darhol ekraningizda ko'rinishini kutasiz.

Zamonaviy JavaScript doirasida, yangi ma'lumotni (sharhni) mijoz tomonidagi ma'lumotlar omboriga surish va sharhlar ro'yxati yangi sharhni ko'rsatish uchun holatini yangilashiga ishonch hosil qilish masalasi. Shunday qilib, yangi yozuvning oxirigacha, ma'lumotlar bazasida saqlanadigan va keyin mijoz tomonidan yana so'ralgan holda, kutish shart emas. Buning o'rniga yangi sharh darhol sizning ekranda paydo bo'ladi.

Sizning Rails HTML kodingizning ustidagi hech qanday JavaScript bo'lmasa, foydalanuvchi maqolada yangi sharhlarni ko'rish uchun sahifani yangilashi kerak edi. Bu shunchaki dahshatli UX. Bunga yo'l qo'ymaslik uchun siz bir necha xil yo'llarni bosib o'tishingiz mumkin.

JS ramkalari asridan oldin, asosiy echim ba'zi bir tuzilmagan AJAX mantig'ini HTML-ning ustiga sepishdir, bu odatda sizning dasturingiz kattalashib borishi bilan uzoq vaqt davomida saqlab qolish juda qiyin bo'ladi. Yaqinda Rails uchun taqdim etilgan yana bir variant - bu Publisub (nashr qilish-obuna bo'lish) veb-echimi Action Cable kabi narsadan foydalanish. Masalan, bu biz bootcamp-da o'rnatgan ilovadagi suhbat uchun ishlatilgan. Muammo shundaki, JavaScript-ning ramkasini tashlamasdan, veb-mantiqiy mantiqiy keraksiz murakkabliklarga osonlikcha ega bo'lib, uni saqlash qiyin.

Yaxshiyamki, bugungi kunda biz ushbu turdagi muammolar uchun JavaScript ramkalaridan foydalanishning eng yaxshi variantiga egamiz. Mijozning fikri, menimcha, Railsning eng zaif nuqtasi, shuning uchun bu Laravel yoki MERN stack-ni tanlash uchun radlar nima uchun rad etilmasligi kerak. React yoki Ember singari aniq JavaScript ramkasini qoqib qo'ying va siz borishingiz yaxshi bo'ladi.

Men shaxsan bizning Reyler va Ember o'rtasidagi integratsiyamizni va ular bir-birini to'ldirishini yaxshi ko'raman. Ularning fikrlashi, fe'l-atvori, qat'iy tajribasi, uzoqni ko'ra oladigan etakchilik va katta hissa qo'shadigan jamoalar ularni biz kabi yosh ishlab chiqaruvchilar uchun barqaror, ishonchli va munosib qiladi.

Agar siz hanuzgacha harakat qilsam ham, Ruby-ga sizning dastlabki himoya tilingiz sifatida baho berishda ikkilanayotgan bo'lsangiz, shuni eslatib o'tmoqchimanki, men olti oy oldin JavaScript haqida deyarli hech narsa bilmas edim (ba'zi asosiy vanilya JS, React, bundan tashqari) va jQuery sintaksisi) va bugungi kunda men ushbu tillar va freymlar bilan kunlik ravishda uzluksiz ishlamoqdaman va ular o'rtasida o'tmoqdaman. Va uning har bir daqiqasini seving (majoziy ma'noda).

O'zingizning ona tilingiz sifatida nimaga erishishingizdan qat'iy nazar, tashvishlanmang - har doim ishda ikkinchi tilni o'rganishingiz mumkin

2. Biror narsani o'rganish uchun 9 hafta juda qisqa emasmi?

Bootcampning amal qilish muddati - atigi 9 hafta - aslida biron bir qimmatli narsani o'rganish uchun juda qisqa bo'lishi mumkin degan xavotirimga kelsak, Le vagon menga bu afsonani aytib berishimga yordam berdi. Qisqacha aytganda, boshqa ko'pgina o'yinchilar taklif qiladigan 12 kundan 9 haftani afzal ko'rishim aniq.

Sababi, bootcampning o'zi sizni aslida ishga tayyor darajaga olib chiqmaydi. Hech bo'lmaganda men uchun emas. Aksincha, bu menga samaraliroq darajaga etishim uchun zarur bo'lgan barcha zarur vositalar va ularni qanday qilib birlashtirish haqida batafsil ma'lumot berdi. Shunday qilib, agar ular menga yana uch hafta bersalar ham, bu o'nlab qo'shimcha vositalar bilan tanishishni anglatar edi. Keyinchalik men qanday qilib chuqurroq foydalanishni o'rganishim kerak bo'lgan vositalar. Va bu ro'yxat allaqachon ancha uzoq edi.

Men bootcampdan keyin, bir necha hafta davomida o'z portfel ilovalarimni yaratgandan so'ng, vositalar qanday ishlashini tushundim. Shunday qilib, agar siz bootcamp bilan shug'ullanmoqchisiz, lekin bir necha hafta farqiga asoslangan variantlarni taqqoslasangiz, mening maslahatim bu o'zgaruvchini tenglamadan olib tashlashdir. Agar siz menga o'xshagan bo'lsangiz, har bir vositani o'zingiz ishlatishingiz kerak bo'ladi.

O'tmishga nazar tashlasak, Le Wagon-ning asboblar vositasi qanchalik aniqligi juda ajoyib edi. Hozirgi ishimda ushbu vositalarning ko'pchiligini har kuni ishlataman. Ba'zi misollar Postgres, Git, GitHub, Sidekiq, Pundit, Heroku va Cloudinary bo'lishi mumkin. O'qituvchilarim ko'proq vaqt sarflashlarini xohlagan ikkita narsa - bu React kabi JavaScript tizimidan foydalanish va Rspec kabi texnologiyalar yordamida testlarni qanday yozish. Sababi, ikkalasini mustaqil ravishda o'rganish mening birinchi ishlab chiqaruvchim ishiga kirishda hal qiluvchi ahamiyatga ega bo'ldi.

3. Ish kafolati va / yoki martaba bo'yicha xizmatlar menga yordam beradimi?

Yuqorida aytib o'tganimdek, ko'plab yuk mashinalarida "yollash yoki pulingizni qaytarib berish" siyosati mavjud. Va yana ko'plari, potentsial ish beruvchilar bilan aloqada bo'lishga va ariza va intervyu olishda sizga yordam berishga yordam beradigan martaba xizmatlari bo'limiga ega.

Garchi bu ko'pchilik uchun yoqimli bitimdek tuyulsa-da, aslida men uchun bu o'zgarishi mumkin deb o'ylamayman. Ammo keyin yana, yana ikki oy ichida kodni kodlash, 500 ga yaqin vaqtni sarflash, mening rezyumimda elita maktab darajasiga ega bo'lish va ish uchun murojaat qilish va intervyu olishda ko'p tajribaga ega bo'lishga vaqtim bor edi. Agar bu narsalar sizga taalluqli bo'lmasa, ehtimol bu bootcamplarni tanlashda e'tiborga olish kerak bo'lgan omil. Bilmadim.

5-qism: Portfelni yaratish

Shu yozning oxirgi iyulida, yozgi bampamp tugadi. Ammo men endigina boshlayotgan edim.

"Unify" dasturini bootcamp-da ishlab chiqish va uni marra chizig'iga olib chiqish menga ko'p kuch bag'ishladi va men u erda bo'lgan paytimda ushbu imkoniyatdan maksimal darajada foydalanishga qaror qildim.

Bankda hali ham ozgina pulim bor edi va bir necha hafta Barselonadagi kvartirani ijaraga berdim. Men, asosan, shaharda hamma biladigan odamlar ketishgan. Shunday qilib, men nafaqat ovqatlanish, uxlash va tush ko'rish qoidalarini saqlab qolish uchun hech qanday sabab yo'q edi. Faqatgina yarmi ongli ravishda men o'zim uchun bir nechta yangi tartib va ​​odatlarni o'rnatdim:

  • Men maqsadimga erishgunga qadar har kuni kodlar kiritardim, albatta, bu birinchi ishlab chiqaruvchini ishga olish edi. Ma'nosi dushanbadan yakshanbagacha, kunu tun.
  • Men Github-ga yozgan har bir kod kodini, potentsial ish beruvchilar sizning kod mahoratingizni va ambitsiyangiz darajasini tekshirishlari uchun ishlataman. Agar men biron-bir yomon ish qilaman deb o'ylamagan bo'lsam ham, men buni butun dunyo ko'rishi uchun o'sha shirin yashil tarixni yaratish uchun qilaman.
Mening Githubim https://github.com/charliejeppsson-dan tarixga ega.
  • Men imkon qadar ko'proq dasturiy ta'minot tarkibiga o'zimni bag'ishlayman. Bu dasturiy ta'minot Daily va SE Radio kabi podkastlarni tinglash degani, men biron bir topshiriq, ishlamay yoki ovqat pishirayotganda. Bu "Coding Tech", "Traversy Media" va "CS50" singari Youtube kanallaridan suhbatlar, darslar va ma'ruzalarni tomosha qilishni anglatadi. Bu degani Hacker Noon, freeCodeCamp, Codeburst va Techcrunch va The Next Web kabi jurnallarni o'qishni anglatardi. Va bu mening tizza kompyuterimga Dash-ni o'rnatishni, har qanday vaqtda men duch kelgan har qanday sintaksiya muammosiga tegishli hujjatlarni osongina qidirish imkoniyatiga ega bo'lish uchun degan ma'noni anglatadi (men uchun asosan MDN veb-hujjatlari, api.rubyonrails.org va RubyDocs). .

Boshqacha qilib aytganda, mening dasturchi bo'lishga bo'lgan intilishim har qachongidan ham kuchli edi va men biron bir ilmiy yoki kasbiy xususiyatga ega bo'lmasam ham, agar menda kikass portfelim bo'lmasa, ish intervyuiga hech qachon chaqirilmasligimni bilardim. Shunday qilib, men bundan keyin nima qilishni o'yladim.

Demo kundan bir kun o'tgach, kechadan zo'rg'a xayol surib, men o'zimning birinchi Rails ilovamni qurishni boshladim (bu shunchalik kuchli edi!). O'zimni yaxshi tutgan holda, birinchi ilovani bir necha hafta ichida tugatish kerakligini angladim, endi Unify ilovasi bilan bir marta ishlashni boshladim. Yana yanglishdim.

Uni tugatish uchun deyarli ikki oy vaqt kerak edi. Bootcampning so'nggi ikki haftasida juda ko'p jarayonlar sodir bo'ldi, men ularni to'liq tushunmasdan. Men bir necha kun davomida turli xil narsalarga yopishib qoldim, xijolatdan oddiydan biroz rivojlangangacha. Faqat vaqtni tanlash vositasini sozlash uchun Stackoverflow-ga bir necha kun kerak bo'ldi. Suhbat xususiyati haqida gapirmasdan, Action Cable-dan foydalangan holda veb-paketlardan foydalaning, bu meni tuzatish uchun ikki hafta vaqt talab qildi.

Ammo sarflangan vaqt bunga loyiq edi. Ilova juda ajoyib chiqdi: aslida men odamlar uchun demo qilishim va mag'rurlanishim mumkin bo'lgan narsa edi. Garchi umidsiz dam olishning ko'p daqiqalari bo'lgan bo'lsa-da, men bir tonna o'rgandim. Va aslida, bu shov-shuvni boshimdan kechirganim menga juda ko'p tasalli berdi, chunki bootcamp yaxshi tanlov bo'lgan.

Agar men hamma narsa bilan tanish bo'lganimda hozir bu narsalarni kodlash juda qiyin bo'lganida, agar men buni birinchi marta qilganimda o'qituvchilar, platformalar va o'quv dasturlari bo'lmaganida edi, bu qanchalik qiyin bo'lar edi?

Shunday qilib, avgust oyining oxirida men dasturni tugatdim. Men Stokgolmda uyga qaytib keldim, dadamning kvartirasida yashar edim, ko'ngli juda achinarli edi. O'zimning achinishimdan kodlash harakatlarimni tobora kuchaytirish uchun qo'ldan kelgancha harakat qildim. Va u juda yaxshi ishlaydi.

Tez orada haqiqiy portfel veb-saytini kodlash uchun vaqt keldi. Va bir marta, men buni sodda saqlashga qaror qildim. Shunday qilib, men qilgan narsalarimni to'plashi mumkin bo'lgan juda minimalistik statik veb-sahifani to'pladim. Uni tugatgandan so'ng, men ish topshirishni boshlashim kerak edi. Ammo meni bezovta qiladigan narsa bor edi. Le Wagon-ga kirishdan oldin, Reysdagi Rubyga biroz ikkilanib qoldim, deganimni eslang? Men Rubyning minimalizmi va Rails-dan foydalanishning soddaligini yaxshi ko'rsam ham, baribir biron bir joyda yorliqni olib tashlagandim.

Portfelimdagi "Ko'nikmalar" bo'limida Ruby, Rails, SQL, Postgres, HTML / CSS, jQuery, Bootstrap, Sketch, Git va Heroku-ni topish mumkin. Va JavaScript.

Bu meni bezovta qilgan oxirgi narsa edi. Bu o'zini yolg'on kabi his qildi.

Agar men hozir ish uchun ariza topshirishni boshlasam, ehtimol Rails-ning ishlab chiqaruvchisi sifatida munosib narsaga ega bo'lishim mumkin. Ammo barcha nafratlanganlar to'g'ri bo'lsa va Rels aslida eskirgan va o'layotgan bo'lsa-chi? Va agar men o'z orzuimdagi ishimni topsam, ular faqat ilg'or JS texnologiyalaridan foydalanganlarini tushunsam nima bo'ladi? FreeCodeCamp-da 200 soatim va 2 - 3 kunQuery kuni + 1 Reakt.js kuni bootcampda menda imkoniyat bo'lmaydi.

Mening miyamning qobiq qismi yana menga gapirdi - "Mana bir fikr: agar men ham MEAN stack-ni o'rgansam nima bo'ladi?" MongoDB, Express.js, Angular.js va Node.js singari ma'no Rails Ruby-ga teng bo'lgan JavaScript-ga teng. LinkedIn va Glassdoor-dagi qidiruv natijalariga ko'ra, bu men uchun loyiq bo'lgan ishlab chiquvchilar ishlarining miqdoridan ko'p yoki kam ikki baravar ko'p bo'lishimni anglatadi.

Men esimda, bootcamp menejeri Gus, uni o'rganish uchun yana bir oy vaqt kerakligini aytdi. Qanday qiyin bo'lishi mumkin? Men buni ikki hafta ichida qila olaman, deb o'yladim.

Shunday qilib, darslikni botqoq deb atashni xohlardim.

Shunday qilib, men yana bir bor eski do'stim Google-ga strategiyalarni o'rganish uchun murojaat qildim. Ammo bir necha soatdan keyin men hali ham MEAN stack 101 ehtiyojlari uchun yaxshi onlayn kurs topa olmagandim. Aftidan, ularning barchasi bir vaqtning o'zida bir qismga e'tiborni qaratmoqchi bo'lib tuyuldi, bu siz chuqur doirani tushunishni istasangiz, to'g'ri yo'l. Ammo men ikki hafta ichida iloji boricha ko'proq narsani o'rganishni xohlaganim uchun, o'z portfelimga yangi loyihani qo'shishga qodir bo'lganim uchun bunga vaqtim yo'q edi.

Aynan o'shanda men rivojlanish bo'yicha ta'limning mutlaqo yangi qirralarini kashf etdim: YouTube darslari. U erda juda ko'p odamlar bor edi. Men o'ylashim mumkin bo'lgan har qanday texnologiya yoki stack uchun men kamida beshta munosib qo'llanmani topdim.

Oxir-oqibat men Traversy Media kanaliga va MEAN Stack Front To Backga o'rgatilgan yo'lni topdim. Har birida 20 daqiqadan iborat o'nta video, bu sizga asosiy RESTful veb-ilovasini qanday qilib foydalanuvchi ro'yxatdan o'tganligi va tizimga kirishni tasdiqlashi haqida ma'lumot beradi. Zo'r.

Men darhol boshladim va tizza kompyuterimdagi har bir videoni kodladim. Va etarli darajada aqldan ozganim, bir necha kundan keyin men ishimni tugatdim. Men umuman chet el texnologiyalaridan foydalangan holda to'liq ishlaydigan veb-ilovani kodladim. Orqa tomon uchun tugun, ma'lumotlar bazasini boshqarish uchun Mongo, old qism uchun burchakli va barchasini bog'laydigan Express.

Bu haqiqatan ham oson bo'lishi mumkinmi? Men hozir bu narsalarni bilarmidim? Bu men o'ylaganimdan osonroq bo'lganiga xursand bo'lganimda, haqiqatdan ham haqiqatdek sovuq bir titroq umurtqa pog'onamdan tushdi.

Xo'sh, men muddatidan oldinroq bo'lganim sababli, ilovani biroz ilgarilab qo'ymadingizmi? Mening fikrim shundan iboratki, biz Rails bilan bootcampdagi loyihada bo'lgani kabi CRUD-ning asosiy bloglarini (yaratish, o'qish, yangilash, o'chirish) yoqib, uni O'rta klonga aylantirish edi.

Ammo juda uzoqqa ketolmadim. Men shunchaki yangi marshrutlar, modellar, kontrolörler va qarashlarni qo'shishim kerakligini angladim va bu shunday bo'ladi. Muammo shundaki, men hali ham "relslar yo'li" haqida o'ylagan edim, "konfiguratsiya bo'yicha konvensiya" bu kabi funktsiyalarni juda oson va tez qurishga imkon beradi.

Ko'p marotaba o'qigan va eshitganimda, MEAN stack qarama-qarshi mantrani ta'qib qiladi: "konfiguratsiya bo'yicha konfiguratsiya", bu ba'zi "sehrli" avtomatlashtirishdan voz kechib ancha moslashuvchan doiraga ega bo'lishni anglatadi. Xuddi shu nom bilan ko'rinishga ulangan ma'lum bir nomning boshqaruvchisini harakatga keltirish kabi. Boshlang'ich paytingizda sehrning juda yoqimli qismi.

Shunday qilib, "konfiguratsiya bo'yicha konfiguratsiyadan" keyin kodni olish qanchalik qiyin bo'lganini birinchi marta anglab etgach, yuzma-yuz urish paydo bo'ldi. Chunki bu mening repetitorlik jarayoniga bo'lgan munosabatim haqiqat bo'lish uchun juda yaxshi bo'lganligini isbotladi. Ammo men Bred Traversyning tasalli beradigan ko'rsatmalarisiz off-skriptni kodlashni boshlaganimgacha buni anglab etdim.

Shunday qilib, men o'sha paytda menga bildirilgan katta loy hovuzida tiz cho'kdim. Ilova mening portfelim sahifasiga qo'shilishga tayyor joyda yo'q edi. Uning tom ma'noda xususiyatlari yo'q edi. Foydalanuvchilarning ro'yxatdan o'tish, tizimga kirish va hech qanday harakat qilmaslik, faqatgina statik Bootstrap dizayniga qarash.

Yana bir variant shunchaki sinovlar va xatolarga yo'l qo'ymaslik edi. Bootcampdan farqli o'laroq, men tez orada WAY mashq g'ildiraklarini olib tashlagan bo'lardim va ehtimol Stackoverflow-da bir necha hafta vaqt sarflashim kerak edi, chunki men uni rejalashtirganimdek yakunlashim mumkin edi. Menda haftalar yo'q edi. Kecha ishga kirish uchun ariza topshirishim kerak edi.

Qizig'i shundaki, men darslik botqog'idan chiqishning yagona yo'li bu darslikni davom ettirish edi. Baxtimizga, bitta Youtube kanalida juda yaxshi kanalni topdim va uni o'z hayotim yo'nalishi sifatida ishlatishga qaror qildim.

Va natijada O'rta klon bo'lishi kerak bo'lgan veb-dastur Spotify Search API-dan foydalanib, musiqiy kashfiyot ilova bo'ldi.

Barcha shovqinga qaramay, MEAN stack-ni sinab ko'rish va o'rganish qaroridan ikki hafta o'tgach, men aslida munosib veb-ilovani o'rnatdim. Bu mening maqsadim edi. Albatta, bu hiyla-nayrang edi, lekin men uni intervyuda namoyish qilib, uning barcha qismlarini tushuntirib bera olsam, agar darsga rioya qilsam yoki qilmasam, hech kim menga ahamiyat bermasligini angladim.

Boom. To'satdan mening portfelimda uchta dastur bor edi va men o'z mahorat repertuarimga bir nechta yangi texnologiyalar qo'sha oldim. Va nihoyat, mening ishlab chiquvchim sayohatimning keyingi bosqichiga kirish vaqti keldi: ish ovi. Va bu yaqin orada bir kun emas edi.

6-qism. Ishlarga murojaat qilish

Umuman olganda, bu 4 hafta, 30 ta ariza, 10 ta intervyu va 3 ta taklifni talab etadi. Shunisi qiziqki, men birinchi bo'lib men qo'shilishim uchun murojaat qilgan kompaniya bo'ladi. Men buni tasodif deb atashim mumkin edi, lekin menimcha, arizalarni yuborishni boshlashdan oldin bu batafsil tekshirish jarayonining samarasi.

Shuni tan olishim kerakki, mening tezkor ish ovimdagi omadga ko'p miqdorda erishildi. Ammo bunga arziydigan narsaga men o'zim kuzatib borgan jarayonni tasvirlab beraman, chunki menimcha, birinchi ish uchun qanday ish joylari va kompaniyalarga ko'proq e'tibor qaratish kerakligi haqida bir qancha narsalarni o'rgandim.

Birinchi qilgan ishim - qiziqarli ishlarning qisqacha ro'yxati uchun jadval tuzdim (men zerikarli iqtisodchiman, esingizdami?). Keyin men veb-sayt, dasturiy ta'minot, oldingi, orqa qism, yoqut, ray, javascript, burchak, tugun va postgres kabi kalit so'zlarga asoslangan ish uchun LinkedIn, Glassdoor va Stackoverflow-ning ish taxtalarini sinab ko'rdim.

Buning ajablanarli joyi yo'q, qidiruvlar faqat Stokgolm hududida yuzlab ish joylarini qaytarib berdi. Ularning ortidagi kompaniyalar startaplardan tortib raqamli agentliklarga, media kompaniyalarga, bulutli xizmat ko'rsatuvchi provayderlarga, o'yinlarni ishlab chiquvchilarga va ularning orasidagi narsalarga qadar.

So'nggi bir necha oy ichida men keyingi ish beruvchimdan xohlagan narsalarning tor doiradagi to'plamlarini to'plashga muvaffaq bo'ldim.

Agar men xohlagan ishni tanlashim mumkin bo'lsa, mening ustuvorligim quyidagicha edi:

  1. Men butun stakandan kodlar kiritgan bo'lardim, ya'ni UX / UI materiallari kabi, asosan JavaScript va arxitektura bilan shug'ullanishim kerak edi. React atrofidagi barcha shpallar, ehtimol, ikkinchisiga ko'p bog'liq edi. Oldin aytib o'tganimdek, men hozirgacha bilganim uchun Rails asosan o'layotgan edi va JavaScript kelajak edi.
  2. Mening o'rganishim egri chizig'i juda tik bo'lib, shu sababli men kunu tunni kodlashim kerak edi. Men imkon qadar qisqa vaqt ichida hamma yaxshi bo'lib ketishi uchun.
  3. Mening hamkasblarim aqlli, shuhratparast, kulgili va norasmiy, va barchasini bir vaqtning o'zida qilishadi.
  4. Kompaniya mazmunli missiya va blockchain, AI va / yoki barqarorlik bilan bog'liq bo'lgan yoki bunday loyihalarga ega bo'lgan yuqori darajadagi raqamli agentlikka ega bo'lgan yuqori o'sish bo'lgan startap bo'lar edi.
  5. Men adolatli maosh olardim.

Bu haqida edi. Rokki uchun juda yuqori talablar o'ylashi mumkin. Ammo shuni unutmangki, yuqori ish haqi mezonlarning bir qismi emas edi (bugungi kunda ham, 6 oylik professional tajribaga ega emas). Ehtimol men aniq narsani aytyapman, lekin agar siz mutlaqo boshqa narsadan toza rivojlanish roliga o'tsangiz, avval sizga to'langan pulning ahamiyati yo'qligini bilish juda muhimdir.

Masalan, men moliya sohasidagi bozor narxim oyiga 5000 dollarni tashkil etganini bilardim. Ammo dasturiy ta'minotni ishlab chiqarish mutlaqo boshqa mahorat ekanligini anglab, 3700 dollarni o'z oldimga qo'ygan bo'lardim, lekin $ 3,000 (Shvetsiyaning o'rtacha ish haqidan $ 4,000 ga nisbatan ancha past) ga qaror qilaman.

Yuqoridagi barcha mezonlarni yodda tutgan holda, men ish e'lonlarini birma-bir ko'rib chiqishni boshlayman, o'zim yoqtirganlarini o'zlarimning qisqa ro'yxatimga qo'shaman va o'zim ko'rmaganlarimdan voz kechaman. Birozdan keyin men bir nechta odatlarga e'tibor berdim:

Birinchidan, qog'oz ishlab chiqaradigan aksariyat kompaniyalar men taklif qilishimdan ko'ra ko'proq texnologik ko'nikma va tajribani talab qiladilar. Buning ajablanarli joyi yo'q. O'zimning tadqiqotlarimdan ham, bootcampdan ham "yosh dasturchi" pozitsiyasi o'lishini bilardim.

Ko'pgina kompaniyalar katta ishlab chiquvchilarning qimmatbaho vaqtini mish-mishlarni murabbiylik qilishga sarflash juda qimmat deb bilishgan. Shuning uchun ular katta talabga ega, ammo taklif juda past bo'lgan katta ishlab chiqaruvchilarni yollashni afzal ko'rishdi.

Bu erda katta paradoks, albatta, agar hech kim yosh ishlab chiquvchilarni tarbiyalash va o'qitishni o'z zimmasiga olmasa, biz qanday qilib bozorda katta ishlab chiqaruvchilarning etishmasligini tuzatamiz? Shunga qaramay, bugungi kunda ushbu sohaning ishlashi shunday ekanligini anglab, o'zim uchun noloyiq bo'lgan lavozimlarga murojaat qilishim kerakligini angladim.

Ikkinchidan, men kompaniya qanchalik tez va katta bo'lsa, shunchalik ko'proq kompyuter faniga tegishli darajaga va kasbiy rivojlanish tajribasiga bo'lgan talablarni o'z ichiga olishi mumkinligini ko'rdim. Men ishonchim komilki, munosib portfel va muqovali xat, ehtimol men kabi tajribasiz emas, balki "Rails ninja" yoki "React superstar" ni talab qiladigan kompaniya bilan intervyu olishi mumkin.

Ammo agar ish uchun reklama 3 yildan oshiq malakali JavaScript tajribasini va kompyuter fanlari bo'yicha magistr darajasini talab qilsa, mening intervyu olishim ehtimol juda oz.

Uchinchidan, deyarli har bir ish e'lonida React eslatib o'tilgan. Internetdagi barcha shov-shuvlarga qaramay, men hali ham uning aqldan yuqori talablari bilan hayratda qoldim.

Shunga hayron bo'ldimki, men aslida o'zimning portfelimga qo'shishim va yana davom ettirishim uchun React.js-ni va orqa tarafdagi raylarni ishlatib, kuniga bir necha soat React.js veb-ilovasini yaratishga qaror qildim.

Buning uchun men asosan Le Wagon-ning birinchi darsidagi Reaktiv ma'ruzasining eslatmalaridan ko'proq foydalanardim, ammo agar siz buni o'rganmoqchi bo'lsangiz, u erdan bepul qo'llanmalarni topish qiyin bo'lmaydi, hech bo'lmaganda freeCodeCamp-dan.

Rezyumega reaktivlik kiritishim mumkin bo'lgan holatlardan tashqari, ushbu tajribadan eng katta foyda - veb-ilovani tarkibiy qismlardan (kontrollerlar va qarashlardan farqli o'laroq, raylar kabi) foydalanish va rekvizitlar va shtatlar bilan ishlashda qulaylik yaratishdir. .

G'ayritabiiy narsa shundaki, siz ertami-kechmi qandaydir JavaScript ramkalari bilan do'stlashishingiz kerak bo'ladi, va keyin bu tushunchalar har qanday holatda ham yordam beradi: xoh reaktsiya, burchak, Vue, Ember yoki boshqa gazillion JavaScript ramkalari.

Yuqoridagi kabi yangi tushunchalar bilan, men allaqachon ma'lum bir ishni qisqa ro'yxatimga qo'shish kerakmi yoki yo'qligini aniqlashim kerak bo'lgan mezonlarni ishlab chiqishim va aniqlashtirishim mumkin edi. Ko'p o'tmay, menda 50 ish o'rni ro'yxati paydo bo'ldi va haqiqatan ham arizalarni yuborishni boshlash vaqti keldi. Men yuzlab kompaniyalarda murojaat qilgan va intervyu bergan joyimdan kelib chiqqan holda, bu hozirgacha eng oson qism bo'lib tuyuldi.

Bu men hammaga yuboradigan bitta umumiy muqovali xatni yozadigan odam bo'lishim bilan bog'liq bo'lishi mumkin. Siz nima o'ylayotganingizni bilaman: siz ilgari suhbatlashgan har bir ustoz / o'qituvchi / yollanma xodim bunga qarshi maslahat bergan. Ammo davom eting. Bu ish uchun dastur. Eng yaqin do'stingizning to'yidagi nutq emas.

Yomon narsa - bu yollovchilar baribir unga bir daqiqadan ko'proq vaqt sarflashmaydi. Shunday qilib, kompaniya yutgan sovrinni yoki o'tgan yili YoY o'sishi sizni hayratda qoldirgani yoki ularning madaniyati nima uchun raqib Xga qaraganda ancha yaxshi ekanligi haqida sizda taassurot qoldirganingiz haqida eslashingiz muhim emas.

Eng muhimi shundaki, nima uchun siz bilan uchrashishga bir soat vaqt sarflashga arziydiganingizni matnda ifodalashga qodirsiz - ma'lumotlarga asoslangan va grammatik jihatdan bekamu ko'st. Agar siz menga qarashni istasangiz, menga yozing, shunda men sizga yuboraman! Shunchaki aytganda, juda yoqimli teskari aloqa oldingiz ...

Keyingi ishim CV va LinkedIn profilimni yangilash edi. Va bu erda kalit so'zlarning ahamiyatini etarlicha ta'kidlay olmayman. O'zingiz bilgan barcha texnologiyalarning nomlari (yoki siz bilganingizni ko'rsatgingiz kelayapti) ikkalasiga ham kiritilganligiga ishonch hosil qiling. Shunday qilib, siz qidiruv natijalarida paydo bo'lish ehtimoli ko'proq (xuddi shu erda, faqat mendan so'rang, men sizga o'z rezyumeni yuboraman).

Barcha arizalarni yuborganimdan so'ng, bir hafta yoki undan ko'proq vaqt o'tgach, men biron bir kompaniyadan hech narsa eshitmadim. Bu aslida men uchun zarur bo'lgan dam olish davri bo'ldi. Do'stlarim va oilam bilan qaytadan bog'lanish uchun biroz vaqt sarfladim. So'nggi bir necha oy ichida o'zimni yangi tutgan narsamga beparvo munosabatda bo'ldim.

Keyin javoblarni olishni boshladim.

7-qism: Intervyu qilish

Birinchi javob haqiqatan ham yosh startapdan keldi. U asosan ikkita yigitdan iborat edi: sobiq bankir bosh direktori va CTO katta dasturchisi. Elektron pochta xizmati CTO-dan edi va u meni birinchi ishlab chiquvchi suhbatimga taklif qilmoqda.

Ijobiy javoblar har doim rad qilishdan oldin paydo bo'lishini bilgan holda, boshimni salqin tutishga va juda xursand bo'lmaslikka harakat qildim.

Ammo shunga qaramay, bu yigit, 10 yildan ortiq tajribaga ega katta ishlab chiquvchi mening LinkedIn profilimni, qopqoq xatimni, rezyumelarimni, eng muhimi, mening Github profilimdagi portfelim va uning orqasidagi kodni ko'rib chiqqanligi va hanuzgacha o'ylaganligi Men ular uchun yaxshi kod yoza olsam ham, o'zimdan juda g'ururlanaman.

Kompaniya mening barcha mezonlarimni (asosan kichik guruh va maoshning yomonligi tufayli) qondirdi deb o'ylamagan bo'lsam ham, darhol javob qildim va taklifni qabul qildim.

Shu vaqtgacha qilgan barcha harakatlarimga qaramay, texnik suhbatga tayyorgarlik ko'rish uchun ko'p vaqt sarf qilmadim. Ammo men eshitgan va o'qigan narsamdan bu san'at bo'lishi kerak edi va ko'p holatlarda odamlar bir necha oylar davomida unga tayyorgarlik ko'rishadi.

Ko'pincha, bootcamp bitiruvchilari va ko'proq amaliy tajribaga ega bo'lgan o'z-o'zini o'qitadigan koderlar kompyuter kompyuter fanining fundamental nazariyalarida bilimlari yo'qligi sababli texnik suhbatdan o'tolmaydilar. Xuddi CS gradlari kabi zamonaviy texnologiyalar yordamida ilova yaratish tajribasi yo'qligi sababli ko'pincha muvaffaqiyatsizlikka uchraydi.

Ammo vaqtim va pulim etishmayotganligi sababli, men buni qilish orqali nimani o'rganishim kerakligini tushundim. Men shunchaki intervyu bosqichini keyinga qoldira olmadim. Suhbatning moliyaviy turini qanday qilishni o'rganayotganda, men ko'p marotaba kuyib ketganim singari, men bu kuyishlar men uchun intervyuda qanday g'alaba qozonish kerakligini bilish uchun juda muhimligini bilardim. Nima uchun texnik intervyu boshqacha bo'lishi kerak edi?

Shunday qilib, men taklifni qabul qildim va bir necha kundan keyin ularning idorasining qabulxonasiga kirdim. Meni kutib olish stolida kutib turishgan.

Bu joy axlatxona edi. Agar siz idorani ko'rganingizda, men allaqachon Dunder Mifflin Paper Company ofisiga qadam bosganga o'xshayman. Ular menga bu katta auditorlik kompaniyasining idorasi bo'lib, rejalashtirilgan ta'mirlashga qadar qolgan vaqt oralig'ida arzon ish joyini egallab olishganini aytishdi. Biz majlislar zaliga bordik va katta yog'och stolga o'tirdik.

Ular menga o'zlari va kompaniya haqida ko'p narsalarni aytib berishdan boshladilar. Ular yaqindagina taniqli hayot tarzi yozuvchilari uchun yangi "O'rta ish" ilovasining beta-versiyasini chiqazdilar va do'stlari va oila a'zolaridan katta pul yig'ib olishdi. Ammo ular hali ham ishga tushirishdan oldin va aniq daromad oldilar.

Taxminan bir soat suhbatdan ko'ra ko'proq savdo maydonchasi kabi ko'rinadigan narsadan so'ng, Bosh direktor chiqib ketdi va menga CTO va men intervyuning texnik qismini davom ettirishimizni aytishdi. Yuragim urdi. Texnik intervyular haqida o'qiganimdan men miyaning turli xil turlari, kodlash bo'yicha qiyinchiliklar va menga tashlangan murakkab ma'lumotlar tuzilmalari haqidagi savollarni kutaman.

Ammo hech kim kelmadi. Buning o'rniga, CTO menga bu juda ochiq savollarni berishni boshladi.

Menga qanday texnologiyalar va ramkalar yoqdi. Agar men keyingi narsalarni o'rganish uchun biron bir yangi texnologiyani tanlasam, nima bo'lar edi. Men ES6 tomonidan kiritilgan yangi sintaksis haqida o'yladim (2015 yildagi Javascript yangilanishi, strelka funktsiyalari, va'dalar va doimiylik kabi ko'plab ajoyib narsalarni taqdim etadigan).

Biz yana yarim soat davom etgan yoqimli suhbatni boshladik. Ammo keyin CTO barcha kartalarni stolga qo'yishga qaror qilganida, katta ziddiyat yuzaga keldi.

Ularning aytishlaricha, ularning moliyaviy ahvoli og'ir bo'lganligi sababli, ular menga hozirga qadar 6 oylik stajirovkada ishtirok etishlari mumkin, buning uchun hozirda ramziy maosh (deyarli maosh yo'q). Agar stajirovka muvaffaqiyatli o'tgan bo'lsa, unda ular teng huquqli va munosib maosh taklif qilishda juda ochiq edilar.

“Agar kompaniya hanuzgacha shu erda bo'lsa”, - deya qo'shib qo'ydim men.

Garchi ular o'sha joyda menga taklif qilishganidan mamnun bo'lgan bo'lsam-da, shu zahotiyoq bu men qidirayotgan kompaniya ham, mahsulot ham emasligini bilardim. Shunga qaramay, men ularni darhol rad etmadim. Taklif hali ham taklifdir, deb o'yladim va keyinchalik boshqa kompaniyalar bilan muzokaralar olib borishda har doim qulay bo'lishi mumkin.

Ikkala ish ham ko'ngli qolganiga va texnik intervyu menga haqiqatan ham yangi narsalarni o'rgatmaganiga qaramay, menga intervyu kelishi uchun katta ishonch bag'ishlaydigan taklif tushdi.

Ikkinchi javob Teamtailor deb nomlangan biroz kattaroq startapdan oldim. Ular Stokgolmda asoslangan kompaniya bo'lib, yollash va ish beruvchilar brendi sanoatini raqamlashtirish bo'yicha topshiriqqa ega bo'lib, hozirda texnik bo'lmagan yollash bo'yicha maslahatchilar va kadrlar bo'yicha menejerlar tomonidan boshqariladi.

Yomon fikr emas. "Ishga yollash" va "HR" kabi so'zlar bilan boshlangan 10 kunlik ish kunlarining 9-kuni meni qo'rqitgan bo'lsa-da, ushbu kompaniya haqida meni qiziqtirgan narsa bor edi.

Mening juda puxta tadqiqotlarimdan shuni aniqladimki, ular taxminan 4 yil davomida bo'lishgan, 30 ga yaqin ishchilar, 4 yoki 5 mamlakatda bo'lish, 600 mijoz (biznes), daromadning 100% + o'sish sur'ati va hattoki bu tepasida biroz marj. Hech yomon emas.

Buning sababi, ularning instagramdagi akkauntlari o'z ofislarini ochib berishdi: Stokgolmning eng yaxshi hududi bo'lgan Södermalmning o'rtasida joylashgan qizil g'ishtli pivo zavodi.

M. M. Mmm.

Hamma narsa ularning kompaniya hayotining eng yoqimli joyida ekanligiga ishora qildi. O'zingizni birgalikda sayohat qilayotgandek his qilishingiz, norasmiy madaniyat va tashabbus va o'sish uchun juda ko'p imkoniyatlar mavjud. Ammo siz hali ham yangi narsalarni o'rganayotganda suyanishingiz mumkin bo'lgan ba'zi tuzilmalarni yaratishga hali yetarli.

Nima bo'lganda ham. Shunga qaramay, menga CTO yozdi. Oldinga va orqadagi bir necha xabarlardan so'ng biz bir necha kundan keyin birinchi intervyuga keldik. Menga u ham, boshqa hammualliflar ham men bilan uchrashishini aytishdi.

Hattoki ulardan birortasi bilan uchrashishdan oldin, menda hamma narsa juda yaxshi edi. Qaysi biri yomon edi. Hech bo'lmaganda boshimda. Chunki endi men suhbatga kirishni ular mendan ko'proq istashlarini istayman, deb o'yladim. Eski pivo zavodi zinapoyasidan chiqqandan so'ng, men ularning ofislari eshigi oldiga etib oldim va juda o'zgacha bir sahnaga kirdim.

Birinchidan, mening yuzimdagi katta pushti plakat va oq rangli harflar bilan menga qichqirgan: "Teamtailor - bu Evropaning 100 ta eng qizg'in startaplaridan biri - Simli jurnal." FIFA ulkan ekranda o'ynashardi. Oldimda kattaroq xona bor edi, u erda menga eng yaqin stol, ishlab chiqaruvchilar bilan to'ldirilgan edi va ular tasodifan katta ekranlarga qochib ketdilar. Mening atrofimdagi Sonos karnaylaridan yumshoq hiphop uradi.

Huddi shu payt men HR kompaniyasiga aylanganim uchun ularga qarshi biron yomon fikrim yo'qoldi. Bu joy ajoyib edi. Dammit.

Silikon vodiysining odatiy ofisi haqida juda ko'p yomon narsalarni aytishingiz mumkin. Ammo, mening fikrimcha, hatto eng yomon ofis ham, odatiy korporativ hamkasbiga qaraganda ming baravar yaxshiroq bo'ladi. Shunday qilib, men uchun bu osmon edi. Intervyu uchun sovuqqina munosabatim juda yomon edi.

Uzun bo'yli qip-yalang yigit menga kulib qo'ydi va o'rnidan turdi. Bu CTO edi. Biz shisha devorlar va polni qoplagan yashil soxta o'tlar bilan konferentsiya xonasiga kirdik. Bizga boshqa asoschilar qo'shildi va biz suhbatni boshladik.

Mening so'nggi intervyusimdan farqli o'laroq, ular menga borganim haqida gapirib berishdi. Birinchi uchrashuvning maqsadi asosan meni yaxshiroq tanishtirish edi. Agar men davom etsam, ikkinchi bosqich texnik intervyu bo'ladi. Buni eshitib juda xursand bo'ldim. Imposter sindromi haqiqiy edi.

Birinchi savol ko'proq yoki kamroq klassik "Siz nima uchun dasturchi bo'lishni xohlaysiz?" Deb aytishdi. Ular menga, hamma narsadan ko'ra, bu mening muqovali xatim va rezyumelarimni ko'rib chiqishganini aytishdi. Biznesga oid dastur ishlab chiqaruvchilarni topish juda kam uchradi va biznes rivoji va moliya sohasida ishbilarmonlik darajasi va tajribasiga ega bo'lgan ishlab chiqaruvchilarni topish kam uchraydi. Xo'sh, nega men mutlaqo boshqa yo'ldan yurishga qaror qildim?

Suhbat tajribasidan bildimki, halollik deyarli har doim bu holatlarda eng yaxshi yo'ldir. Shuning uchun men ularga ushbu maqolaning boshida aytgan narsalarimni aytdim, men sotishni yomon ko'raman, texnologiyani yaxshi ko'raman va narsalarning ijodiy tomoniga o'tishni xohlayman.

Shu paytdan boshlab suhbat o'z hayotiga ega bo'ldi. Bir vaqtlar men ularga agar men hozir bilgan narsalarimni bilsam edi, ehtimol biznes emas, balki informatika fanini o'rganishni tanlagan bo'lardim. Mening ajablantiradigan bo'lsam, KTB bu eslatmani hayratda qoldirdi. U kulib mendan nega so'radi.

Men ikkilandim. Bu men aytadigan narsalardan biri ekanligini angladim, chunki men ular eshitishni xohlagan deb o'yladim. U meni kancadan chiqarib yubordi va u o'zini o'zi o'qituvchi ekanligini aytdi. Uning universitetda olib borgan yagona mavzusi kino tadqiqotlari edi. Men bundan biroz hayratda qoldim. Ammo bunga ko'proq narsa bor edi.

Aslida, kompaniyadagi 10 ta ishlab chiqaruvchilardan hech biri haqiqiy CS darajasiga ega emas edi. Ulardan bir nechtasi veb-saytlarni ishlab chiqish bo'yicha bir-ikki yil dasturini olishgan, ammo aksariyati o'z-o'zidan o'qitilgan.

Bu yigitning gaplari meni juda xursand qildi. U hozirgina sobiq hamkasbim Sandra menga aytgan edi - siz buyuk dasturchi bo'lish uchun darajaga muhtoj emassiz. Yaxshi narsa.

Suhbat shu qadar ravon davom etdiki, mendan ular mening portfelim haqida so'rashganda, bir necha daqiqagacha bo'lmadi. Ulardan faqat bittasi haqiqatan ham unga qaragan va u tom ma'noda "bir qarashni" aytdi. Suhbat qanchalik yaxshi o'tayotganini ko'rib, men o'z ilovalarimdan birini namoyish qilishdan xursand bo'lishimni aytdim.

Shu zahotiyoq yuzlari yorishib ketdi va ular meni silkitib, stullarida to'g'rilab qo'yishdi. Men shunchaki BIG xato qilganimni anglamoqchi edim.

Yigitlarga namoyish etadigan deyarli yagona yaxshi dastur bu men bootcampdan keyin bir oy ichida qilgan dasturim. Va men unga kamida bir oy davomida tegmagan edim. Men MacBook-ni oldimizdagi katta ekranga ilib qo'ydim va brauzerda URL-ni kiritdim.

Birinchi xijolat, bu bosh sahifani yuklash uchun 20 soniya vaqtni talab qildi. Tomog'im quruq bo'lsa, men Heroku-ning bepul versiyasidan foydalanayotganligimni tushuntirishga harakat qildim, ya'ni domen bilan bog'liq server bir soatdan ko'proq vaqt davomida hech qanday so'rov olmaganida, bu "uyqu holatiga" o'tishini anglatadi. uyg'onish uchun uzoq vaqt talab etildi. Men istagan oxirgi narsa - bu mening ilovam sekin ishlaydi deb o'ylashlari edi.

Haqiqatan ham yuklanganda, men mahsulotning g'oyasini tushuntirishga biroz vaqt sarfladim. Bu, asosan, aviakompaniyalar, banklar va kasalxonalar kabi tashkilotlarga jismoniy joylarida emas, balki onlayn rejimida navbatlarni o'rnatishga imkon beradigan virtual chiziqlar yaratish uchun xizmat edi.

Ikkinchi xijolat keldi. Facebook-da autentifikatsiyadan foydalangan holda hisobimga kirishga harakat qilganimda, bu amalga oshmadi. Men juda kech tushunganim sababli, yangi SSL sertifikat olgandan keyin URL-ni Facebook API sozlamalarida yangilamaganim. Shunday qilib, Facebook http: // domenidan, meniki esa https: // domenidan so'rov kutayotgan edi. Rokki xatosi.

Men nihoyat qo'l bilan tizimga kirishga muvaffaq bo'ldim va ba'zi asosiy xususiyatlarni hech qanday muammosiz namoyish qildim. Ammo keyin barchasini eng katta xijolati keldi. Men o'z ilovamning toj buyumlarini ishlashga jalb qilganday tuyulmasdim: chat. Men chat havolasini bosganimda, suhbat sahifasiga o'tdim, lekin mening soxta foydalanuvchilarim bilan suhbatlashishni ko'rmadim.

Keyin men asosan taslim bo'ldim. Men, albatta, bo'lmasligi kerak. Bir necha soat o'tgach, suhbat juda yaxshi ishlashini angladim. Mening hisob qaydnomam shunchaki biron bir satrda qatnashish uchun ro'yxatdan o'tmagan, shu sababli men hech kim bilan suhbatlashishni ko'rmaganman.

Biz xayrlashdik va ular aloqada bo'lishlarini aytishdi. Men g'azablangan va hafsalasi pir bo'lgan suhbatni qoldirdim. Nega demo uchun yaxshiroq tayyorlamadim? Hammasi shu ohirigacha davom etdi.

Shunga qaramay, Dovud yana yozmaguncha bir soat ham o'tmadi. U menga jarayonning keyingi bosqichiga o'tganimni aytdi. Men bunga ishonolmasdim va bundan ham baxtliroq bo'lolmasdim. Ammo, albatta, mening birinchi haqiqiy texnik suhbatingizni boshlashdan biroz qo'rqaman.

Oxir oqibat, bu ikkinchi intervyu ham men Internetda o'qigan dahshatli voqealar kabi hech narsa bo'lmaydi. Taklifnomada allaqachon CTO menga ikkita katta ishlab chiquvchilar bilan uchrashishimni va ular shunchaki bitta ilovamni va uning orqasidagi kodni batafsil ko'rsatib berishimni istashlarini aytishdi.

Asosiy maqsad, men ularning orqa chiziqlarini (Relslar) qanchalik yaxshi bilganim va ularning Ember.js oldingi ramkasini qanchalik tez o'rganishim mumkinligini bilish (bu haqda hozir ham eshitmaganman).

Men darhol demo-ilova Rails and React.js-dan foydalanib quradigan dastur bo'lishi kerakligini bilardim. Bu ikki sababga ko'ra mukammal edi:

  1. u javascript javasi bilan birlashtirilgan Rails-ga qurilgan (xuddi ularning to'plami singari) va
  2. Ikki haftadan kam vaqt ichida ishlatgan barcha Reaktiv narsalarimni o'rgandim, bu ularga Emberni qanchalik tez o'rganishim mumkinligini tushunishga yordam beradi.

Bu sizning portfelingizni qurayotganda barcha tuxumingizni bitta savatga solmaslik uchun aslida to'lashi mumkin bo'lgan mukammal misol, lekin aslida bir nechta turli stakalarni sinab ko'rish mumkin.

Ko'p o'tmay, katta kun keldi va men yana ularning soxta o'tli konferentsiya xonalarida o'z ofisimda edim. Men ilovaning UI oqimini ko'rsatishni boshladim.

Men veb-ilovani ko'rib chiqdim va tez orada "AppHunt" nomi katta-quyuq binafsha harflar bilan ekranda paydo bo'ldi. Bu Product Hunt kabi edi, lekin ko'proq dasturlar uchun bozor joyiga o'xshardi. Shunday qilib, har qanday foydalanuvchi sotiladigan va sotib olinadigan ilovalarning bosh sahifasini ko'rib chiqishi mumkin. Agar ular hisob qaydnomasini yaratgan va tizimga kirgan bo'lsa, ular shuningdek, ilova elementlarini qidirish va filtrlash, baholarni ko'rib chiqish va sharh maydonlarida narsalarni yozish imkoniyatiga ega bo'lishlari mumkin. Aslida bu shunday edi.

Ammo baxtiga men uchun bu etarli edi. Ikkala katta ishlab chiquvchilarga, men ularga ko'rsatgan narsalar juda yoqdi va ular CTO-ga yordam berishdi. Keyinchalik ular menga o'zlari yoqtirgan ba'zi narsalarni aytib berishdi:

  • Haqiqiy vaqtdagi xususiyatlar - sharhlardagi o'zgarishlar, qidiruv natijalari va reytinglar bir zumda paydo bo'lishi - men har qanday JavaScript tizimida juda muhim bo'lgan holatlar va rekvizitlardan qanday foydalanishni bilganimni ko'rsatdi.
  • Men JBuilder-dan JSON so'rovlarini ketma-ket va orqa qism o'rtasida seriallashda ishlatganman.
  • Qidiruv xususiyati uchun men Elasticsearch-dan foydalanganman.
  • Kodni ishlab chiqarishni boshlashdan oldin, ular eskizlarimni o'zimning eskizlarimda tayyorlaganim ularga juda yoqdi.
  • CSS kod juda kontekstual ravishda bezatilgan yoki joylashtirilgan emasligi. Buning o'rniga ular uning ko'p qismini butun ilova davomida qayta ishlatib bo'ladigan deb topishdi, bu juda yaxshi edi. Ularni yanada ko'proq taassurotiga olib keladigan narsa, agar ular BEM CSS deb nomlangan konventsiyaga rioya qilsam edi.

Ikkinchi suhbatdan bir necha hafta o'tgach, CTO menga yana bir taklif bilan murojaat qildi. Oldin va orqada olib borilgan ba'zi munozaralardan so'ng biz 6 oylik sinov muddatiga o'tdik, oylik maoshim 3,300 AQSh dollari va men samarali natijaga erishganimda 3700 dollarga mo'ljallangan maqsadimga ko'paytirilardi.

Men joyida qabul qilib, keyingi haftada yangi ishimni boshladim. ️

Teamtailor-ning butun jarayoni bilan bir qatorda, men yana 4 kompaniya uchun intervyu oldim. Shvetsiyaning fintech iZettle fenomenining eng diqqatga sazovor joyi, bu turli xil moliyaviy mahsulotlarning soyabonidir, ammo ularning simsiz kartalari terminali eng taniqli joy.

Ushbu muvaffaqiyatli startup bir martalik bahoga yaqinlashar ekan, ularning tajriba va mahorat darajalariga bo'lgan talablari men hozirgacha suhbatlashgan kichik startaplarga qaraganda ancha yuqori ekanligini bilib oldim. Men buni ikkalasini ham ishga qabul qilishni yanada puxta tanlash jarayonida (5 intervyu!) Va intervyu savollaridagi qiyinchilik darajasida ko'rdim.

Men singari firibgarlarning asosiy sababi, u erda intervyu olishning asosiy sababi, avvalambor, do'stimning tavsiyasi va men bitirgan biznes maktabning nomi bilan bog'liq bo'lishi mumkin. Shunday qilib, men o'zimni yo'ldan ozdirdim. Ammo men ularga unchalik tayyor emas edim.

Xuddi boshqa kompaniyalar singari, birinchi intervyu ham bema'ni va yumshoq mahorat edi. Ammo bu safar ko'proq "HR". Nima uchun dasturchi sifatida ishlashni xohlaysiz? Qaysi texnologiyalardan foydalanishni yoqtirasiz? Sizning kuchli / zaif tomonlaringiz qanday? Va hokazo. Oson narsalar.

Ikkinchi intervyu esa juda ayanchli voqea bo'ladi. Hammasi mendan ikki veb-ishlab chiqaruvchisi bilan konferentsiya xonasida o'tirishimdan boshlandi. Biz "bir-birimiz bilan tanishish" suhbatini takrorladik va men o'zimni juda qulay his qildim. Va keyin men hayotimdagi eng katta emish pichoqni oldim.

Stol ortidagi yigit menga katta A3 qog'oz va qalamni uzatdi. U menga quyidagi stsenariyda ishtirok etgan ma'lumotlar oqimi va jarayonlarining rasmini chizishimni xohlashlarini aytdi.

"Kichik biznes egasi iZettle-da hisob raqamiga ega va ularning karta terminalidan foydalanadi. O'z mijozlaridan biri terminal yordamida xaridni amalga oshirgandan so'ng, u tranzaktsiyani ko'rish uchun veb-ilova va / yoki mobil ilovaga kirishni xohlaydi. "

Bu haqiqatan ham meni ehtiyotkor tutdi, lekin men ikkilanib boshimni qotirdim. Keyin yigit shunday dedi: "Biz boramiz va kofe ichamiz, keyin 5 daqiqadan keyin qaytib kelamiz va sizga o'z fikrlaringizni izohlab beramiz."

5 daqiqa! Bu hazilmi? Men haqiqatan ham aytolmadim. Ular ketishganida, men bu vazifani qisqa vaqt ichida bajarish uchun juda katta ekanligini anglashim kerak bo'lgan hiyla-nayrang savol bo'lsa jiddiy o'ylab ko'rdim. Ammo vaqt o'tib ketayotgan edi va bu juda katta xavfga ega edi. Shuning uchun men unga zarba berishga qaror qildim.

Tushunarsiz, men bu tizimni loyihalash masalasi ekanligini, shunda ular veb-dastur va mobil ilova ularni server (lar) va ma'lumotlar bazalariga ulagan ba'zi API-larga qanday qilib so'rovlar qilganliklari haqida umumiy tasavvurni xaritaga tushirishni istashlarini bildirishdi. (agar siz tizim dizayni bo'yicha malakangizni oshirishni istasangiz, ushbu Youtube kanalini albatta tavsiya qilaman).

Ammo men bundan birortasini qilmadim. Vahima holatida men bir necha qadamlarni tashlab, foydalanuvchi hisobining ma'lumotlar bazasi modelini, jadval, ustunlar va tashqi tugmachalar yordamida eskiz qilishni boshladim (men taxminiy ma'lumotlar bazasini ishlatgan deb o'yladim). Men buni bajarganimdan so'ng, arxitekturaning boshqa qismlarini xaritaga tushirishga 30 soniya vaqtim qoldi. Meni shu qadar ruhiy tushkunlikka tushirdim va API va serverning roli nimada ekanligi haqida savol berishni boshladim. Yaxshi belgi emas.

5 daqiqa o'tdi va ikkala ishlab chiquvchi 5 yoshli bola zo'rg'a eskizga qaytishdi. Men asosan uchta doirani chizardim. Biri chapga, ma'lumotlar bazasi va ikkitasi o'ngda, veb va mobil ilova mijozlarini ifodalaydi.

Albatta, men suhbatni muvaffaqiyatsiz yakunladim. Uchinchisiga o'tmaganim ham shu sabab edi. Ammo, ular meni yoqtirishganini va agar bir yoki ikki yillik tajribam bo'lsa, yana murojaat qilishim kerakligini aytib, meni bo'shatishdi.

Butun tajriba meni chalg'itdi, chunki men ularga amaliy ko'nikmalarimni namoyish etish imkoniyatiga ega bo'ldim deb o'ylamagan edim. Tizim arxitekturasini qog'ozda tasvirlashda qandaydir bir qiymat borligini ko'rsam ham, kodlash kabi amaliy mashqlar yordamida o'z mahoratingizni namoyish etishdan ming baravar ko'proq qiymat bor deb o'ylayman. sinov yoki ilova demo. Ammo hey, har bir muvaffaqiyatsizlikda saboq olish kerak, to'g'rimi?

Umuman olganda, mening 4 haftalik ish ovim davomida 6 ta kompaniya uchun 11 ta suhbatlarga qatnashdim, shundan 3 tasi menga takliflar bildirishdi. Shunday qilib, bir necha marta yonib ketganiga qaramay, bu juda ajoyib tajriba bo'ldi. Agar mendan bitta eng katta mukofotni nomlash so'ralsa (mening orzuimdagi taklifni olish bundan mustasno), dasturchilar bilan dasturiy ta'minot haqida gaplashish menga qulay bo'lib qoldi. Agar siz ham men singari imposter sindromidan aziyat chekayotgan bo'lsangiz (buni ko'rib chiqing, bu bir narsa), uni davolashning eng yaxshi yo'li yo'q.

Yana bir muhim omil - bu mening 11 ta suhbatlarimdan faqat bittasi haqiqiy nazariy kompyuter bilimlarini talab qilishi ekan. Ma'lumotlarning murakkab tuzilishi haqida hech qanday savol tug'dirmaydi, miyangizni buzadigan narsalar yo'q. Tizim arxitekturasi bo'yicha bitta savol. Qolganlari 100% amaliy yoki yumshoq ko'nikmalarga yo'naltirilgan. Shunday qilib, agar siz Google yoki Facebook-da dasturiy ta'minot muhandisligi bo'yicha ish topshirish uchun ariza topshirmasangiz, amaliy narsalarga e'tibor qaratish va keyinchalik nazariy narsalarni o'rganishni maslahat beraman.

Va nihoyat, men yollangan kompaniyaga aloqador bo'lganlarni bilmasligimni ta'kidlashni istardim. Men u erda kuchli shaxsiy tarmoq birinchi ishlab chiqarishni ishga tushirishning eng muhim omili ekanligini ta'kidlaydigan juda ko'p tarkibiy qismlar mavjudligini bilaman. Va bu statistik jihatdan to'g'ri bo'lishi mumkin bo'lsa ham, murojaat qiluvchisiz sovuqqo'llik, albatta, vaqtni behuda sarf qilmaydi.

8-qism: Bugun nima qilaman

Yozish paytida men Teamtailor-da olti oy ishladim. Vaqt haqiqatan ham men tasavvur qilganimdan tezroq ketdi. Men uzoq, qorong'i va sovuq qishni odatda Stokgolmda bardoshli bo'lish uchun kurashni deyarli payqamadim.

Men 12 kishidan iborat jamoaning bir qismiman, bu erda bitta dizaynerdan tashqari hamma to'liq ustunli Rails va JavaScript dasturchilaridir. Ba'zilarining 10+ yillik tajribasi bor, ba'zilari bir necha yil, lekin atigi ikkitasi haqiqiy ilmiy darajaga ega. Qolganlarimiz ozmi-ko'pmi o'z-o'zini tarbiyalashadi.

Men o'z kunlarimni Rails / Ember platformamizda o'tkazmoqdaman, har kuni o'sha kuni ertalab topilganimdan ko'ra ilovani biroz yaxshiroq tark etishga harakat qilaman. Mahsulotning o'zi yollash veb-ilovasi bo'lib, bu kompaniyalarga hech qanday kodlash ko'nikmalarini talab qilmasdan, o'zlarining martaba saytlarini qurishga va boshqarishga imkon beradi.

https://career.teamtailor.com

O'z navbatida, ushbu martaba saytidagi ilova ikkita asosiy yo'nalishga ega:

  1. Bu foydalanuvchilarga ish joylari, ijtimoiy media tarkiblari, bloglar, rasmlar, videolar va sovg'alar kabi vositalar bilan iste'dodlarni jalb qilishga mo'ljallangan ish beruvchilar brendini boshqarishga imkon beradi.
  2. Trafikni boshqarish va abituriyentlarni boshqarish uchun juda ko'p vositalarni taklif etadi - nomzodlarni kuzatish, suhbatlashish, elektron pochta xabarlarini yuborish va SMS yuborish, testlarni baholash, nomzod bir bosqichdan ikkinchisiga o'tkazilganda ba'zi harakatlarni bajarish uchun avtomatik tetiklarni sozlash va boshqalar. bir nechta nom berish uchun barcha asosiy ish taxtalarida ish e'lonlarini reklama qilish.

Biz qanday ishlaymiz

Mahsulot jamoamizda Scrum, Kanban va juft dasturlashning chaqqon tamoyillariga amal qilishga harakat qilamiz. Amalda biz uchun bu o'z ishimizni siklda bajarishimizni anglatadi, bunda biz yangi funktsiyalarni amalga oshirishni bir vaqtning o'zida 6 xafta davom etadigan loyihalarga ajratamiz. O'z navbatida, har bir loyihani ishlab chiquvchilar ikki-ikkitani birlashtirdilar va 6 hafta ichida yangi funktsiyalarni etkazib berishni o'z zimmalariga oldilar. Juftliklar oldindan rejalashtirilgan Trello dasturiga asoslanib, har bir rejalashtirilgan xususiyat doirasida kichik vazifalarni bajaradilar.

Albatta, biz shunchaki yangi narsalarni qurmaymiz. Shuningdek, biz ilovani saqlab turamiz. Va biz ushbu texnik xizmatning mohiyatiga ko'ra g'ayrioddiy odat: "qo'ng'iroq qilish texnologiyasi" burchidir. Bu har hafta ishlab chiquvchi pozitsiyani anglatadi, bu erda har bir ishlab chiqaruvchi bir hafta davomida bizning foydalanuvchilarimizga va Interkom-ning yordamchi xodimlariga yordam berish uchun vaqt sarflaydi.

Agar siz bu zerikarli va asabiylashtiradigan vazifa kabi tuyulsa, shunday bo'ldi. Biz har bir texnologiya qo'ng'irog'i qo'llab-quvvatlash navbati paytida boshqa barcha loyihalarni to'xtatib turishiga qaror qilganimizgacha. To'satdan, men endi Interkomga sarflagan har bir daqiqam loyihalarim va muddatlarimdan o'g'irlangan daqiqalar kabi his etmay, aslida zavqlana boshladim.

O'ylab ko'ring - tinglashga vaqt ajratganingizda, sizning ixtiyoriy ravishda sifatni nazorat qilish bo'yicha ixtiyoriy tekshiruvchilar armiyasi borligini anglaysiz va doimo mahsulotning haqiqiy UX va foydalanuvchi og'riq nuqtalari haqida tezkor fikr bildirishga tayyormiz. Shuni hisobga olib, men o'zimning texnologik qo'ng'iroqlar haftalarimdan boshqa biron bir loyiha yoki ishlayotgan xatolar kabi ko'p narsalarni o'rgandim, deb aytish kifoya.

Va nihoyat, har 6 haftalik tsikl orasida biz Trello bug taxtasida o'rnatilgan barcha xatolarni yo'q qilish uchun ikki hafta vaqt sarflaymiz. Biz, shuningdek, ushbu ikki haftadan foydalanib, o'zimiz ilovada ko'rishni istagan yangi xususiyatlar uchun maydonchalarni yaratish uchun foydalanamiz. Keyin har bir ishlab chiquvchi ushbu g'oyalarni biz har 8 haftada bir marta o'tkaziladigan umumiy yig'ilishda namoyish etish imkoniyatiga ega bo'ladi, bu haqiqatan ham qattiq kod muammolarini emas, balki mavjud mahsulotga yangi qo'shimchalar kiritish orqali biznes muammolarini hal qilishni istamaydigan kishiga haqiqatan ham imkoniyat beradi. .

Hozirgacha nima qilgan bo'lsam

Dastur juda ko'p xususiyat va texnologiyalarni o'z ichiga olgan bo'lsa-da, dastlab men uchun mutlaqo begona edi, ammo men ikkinchi haftada harakatning o'rtasiga tashlandim. Samolyotga o'tirish jarayoni - bu menga katta dasturchi bo'lib, arqonlarimni ko'rsatishini anglatadi - atigi besh kun davom etdi. Birinchi haftadan so'ng, nazariy jihatdan, men ko'proq yoki kamroq avtonom bo'lishim kerak edi.

Bu men platformaning arxitekturasini, dasturiy vositalar to'plamini, jamoaning ish jarayoni, uslublar bo'yicha qo'llanmani, foydalanuvchilar va hamkasblarga texnik yordam ko'rsatishni va kodni ishlab chiqish, sinovdan o'tkazish, disk raskadrovka qilish, ko'rib chiqish va joylashtirish uchun boshqa ichki tartiblarni tushunishni kutganimni anglatadi. . Boshqacha qilib aytadigan bo'lsak, faqat bootcampdan chiqqan kishi uchun juda ko'p yangi narsalar.

Agar men buni bir hafta ichida bilib oldim, deb o'ylayotganingiz uchun hozir panikalanayotgan bo'lsangiz, dam oling. Men aniq aytmadim. Bir necha oydan so'ng, men bu narsalarning aksariyati bilan shug'ullana boshladim. Vaqt o'tishi bilan, boshqalar buni payqashadi va menga ko'proq va ko'proq mas'uliyat ishonadi. O'shandan beri men ishlagan eng qiziqarli va qiyin loyihalarning bir qismi bo'ldim.

Kulrang maydonga ba'zi bir ijtimoiy media URL-manzillari bilan mening nomzodim profil.

Birinchisi, biz shunchaki elektron pochta orqali dasturimizga kirgan foydalanuvchilar haqidagi ma'lumotlarni olishda foydalangan usulimizni yangilash edi. Buning uchun biz uchinchi tomon API bilan integratsiyalashgan edik, shuning uchun biz ijtimoiy tarmoqlar profillari va avatar rasmlariga to'liq ism va URL manzillari kabi ma'lumotlarni olishni so'radik.

Ammo, biz olingan ma'lumotlar ko'pincha noto'g'ri deb topilganligi sababli, mahsulot guruhi boshqa provayderga o'tishga qaror qildi. Bu meni bir nechta muhim sohalar va ilovaning ma'lumot oqimlari bilan tanishtirgani sababli, bu men uchun eng yaxshi keyingi qadam edi.

Uni amalga oshirish uchun, foydalanuvchi qatlamidan elektron pochtani olishdan boshlab, mijoz qatlamining eng old tomonida, ma'lumotlarning Ember jabhasidan qanday o'tishini tushunish uchun, adapterlar va seriyalizatorlar orqali Rails orqa qismiga va boshqalarga o'tishim kerak edi. oxirida ma'lumotlar bazasida saqlaning.

Faoliyat tugmachasini martaba saytida qanday ishlatish mumkinligiga misol.

Mening ikkinchi o'ziga xos xususiyatim "harakatga chaqiruv tugmasi" deb nomlangan narsani ishlab chiqish edi, ya'ni biz tahrirlovchilarimiz vositasida foydalanuvchilarga o'zlarining martaba saytlariga maxsus tugmalarni qo'shishlariga imkon beramiz.

Masalan, biz ularni ma'lum bir ish joyini ochish sahifasiga, ma'lum bir bo'limga yoki butunlay tashqi URL manziliga yo'naltirishni xohladik. Bu aslida men kutganimdan osonroq bo'ldi. Orqa arxitekturaning aksariyati allaqachon mavjud edi, shuning uchun men qilishim kerak bo'lgan narsa, asosan bir nechta yangi Ember komponentlarini yaratish va ularni martaba sayt muharririning boshqa variantlariga qo'shish edi.

Bizning yangi avtomatlashtirilgan nomzodlarni sinovdan o'tkazish uchun modal shakl.

Men ishlagan uchinchi xususiyat bu bizning foydalanuvchilarimizga tashqi baholash provayderlari bilan birlashishga imkon berish, ya'ni ular Hackerrank singari test platformasiga nomzodlarni yuborish imkoniyatiga ega bo'lish. Ular sinovni tugatgandan so'ng, natijalar avtomatik ravishda bizning va provayderimizning API interfeysi orqali yuboriladi. Bu juda katta ish edi, shuning uchun men asosan loyihaga mas'ul bo'lgan katta dasturchi (Ember aka-uka grossmeysteri) yordamchisi bo'lib ishladim. Shunga qaramay, u menga API integratsiyasini qanday qilib to'g'ri tashkil etish va triggerlar bilan ish oqimlarini avtomatlashtirish haqida ko'p narsalarni o'rgatdi.

Ember.js-da qayta yozilgan Xodimlar bo'limidagi sahifalardan biri.

To'rtinchi loyiham shu kungacha eng katta loyiha edi va yaxshi va yomon uchun men o'z xohishim bilan kamroq yoki kam ish qildim. Dasturning boshi avval Rails-da qurilgan bo'lib, ko'pchilik JavaScript va Ember-da birma-bir qayta yozilgan. Ilovaning asosiy bo'limlaridan faqat bittasida hanuzgacha faqat Rayllar ko'rinishi bor edi. Bu "Xodimlar" deb nomlangan bo'lim edi, bu asosan foydalanuvchi hisoblarini yaratish, tahrirlash va yo'q qilishning asosiy yo'nalishi edi. Shunday qilib, mening Emberga qilgan tarjimam benuqson bo'lgani juda muhim edi.

Bu meni aqldan ozganga o'xshatdi. Men jamoada uch oy bo'lganimdan beri, zerikarli stajyor kabi harakat qilishni bas qilib, mustaqil ishlashni boshlash vaqti keldi. Ya'ni, iloji boricha kamroq savollar bilan boshqalarni bezovta qilishga urindim. Buning yaxshi tomoni shundaki, men haqiqiy dasturiy ta'minot bilan bog'liq muammolarni butunlay o'zim hal qila olishimga juda ko'p ishonch hosil qildim. Ammo yomon tomoni shundaki, bu meni juda sekinlashtirdi va 2000 dan ortiq yangi kod satrlarining to'liq yozuvini yuborish uchun menga 6 hafta vaqt kerak bo'ldi.

Oxir-oqibat, bu aslida men CTO va men kelishgan kelishuvga erishmaganligimning asosiy sababi bo'ldi, chunki men bitimimni oxiriga etkazmagan edim: men samarali natijaga erishmadim. jamoaning qolgan qismiga mos ravishda.

Bu vaqtni yutib yuborgan bo'lsa ham, endi men uning nuqtai nazari mutlaqo adolatli ekanligini angladim va bu menga muhim saboq bo'ldi. Agile dasturiy ta'minotini ishlab chiqish dunyosida yolg'iz bo'ri qilishning iloji yo'q. Jamoa bilan ishlash - bu samarali ish oqimini topishning asosiy qismidir.

Beshinchi loyiha hozirgi kungacha eng oxirgisi va biz uni shunchaki jo'natdik. Bu yangi paydo bo'lgan Evropa ma'lumotlarning konfidentsiallik to'g'risidagi qonunchiligini (GDPR) hal qilishda bizning yangi xususiyatimiz edi. Bizning mijozlarimiz nomzodlariga o'zlarining shaxsiy ma'lumotlarini ma'lumotlar bazamizdan o'chirib tashlashni osonlashtiradigan qurilish vositalariga aylantirilgan biz uchun, shuningdek, mijozlarimiz nomzodlardan ma'lumotlarni saqlash va saqlashga ruxsat so'rashlarini so'rashlari uchun.

Juda sodda tovushlar? Bu unday emas edi. Umuman.

O'ylaymanki, asosiy sabab biz bitta maqsadga yo'naltirilmasligimiz edi. Buning o'rniga, xususiyat bizdan hamma joyda narsalarni qo'shishimizni talab qildi. Bir joyda bildirishnomalar, boshqa joyda ogohlantirish bayroqlari, uchdan birida qidiruv filtrlari va ommaviy harakatlar va o'nlab yangi elektron pochta xabarlarini yuborish bo'yicha harakatlar.

Ishni boshlaganimdan beri birinchi marta meni katta tajribali dasturchi va asoschilar bilan bog'lashdi. Shunday qilib, men birinchi haftadan olti oy oldin qilgan bilimlarimni unga ko'rsatish juda muhimligini his qildim. Mening sinov muddati tugash arafasida edi va agar jamoada qolish uchun etarlicha bo'lsam, ular tez orada qaror qabul qilishlari kerak edi. Va bu "sodda" loyiha bilan, men birinchi bo'lib bu kek bo'lishini isbotladim.

G'alati bo'lsa-da, menimcha, bu murakkabliklar bizning juft dasturlash sessiyalarimizni yanada kuchaytirdi. Arxitekturaning har bir qismini loyihalashda e'tiborga olish kerak bo'lgan juda ko'p foydalanuvchi stsenariylari mavjud edi, shuning uchun biz har bir yangi kod blokini muhokama qilishga va burishga va burishga majbur bo'ldik. Birinchi marta, biz nafaqat UI / UX o'lchamlarini, balki agar uni to'g'ri bajarmasak, foydalanuvchilarimizga juda ko'p muammolarni keltirib chiqarishi mumkin bo'lgan keng qamrovli qonuniyatlarni ham hisobga olishim kerak.

Shunday qilib, biz juda ko'p juftlashtirdik va juda yaxshi bo'ldi. Men kodlaganimda, u juda ko'p yaxshi mulohazalar bilan keldi, bu asosan mening kodimni yanada toza qildi. Ammo o'sha birinchi samolyot haftasidan farqli o'laroq, men aslida uning kodi haqida fikrlar bildira oldim, takliflar kiritdim va savollar berib, o'z kodlarini yaxshilagan edim.

O'tgan yilgidek, siz jadal rivojlanayotgan bo'lsangiz, har lahzada sizning mahoratingiz qanchalik yaxshilaganligini aniqlash qiyin. Shunday qilib, bu yigitga konstruktiv fikr bildira olish, 15 yildan kamar ostida kodlash bilan, yozuvni men uchun devorga osib qo'ydi.

Aytgancha, yaqinda xabardor bo'lgan 6 oylik sinov shartnomamning muddati uzaytirildi. Bundan buyon, men doimiy ishlaydigan ishchiman, avvaliga olti oy oldin ish haqi talab qilindim

Meni ishda

9-qism: Nima uchun dasturchi bo'lish - men qilgan eng yaxshi narsa

Ehtimol hozir tushunganingizdek, men kodlashni yaxshi ko'raman.

Muammolarni miqdoriy echish orqali intellektual chegaralarimni kuchaytirishga majbur qilishini yaxshi ko'raman.

Men UI-dan tizim arxitekturasiga qadar biron bir narsani loyihalashda ijodiy izlanishlar uchun vositani taqdim etishini yaxshi ko'raman.

Menga har bir real dunyodagi muammolar uchun ming xil echimlarni taklif qilishini yaxshi ko'raman.

Men u nafaqat mening ichki perfektsionistimga toqat qilibgina qolmay, balki u perfektsionistning hozir bo'lishini talab qiladigan va uning yo'qligini jazolaganini yaxshi ko'raman.

Men u meni samimiylik va shaffoflikni mayda gaplar va xushmuomalalikdan ustun qo'yadigan odamlar bilan o'rab turganini yaxshi ko'raman.

Men juda yaxshi ko'raman, mening introverted kunlarimda u menga minigarnituramni kiyish, englarimni ko'tarish va bir muncha vaqt boshqa chuqurlikka sho'ng'ish imkonini beradi.

Men har doim o'rganishim uchun yangi bir narsani o'z ichiga olganini va boshqa ko'plab turg'un kasblardan farqli o'laroq, men uchun umr bo'yi o'rganishni talab etishini yaxshi ko'raman.

Lekin, eng muhimi, men kodlash orqali kelajak chindan ham cheksiz ekanligi haqidagi fikrni yaxshi ko'raman.

Bir necha hafta ichida 27 yoshga to'laman va kelajakda men uchun nima bo'lishini bilmayman. Uch yil ichida, men bilganim uchun, men hanuzgacha o'sha holatda bo'lishim mumkin, xuddi shu kompaniya uchun kod yozganim. Men etakchi dasturchi bo'lishi mumkin. Men mahsulot egasi yoki menejer bo'lishi mumkin. Yoki men umuman boshqa joyda bo'lishim mumkin.

Quyoshli jannatdan freelancing. Ba'zi buzadigan blockchain-da markazlashtirilmagan ilovalarni ishlab chiqish. Global isish bilan kurashish uchun mashinalarni o'rganish modellarini loyihalash. Marsga ekspeditsiyalar uchun fazoviy algoritmlarni yozish. Yoki o'z mahsulotimni qurish.

Kodlashni boshlashdan oldin yuqoridagi barcha stsenariylar menga mutlaqo aqldan tuyulgan bo'lardi.

Yaxshiyamki, avvalgi moliyaviy ishlarim, yuqoriga qarab yo'naltirilgan KPI egri chiziqlari bilan to'ldirilgan qalin quvvat nuqtasi taqdimotini yig'ishdan mamnuniyat his etdi. Hayotimning o'n yilligini ba'zi bir investitsiya bankida, xususiy sarmoyaviy firma yoki menejment bo'yicha maslahatlarida 100 soatlik ish haftasiga bag'ishlaganimdan so'ng, men taxmin qilgan ba'zi bir kompaniyalarda moliya direktori yoki bosh direktor lavozimiga tayinlanganim haqida o'ylashim mumkin bo'lgan eng yaxshi kelajak stsenariysi. Mening kunlarimni hayotlari bilan mazmunli narsalarni qilishdan ko'ra pul va obro' haqida ko'proq o'ylaydigan odamlar atrofida o'tkazdim. Va bu meni qo'rqitdi.

Bugun meni umuman qo'rqitadigan kelajak stsenariy yo'q. Va bu shunchaki so'nggi uch yil davomida mening buzuq sayohatlarimning maqsadi borligiga ishonch hosil qiladi.

Garchi men juda ko'p vaqt va kuchimni martaba yo'nalishiga sarflaganim achinarli bo'lsa-da, men 23 yoshimda buni anglab etish baxtiga muyassar bo'ldim - va hashamatli bo'lish imkoniyatiga ega bo'ldim. to'xtab, atrofga nazar tashlab, o'zimga nisbatan ishtiyoqni kuchaytirgan narsaga intiling.

Yaxshi yoki yomonmi, deb o'ylayman, bu mening hozirgi tajribamning yig'indisi. Men qandaydir yo'l bilan kam odam topadigan joyga - men yaxshi ko'rgan ishni topdim. Va buning uchun men aytadigan so'zlardan ham ko'proq minnatdorman.

Tabriklaymiz! Ushbu juda uzun maqolani oxirigacha yozganingiz uchun, siz men kabi aqldan ozishingiz kerak. Men dastlab ushbu matn bilan ikkita niyatda edim: mening so'nggi uch yildagi muvaffaqiyatsizliklarimni va muvaffaqiyatlarimni qayta ko'rib chiqish va o'zimga o'xshash yo'llarda boshqalarni ilhomlantirish. Birinchisini tugallangan deb hisoblayman. Shunday qilib, agar sizda biron bir savol yoki fikringiz bo'lsa - iltimos, bog'laning! Quyidagi izohlarda yoki charlie.jeppsson1@gmail.com.