Dam olishni bilmaysimi?
Afsuski oramizda ko’pchilik to’g’ri dam olishni bilmaydi. Ishdan uyga qaytsakda miyamiz ofisda qolib ketadi. Dam olish kunlari kompyuterimizni birrovga tekshirib qo’yamiz. Kerak bo’lmasada kompyuterimizni o’zimiz bilan har joyga olib boramiz. Just in case deymiz.
Dasturlash soxasida uzoqqa bormoqchi bo’lsangiz bu narsa yaramaydi. To’g’ri dam olishni o’rganishingiz kerak. Hop, to’g’ri dam olish qanday bo’ladi? Qisqa qilib aytganda, siz shunday dam olishingiz kerakki siz ishni sog’inishingiz kerak. Ishga g’ayrat bilan qaytishingiz kerak.
Bu esa sizdan dam davomida ishdan butunlay uzulishni talab qiladi. Unuting ishni — u hech qachon tugamaydi. Iloji boricha kompyuteringnizni ochmang va sayohatga chiqqanda o’zingiz bilan olib kelmang. Dam olishni ko’proq jismoniy ishlar bilan uydan tashqarida o’tkazing.
Bo’lmasa oqibati burnout. Menga ishoning, burnout bo’lishni xoxlamaysiz 🙂
Tepadagi John akaga o’xshab qolmang, o’zingizni ehtiyot qiling 🫡
]]>Ko’p dasturchilar framework/library o’rganishga ko’p vaqt sarflashadi. O’zim ham bir paytlar framework/library shinavandasi bo’lganman. Agar vaqt orqaga qaytib qolganida ko’proq dasturlash tilini o’ziga urg’u bergan bo’lardim.
Framework/library o’rganish albatta muhim. Ular ishimizni oson qiladi va bizni “superman”ga aylantiradi — kam kod bilan ko’p ishni qilib yuborsa bo’ladi. Shuning uchun ham juniorlar ularni sevishadi.
Lekin yozayotgan high-level kodimiz tagida nima bo’layotganini tushunmasak bug chiqqanda chuqur kirib uni tuzatishga qiynalamiz. Yana, framework ostidagi tilni puxta bilmasak uni extend/customize qila olmaysiz. Yetarlicha complex proyekt qilsangiz customization albatta kerak bo’ladi.
Ha aytgancha, JSni chuqur o’rganish uchun You Don’t Know JS kitobini tavsiya qilaman.
]]>Strong site lead. Site lead masuliyatlari katta: office space management, legal, regulations, community, va hkz. Bunday odamlarni topish juda qiyin. Masalan, EPAM Toshkentga kelishida Renat Akhtyamov’ning ro’li katta bo’lgan.
Talent pool. Katta miqdordagi kuchli professionallar mavjudligi. O’zbekistonda kuchli dasturchilar ko’payishi bu talabni qondiradi.
Development cycle. Yangi ofis bir malum produktni butunlay o’z qo’liga ola olishi kerak. Shu orqali ish bir timezoneda bo’ladi. Agar produkt ham Toshkentda ham San Fransiscoda bo’ladigan bo’lsa, 12 soat vaqt farqi bilan ishlash samarasiz bo’ladi.
Siz qanday yordam bera olasiz? Albatta o’z ustingizda qattiq ishlab Talent Pool’ga hissa qo’shgan xolda 🚀
]]>O’zingizni professional sifatida qabul qiling va harakatlaringiz ham shunga mos bo’lsin:
— Meetinglarga o’z vaqtida tayyor keling, so’ng diqqat bilan eshiting
— Majburiyatlaringizni va’da berilganidek bajaring va …
— Ishlar rejalashtirilganidek ketmasa (shunday bo’lib turadi) xolatni ochiq tushuntiring
— Norozilikni bosiqlik va xushmoumilalik bilan yetkazing
— Nolishni kamaytiring, o’rniga yechimlarni o’rtaga tashlang
— Atrofingizdagilarni yuqoriga ko’taring, pastga urmang
Xayot Dr. House emas. Qanchalik “aqlli” yoki “zo’r” bo’lmang, o’zingizni tepadagidek tutmasangiz karyerangizda o’ sishingiz juda qiyin.
Haqiyqiy professionalni barcha qadrlaydi, undan ham muhimi bu o’zini tutishni to’g’ri yo’li.
P.s. Bu postning qaysidir qismlari Kodir Amirov tarjimasidan olingan. Raxmat, Kodir 👌
]]>FAANG darajasidagi kompaniyalarda odatda bir product ustida bir nechta komanda ishlaydi. Masalan, mening komandam Android Auto ostida mavjud bo’lgan komandalardan biri hisoblanadi. Scale katta. Shuning uchun ham oddiy dasturchi sifatida sizning qilayotgan ishingiz impacti butun product darajasida bo’layotgan ishlar oldida juda kichik ko’rinadi.
Shuning uchun ham non-Googler dasturchi o’rtoqlarim “Vohid, Googleda ish qaley ketyapti? Button rangini o’zgartirib yuribsanmi?” deb hazillashishadi. Men esa “choy damlash qo’limdan keladi xolos” deyman 😁
Hop, qanday qilib shunday katta kompaniyalarda button rangini o’zgartirishdan ortiqroq impact qilsa bo’ladi?
Javob: Collaboration💡 Katta impactga ega ishlar kam xolatda bir komanda ichida bo’ladi. Katta impactga ega bo’lgan ishlarni qilish komandangizdan tashqaridagi odamlar bilan yaxshi aloqada bo’lib get-shit-done qobiliyatini talab qiladi.
]]>Hammamiz yaxshi bilamiz biz dasturchilarga nisbatan stereotype bor. Ko’pchilik bizni introvert deb biladi. Fotunately or unfoturantely, bunda oz-moz haqiqat bor. Biz rostdan ham kam gapmiz. Chunki biz bullshit qilishni va small talkni yoqtirmaymiz. Bu shubhasiz yaxshi xislatlar.
Lekin men bilgan pro dasturchilar introvert’liglariga qaramay ish borasida muloqot qilishni o’z o’rniga qo’yishadi:
— standupda ochiq oydin progress update berishadi
— deadline uchun kechikayotgan bo’lishsa o’z vaqtida habar berishadi
— to’siqlarga uchragan bo’lsalar komandaga habar berib yordam olishadi
— tatilga chiqib ketishdan oldin hammani habardor qilishadi
— o’rgangan bilimlarini komanda bilan ulashishadi
— hamkasblar bilan muntazam muloqotda bo’lishadi (1:1 meetings)
— munozaralarda o’z fikrlarini jarang ammo oqilona bildirishadi
Qisqa qilib aytganda savol so’ragani o’rin qoldirishmaydi. Chunki faol aloqada bo’lish komanda unumdorligi uchun muhimligini yaxshi tushunishadi.
Bunday dasturchilar sanoqli, ko’zga tez tashlanishadi va hamma ular bilan ishlashni xoxlaydi 🙂 Siz ham shunday professional bo’lishga intiling 😎
]]>Dasturchi sifatida bizning unumdorligimiz qurollarimiz unumdorligiga bog’liq. Qurollarimiz unumdorligi esa biz ularni qanchalik yaxshi bilishimizga bog’liq.
Qanday qurollar haqida gap ketyapti? Kunlik ishimiz uchun kerak bo’ladigan har qanday narsa bu bizning qurolimiz: dasturlash tili, library/framework, operating system, VCS, debugger, editor/IDE, browser, va hkz.
Masalan, unix commandalarni chuqur o’rganing, git commit/pull/push komandalari bilan chegaralanmang, frontend uchun Chrome DevToolsni uyog’idan kirib buyog’idan chiqadigan bo’ling, database uchun ‘explain’ query ishlatishni biling, va sevimli editoringiz shortcutlarini aktiv ishlating.
Tepadagi qobilyatlar sizni 10x dasturchisiga aylantiradi 🥷
]]>Meni hayotimga katta ta’sir qilgan joy bu mening ingliz tili kursim bo’lgan (a.k.a. dombit). 1.5 yil davomida men u yerda quyidagi tushunchalarni o’rgandim: (a) vaqtni bekorga sarflamaslik kerak (b) hech kim mendan qarzdor emas va (c) o’rganish bu tugalmas jarayon. Jahongir Rahmonov (Amazon), Farruh Habibullayev (Google), va Sherali Obidov (Google) akalar ham o’sha yerda o’qib chiqishgan.
Baxtimga boshqa kasblardan farqli o’laroq dasturlash bu muntazam o’rganish jarayoni bo’lib chiqdi va tepadagi mindset
ancha yordam berdi. Karyeramiz o’sishi uchun biz har doim o’z ustimizda ishlayotgan bo’lishimiz kerak. O’rganishni (
kuniga 5 minut bo’lsada) kunlik hayotingizni bir qismiga aylantiring:
— sohangiz bo’yicha texnik kitoblar o’qing
— sizga qiziq bo’lgan yangi texnologiyalarni o’rganing
— pet projectlar qiling
— open sourcega hissa qo’shing
— study grouplarga a’zo bo’ling
— seminar/webinarlarga qatnashing
— mentor toping / mentorlik qiling
— va hkz
Eng asosiysi maqsad bilan o’rganing va siz yutasiz 🙂
]]>Android Autoda ish boshlaganimda meetinglar men uchun juda qiyin bo’lgan. Ayniqsa daily standuplar. Hamma bir kun oldin qilgan ishini pistaletdek aytib tashlardi. Paw-paw-paw! Men esa kecha nima ovqat yeganimni eslolmasdim va bekor yurganga uxshab ko’rinib qolardim [imposter syndrome intensifies].
Keyin 1-2 hamkasbimdan so’rasam ular har kunlik qilgan ishlarini yozib yurar ekan 😮 Nafaqat kunlik ishlarini balki:
— potential work items
— 1:1 meeting notes
— feature progress notes
— va hkzlarni ham yozib yurishar ekan 🤯
Nega bunday qilishadi? Context offloading! Kompyuterdan faqrli o’laroq bizning miyyamiz kuchi cheklangan va bir paytda ko’p malumotni ushlab turolmaymiz. Bir task haqida malumotni dokumentga yuklab miyyamizni boshqa tasklar uchun bo’shatamiz.
Kerak bo’lganda shu dokumentlardan foydalanib ishimizni davom ettiramiz, ishimiz haqida hisobot beramiz, kelajakka planlar tuzamiz, meetinglarni paw-paw-paw qilamiz va eng muhimi bo’sh kalla bilan kechqurun yaxshiroq uxlaymiz. Shu orqali dasturchi sifatida unumdorligimiz oshadi va karyeramiz oldinlaydi 🚀
Tepada aytganlarim project managementga juda o’xshab ketadi chunki bu rostdan ham project management. Aniqrog’i — shaxsiy project management 😎
]]>Karyeramiz davomida savol so’raymiz, javob beramiz, code comment yozamiz, dokumentatsiya ustida ishlaymiz, code reviewda qatnashamiz, rezume tayyorlaymiz, design doc yozamiz, bloglar yozamiz, va hkz. Ko’rib turganimizdek juda ko’p yozamiz. Yozish qobilyati karyeramiz o’sishi uchun juda muhim bo’lgan elementlaridan biri xisoblanadi.
Googleda yozgan birinchi design docimni eslayman. Review uchun komandaga jo’natganimda bir qancha comment berishgan. Commentlarni hammasi hurmat bilan konstruktiv yozilgan bo’lsada men ularni o’qib yozish qobilyatim juda pastligini tushunib yetganman. Bunday emotional damagedan keyin yozish ustida ancha ishladim.
Googleda har yil ohirida hamkasblaringizdan peer feedback olsangiz bo’ladi. Men ham yaqinda bir hamkasbdan feedback
oldim:
— Vohid, barakalla! Yaxshi design doclar yozyapsan.
— Rostan-a?
— Ha, albatta. Birinchi yozgan design docingni eslaysanmi?
Ravon, aniq, va qisqa yozishni o’rganing — siz yutasiz 🏆😎
]]>