Vohid Karimov
5.61K subscribers
425 photos
43 videos
4 files
361 links
Download Telegram
Principle #9: Collaboration qilishni o'rganing.

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.

#Karyera #Career #SWECareer #CareerTips #Dasturlash #Programming #SoftwareEngineering #IT
👍41🤣8🔥4❤1😁1
Android figurinalarim vanihoyat keldi 🤗

Qiziqadiganlar bormi bu yerda? Rasmlarini tashlanglar :)

#Coding #ComputerScience #CS #ProblemSolving #Dasturlash #Programming #SoftwareEngineering #IT #Android
👏40👍12🤩5🔥2❤‍🔥1
Principle #10: Professional va ishonchli bo'ling.

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 👌

#Karyera #Career #SWECareer #CareerTips #Dasturlash #Programming #SoftwareEngineering #IT
🔥36👍20❤3🐳1
Dasturchi sifatida o’sishning 10ta printsipi:
1. CEO kabi fikrlang
2. To’siqlarga rozi bo’lmang
3. Tashabbus ko’rsating
4. Yaxshi yozishni o’rganing
5. O'z ishingizni boshqaring
6. O’z o’qishingizni boshqaring
7. Qurollaringizni chuqur biling
8. Faol aloqada bo'ling
9. Collaboration qilishni o'rganing
10. Professional va ishonchli bo'ling

Bir choynak choyni damlab olib obdon o’qib chiqsa bo’ladigan post seriyalari bo’ldi. Umid qilaman hamma o’zi uchun nimadir o’rgandi.

[Inspired by Dan Heller]

#Karyera #Career #SWECareer #CareerTips #Dasturlash #Programming #SoftwareEngineering #IT
👍85🔥21❤11🐳2👨‍💻2
#storytime

Ofisda abed qilib o’tirgandik, tepadagi mevani yeb o’tirgandim (Passion Fruit). Bir hamkasb gap boshlab qoldi:

— Vohid, senga yoqadimi shu meva? G’alatiku.
— Ha, juda yoqadi. To’g’ri g’alati narsa.
— Men ham shu mevadan ko’proq yeyishim kerak, oyam aytayotudilar, foydali ekan.
— Rostan-a? Qanday foydasi bor ekan?
— Bilmadim, qayerdandir o’qibdilar. Kimdur jo’natgan bo’lsa kerak.
— Hahaha, oyalar hamma yerdi bir xil ekanda 🤣

Mayli men ketdim, qo’y yog’i bilan isiriq obkelishim kerak bozordan…
🤣153👍12🔥3❤2
Vohid Karimov
Google mana Toshkentda ham vanihoyat ofisini ochdi 🙃
Behazil… Google va boshqa tech gigantlar qachon O’zbekistonga keladi?

Shu mavzu bo’yicha Darhonbek bilan gaplashib qolgandik. Darhonbek bu haqida Uberdan so’rab ko’rgan ekan va aytishlaricha yangi davlat/shaharda engineering ofis ochishi uchun quyidagi talablarni qondirishi kerak ekan:

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 🚀
👍84🔥14❤1😁1🕊1
Biz dasturchilar oddiy odamlarmiz. Bizga bitta yaxshi futbolka berishsa o’shani yertilib tushgunicha reklama qilib kiyib yuramiz 😁

Yaqinda Munira Begmuratova boshchiligida Amirsoyda Toptal meetup qildik va mazza qilib Toptal xisobidan chang’i uchib keldik. Toptalda ishlamaganimga 3 yil bo’ldi, lekin haliham Toptal a’zosiman va ko’rib turganingizdek bundan 100% foydalanyapman 😉
👍82😁19🔥7❤2
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.
👍68😁13❤3🔥2😨2
This media is not supported in your browser
VIEW IN TELEGRAM
Happy Bobur’s day ❤️🎉

Kelilar bir mini game o’ynaymiz 🙂

Linkni desktop browserda oching.
😁54👍17🤣7🤨6❤5😢4🤡3👎1
Dam olishni bilmaysimi?

Afsuski oramizda ko’pchilik to’g’ri dam olishni bilmaydi. Ishdan uyga qaytsakda miyamiz ofisda qolib ketadi. Dam olish kunlari kompyuterimizni bir ovga 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 🫡
😁75👍24🫡6🔥5❤4👎1👏1
Ertalab ofisga kelsam kiraverishga test moshinalarimizdan ikkitasini ko'rgazmaga qo'yib qo'yishibdi.

Keyin surishtirsam ofisda Project Fair bo'layotgan ekan va Android Auto ham qatnashayotgan ekan. Ko'rib xursand bo'ldim 🥲

Keyingi safar Renault yoki Polestar moshinalarini ko'rsangiz o'ylang: shu moshinada Vohid yozgan kodlar ishlab turibdi 😎
🔥103👍28😁27❤8😢2
Media is too big
VIEW IN TELEGRAM
Google Summer of Code (GSoC), celebrating its 20th year, will begin accepting contributor applications on March 18, 2024. The global, online program is designed to engage contributors with open source software communities. GSoC is now open to students and to beginners in open source software development, including early career developers that are 18 years and older.

Participants are paired with a mentor to help introduce them to an open source community and guide them with their project. GSoC gives contributors invaluable real world experience and an opportunity to receive a stipend to contribute to open source software.

The earlier folks reach out to orgs and start chatting with them, the better their chances of getting accepted into the program.

Contributor application window: March 18 - April 2, 2024
🔥26👍6⚡1
Telegramda postlar yozishning bir yomon tarafi bu uni tashqi dunyoga yopiqligida. Men yozayotgan kontentni search enginelar index qilmaydi. Yani, “Vohid Karimov qanday qilib postlar seriyasi” deb google qilsangiz bu link chiqmaydi.

Shuning uchun bu yerdagi postlarimni vovopap.com shaxsiy vebsaytimga qo’yib boraman. Afsuski, bu ishni qilgani vaqtim bo’lmayapti va 6-12 oydan beri postlar yeg’ilib qolgan. Orangizdan yordam bera oladiganlar bo’lsa iltimos @talk2vovopap’ga yozing. Git/GitHub bilishingiz yetarli.

Sizdan ugina mendan bugina — kelishamiz :)

Update: yetarlicha odam yozdi, raxmat 🙂
👍93🔥10❤6👌2
... software engineers at Google address 7.5% of all reviewer comments by applying an ML-suggested edit. The impact of this will be to reduce the time spent on code reviews by hundreds of thousands of engineer hours annually at Google scale.

Googlening ichki code review tooli Critique deb ataladi. Yaqinda shu toolga ML-suggested edit funksiyasini qo'shishdi. Natijada code review uchun ketadigan vaqt ancha tejalyapti.

Funksional quyidagicha ishlaydi:
1. Pull request (PR) muallifi o'zgarishlarni reviewerga jo'natadi.
2. Reviewer komment yozayotganda ML shu kommentga mos kod o'zgarishlarni taklif qiladi (tepadagi rasm).
4. Reviewer ML bergan taklifni “attach” qilib muallifga qaytarib junatadi.
3. Agar berilgan taklif to'g'ri kelsa muallif uni PRga qabul qiladi (one click).

Batafsil: Resolving Code Review Comments with Machine Learning

P.s. Aslida Googleda PR termini ishlatilmaydi, o’rniga changelist (CL) deymiz.
👍56
Bugun 2503 qator kod o'chirdim 🪓

Sizlar nima qildilar? 😁
🤯74👍13😁11🔥3😐3💅2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
👍81🫡18🔥13❤‍🔥9👨‍💻2🤝2❤1💋1
Rust dasturlash tilini o’rgandim 🦀

Yaqinda Rust dasturlash tilini o’rganish uchun Googleda 4 kunlik in-person trainingda qatnashdim. Training ikkita ninja Googler tomonidan tashkil qilindi — organized by Googlers for Googlers deyishadi.

O’rgatilgan materialni o’zi esa Googlening Android komandasi tomonidan tuzilgan bo’lib hamma uchun ochiq. Ha, siz ham undan foydalansangiz bo’ladi: Comprehensive Rust (shaxsan tavsiya qilaman).

Trainingni menga eng yoqqan tarafi bu offline bo’lgani. O’zimni universitet paytiga tushib qolgandek his qildim: sessiyalar malum bir vaqtda boshlanadi, tutorlar aniq bir programma bo’yicha o’qitadi, homework bor, orada tanafuzlar va butun kuningizni egallaydi. #wiut #bis #nostalgia

Hop… sizlar bilan bugun Rust haqidagi taassurotlarimni pastda ulashaman. Tandirdan qaynoq chiqyapti…
👍62🔥14😁1
Rust haqida taassurotlarim (part 1):

Language features. Rust yangi til bo'lgani uchun u ko'p modern konseptlarini allaqachon o'z ichiga oladi: generics, optionals, lambdas, async, va hkz. Fikrimcha, bu tilni ancha kuchli qiladi.

Compiler. Compiler ancha aqlli va foydali. Qilgan xatolaringizni tushinarli formatda ko’rsatib beradi. Qo’shimchasiga, “shuni nazarda tutdingmi” kommentlari ko’p xolatda to’g’ri chiqadi.

Syntax. Rust bezbetlarcha boshqa dasturlash tillaridan (Python, Go, Kotlin, vhz) syntax “o’g’illagan” va shuning uchun ham ancha ko’zimga tanish/toza ko’ridni. Syntax yoqdi.

Pattern matching. Rustning match operatori oldida Javaning switch operatori o’yinchoqdek ko’rindi. Rustning match operatori nafaqat enum balki hamma data structurelar bilan ishlay oladi va juda serqirra.

Error handling. Error handling uchun Rust men bilgan boshqa tillardan o’zgacha yo’l tutgan. Exception bilan ishlashni o’rniga, Rust oddiy Result<T, E> enum ishlatadi — metodlar yoki Result.Ok(T) yoki Result.Err(E) qaytaradi. Bilmadim bu qanchalik yaxshi yondashuv.
👍35⚡11🔥2😁2❤1
Rust haqida taassurotlarim (part 2):

Inheritance. Rustda inheritance yo’q. O’rniga trait va structlar orqali qandaydir natijaga erishsa bo’ladi. Bu qanchalik ishlashini tushunishim uchun Rustni chuqurroq o’rganib real proyektlarda ishlatishim kerak bo’ladi.

Memory safety. Bu mavzu bo’yicha ozgina research qildim — biz bilgan ko’p tillar ham memory safe ekan (Python, Java, JavaScript, C#, Go, Dart, va hkz). Allaqachon memory safe til bilishimni hozirgacha bilmas ekanman — love you, java!

Xop, unda nega Rustni hamma osmonga otyapti? Sababi Rust memory safety'ni compile timeda xal qilib runtimeni tezlashtirgan. Agar uncha tushunmagan bo’lsangiz, hech qisi yo’q, memory safety haqida alohida post yozishga harakat qilaman.

Low level. Rust mening asosiy Java tilimdan “pastroqda” turgani va C/C++ bilimim yo’qligi tufayli xotirani boshqarishga oid ko’p terminlar menga yangi bo’ldi (borrowing, moving, mutable references, exclusive references, va hkz).

Umuman olib aytganda menga Rust yoqdi va umid qilaman kelajakda Rust bilan ko'proq ishlayman 🙂
👍46🔥10😁5