FireArt va Webbee dan offer oldim.

Bu maqolada o’zim ishga topshirish jarayonini boshlaganimdan toki yuqoridagi ikki kompanidan ish uchun offer olgunimcha bo’lgan jarayonni, xususan, resume va portfolio tayyorlash, HR interview’lar, tech interview’lar haqida batafsil yozishga harakat qilaman. Ishga topshirishga ikkilanib yurgan yoki ish topishda qiynalayotganlarga foydali bo’ladi deb umid qilaman.

Disclaimer! Bu maqola juda ham uzun bo’ladi. Maqolada o’zbekcha, inglizcha va ruscha so’zlar aralash ishlatiladi. Men tanlagan yo’l aynan siz uchun mos kelmasligi mumkin. Shuning uchun faqat kerakli qismini oling.

Resume va Portfolio tayyorlash

1-sentabr kuni, ishga topshirishga harakatni jiddiy boshladim. Birinchi navbatda qiladigan ishlarim bu – resume va portfolio tayyorlash edi.

Avvalo resume qanday tayyorlanishini, nimalarga ko’proq e’tibor berish kerak ekanligini o’rganib chiqdim. Bunda menga Andrei Neagoie, Azimjon Pulatov yozgan maqolalari ko’proq yordam berdi. Keyin esa resumeni yasashga kirishdim. Avvaliga bir nechta resume builder site’lardan foydalanib ko’rdim. Bir necha soat vaqt ketgazib saytda tayyorlagan resume’imni yuklab olmoqchi bo’lganimda, ularni pullik ekanligini bilib hafsalam pir bo’ldi. Bitta fayl uchun $20-$30 to’lagim kelmadi. Bundan tashqari, bu saytlarda ular ko’rsatgan shablondan tashqariga chiqib bo’lmasdi. Shuning uchun, bitta ochiq qo’yilgan shablon rasmini oldimda, shunga qarab-qarab o’zim HTML va CSS yordamida resume yozishni boshladim. Resumeni ikki tilda – ingliz va rus tillarida yozib, browser yordamida PDF formatga o’g’rib oldim. Mobodo kimdir shaxsiy web-site’imni so’rasa berishlik uchun xuddi shu resumeni Netlify’ga ham joylab qo’ydim. Mana o’sha resume: https://muhammads-resume.netlify.app

Diqqat! Men resume’da o’zim bilmaydigan, ishlatib ko’rmagan lekin ular haqida kamida maqola yoki docs o’qigan texnologiyalarimni ham yozib ketdim. Sababi, bu texnologiyalarni kelayotgan oylar ichida o’rganishni reja qilganman. Agarda interview davomida talab qilinsa, qisqa muddatda o’rganib chiqishga ko’zim yetgan. Lekin bunday qilishni boshqalarga tavfsiya bermayman!

Resume ko’ngildagidek bo’lganidan so’ng, portfolio’imni to’g’rilashga kirishdim. GitHub’imda yetarlicha project’lar bor ekan. Men ba’zilariga shunchaki readme file qo’shib, projectni qanday ishga tushirishni yozib qo’ydim xolos.

Ish izlash va ishga topshirish

Ish izlayotgan vaqtim, mening ish uchun aniq talablarim bor edi. “Remote”, “Yuqori maosh”, “Rvojlanish uchun imkoniyat”, “Relocation” takliflarini bera oladigan kompaniyalargagina bog’landim. Mahalliy kompaniyalardan ish izlamadim.

Avvaliga telegramdagi turli vakansiyalar joylanadigan rus kanal va guruhlaridagi berilgan e’lonlarga yozishni boshladim. Taxminan 10 tacha joyga yozdim. Bundan tashqari xuddi shu kanallarga o’zim ham ish izlayotganligim haqida e’lon berdim. Bu e’lonni taxminan uch marta qayta-qayta yubordim

LinkedIn akkountimni to’ldirib, u tavfsiya qilgan e’lonlarga ham apply qilib chiqdim. Taxminan 15-20 tacha joyga LinkedIn orqali topshirdim.

djinni.co saytidan ro’yxatdan o’tib, u yerdan ham meni qiziqtirgan o’nlab kompaniyalarni topdim. Saytning o’zida ularga xabar yozib, resume va portfolio’larimni yuborib chiqdim.

Yaqin tanishim fireart.studio kompaniyasi haqida aytib qoldi. U yerga ham ishga topshirib ko’rishimni aytdi. Saytiga kirib, “careers” degan bo’limdan “Middle Nodejs developer” pozitsiyasiga ro’yxatdan o’tib qo’ydim.

FireArt saytini kuzatib turgan vaqtim, Yevropaning top NodeJs ishlatuvchi kompaniyalar ro’yxatini topib oldim. Shu ro’yxatdagi 15-20 kompaniya saytlariga o’tib ish uchun ma’lumotlarimni qoldirdim.

Yuqoridagi hamma aytilgan joylarga bir kunda topshirmaganman. Bularni hammasi 20 kun ichida turli vaqtlarda sodir bo’ldi. Maqola tartibli bo’lishi uchun hammasini jamlab yozdim.

Dastlabki kelgan javoblar (failure)

Rus kanallaridagi berilgan vakansiyalarga yozgan vaqtim, juda ham ko’pchilik meni “ignore” qilishdi. Shunchaki xabarni o’qib javob berishmadi. Javob berganlari ham, suhbatni uzoq davom etmay, yo’q bo’lib qolishdi. Men o’zim e’lon tashlaganimdan keyin menga qiziqqanlar ko’p bo’ldi. Lekin aksariyati rus tilini bilmaganligim va full-stack dasturchi emasligim uchun rad javobi berishdi.

LinkedIn orqali topshirgan joylarimdan deyarli xabar kelmadi. Ba’zilari pochtamga “qora xatini” yuborishdi. Qolganlari yubormadi ham. Bunda o’zimni aybim katta bo’lgan. Vakansiyani to’liq o’qib chiqmasdan topshiraverganman. Keyin qarasam, aksariyati AQSH va Yevropada yashaydiganlarni ishga olishini yozgan ekan.

Djinni saytidan ham ba’zi recruiterlar uzur so’rab javob qaytarishdi, qolganlari xabarimni o’qib, javob berishmadi. Keyin bu ham aslida o’zimni xatoim ekanligini tushundim. Saytda profilni to’ldirishda xatoga yo’l qo’yganman. E’lonlarga xabar yozishdan avval profilimni sozlamaganman, profil “default” data bilan qolgan. Xabarni yozib bo’lib, keyin profilni “update” qildim. Lekin shu joyida candidate’ning o’rtacha maoshi $300 qolib ketgan ekan. Men uni ko’tarib qo’ydim. Aslida recruiter’larga yozishdan avval profilni update qilish va narxni ko’tarish kerak ekan, keyin emas.

Yevropadagi top nodeJs kompaniyalardan ham javob kelmadi. Faqatgina BrainHub uzur so’rab javob yozdi xolos.

Birinchi interview

Bir kuni LinkedIn orqali Irina ismli recruiter leverx.com kompaniyasini menga tanishtirib, meni unga bir o’quvchim tavfsiya qilganligini, agar qiziqsam, kompaniya bilan interview tashkillashtirib bermoqchiligini aytdi. Men rozi bo’ldim. Google calendar orqali 8-sentabr kuniga birinchi interviewni belgiladim. HR va Tech interview’lar birgalikda bo’lishini aytdi.

Interviewdan bir kun avval, JavaScript va NodeJs‘ga doir interview savollarini ko’rib chiqdim. Ingliz tilimni ham takrorlash maqsadida, savollarni ovoz chiqarib o’qib, o’zimga o’zim javob berib mashq qildim.

Interviewga 15-daqiqacha vaqt qolganida, kompyuterimni yoqib, telefonim kamerasini Iruin dasturi orqali unga ulamoqchi bo’ldim. PC uchun kamera sifatida doim shunday qilardim. Lekin to’satdan nimadir bo’lib, kamera kompyuterga ulanmadi. 5 daqiqa harakat qildim. Foydasi bo’lmadi. Keyin, sotib yuborish uchun qayta OS o’rnatib tayyorlab qo’ygan Macbook’imni ochdim. 10 daqiqa ichida Safari browserga kirib, Chrome va VsCode’ni yuklab olib o’rnatdim. Akkountimga kirdim. Sodir bo’lgan texnik muammo tufayli qattiq stress boshlandi. Bundan tashqari, bu birinch interview bo’lganligi sababli juda hayajonlanayotgan ham edim. Lekin interview’gacha ulgurdim.

Interview boshlandi. Dastlab HR interview bo’ldi. Manager menga o’zim kutmagan turli savollarni berib qoldi. Avvalgi ish joyimdan nega ketganligim, ish vaqtidagi biror stress’li vaziyatni tasvirlab berishim, u vaziyatdan qanday chiqib ketganligim va shunga o’xshash savollarni so’radi. Garchi bularga javobni bilsam ham, inglizchada tushuntirib berishga qiynaldim. Juda ham oddiy sintaksis va grammatik xatolar qildim. Shu vaqt manager o’g’zini berkitib, sherigiga ukrainchada nimadir deb kuldi. Meni ustimdan kulganligini tushundim. Jahlim chiqib ketdi, kayfiyatim tushib ketdi. Lekin baribir indamadim.

HR manager aslida hech qachon sizning ustingizdan, siz tilga doir bo’lgan xatolar qilganingiz uchun kulmasligi kerak. Bu yerda HR noto’g’ri ish qilgan deb hisoblayman.

Keyin esa tech interview’ga o’tdik. Men bir kun avval tayyorlanganimdek JavaScript yoki NodeJs’dan deyarli savol tushmadi. Savollar taxminan quyidagicha edi:

  • SOLID haqida gapirib ber.
  • SOLID haqida bilmayman.
  • Yaxshi, unda design patterlar haqida gaplashamiz. Design pattern’lar orasidagi farqlar nimada?
  • Men aniq bir pattern, uning tavsifi va uni boshqa patterlar bilan farqini bilmayman. Lekin kodni iloji boricha reusable va clean qilib yozaman.
  • Hmm, test yozganmisan?
  • Yo’q avvalgi loyihalarimni testsiz yozganman
  • Yaxshi, unda kompyutering ekranini share qilib, menga NodeJs’dagi Buffer’ga biror code example yozib ber.

Shu payt, ekranni share qilmoqchi bo’ldim. Lekin MacOs browser’ga share qilishga ruxsat bermadi. Uni sozlamalardan to’g’rilash kerak edi. Uni to’g’rilamoqchi bo’lgan vaqtim, browser’ni restart qilishi haqida ogohlantirdi. Vaziyatni interview olayotgan odamga tushuntirdim. Keyin u, “ha mayli, qo’yaver unda” deb keyingi savolga o’tib ketdi. Keyingi savollar http protocoli va stream haqida bo’ldi. Ularga javob berdim.

Savollar tugagach, interviewer menga browser’imni restart qilib ekranni share qilishni so’radi. Meetingdan chiqib, browser’ni restart qilib qayta kirdim. Endigi topshiriq -masala yechish edi. Menga string’ni decode qilib, xuddi shuni orqaga encode qilib beradigan ikkita funksiya yozib berishimni so’radi, online VsCode editor uchun link yubordi va 10 daqiqa vaqt berdi.

Birinchi masalani 5 daqiqalarda yechdim va testni run qilib ko’rganimda ishlamadi. Nima uchun ishlamaganligini qidirishni boshladim. Oxiri qarasam, faylni saqlamagan ekanman🤦‍♂️. Bu editorda avto-save yo’q ekan… Faylni saqlab, testni ishga tushirganimda birinchi funksiyam ishladi. Lekin adashmasam, ikkinchi funksiyani yozish uchun faqatgina 1 daqiqa vaqtim qolgan edi. Ulgurmadim.

Xullas, birinchi interview’im ko’ngilsizlik bilan boshlandi, shunday davom etdi va shunday yakunlandi. Garchi bir necha kundan keyin javobni aytamiz degan bo’lsa ham, men yiqilganimni bildim. Judayam kayfiyatim tushib, shu kun oxirigacha siqilib yurdim. Keyinroq javob ham keldi:

FireArt bilan bo’lgan jarayonlar

Endi yaxshi narsalar haqida gaplashsak. LeverX bilan interview bo’lishidan avvalroq fireart.studio dan javob kelgandi. Ular mening nomzodimni ma’qul deb topishib, interview belgilashni taklif qilishdi. Men 9-sentabr kechki vaqtga interview belgiladim.

FireArt – Polshadagi eng katta outsoucing kompaniyalardan biri. U asosan turli bizneslar uchun dizayn, mobile va web application’lar yaratish bilan shug’ullanadi. Bir necha davlatlarda filiali mavjud.

Bundan bir kun avval LeverX bilan bo’lgan hol takrorlanmasligi uchun, alamimdan, internetdan eng ko’p so’raladigan ellikka yaqin HR savollarni topib, hammasiga o’z javobimni yozib, inglizchada gapirib tayyorlandim. Interview boshlanguncha rosa ingliz tilini mashq qildim. Bundan tashqari, orada bir tanishim shu kompaniyaga ishga topshirganligi, lekin yoshi yetmagani uchun olishmaganligini eshitib qoldim. U ham menga interview bo’yicha ancha maslahatlarini berdi va meni referal qilib yubordi.

FireArt bilan dastlab HR interview bo’lib o’tdi. Daria ismli HR men bilan interview qildi. LeverX HR manageridan farqli ravishda, Daria juda ham ochiq-ko’ngil, xushchaq va positiv inson ekan. Suhbat juda ham ajoyib o’tdi. U ham xuddi kechagidek HR savollar berdi. Men ancha tayyorlanganim uchun, hammasiga yaxshi javob berdim. Biror voqeani tasvirlab berganimdan so’ng, u ham o’zi bilan sodir bo’lgan shunday voqelarni kulib gapirib berib, suhbatni ikki tomonlama davom ettirdi.

Suhbat davomida menga kompaniya haqida, ularning maqsadi, qiladigan ishlari haqida aytib berdi. Mendan qanday loyihalarda qatnashmasligim, qanday shartnoma turini maqul ko’rishim, taxminiy kutayotgan oylik maoshimni so’rab oldi. Men “gambling”, “adult content”, “drug” ga aloqador loyihalarda qatnashmasligimni, B2B shartnoma turini tanlaganim va taxminiy kutayotgan oylik maoshimni aytdim.

Siz outsourcing kompaniyaga ishga kirayotgan vaqt, o’z e’tiqod va qarashlaringizdan kelib chiqib, qanday loyihalarda qatnashmasligingizni aytib qo’yishingiz kerak.

Odatda, HR interview’lar vaqti, sizdan “salary expectation” haqida so’rashadi. Internetdan, turli manbalardan o’zingizning darajangizdagi dasturchining o’rtacha oylik maoshi qandayligini bilib oling. Suhbatda, kompaniya budget’ini hisobga olib, o’sha summa atrofidagi biror narxni aytsangiz bo’ladi. Narx aytishda ehtiyot bo’ling. Kompaniya budget’i ko’tara olmaydigan darajada yuqori aytsangiz, sizni rad qilishadi, kam aytsangiz keyin o’zingiz afsus qilib yurasiz. O’rtasini topishga harakat qiling.

Suhbat oxirida, mendan kompaniya haqida yoki ish haqida savollarim bo’lsa so’rashligimni aytdi. Mening “relocation” va kompaniyadagi ishlash muhiti haqida savollarim bor edi. Hammasiga javob berdi.

Interview’lar vaqti, kompaniya haqida savollaringiz bo’lsa, managerdan so’rab oling.

Besh ish kunidan so’ng, agar ma’qul deb topilsam, tech interview’ga taklif yuborishini va interview Rafal ismli senior frontendchi bilan bo’lishini aytdi. Bir yarim haftadan so’ng, tech interview uchun taklif keldi.

Men tech interview frontendchi bilan bo’lishini bilib xursand bo’lib ketdim. Sababi, katta ehtimol bilan, agar frontendchi interview qilsa, savollarning aksariyati JavaScript’dan bo’ladi deb gumon qildim.

Shunga qaramasdan, o’tgan safargi xato takrorlanmasligi uchun, tech interview’gacha SOLID va design pattern’larni o’rganib chiqdim. Shu mavzularga doir savollarni topib, o’qib, o’zimga o’zim inglizchada gapirib mashq qildim.

17-sentabr kuni tech interview bo’ldi. Kutganimdek, savollarning aksariyati men 2 yildan beri o’quvchilarga o’rgataverib yod bo’lib ketgan JavaScript’dan edi. Ularni esimda qolganicha yozib ketaman:

  • Let, const, var’ning bir biridan farqi nimada?
  • JavaScript single-thread’mi yoki multi-thread?
  • JavaScript asinxron ishlaydimi yoki sinxron?
  • Event Loop nima? U qanday ishlaydi?
  • Callstack nima?
  • Hoisting nima?
  • Lexical Enviroinment nima?
  • Prototypal inheritence nima?
  • Prototypal inheritence va class’lar o’rtasida qanday farq bor?
  • Promise nima maqsadda ishlatiladi?
  • Promise va Async/Await funksiyalardagi o’xshashlik nimada?
  • Callback nima?
  • LocalStorage, SessionStorage va Cookie’ning bir biridan farqi nima?
  • Qanday turdagi design pattern’larni bilasan? Birortasi haqida aytib ber.
  • ExpressJs ni bilasanmi? NodeJs’dagi http moduli va expressJs kutubxonasi o’rtasida qanday farq bor?
  • ExpressJsdagi app.get metodining birinchi argumentiga nima kiritiladi?
  • ExpressJs’dagi middleware function’larning “next” argumenti nima vazifani bajaradi?
  • HTTP metodlari qaysilar va ularning vazifasi nima?
  • TypeScript’dagi “type” alias va “interface” ning bir biridan farqi nima?

Savollarning hammasiga to’liq javob berdim. JavaScriptning single-thread yoki multi-thread ekanligi va uning sinxron yoki asinxron ishlashi haqidagi “ixtilofli” masalalarda ozgina tortishdik. Lekin men fikrimni isbotlab berdim. Design pattern’lar masalasida, bu safar Observer Pattern’ni yaxshilab o’rganib chiqqanligim uchun, u haqida juda ko’p gapirdim. NodeJsdagi modullar, DOM-event’lari shu pattern ustiga qurilganligini tushuntirdim. Javobimdan qoniqdi.

Interview yakunida, kelasi hafta javobni e’lon qilishlarini aytdi. Lekin kelasi haftagacha cho’zib o’tirmay, Daria menga LinkedIn’dan aloqaga chiqib, offer berdi va team’ga taklif qildi. Tamom.

Yo’q hazillashdim. Hali tugamadi. Men orada Webbee’dan ham javob kutayotganligim uchun, offer’ni shu zahoti qabul qilmadim. Dushanbagacha muhlat oldim.

Webbee bilan bo’lgan jarayonlar

Rus kanallarga yuborgan e’lonimdan so’ng, 14-sentabr kuni, menga Katya ismli recruiter aloqaga chiqdi va meni web-bee.org kompaniyasidagi NodeJs developer uchun joylangan vakansiyani ko’rsatib, shu pozitsiyaga taklif qildi. Lekin u yerda senior developer talab qilingan ekan. Shuning uchun senior emasligimni aytganimda, middle ham mos kelishini aytib, taklifida turdi.

Men qabul qildim. U menga telegram call orqali kompaniyani tanishtirdi. Men haqimda ba’zi savollar so’radi va mening kompaniya haqida savollarimga ham javob berdi. Keyin esa meni kompaniya saytida NodeJs developer uchun tayyorlab qo’yilgan taskni qilishimni so’radi.

Webbee – Germaniyadagi Tobias Anhalt asos solgan start-up kompaniyalardan biri. Uning 3 ta yo’nalish bo’yicha muvaffaqqiyatga erishgan loyihalari mavjud. Hozirda kompaniya to’rtinchi loyihasini boshlayapti va shunga jamoa shakllantiryapti.

Task ikki qismdan iborat edi. Birinchi qismda, taxminan 50 qatordan iborat ES5 da yozilgan JavaScript code’ni 15 daqiqa ichida ES6, ya’ni modern JS’ga o’girib yuborishim kerak edi. Bu task unchalik qiyin bo’lmadi. Yubordim.

Ikkinchi qismda, menga NestJs’da yozilgan bir project berdi. Uning service faylida kommentariyada nima qilish kerak ekanligi yozilgan edi. 45 daqiqa ichida, 3 ta API route uchun database’dan ma’lumotni oladigan SQL query yozish kerak edi. 2 ta API uchun yozish muammo bo’lmadi. “Join” va “Subquery” bilan hal bo’ldi. Lekin uchunchi API uchun “WITH RECURSIVE” yordamida query yozish kerak edi. Rosa qiynaldim. To’liq yoza olmadim. Lekin taxminiy yechimni yozib yubordim.

Ozgina vaqtdan keyin Katya task uchun menga 8/10 ball berishganini aytdi va keyingi bosqichga o’tganim, endi kompaniya CEO’si Tobias Anhult bilan interview bo’lishini ma’lum qildi.

Tobias bilan birinchi interview’ni o’tkazdik. U o’zi, kompaniyasi haqida gapirib berdi. Men haqimda qisqacha so’radi. Keyin esa oxirgi taskda qilgan ishlarimni tushuntirib berishimni so’radi. Men project’da yozgan SQL kodlarimni tushuntirdim, uchunchisini qila olmaganimni, chunki SQL da recursive code yozish qiyin ekanligini, vaqtim yetmay qolganini aytdim. Shunda mendan JavaScript’da buni qila olishimni so’raganida, “ha” deb javob berdim. Meni keyingi bosqichga o’tganligim, unda 24 soatlik project qilishimni aytdi. Project NestJs’da bo’lishini va qaysi kuni vaqtim bo’lishini so’radi. Men 19-sentabr, yakshanbani tanladim.

Suhbatni tugatiboq, Udemy’ga kirdimda, Stephen Grider’ning NestJs bo’yicha kursini sotib oldim. Shanba kuni ertalab soat 9.00 dan boshlab 21.00 gacha butun kursni ko’rib tugatdim. Keyin, kech soat 12.00 gacha Nestjs documentation o’qib yotdim. NestJs bo’yicha avval turli maqolalar o’qigan bo’lsamda, hali biror marta ham app yozib ko’rmagan edim. Bir kun ichida framework’ning basic arxitekturasini o’rganib chiqdim.

Yakshanba kuni ertalab soat 10.00 da menga project instruksiyasini yubordi. Sartaroshxonalar uchun “online booking” va “event scheduling” qilish imkoniyati bor bo’lgan app yasash kerak. Loyiha NestJs, TypeOrm va SQLlite bilan qilinishi shart.

Loyihani boshladim. TypeOrm bilan ham, SQLlite bilan avval umuman ishlamaganim, NestJsni kechagina ko’rib chiqqanligim uchun, project’ni setup qilib olish juda qiyin bo’ldi. Setup uchun taxminan 3 soat vaqt sarfladim. Keyin esa yana 3-4 soat vaqtim API design va data-model’ni o’ylash bilan ketdi. Loyihani yaxshilab o’ylab, projectni setup qilib olganimdan keyingina real code yozishga kirishdim. Dam olish kunlari, bayramlar, tanaffuslarni hisobga olgan holda oraliq vaqt intervallarini generatsiya qiladigan funksiya algoritmini qilish ham juda qiyin bo’ldi. O’zi vaqt bilan ishlash ancha muammoli. TimeZone’larni inobatga olish kerak va hokazo.

Xullas, dushanba kuni ertalabgacha loyihani qiynalib bo’lsa ham aytilganidek bitirdim. Bir necha kun o’tib, Tobias bilan yana meeting qildik, men unga loyihani ishlatib ko’rsatib berdim, u “code review” qildi. Service’larda nima yozganligimni, Interceptor’lar, Guard’lar nima vazifa bajarayotganligini birma bir tushuntirib berishimni so’radi. Menimcha, kodni rostan o’zim yozganimga ishonch hosil qilmoqchi bo’lgan.

Meeting oxirida, mening bor yo’g’i 2.5 yillik tajribam borligiga qaramay senior’lar uchun tayyorlangan topshiriqni qila olganimni ko’rib meni ozgina maqtadi. (U bu aslida to’liq ish tajribasi emas, dasturlashni o’rgangan vaqtim ham uning ichiga kirib ketishini hali bilmaydi). Lekin shunga qaramasdan loyihadagi bazi bug’larni aniqladi. Service’da composition style’dan foydalanishim kerak ekanligini, men ko’p joyda “linear” approach qilib ketganligimni aytdi. Hamma aytilgan feedback’lar, tavfsiyalarni va bug’larni yig’dik. Keyingi topshiriq sifatida shularni hammasini to’g’rilashimni, code refactoring qilishimni so’radi.

Men shu kunni o’zida hammasini to’g’rilab, code refactoring qilib, loyihani qayta yubordim. Bu safar hammasi yaxshiligini, endi esa loyihaga unit va integration testlarni qo’shishimni so’radi.

Ancha kunlardan beri davom etayotgan jarayonlardan judayam toliqqan edim. Testing’ni bilmasdim. Avvaliga uni ham o’rganim chiqib implement qilmoqchi bo’ldim. Lekin boshim og’riyotganligi uchun, NestJs’da test yozish bo’yicha tajribasi bor bir tanishimdan, test yozib berishini so’radim. U ham bir kun deganda yozib berdi. Loyihani yana qayta yubordim. Lekin mobodo, testing’ni ham avvalgidek muhokama qilib birma-bir so’rab qolsa, o’zim yozmaganligimni aytmoqchi edim. So’ramadi. Testing’ga unchalik e’tibor bermadi. So’nggi interview uchun biror kunni tanlashimni so’radi.

24-sentabr kuni oxirgi interview bo’ldi. Bu juda uzoq davom etdi. Tobias bilan 1 soat, 45 daqiqa gaplashdik. U bu safar men haqimda ko’proq so’radi. Qayerda o’qiganim, qayerda ishlaganim, ish jarayonidagi voqealar, avvalgi hamkasblarim bilan munosabatim, Pokiza va Najottalimdagi ishlarim haqida ko’p savol berdi. Pokiza uchun qilgan CRM tizimimni iloji bo’lsa, kodini ochib ko’rsatishimni so’radi. Unga loyiha haqida gapirib berdim. Loyihaning data-modelini, GraphQL API design’ni, men yasagan custom permission system’ni muhokama qildik. Uni men yosh va ish tajribam kam bo’lishiga qaramay, qanday bunchalik katta loyihani bir o’zim bitirganim hayron qoldirdi. Meni o’zining yoshlik davrlaridagi Tobiasga o’xshatdi. Menda sabr, chidamlilik va “enthusiasm” ko’rayotganligini aytib maqtadi. U kompaniyasiga faqatgina senior dasturchilarni olishini, lekin bitta men uchun istisno qilmoqchiligini aytdi. Menga “strong middle” darajasini berdi va senior bo’lishim uchun, boshqa biror senior dasturchining “guidance”i kerak ekanligini ta’kidladi. Meeting tugagach menga offer yubordi.

Ikkala kompaniya haqida

Ikkala kompaniyalar ham yaxshi. O’z o’rniga ega, o’ziga to’q, rivojlanishga sharoit yaratib beradigan kompaniyalar.

Oylik. FireArt ancha o’ziga to’q kompaniya. Men aytgan oylik summani berishga rozi bo’ldi. Webbee unchalik katta kompaniya emas, lekin u FireArtdagidan ancha ko’proq maosh taklif qildi.

Relocation. FireArtda relocation qilish imkoni bor. Kompaniyaning bir necha davlatlarda filiali ham bor. Lekin relocation taklifini ulardan olish ancha qiyin jarayon ekan. U yerda ma’lum muddat ishlash shart, o’zingizni ko’satishingiz shart va oxirida manager bilan gaplashsangiz, sizni bir necha odam ichidan tanlab olishadi. Keyin, relocate qila olasiz. Webbee’da atigi 5 ta dasturchi ishlaganligi sababli, kompaniya ish boshlashingiz bilanoq, sizga Minskka relocation taklifini beradi. Nafaqat taklif beradi, bunga qattiq targ’ib ham qiladi. Kompaniyaning faqatgina Germaniya va Belarussiyada filiali bor. Webbee relocation paketi ichida quyidagilarni taklif qiladi:

  • Siz va oilangiz(ayolingiz) safar xarajatlarini to’liq qoplash.
  • Minskda ofisga yaqin joydan, siz va oilangiz(ayolingiz) uchun 3 oylik tekin kvartira.
  • Barcha hujjat ishlarini kompaniya bo’yniga oladi.
  • Barcha sug’urta shartnomalarini kompaniya bo’yniga oladi.
  • Yangi M2 Macbook beriladi.
  • Yordam tariqasida, bir martalik €1500 pul beriladi.
  • Har oy oylikka qo’shimcha bonuslar qo’shib berish.

Xullas, shunaqa gaplar. Maqola kimgadir foydali bo’lgan bo’lsa juda ham xursandman.

Telegram: https://t.me/donishmand23

Mavzuga oid maqolalar