Muhammadjon's


Channel's geo and language: not specified, not specified
Category: not specified


Dasturchilik | Google | Kanadadagi hayot | Kuzatuvlar | Shaxsiy fikrlar
Google haqidagi barcha fikrlar – shaxsiy, Google'ning nomidan emas.

Related channels  |  Similar channels

Channel's geo and language
not specified, not specified
Category
not specified
Statistics
Posts filter


Google'dagi ish jarayonlari haqida ma'lumot berishni niyat qilib, "Google'da ..." deb nomlangan postlar seriyasini boshlagan edim. Hozircha yetarlicha bo'ldi, deb o'ylayman.

Quyida barcha postlarga havolalar:

Google'da...
1. ... kodlarni tekshirish
2. ... Version Control System
3. ... kodlarni test qilish
4. ... kodlarni qidirish
5. ... dokumentatsiya
6. ... kod yozish standardlari
7. ... savollarga javob topish
8. ... bilim ulashish

Yana biror sizga mavzu qiziq bo'lsa, kommentda qoldiring. Ular haqida ham keyinchalik ma'lumot berishga harakat qilaman.

@muhammadjohns


Google'da bilim ulashish

Googler'lar orasida ajoyib odat bor: ko'pchilik o'z bilganlarini / o'rganganlarini boshqalar bilan baham ko'radi.

Bilim ulashishning qanday yo'llari bor?

Jamoaviy prezentatsiyalar. Eng ko'p tarqalgan usullardan biri haftada bir marta 30-60 daqiqa davomida kimdir o'z jamoasiga oldindan bilgan yoki yangi o'rgangan bilimlarini prezentatsiya orqali tushuntirib beradi. Bizning jamoada bu odatda proyektga oid bo'lgan mavzular haqida bo'ladi: jamoaning bir azosi o'zi tugatgan "feature"ni qanday qilgani, nimalarni o'rgangani haqida boshqalarga aytib beradi. Buning foydasi – jamoaning qolgan a'zolari ham bu haqida ko'nikmaga ega bo'lishadi.

Tex-suhbatlar. Bunda siz faqat jamoangiz uchun emas balki boshqa jamoalar uchun ham biror mavzu haqida gapirib berasiz. Odatda bular yangi texnologiyalar haqida bo'lib, bunday suhbatlar prezentatsiya ko'rinishida va unchalik chuqurlashmagan holda bo'ladi.

Darslar. Agar siz biror mavzuni chuqurlashgan holda tushuntirmoqchi bo'lsangiz, unda boshqalar bilan interaktiv tarzda dars ko'rinishida o'tkazasiz. Darslar ko'pincha murakkabroq va muhimroq mavzular uchun.

Kodlablar. Bilim ulashish har doim ham onlayn tarzda bo'lmaydi. Biror texnologiya, mavzu, API ni boshqalarga yaxshiroq o'rgatish maqsadida ba'zi odamlar shunga oid kichikroq kodlab tayyorlab qo'yishadi.

Yangiliklar (Newsletters). Google'da kompaniya bo'ylab bir necha xil yangiliklar ulashib boriladi. Ular ichidan eng ajoyiblaridan ikkitasi:
• "Testing on the Toilet" – testlarni to'g'ri yozish bo'yicha ko'rsatmalar.
• "Learning on the Loo" – har qanday mavzudagi qiziqarli ma'lumotlar va yo'l-yo'riqlar.
Google'da siz hojatxonada ham nimadir o'rganasiz :)

Dokumentatsiya. Bu haqida batafsil ushbu postda o'qishingiz mumkin.

Kodlar. Albatta, kodlar ham bilim ulashish yo'llaridan biri.

@muhammadjohns


Forward from: UzIntern
Как попасть на работу в Google и какие знания и навыки для этого нужны - поговорили об этом с Мухаммаджоном Тошпулатовым - Software Engineer, Google, Canada.

Полезные ссылки: https://t.me/muhammadjohns
___

Qanday qilib Google ga ishga kirish mumkinligi va bu uchun qanday malaka va ko'nikmalar zarur ekanligi to'g'risida Muhammadjon Toshpulatov bilan suhbat qurdik - Software Engineer, Google, Canada.

Foydali havolalar: https://t.me/muhammadjohns


Google'da savollarga javob topish

Google'da ishlash davomida har kuni o'nlab savollar tug'iladi. Xoh u texnik savol bo'lsin, xoh boshqasi. Savollarga har doim ham Google qidiruv tizimi orqali javob topib bo'lmaydi. Shunday vaziyatlarda googler'lar nima qiladi?

1. Moma. Google ishchilari uchun ichki qidiruv tizimi bor, lekin u "Google" emas, "Moma" deb ataladi (bu nom qayerdan kelib chiqqani, nima ma'noni anglatishi Google ishchilari ichida ham ancha bahsli mavzu. Bu haqida keyinroq alohida yozishga harakat qilaman).

Moma xuddi Google qidiruv tizimiga o'xshaydi, faqat u yordamida kompaniyaning ichki ma'lumotlaridan qidiruvni amalga oshiriladi.

2. Biror odamdan so'rash. Moma orqali javob topilmasa, eng oddiy usullardan biri – shu savolga javobni bilishi mumkin bo'lgan odamdan so'rash (ko'pincha chat orqali). Aksariyat dasturchilar no-helloga amal qilishadi, shuning uchun salom-alikni chetga surib, savolni so'rab qo'ya qolish kerak.

3. Guruhlardan so'rash. Agar savolga kim javob bilishi mumkinligini bilmasangiz, savolga javobni bilishi mumkin bo'lgan jamoalarga yozasiz. Masalan, menda Jetpack Composedagi biror API bo'yicha savol bor. Men Jetpack Compose jamoasining guruh chatiga yoki email adresiga savolimni yuboraman. Buning zo'r tomoni – savolga aynan o'sha API ni yozgan odamlar javob berishi mumkin.

4. YAQS. Google'ning StackOverflow ga o'xshash ichki platformasi ham bor bo'lib, u YAQS ("Yet Another Question System") deb ataladi. U yerda nafaqat dasturchilikka oid, balki boshqa mavzulardagi har qanday savolni so'rasa bo'ladi. Odatda savollar to'g'ri odamlarga yetib borishi uchun "tag" lardan foydalaniladi. Masalan, "wear-os" tagini belgilab savol bersam, Wear OS komandasidagilar javob berishadi.

Yuqoridagi usullardan foydalanib, deyarli har doim savolga javob topsa bo'ladi. Muhimi — savolni to'g'ri so'ray olish va javobni to'g'ri joydan qidirish.

@muhammadjohns

754 0 5 10 17

Google'da kod yozish standartlari

Google'da kod yozish uchun belgilab qo'yilgan standartlar bor:
● "Class/function/variable"larni qanday nomlash
● "Package" strukturasi qanday bo'lishi kerakligi
● Kommentlarni qanday yozish va hokazolar uchun ma'lum qoidalar va tavsiyalar mavjud.

Bunday standartlar nega kerak?

Har bir dasturchining o'z kod yozish uslubi bo'ladi. Bir necha o'ng minglab dasturchilari bor kompaniyada hamma o'z xohlaganicha kod yozishi keyinchalik kodlarning tushunarsiz yoki murakkab bo'lishiga olib kelishi mumkin. Masalan, kimdir o'zgaruvchilarning nomini faqat qisqartirilgan so'zlar bilan (m, src) yozishni ma'qul ko'radi. Boshqa dasturchi bo'lsa, uzunroq (userList, dataSource) nomlarni ishlatadi. Agar shu 2 ta odam bitta faylga o'zi bilganicha kod yozsa, uni o'qiydigan uchinchi odamga kodni tushunish qiyin bo'ladi. Shunga o'xshagan sabablar tufayli Google'da standartlar belgilab qo'yilgan. Ularni "style guide" (uslubiy qo'llanma) deb ataladi.

Har bir dasturlash tili uchun alohida qo'llanmalar bor. Ularni asosan 3 ta turga ajratsa bo'ladi:
1. Xatoliklar va murakkabliklarni oldini olish uchun belgilangan qoidalar. Masalan, "static variable" lardan foydalanish uchun ruxsat berilgan holatlar bor. Qolgan hollarda ulardan foydalanmaslik kerak.
2. Yaxshi usulda kod yozish ("best practices") ni targ'ib qiladigan qoidalar. Masalan, Java'da argumentlarning nomlarini kommentda yozib ketish yaxshi amaliyot hisoblanadi.
Ushbu kod
getUserSettings(/* userId= */ 232454, /* extended= */ false)
quyidagi koddan yaxshiroq:
getUserSettings(232454, false)
3. Kodlar bir xilda bo'lishini ta'minlaydigan qoidalar. Masalan, Google'da "indentation" uchun 2 ta "space" ishlatish kerak.

Bunday standartlarning ba'zilari majburiy, ba'zilari ixtiyoriy (lekin qat'iy tavsiya qilinishi mumkin) bo'ladi.

Qoidalarni hammasini eslab qolish qiyin-ku?!

Avvalo, biror tilda birinchi marta kod yozishdan oldin, o'sha til uchun "style guide"ni o'qib chiqish kerak. To'g'ri, yuzlab qoidalarni eslab qolish qiyin. Shu sababli ba'zi bir yordamlar bor:
● Agar esingizdan chiqib, kodning biror joyida standartga amal qilmagan bo'lsangiz, kodni tekshiruvchilar sizga buni eslatib qo'yishlari mumkin.
● Kodni topshirishdan oldin avtomatlashtirilgan tizimlar ("Error checkers") koddagi ko'p kamchiliklarni aniqlab bera oladi.
● IDE larda odatda kodni format qilib beradigan Google'ning plagini ("Code formatter") o'rnatilgan bo'ladi. U kodni to'g'ri formatga keltirib beradi.

Bir qarashda, bunday standartlar va qoidalar kod yozish jarayonini qiyinlashtiradigandek tuyuladi. Aslida unday emas. Boshida 1-2 hafta qiyinroq bo'lishi mumkin xolos. Lekin kelajakda bundan barchaga keladigan foyda – juda katta.

@muhammadjohns


Har kim xohlagancha o'z hissasini qo'shib shu mozaika jumboqni tugatsa, ofis devoriga osib qo'yilar ekan. Kecha qaraganimda ~70% tugallangan edi, bugun to'liq tugatilibdi.

"Open Source Project" nima, deb so'raganlarga shuni ko'rsataverasiz😄

@muhammadjohns


(Davomi)

Kanadada kutubxona faqatgina kitob o'qiydigan joy emas. U yerda to'garaklar, tabdirlar, klublar tashkillashtiriladi.

Bundan tashqari, kutubxonada kompyuter, internet, printer, 3D-printer, kino va musiqa asboblari mavjud.

Kutubxonadagi bolalar uchun ajratilgan bo'lim mening e'tiborimni tortdi. U yerda o'yin(choq)lar, bolalar kitoblari bor. Bolalar uchun maxsus tadbirlar uyushtiriladi. Masalan, kecha borganimizda "Teddy Bear Clinic" dasturi bo'layotgan ekan. Unda 3-9 yoshli bolalarga shifoxona va doktorlar haqidagi ma'lumotlarni qiziqarli yo'l bilan o'rgatisharkan (balki doktorlardan qo'rqmasliklari uchundir).

Yaxshi tomoni – yuqoridagilarning barchasi bepul.

Kitchenerda bunday kutubxonalar 5 ta. Hammasi bitta tizimiga qarashli bo'lib, ularning bazasi bitta. Ya'ni sizga kerakli bo'lgan kitob boshqa filialda bo'lsa va unga buyurtma bersangiz, siz xohlagan filialga yetkazib berishadi.

Hozirda Kanada bo'ylab 642 ta shunday kutubxonalar tizimi va 3350 ta kutubxonalar bor.

@muhammadjohns



8 last posts shown.

524

subscribers
Channel statistics