Bugun mening Googleversaryim! 🥳
Googleversaryim mening bugun! 🥳
Mening Googleversaryim bugun! 🥳
Googleda 1 yil ichida quyidagilarni o'rgandim:
— Android va Android Auto ecosystem bilan ancha tanishdim
— Moshinalar uchun software development qanday bo'lishini o'rgandim
— Google juda katta kompaniya ekanligini ko'zim bilan ko'rdim
— Individual Contributor (IC) aslida nima ekanligini tushunib yettim
— Design doc yozishni ancha o'rgandim
— Frisbee o'ynashni o'rgandim
— Har qanday kompaniya bu biznes, kerak bo'lsa ishga olishini, kerak bo'lmasa haydashini o'rgandim (oldin ham bilardim, yana amin bo'ldim)
Davom etamiz!
#Google #Googler #FAANG #Dasturlash #Programming #SoftwareEngineering #IT
Googleversaryim mening bugun! 🥳
Mening Googleversaryim bugun! 🥳
Googleda 1 yil ichida quyidagilarni o'rgandim:
— Android va Android Auto ecosystem bilan ancha tanishdim
— Moshinalar uchun software development qanday bo'lishini o'rgandim
— Google juda katta kompaniya ekanligini ko'zim bilan ko'rdim
— Individual Contributor (IC) aslida nima ekanligini tushunib yettim
— Design doc yozishni ancha o'rgandim
— Frisbee o'ynashni o'rgandim
— Har qanday kompaniya bu biznes, kerak bo'lsa ishga olishini, kerak bo'lmasa haydashini o'rgandim (oldin ham bilardim, yana amin bo'ldim)
Davom etamiz!
#Google #Googler #FAANG #Dasturlash #Programming #SoftwareEngineering #IT
👏83👍31🎉12❤6🍾6🔥3🐳3😢2
Universitetda o’qish kerakmi?
Yohud, networking.
Qisqa javob: Ha (iloji bo’lsa).
Westminsterni Business Information Systems fakulteti men uchun yetarli emasligini 1chi kursda tushunib yetganman. Meni notug’ri tushunmang. Menga BIS juda yoqgan va shubhasiz abutirentlarga tavsiya qilaman. Westminsterda fakultetlar sizga hamma kerakli Software Engineering bilimlarni berish uchun design qilinmagan.
Shu sababli 2- va 3-kursda universitetga juda kam borar edim. Faqat imhixonlarga va muhim leksiyalarga kelardim. 90% kursdoshlarim meni borligimni ham bilishmasdi.
Hop, unda universitetda o’qishni nima keragi bor? Nima keragi bor millionlar to’lashni agar ular yetarlicha bilim bermasa?
#Karyera #Career #SWECareer #CareerTips #Dasturlash #Programming #SoftwareEngineering #IT
Yohud, networking.
Qisqa javob: Ha (iloji bo’lsa).
Westminsterni Business Information Systems fakulteti men uchun yetarli emasligini 1chi kursda tushunib yetganman. Meni notug’ri tushunmang. Menga BIS juda yoqgan va shubhasiz abutirentlarga tavsiya qilaman. Westminsterda fakultetlar sizga hamma kerakli Software Engineering bilimlarni berish uchun design qilinmagan.
Shu sababli 2- va 3-kursda universitetga juda kam borar edim. Faqat imhixonlarga va muhim leksiyalarga kelardim. 90% kursdoshlarim meni borligimni ham bilishmasdi.
Hop, unda universitetda o’qishni nima keragi bor? Nima keragi bor millionlar to’lashni agar ular yetarlicha bilim bermasa?
#Karyera #Career #SWECareer #CareerTips #Dasturlash #Programming #SoftwareEngineering #IT
👍26😁9
Javob: Networking.
Eng kuchli networklar universitet davomida quriladi. 4 yil bitta campusda, bitta kafeteriyada, bitta kutib xonada, bir xil kursavoylar, va bir xil muammolar ostida hattoki ikkita dushmanlar ham yaqin do’st bo’lib ketishadi. Konferensiyalarga borib yoki LinkedIn orqali networking qilishingiz mumkin, lekin ular universitetdagi kursdoshlarizdaqa yaqin bo’lmaydi.
Universitetdan keyin shu kursdoshlar sizga ish topishda va karyerangizdagi boshqa muammolarni hal qilishda katta rol o’ynashadi. Balki, ulardan biri siz bilan keyingi milliard dollarlik startupni qurishda co-founder bo’lar.
Nafaqat kursdoshlaringiz, balki o’qituvchilar va professorlar ham yaxshi networklar bo’lishadi. Agar keyinchalik niyatingiz Master’s yoki PhD qilish bo’lsa, bu odamlar siz uchun yanada muxim xisoblanadi. Yana, bazi o’qtivuchilar va professorlar akademiyadan tashqari qayerdadir ishlashadi va keyinchalik sizga ish topishda katta yordam bo’lishi mumkin.
#Career #SWE #Tips #Dasturlash #Programming #Networking #IT
Eng kuchli networklar universitet davomida quriladi. 4 yil bitta campusda, bitta kafeteriyada, bitta kutib xonada, bir xil kursavoylar, va bir xil muammolar ostida hattoki ikkita dushmanlar ham yaqin do’st bo’lib ketishadi. Konferensiyalarga borib yoki LinkedIn orqali networking qilishingiz mumkin, lekin ular universitetdagi kursdoshlarizdaqa yaqin bo’lmaydi.
Universitetdan keyin shu kursdoshlar sizga ish topishda va karyerangizdagi boshqa muammolarni hal qilishda katta rol o’ynashadi. Balki, ulardan biri siz bilan keyingi milliard dollarlik startupni qurishda co-founder bo’lar.
Nafaqat kursdoshlaringiz, balki o’qituvchilar va professorlar ham yaxshi networklar bo’lishadi. Agar keyinchalik niyatingiz Master’s yoki PhD qilish bo’lsa, bu odamlar siz uchun yanada muxim xisoblanadi. Yana, bazi o’qtivuchilar va professorlar akademiyadan tashqari qayerdadir ishlashadi va keyinchalik sizga ish topishda katta yordam bo’lishi mumkin.
#Career #SWE #Tips #Dasturlash #Programming #Networking #IT
👍37🐳6
Diplom kerakmi?
Qisqa javob: Chet elda magistratura yoki karyera qilmoqchi bo’lsangiz diplom kerak bo’ladi.
Ko’pchilik diplom kerak emas, o’qishdan keyin hech kim so’ramaydi, changib yotadi deyishadi. Bular hammasi qisman to’g’ri lekin practical tarafdan qaraganda bakalavr diplomi karyerangiz davomida kerak bo’lishi extimoli kattagina.
O’zimdan gapiradigan bo’lsam, diplomim menga kamida 3 marta kerak bo’lgan: magistratura uchun, Gollandiyaga visa olish uchun, va Germaniyaga visa olish uchun. Etibor bering “visa” olish uchun, job offer olish uchun emas. Ko’p Yevropa davlatlari ishchi visasi uchun bakalvr diplomi so’rashadi.
#Karyera #Career #SWECareer #CareerTips #Dasturlash #Programming #SoftwareEngineering #IT
Qisqa javob: Chet elda magistratura yoki karyera qilmoqchi bo’lsangiz diplom kerak bo’ladi.
Ko’pchilik diplom kerak emas, o’qishdan keyin hech kim so’ramaydi, changib yotadi deyishadi. Bular hammasi qisman to’g’ri lekin practical tarafdan qaraganda bakalavr diplomi karyerangiz davomida kerak bo’lishi extimoli kattagina.
O’zimdan gapiradigan bo’lsam, diplomim menga kamida 3 marta kerak bo’lgan: magistratura uchun, Gollandiyaga visa olish uchun, va Germaniyaga visa olish uchun. Etibor bering “visa” olish uchun, job offer olish uchun emas. Ko’p Yevropa davlatlari ishchi visasi uchun bakalvr diplomi so’rashadi.
#Karyera #Career #SWECareer #CareerTips #Dasturlash #Programming #SoftwareEngineering #IT
👍31🤔3❤1
3chi kursni boshida shuni anglab yetib universitetga ko’proq boradigan bo’ldim. 4chi kursni ohirigacha hamma bilan yaqindan tanishib va hattoki 4-5ta kursdoshlar bilan yaqin o’rtoq ham bo’lib oldik.
#Karyera #Career #SWECareer #CareerTips #Dasturlash #Programming #SoftwareEngineering #IT
#Karyera #Career #SWECareer #CareerTips #Dasturlash #Programming #SoftwareEngineering #IT
👍31😁6🔥5
Ikkinchi jahon urushida, olimlar urushdan qaytgan jangovor samolotlarni o’rganib chiqib samolyotni qaysi joylarini zirhlash kerakligini aniqlashmoqchi bo’lishibdi.
Tabiiyki, ko’pchilik olimlar ko’p o’q tekgan samolyot qismlarini zirhlashni to’gri deb bilishibdi. Lekin, Abraham Wald ismli bir tadqiqotchi bunga qaramaqarshi, yani o’q kam tekgan joylarni yanada zirhlash kerak degan fikr bergan ekan. Chunki urushdan qaytmagan samolyotlar o'sha joylariga zarba olib qulashgan va qaytishmagan.
IT proyektlar ham shunga o’xshab ketadi. Proyektdagi odatda eng yomon/sifatsiz componentlar qaysilar bo'ladi? Juda ko’p bug/issue ticketlar tushgan componentlar desangiz adashasiz. Aslida, eng zaif/sifatsizlari bu umuman yoki juda kam bug report tushadiganlari. Chunki ularni juda kamchilik ishlatadi va uncha muhim emas.
#Coding #ComputerScience #CS #ProblemSolving #Dasturlash #Programming #SoftwareEngineering #IT
Tabiiyki, ko’pchilik olimlar ko’p o’q tekgan samolyot qismlarini zirhlashni to’gri deb bilishibdi. Lekin, Abraham Wald ismli bir tadqiqotchi bunga qaramaqarshi, yani o’q kam tekgan joylarni yanada zirhlash kerak degan fikr bergan ekan. Chunki urushdan qaytmagan samolyotlar o'sha joylariga zarba olib qulashgan va qaytishmagan.
IT proyektlar ham shunga o’xshab ketadi. Proyektdagi odatda eng yomon/sifatsiz componentlar qaysilar bo'ladi? Juda ko’p bug/issue ticketlar tushgan componentlar desangiz adashasiz. Aslida, eng zaif/sifatsizlari bu umuman yoki juda kam bug report tushadiganlari. Chunki ularni juda kamchilik ishlatadi va uncha muhim emas.
#Coding #ComputerScience #CS #ProblemSolving #Dasturlash #Programming #SoftwareEngineering #IT
👍90🔥29⚡3
Change your organization or change your organization (© Martin Fowler)
Agar ishlayotgan kompaniyangiz sizni qoniqtirmayotgan bo'lsa sizda har doim 2ta yo'l bor:
1. Kompaniyani o'zgartirish.
2. Kompaniyani o'zgartirish.
1. Kompaniyani o'zgartirish. Bu yerda kompaniyadagi sizga yoqmaydigan narsalarni o'zgartirish haqida gap keytapti. Masalan, sizga meetinglar ko'pligi, TDD yo'qligi, yoki coding best practicelarga amal qilinmasligi yoqmasa, siz shu mavzularni komandada ko'tarsangiz bo'ladi.
Initsiativa ko'rsatib siz xoxlagan o'sha o'zgarishlarga boshchilik qilsangiz bo'ladi. Bu sizdan ko'p ish talab qiladi, lekin shubhasiz sizni karyerangizni o'stiradi. Shu mavzu bo'yicha bir qizir article: Change your organization.
2. Kompaniyani o'zgartiring. Agar tepadagi ishni qilishni xoxlamasangiz yoki o'zgartirishni iloji bo'lmagan bo'lsa, siz boshqa kompaniyaga o'tganingiz maqul.
#Coding #ComputerScience #CS #ProblemSolving #Dasturlash #Programming #SoftwareEngineering #IT
Agar ishlayotgan kompaniyangiz sizni qoniqtirmayotgan bo'lsa sizda har doim 2ta yo'l bor:
1. Kompaniyani o'zgartirish.
2. Kompaniyani o'zgartirish.
1. Kompaniyani o'zgartirish. Bu yerda kompaniyadagi sizga yoqmaydigan narsalarni o'zgartirish haqida gap keytapti. Masalan, sizga meetinglar ko'pligi, TDD yo'qligi, yoki coding best practicelarga amal qilinmasligi yoqmasa, siz shu mavzularni komandada ko'tarsangiz bo'ladi.
Initsiativa ko'rsatib siz xoxlagan o'sha o'zgarishlarga boshchilik qilsangiz bo'ladi. Bu sizdan ko'p ish talab qiladi, lekin shubhasiz sizni karyerangizni o'stiradi. Shu mavzu bo'yicha bir qizir article: Change your organization.
2. Kompaniyani o'zgartiring. Agar tepadagi ishni qilishni xoxlamasangiz yoki o'zgartirishni iloji bo'lmagan bo'lsa, siz boshqa kompaniyaga o'tganingiz maqul.
#Coding #ComputerScience #CS #ProblemSolving #Dasturlash #Programming #SoftwareEngineering #IT
👍58😁13🐳6🔥1🥴1
Men: Svet o'chmayaptimi?
Dadam va oyam: Haa yo'q, uncha o'chmay qoldi. Pachti o'chmayapti ham.
Telegram: Reconnecting...
Dadam va oyam: Haa yo'q, uncha o'chmay qoldi. Pachti o'chmayapti ham.
Telegram: Reconnecting...
😁82🐳19😢18👍6🥱2
Hammaga hayrli tun 🥱
#Coding #ComputerScience #CS #ProblemSolving #Dasturlash #Programming #SoftwareEngineering #IT #Memes #ProgrammingMemes
#Coding #ComputerScience #CS #ProblemSolving #Dasturlash #Programming #SoftwareEngineering #IT #Memes #ProgrammingMemes
😁61🤣29💋3👍1
ChatGPT vs Bard
Google kecha uzini yangi chat AI proyektini Trusted Testerlarga taqdim etdi. Bu proyektni ismi Bard bo'lib u ChatGPTga to'gridan-tog'ri raqib servis xisoblanadi. Bard tez orada, ChatGPT kabi, ommaga ochiladi.
Let the battle begin!
https://blog.google/technology/ai/bard-google-ai-search-updates/
#Coding #ComputerScience #CS #ProblemSolving #Dasturlash #Programming #SoftwareEngineering #IT
Google kecha uzini yangi chat AI proyektini Trusted Testerlarga taqdim etdi. Bu proyektni ismi Bard bo'lib u ChatGPTga to'gridan-tog'ri raqib servis xisoblanadi. Bard tez orada, ChatGPT kabi, ommaga ochiladi.
Let the battle begin!
https://blog.google/technology/ai/bard-google-ai-search-updates/
#Coding #ComputerScience #CS #ProblemSolving #Dasturlash #Programming #SoftwareEngineering #IT
Google
An important next step on our AI journey
Introducing Bard (now Gemini), Google's conversational AI service — plus, new AI features in Search.
🔥53😁8👍3🐳2
Menga Math va Computer Science har doim yoqgan. Ayniqsa calculus, linear algebra, discrete math, va probability mavzular juda qiziqarli 🙂
Afsuski O'zbekiston maktablarida matematika fani chuqur o'rgatilmaydi. Birinchidan, maktab matematika kitoblari "multfilm" bo'lib ketgan. Ikkinchidan, kuchli o'qituvchi va professorlar kam. Uchunchidan, yaxshi o'qituvchilar bo'lsa ham ularni yuragida matematika yonmaydi 💔
Oralaringdan ko'pchiliklaring matematikani qiyin deb bilsalaring kerak va shuning uchun yomon ko'rsalaring kerak. Aslida, matematika ancha osson va mazza fan. To'g'ri ustoz topsangiz bo'lgani 🧐 Eng qizig'i shunday ustozlarni online topsangiz ham bo'ladi 🙂
#Coding #ComputerScience #CS #ProblemSolving #Dasturlash #Programming #SoftwareEngineering #IT
Afsuski O'zbekiston maktablarida matematika fani chuqur o'rgatilmaydi. Birinchidan, maktab matematika kitoblari "multfilm" bo'lib ketgan. Ikkinchidan, kuchli o'qituvchi va professorlar kam. Uchunchidan, yaxshi o'qituvchilar bo'lsa ham ularni yuragida matematika yonmaydi 💔
Oralaringdan ko'pchiliklaring matematikani qiyin deb bilsalaring kerak va shuning uchun yomon ko'rsalaring kerak. Aslida, matematika ancha osson va mazza fan. To'g'ri ustoz topsangiz bo'lgani 🧐 Eng qizig'i shunday ustozlarni online topsangiz ham bo'ladi 🙂
#Coding #ComputerScience #CS #ProblemSolving #Dasturlash #Programming #SoftwareEngineering #IT
👍61👎6🔥2❤1🤔1
O'zim ham shunday maktablarni birida o'qiganim va universitetda ham toza Computer Science o'qimaganim tufayli ko'p Math va Computer Science bilimlarni o'zim online resurslardan o'rganaman. Bugun silar bilan o'zimga yoqqan resurslar bilan ulashaman. Kettik:
1. The essence of calculus: YouTube
2. Linear algebra: MIT Website
3. Discrete math: YouTube
4. Probability and combinatorics: Coursera
5. Introduction to Algorithms: MIT Website
6. Operating systems: Archive
7. Networking: Khan Academy Website
Yana, quyidagi YouTube kanallar va GitHub repolarni tavsiya qilaman:
1. 3Blue1Brown
2. Eddie Woo
3. Khan Academy
4. MIT OpenCourseWare
5. BrilliantOrg
6. Coding Interview University
7. Awesome courses
Siz ham o'zingizga yoqgan resurslarni ulashing!
#Coding #ComputerScience #CS #ProblemSolving #Dasturlash #Programming #SoftwareEngineering #IT
1. The essence of calculus: YouTube
2. Linear algebra: MIT Website
3. Discrete math: YouTube
4. Probability and combinatorics: Coursera
5. Introduction to Algorithms: MIT Website
6. Operating systems: Archive
7. Networking: Khan Academy Website
Yana, quyidagi YouTube kanallar va GitHub repolarni tavsiya qilaman:
1. 3Blue1Brown
2. Eddie Woo
3. Khan Academy
4. MIT OpenCourseWare
5. BrilliantOrg
6. Coding Interview University
7. Awesome courses
Siz ham o'zingizga yoqgan resurslarni ulashing!
#Coding #ComputerScience #CS #ProblemSolving #Dasturlash #Programming #SoftwareEngineering #IT
❤41👍36🐳5
Tepada bir qancha resurs tashlashga tashladimku, lekin ularni hammasi ingliz tilidada 🥲
Ingliz tilini qanchalik bilasiz?
Ingliz tilini qanchalik bilasiz?
Anonymous Poll
57%
Ha, yetarlicha bilaman
33%
Uncha emas, lekin inglizcha resurslarga tushunaman
10%
Deyarli bilmayman
🕊20👍11😢8👀3🔥2
Meeting etiuquette
yohud, I will give your 7 minutes back.
Komandamda har kuni ertalab “eng time” degan meetingimiz bo’ladi (standup yoki daily meeting bilan bir xil narsa). Boshida shu meetingda meni bir narsa juda xayratga solgan edi.
Bir kuni o’sha 30 minutlik meeting tez tugab 7 minut oldin ohirlab qoldi (kamchilik qo’shilgandi). Bunday xolatlarda managerlar bir narsalar deb meetingni cho’zadi yoki yaxshi manager bo’lsa “mayli bugun vahli tugatamiz” deydi.
Meni managerim esa “Okay, then I will give your 7 minutes back” degandi. Bu meni juda xayron qoldirgandi va managerimga xurmatim oshgandi. Nega?
“7 minutingni qaytib beraman” degani “aslida men seni 30 minut vaqtingni oldim” degani. Bu esa sizni vaqtingizni xurmat qilishi va vaqt ajratganizdan minnatdorligini bildiradi.
Lesson learned: Kollegangizni vaqtini xurmat qiling.
#Google #Googler #FAANG #Dasturlash #Programming #SoftwareEngineering #IT
yohud, I will give your 7 minutes back.
Komandamda har kuni ertalab “eng time” degan meetingimiz bo’ladi (standup yoki daily meeting bilan bir xil narsa). Boshida shu meetingda meni bir narsa juda xayratga solgan edi.
Bir kuni o’sha 30 minutlik meeting tez tugab 7 minut oldin ohirlab qoldi (kamchilik qo’shilgandi). Bunday xolatlarda managerlar bir narsalar deb meetingni cho’zadi yoki yaxshi manager bo’lsa “mayli bugun vahli tugatamiz” deydi.
Meni managerim esa “Okay, then I will give your 7 minutes back” degandi. Bu meni juda xayron qoldirgandi va managerimga xurmatim oshgandi. Nega?
“7 minutingni qaytib beraman” degani “aslida men seni 30 minut vaqtingni oldim” degani. Bu esa sizni vaqtingizni xurmat qilishi va vaqt ajratganizdan minnatdorligini bildiradi.
Lesson learned: Kollegangizni vaqtini xurmat qiling.
#Google #Googler #FAANG #Dasturlash #Programming #SoftwareEngineering #IT
👍52❤11👏4🔥1🐳1
Andrew aka kechagi postimni o'qibdilar shekili 😄
#Coding #ComputerScience #CS #ProblemSolving #Dasturlash #Programming #SoftwareEngineering #IT
#Coding #ComputerScience #CS #ProblemSolving #Dasturlash #Programming #SoftwareEngineering #IT
😁49👍5
Haloyiq, hammaga salom. Umid qilaman kunlaring yaxshi o'tyapti 🙂
Kelinglar bugun AMA qilamiz. Keyingi 1 soat ichida o'zingizga qiziq bo'lgan savolingizni so'rang. Men qo'ldan kelgancha javob beraman.
Kettik!
Update: Ehhe, 1 soat ko’p ekan. Keyingi safar yarim soat qilamiz 😅 Hammaga savollar uchun raxmat!
#Coding #ComputerScience #CS #ProblemSolving #Dasturlash #Programming #SoftwareEngineering #IT
Kelinglar bugun AMA qilamiz. Keyingi 1 soat ichida o'zingizga qiziq bo'lgan savolingizni so'rang. Men qo'ldan kelgancha javob beraman.
Kettik!
Update: Ehhe, 1 soat ko’p ekan. Keyingi safar yarim soat qilamiz 😅 Hammaga savollar uchun raxmat!
#Coding #ComputerScience #CS #ProblemSolving #Dasturlash #Programming #SoftwareEngineering #IT
🔥26👍9
Forwarded from Jakhongir Rakhmonov - IT
Dasturchilar qiladigan eng katta xatolardan biri
Yohud “Bu bo’lmaydi, boshidan yozish kerak”
Biz dasturchimiz. Dasturchilar esa yuraklarida arxitektorlar, quruvchilardir. Shuning uchun ham ular ishni boshlashganida hamma narsani buldozer bilan buzib tashlab buyuk narsa qurushmoqchi bo’lishadi. Bizga asta-sekinlik bilan bor narsani to’g’irlash, ta’mirlash ishlari unchalik ham yoqmaydi. Natijada ora-orada qilish mumkin bo’lgan eng yomon strategik xatoga yo’l qo’yamiz: Kodni noldan qayta yozishga qaror qilamiz.
Netscape Navigator degan browser bo’lgan oldin. Hamma faqat shu browserni ishlatardi. Negadir ular 5chi versiyasini boshqatdan yozishgan qaror qilishgan. 3 yil davomida ishlab turgan va birinchilikni egallab turgan mahsulotni boshidan yozishgan. Ular yozib tugatib bo’lgingacha Microsoft Internet Explorer degan browser yaratib yetakchilikni olib qo’ygan. Hozirgi kunda IE hali ham bor, lekin Netscapeni deyarli hech kim bilmaydi.
Nega unda dasturchilar bor kodni tashlab yuborib, boshidan yozishni hohlashadi? Chunki ular eski kodni sifati yaxshi emas deb o’ylashadi. Lekin bunday fikr katta ehtimol bilan xato. Buning asosiy sababi kodni yozishdan ko’ra o’qish qiyinligida, sifati pastligida emas.
Hohlagan dasturchingizdan u ishlayotgan kod haqida so’rang. Deyarli hammasi “juda ham yomon yozilgan, chalkash chulkash atala kod” degan gapning qaysidir variantini aytadi. Nega unday deb so’rasangiz, “Mana bu funksiyani qarang, 2 sahifaga cho’zilgan, noto’g’ri joyda turibdi. Mana bu jo’natilayotgan API requestlarning yarimi nimaga kerakligini umuman bilmayman” deydi.
Lekin bu juda ham noto’g’ri fikr. Eski kod ishlatilgan kod. U juda ko’p marta testdan o’tgan. Juda ham ko’p buglar topilgan va u buglar to’g’irlangan. Ha, tepada eslatib o’tilgan funksiya 2 sahifaga cho’zilib kattalashib ketgan, tushunarsiz qismlari bor. Nimagaligini aytaymi? Chunki bu funksiya buglar chiqqanda to’g’irlangan. Qaysidir qismi hotirada joy qolmaganda dastur to’g’ri ishlamay qolib qiynaganda to’g’irlangan, qaysidir qismi dastur eski kompyuterlarda to’g’ri ishlamaganda to’g’irlangan. Natijada funksiya kattalashib, har xil tushunarsiz kodlar bilan to’lib ketgan.
Lekin shu buglarning har biri haqiqiy foydalanuvchilar tomonidan topilgan. Ularning har birini to’g’irlash uchun dasturchilar 2 kun topishga sarflagan, yana 2 kun to’g’irlashga sarflagan.
Siz agar shu kodni tashlab yubormoqchi bo’lsangiz qiynalib topilgan bilimni tashlab yuborayotgan bo’lasiz. Yillab qilingan mehnatni tashlab yuborayotgan bo’lasiz. Yangi yozgan kodingizda ham shu buglar chiqmaydi deb kim garantiya bera oladi? Hech kim. Natijada yana yillar davomida yangi kodingiz ham zanglab boradi.
Yechim: sekin sekin kichik qismlarni to’g’irlash. Remont qilish. Buzib tashlab boshqatdan qurish emas.
Source: https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/
@jakhonrakhmonov
Yohud “Bu bo’lmaydi, boshidan yozish kerak”
Biz dasturchimiz. Dasturchilar esa yuraklarida arxitektorlar, quruvchilardir. Shuning uchun ham ular ishni boshlashganida hamma narsani buldozer bilan buzib tashlab buyuk narsa qurushmoqchi bo’lishadi. Bizga asta-sekinlik bilan bor narsani to’g’irlash, ta’mirlash ishlari unchalik ham yoqmaydi. Natijada ora-orada qilish mumkin bo’lgan eng yomon strategik xatoga yo’l qo’yamiz: Kodni noldan qayta yozishga qaror qilamiz.
Netscape Navigator degan browser bo’lgan oldin. Hamma faqat shu browserni ishlatardi. Negadir ular 5chi versiyasini boshqatdan yozishgan qaror qilishgan. 3 yil davomida ishlab turgan va birinchilikni egallab turgan mahsulotni boshidan yozishgan. Ular yozib tugatib bo’lgingacha Microsoft Internet Explorer degan browser yaratib yetakchilikni olib qo’ygan. Hozirgi kunda IE hali ham bor, lekin Netscapeni deyarli hech kim bilmaydi.
Nega unda dasturchilar bor kodni tashlab yuborib, boshidan yozishni hohlashadi? Chunki ular eski kodni sifati yaxshi emas deb o’ylashadi. Lekin bunday fikr katta ehtimol bilan xato. Buning asosiy sababi kodni yozishdan ko’ra o’qish qiyinligida, sifati pastligida emas.
Hohlagan dasturchingizdan u ishlayotgan kod haqida so’rang. Deyarli hammasi “juda ham yomon yozilgan, chalkash chulkash atala kod” degan gapning qaysidir variantini aytadi. Nega unday deb so’rasangiz, “Mana bu funksiyani qarang, 2 sahifaga cho’zilgan, noto’g’ri joyda turibdi. Mana bu jo’natilayotgan API requestlarning yarimi nimaga kerakligini umuman bilmayman” deydi.
Lekin bu juda ham noto’g’ri fikr. Eski kod ishlatilgan kod. U juda ko’p marta testdan o’tgan. Juda ham ko’p buglar topilgan va u buglar to’g’irlangan. Ha, tepada eslatib o’tilgan funksiya 2 sahifaga cho’zilib kattalashib ketgan, tushunarsiz qismlari bor. Nimagaligini aytaymi? Chunki bu funksiya buglar chiqqanda to’g’irlangan. Qaysidir qismi hotirada joy qolmaganda dastur to’g’ri ishlamay qolib qiynaganda to’g’irlangan, qaysidir qismi dastur eski kompyuterlarda to’g’ri ishlamaganda to’g’irlangan. Natijada funksiya kattalashib, har xil tushunarsiz kodlar bilan to’lib ketgan.
Lekin shu buglarning har biri haqiqiy foydalanuvchilar tomonidan topilgan. Ularning har birini to’g’irlash uchun dasturchilar 2 kun topishga sarflagan, yana 2 kun to’g’irlashga sarflagan.
Siz agar shu kodni tashlab yubormoqchi bo’lsangiz qiynalib topilgan bilimni tashlab yuborayotgan bo’lasiz. Yillab qilingan mehnatni tashlab yuborayotgan bo’lasiz. Yangi yozgan kodingizda ham shu buglar chiqmaydi deb kim garantiya bera oladi? Hech kim. Natijada yana yillar davomida yangi kodingiz ham zanglab boradi.
Yechim: sekin sekin kichik qismlarni to’g’irlash. Remont qilish. Buzib tashlab boshqatdan qurish emas.
Source: https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/
@jakhonrakhmonov
👍60🐳5👎3
15 kuncha oldin Googleni Sunnyvale California ofisida Uooglerlar (Uzbek Googler) bilan tushlik qilib bir g'ayrioddiy ish qildik. Ovqatdan oldin emas ovqatdan keyin rasmga tushdik.
Unpopular opinion: rasmni ovqatdan keyin olgan yaxshi. Chunki ovqatlangandan keyin odamni yuzi ancha ochiladi va yaxshi rasm chiqadi. Ko'rib turganingizdek hamma xursand. Qorin to'ydi g'am ketdi 😁
Satisfied faces + empty plates > hungry faces + full plates
#Google #Googler #FAANG #Dasturlash #Programming #SoftwareEngineering #IT
Unpopular opinion: rasmni ovqatdan keyin olgan yaxshi. Chunki ovqatlangandan keyin odamni yuzi ancha ochiladi va yaxshi rasm chiqadi. Ko'rib turganingizdek hamma xursand. Qorin to'ydi g'am ketdi 😁
Satisfied faces + empty plates > hungry faces + full plates
#Google #Googler #FAANG #Dasturlash #Programming #SoftwareEngineering #IT
👍81😁37❤7🔥6