Abdulla Xaydarov kanali
210 subscribers
242 photos
15 videos
1 file
65 links
Head of Operations @ Applied Labs
[ex-Amazon]

Maqsadim: o’z IT kompaniyam qurish.

- IT texnologiyalar
- Jamoa boshqaruvi
- Dasturlash
- Data Analytics
- Product development
- QA testing
- System design

Linkedin.com/in/abdullakhaydarov
Download Telegram
Github/ChatGPT bilan tayyor ishlayapgan dasturlar kod'larini topasiz.

Katta dasturchilar ham dasturni 0 dan boshlab yozishmaydi. Github'da mavjud bo'lgan dasturni olib uni ustiga qurishadi.

Masalan, NodeJS backend API qurish kerak bo'lsa Google'ga "Production ready template NodeJS backend API" deb yozsangiz Google sizga bir talay ishlaydigan dasturlar source kodini beradi.

Xozir ChatGPT bilan bu tayyor dastur kodlarini [eng sifatlisini] bir zumda topa olasiz.

Siz yaratmoqchi bo'lgan dasturni kimdir ilgari qurib bo'lgan. U qanday folder structure ishlatgan, class va functions qanday tashkillashtirgan... Bularni tayyor ishlayapgan dasturdan ko'rib, keyin ustiga keraklicha qo'shimcha kod qo'shaverasiz.
Project Management yoki Product Management? Qaysi birini o'rganganim yaxshi?

Boshlang'ich darajadagilar uchun Project Management dan boshlashgani yaxshi.

Mahsulot boshqaruvi uchun ko'proq mohirliklar kerak bo'ladi. Jamoa boshqaruvidan tashqari, mahsulot menedjerlari UIUX dizayn, marketing, data analytics, QA testing, system design kabi sohalarni ham bilishlari kerak bo'ladi.
UIUX dizayn, Marketing, Data Analytics, QA testing, System Design.

Bular haqida ko'proq yozishga harakat qilaman. Ko'plarga qiziq ko'rinadi.
Dodam rahmatlik 30 yil O'zbekiston Sovet Respublikasida vazir bo'lib ishlab, pensiyaga chiqqanlarida biz [navaralari] bilan ko'proq vaqt o'tqazgan ekanlar.

Hayotlarini oxirigacha aytar edilar: "Mening eng yaqin do'stim - kitob."

Kitobni faqat o'z ishini ustasi yoza olishligini ta'kidlar edilar. Oddiy o'rta xol odam rasmiy nashriyot ko'rib chiqib chop etadigan kitobni yoza olmaydi, derdilar.

Online kurslar, maqolalar albatta yaxshi. Ulardan bilim olishni to'xtatish kerak emas. Lekin IT sohamizda yozilgan klasik kitoblar bor. Ularni ham tashlab qo'yish kerak emas.
PM ishining eng katta qiyinchiligi va'da berilgan vaqt [deadline] gacha loyihani yakunlab berish, bo'lsa kerak. Hamma mas'uliyat sizni bo'yningizda. Agar loyiha kechiksa - bu sizni aybingiz.

- Vaqtida ogohlantirib qo'yish kerak edi.
- Shuncha vaqt yo'qotdik.
- Pulimni qaytarib bering.
- Ishni boshlayapganimizda bunday bo'ladi deb o'ylamagandik.

PM bo'lmoqchi bo'lsangiz, shunday gaplarga tayyor turing.
Agar biznesingiz uchun dastur kerak bo'lsa, katta yoki kichik IT kompaniyalar bilan ishlasangiz bo'ladi.

Katta kompaniyalar xizmati qimmatroq. Lekin ularni bilim va tajribasi ko'p.

Kichik IT agentliklar xizmatlari arzonroq. Lekin tajribasi kamroq bo'lishi mumkin.

Yana bir muhim faktor - kichik kompaniyalar bilan hamkorlik qilsangiz, asoschi (founder) bilan tog'ridan tog'ri aloqa qila olasiz va kerak bo'lganda ishlarni tez xal qila olasiz.
Har kuni yotishdan oldin ertangi kuningizni rejalashtirib qo'ying.

Ilgari oddiy to-do list ishlatar edim. Xozir Google Calendar ga o'rganib qoldim. Ish bo'yicha meeting bo'lsa, calendar'imda darrov paydo bo'ladi.

Siz ishlaringizni rejalashtirish uchun nimadan foydalanasiz?
[System Design'dan bir shingil ma'lumot].

"Shared database" degan tushuncha bor. Bir nechta dastur [app] bitta ma'lumotlar bazasini [database] ishlatadi.
Bu har doim ham optimal yechim emas. Odatda bitta app uchun bitta database ishlatiladi. Agar bir nechta jamoa bitta database ishlatsa, u-bu narsa bizilib qolganda kim javob beradi?

Lekin agar DB'ni mikroservis sifatida ishlatsangiz, shared database foydalari bor. Taraflar bilan shartnoma qilib kelishib olishingiz kerak bo'ladi. Versioning va Schema kelishuv asosida bo'lsa, backend-as-a-service uchun mijozlar topasiz.
Product Management va Project Management farq va o'xshashliklari.
DRY = Dont Repeat Yourself.

Clean code asosiy tamoyillaridan. Ma'nosi - bitta yozilgan kodni [logika bo'ladimi yoki data] ikki martta qaytarmaslik.

Bir logika qaytarilmasligi uchun class, function, component, module, inheritance, kabi blok'lar ishlatiladi. Bir martta kod yozilib, butun dastur uchun shu mantiq bir xilda ishlatiladi.

Data qaytarilmasligi uchun esa "centralized database" quriladi.

DRY tamoyiliga asoslanib qurilgan dastur - sifatli, davomiy va kattalashtirish uchun yengil mahsulot bo'lib yetishadi.
Ko'p dasturchilar esidan chiqaradigan narsa.

Karyerani keyingi bosqichiga o'tish uchun ["ko'tarilish" uchun] faqat yaxshi dasturchi bo'lish yetarli emas. Albatta, bu muhim. Lekin odamlar bilan muomala qilish, jamoada effektiv ishlay olish, mijozlar bilan "chiroyli" gaplasha olishlik ham muhim rol o'ynaydi.
Xodimlarimizni natijaga qarab baholashimiz kerak.
Ularning tepasida 24 soat turish shart emas.


Xodimdan nima kutilyapganini aniq belgilang. Ularning ishi nimadan iborat ekanligini tushuntiring. Keyin ularga erkinlik bering. Qanday ishlashni xohlashsa, shunday ishlashsin.

Biz [PM'lar] faqat loyiha berilgan muddat ichida yetkazib berilishini istaymiz.
Vaqti-vaqti bilab ishlar qanday ketyapganligi haqida xabar berib tursangiz yetarli.

Bizga ish bajarilsa bo'ldi.
System Design.
Netflix
kompaniyasini ichidan texnik jihatdan qanday ishlashini ko'rsangiz bo'ladi.

Men uchun qiziq bo'lgan joyi - frontend React'da yozilgan ekan.
So'rovnoma tashkil qilishganda [adashmasam 2-3 yil avval], odamlar ishdan ketishi asosiy sababi - bu ularning to'g'ridan-to'g'ri nazorat qiluvchi boshqaruvchisi [manageri], deb topishgan.

Sizni rivojlantiradigan, unumli ish atmosferasini ta'minlaydigan, va har taraflama sizni ko'taradigan boshliq - bebaho. Bunaqalar kam.

Agar shunday boshlig'ingiz bo'lsa, uni mahkam ushlang. Sabrli bo'ling, undan ko'p bilim o'rganing. Sizni ishdan bo'shatib yuborgunigacha ishlang.
Biznes g'oya [ideya] hech qanday qiymatga ega emas, chunki g'oya yetishmovchiligi yo'q.

Har bir insonda mingta ideya bor. ChatGPT istalgan vaqtda sizga millionlab ajoyib biznes g'oyalarini berishi mumkin.

Qiymatga ega narsa - bu g'oyaning IJROsi. Chunki g'oyani hamma ham amalga oshira olmaydi. Amal qiyin.

Bozorda amal va ijro yetishmovchiligi katta, va shuning uchun u qimmatlidir. G'oya emas.
Database Sharding.
IT kompaniyalar software mahsulotlarni yaratish jarayoni.
API - to communicate between apps / services.

SDK - tool box to build apps.
Sog’lom aql sog’lom jism-jasadda.