Programming ∀
1.34K subscribers
196 photos
4 videos
1 file
121 links
Ushbu kanalda dasturlashga aloqador turli expriementlarim, g'oyalarim, hulosalarimni ulashaman.
Download Telegram
Programming ∀
Xinux jamoasiga qo'shilgani roadmap.
Bizda rustdan tashqari haskell uchun ham 1ta vakansiya potensiali bor.

Qisqa aytganda manga yana bir sherik kerak. Xozir haskellistlar 2ta jamoada, 3ta qilish niyatimiz bor.

Xinux jamoasida Haskell asosan server va infratuzulmaga aloqador dasturlar ishlab chiqishda ishlatilinadi. Bazida boshqa jamolarga ham nimadirlar qilib berishimiz mumkin masalan xozir man qilyotgan notification getway kabi.

Hiring masalasida esa quyidagicha uslub.

Xozirda talant poolni kattalashtiryabmiz, hohlovchilar bilan oldin biroz kelishib ishlab ko'rishimiz kerak. Chunki bizning hiring uslub shunday, hechqanaqa interview vaxakazolar yo'q. O'rganishiga yordamlashamiz, qandaydir loyihalarda birga ishlab ko'ramiz va bizga kerakli sifatlarni tekshiramiz shunga qarab kegin ishga taklif berishimiz mumkin.

Kandidatlarga kelsak background uncha muhim emas. Eng muhim narsalar.

1. Openminded va tanqidiy firklash yaxshi bo'lishi.
2. O'rganish va izlanishga tayyor bo'lishingiz kerak. Qo'rqmasdan masuliyat olib expirementlar qila olishingiz juda muhim.

Kandidat haskellni bilishi shart emas, biz o'rganishi uchun vaqt va resurs beramiz. Ammo devayslar berolmasligimiz mumkin. Lekin savollariga javob, "roadmap" masalalarida yordam beramiz. Shunga yarasha yaxshi distiplina va impactni talab qilamiz.

Backgroundga kelsak, agar siz boshqa tillarda ozgina bo'lsa ham tajribaga ega bo'lsangiz yetarli daje real projectlar qimagan bo'lsangiz ham sinab ko'rishingiz mumkin o'zingizni. Biz haskell hamjamiyatida allaqachon roadmapni ham tayyorlab qo'yganmiz buyoqda ko'rishingiz mumkin: https://github.com/haskelluz/resources

Lekin tajribamiz doirasida ko'rdiki o'rganish uchun eng yaxshi resurslardan biri bu Haskell MOOC ekan: https://haskell.mooc.fi/

Xinux jamoasi haqida.

Jamoamiz hali yosh, ammo o'rganish va izlanishga doyim ochiq. Biz NixOs ustiga qurilgan distrubutiv ustida ishlaymiz va ushbu operatsion tizim nomi Xinux, jamoamiz Xinux atrofiga ekotizim qurish bilan ham shug'ullanadi. OS ekotizimini oddiy foydalanuvchilar uchun ham mos keladigan darajaga olib kelishga xarakat qilyabmiz, qilyotgan ishlarimizni hammasi ochiq: https://git.oss.uzinfocom.uz/xinux/

ESLATMA:

Bilaman O'zbekistonda bunday vakansiya deyarli yo'q, technical stack ham shunday yani rust, haskell, nix stackda ish topish qiyin va mutaxasisslar ham shunga yarasha mavjud emas yani tajribalilari. Jamoamiz bilan manashu riskni tushungan holatda o'zimiz talant pool qilishga, o'zimiz study program qilishga tayyormiz evaziga bizga kerakli hodimlarni ajratib olishimiz mumkin.

Shaxsiy fikrim:
Istesno doyim bo'lgan va bo'ladi. Bazi narsalarda shunchaki gamble qilish kerak degan fikrdaman. O'zingizga past baho bermang imkon bormi sinash kerak. Raqobatdan qo'rqmang qaytangi manashu eng qiziq jarayon.

Ushbu post xozircha spoiler ko'rinishda yozildi agar kim yangi stackga o'tishni istasa yoki umuman koryerasini yorqin boshlamoqchi bo'lsa oldindan tayyorlanishga bir imkon.

Muhokama uchun commentlarni ochib qo'ydim agar savollar bo'lsa bemalol yozishingiz mumkin.
🔥8❤1
Bolajonlar bu hali to'liq vakansiya emas. Xozir spoiler qilib qo'yabmanki agar kimdadir qiziqish oshsa deb.

Learning path borasida ham birinchi navbatda manashu resurslar default. Siz bularni o'rganib oldindan tayyorlanib tursangiz bo'ladi.

Rust uchun rust book: https://doc.rust-lang.org/stable/book/

Haskell uchun: https://haskell.mooc.fi/
🔥4
Programming ∀ pinned «Bizda rustdan tashqari haskell uchun ham 1ta vakansiya potensiali bor. Qisqa aytganda manga yana bir sherik kerak. Xozir haskellistlar 2ta jamoada, 3ta qilish niyatimiz bor. Xinux jamoasida Haskell asosan server va infratuzulmaga aloqador dasturlar ishlab…»
Programming ∀
Ideya o'zini to'liq oqladi, eng qizig'i biz Opensearchga tayyor templatelar qilib qo'ya olamiz va report kelsa birdan manashu templatelar bo'yicha datani filter qilib ko'rsatadi. Opensearch juda powerful tool ijod qilsa ancha narsalarni avtomatlashtirvorsa…
Yaqinda xinuxda biror report keladigan bo'lsa bizda manashunday ko'rinishda issue paydo bo'ladi.

2-rasmda esa userdan kelgan barcha report loglarni ko'rish mumkin.

Eng qiziq qismi esa errorlarni detect qilish mexanizmlari avtomatlashtirildi.

Buning uchun esa ECS dan foydalandim. Blya qachondir devopslik qilganimdan vanihoyat hursand bo'ldim 😁
😁2🔥1
Manashunday ko'rinishda schemalar yasab ularni classify qilib chiqaman.

Kegin yozilgan indexlardan manashu patternlar match qilinadi. Yani har bir rule alohida match qilinadi, qancha ko'p rule bo'lsa shuncha ko'p edge case bo'ladi demak, shuncha ko'p muammoni detect qilsa bo'ladi avtomatik.

Ammo bundan ham yaxshiroq ideya bor. Classify qilishni o'zini haskellda yozib ko'raman. Bu yerda asosan regex match qiladi hamma narsani. Lekin bu ortiqcha ish yani ad-hoc narsalar ko'payadi barbir.

Shu sababli data classification o'zini haskellda eplab oladigan bo'lsam, kegin sekin datasetga o'girsa bo'ladi va qarabsizki kamina machine learning engineer bo'lib turibti 😎

O'ylashimcha bu qandaydir kichik research project sifatida juda juda zo'r bo'ladi sababi LLM vaxakazlarsiz aynan loglardan o'zim model train qilib aynan Xinux va NixOs distrubutivlariga moslashgan problem detection qilish vapshe zo'r tema.
😁9💯3
UOSS jamoasiga qo'shilganimga 1 yil bo'libti 😎
🔥15🎉2
gap yo'q.
🤣18
Programming ∀
Dasturchilarni aynitgan platformalar. 1. Linkedin. 2. Leetcode. 3. Aws/gcp/azue etc clouds. Endi degradatsiyaga olib kelyotganlari esa. Birbalo AI, LLM servislar vaxakazo. Ro'yxat uzun ekan.
Leetcode - leetcode competitive programming platform emas. Masalan codeforces, atcoder kabi platformalar va uyoqdagi savollar ozgina farqli distiplinada. Yani olimpiyada uchun informatika olimpiyadalaridagi distiplinani mashq qilsa bo'ladi. Leetcode unday emas, uyoqda "top" companylarga interviewdan o'tish uchun tayyorlaniladi. Aslida g'oya ajoyib, malum kompitensiyani yeg'ish kerak va buning uchun tayyor platforma bor u yerda mashq qilasiz va maqsadga erishish osonlashadi

Muammo shundaki, bu narsa steriotip darjasiga chiqib qolgan. Masalan luboy random kompaniyada coding interview shu "top" companylardan chopilib tadbiq qiliishi mumkin. Ammo bunaqa odam sizga kerakmi, sizdagi ishni qila oladigan sifatlari bormi buni aniqlash doyim muammoligicha qolaveradi. Huddi shunday siz leetcodega tayyorlanasiz rossa, ammo real ishda asosan rutine narsalar qilasiz. Ammo leetcode dasturchilar orasida fenomenga ham aylannib qolgan, doxrena masala ishlasa demak cool programmer.

2. Cloud providerlar - Ko'rinishidan rivojlanishning yana bir natijasi. Tayyor servislar, Pass, Sass yana birbalo ass. Qog'ozda juda zo'r siz falon muammoni hal etgani shunchaki X servisdan foydalanasiz va tamam. Sizga kerak emas serverlarni setup qilish, uyoqda yana butun infratuzululmani sozlash kabi ortiqcha bosh og'riqlar cloud bilan hal etasiz.

Amalda unday emas, cloud servislarni yaxshi bilmasangiz qaytangi biror kichik muammo ham gemaroyga aylanishi mumkin. Yani siz huddi oddiy serverlar bilan ishlashni o'rgangandek, cloudni ham o'rganasiz yani learning curve temasi. Tog'ri o'rganishga resurs ko'p, offical darslar, certificationlar bor. Ammo prikol ham shunda, masalan aws certification olishingiz uchun amazonga pul to'laysiz :) tog'ri bu jarayonlar must have talab emas. Ammo bu perespektivadan qarasak amazon/google/microsoft daje learning curveni ham pullik qilgan.

Cloudlarda ishlar ekansiz endi sizga ko'proq political, economic skillar ham kerak bo'ladi. Masalan qanaqadir discoundlar olish, cost optimization temalari. Bu ishlarni ham shu daturchilarni o'zlari qiladilar. Maslan cloud providerlar startuplarga credit ajratadi ulardan foydalansangiz oradan vaqt o'tib sizni infratuzulma anashu cloud platformga to'liq qaram bo'lib qolishi mumkin.

Hulosa: Ko'pchilik ishlashni istagan corplar suniy ravishta trendni qilishadi. Masalan falon corp bunaqa qilibti deb ko'pchilik ularga follow qiladi. Uyoqlarda juda top engineerlar ishlaydi deb o'ylashadi. Ammo ular o'zlari belgilagan qiyinchiliklarni, shunchaki ularda resurs ko'p bo'lgani uchun ideal qanday bo'lishini belgilab berishadi va shu asosida o'z bizneslarini qilishadi. Masalan cloudlar uyoqda rossa ko'p aynan soqqa qilishga qaratilgan mavzular, politics bor. Certificatinolar temasi ham bir absdurd narsa chunki bundan ham soqqa qiladi o'sha corplar. Nega dasturchilarni aynitgan degan masalaga qaytsak. Manashunday spekulatsiya va propagandalar. Dasturchilarni ko'proq vaqtini technical narsadan ko'ra ko'proq boshqa narsalarga sarflashiga sabab bo'lyabti. Masalan bitta dolban managerga uning dolban ekanini aytolmaysiz sababi bu reputatsiyangizni "soft skiill"lar degan bo'limga katta minus qiladi. Huddi shunday soxta avtoritariya bo'ladi, masalan falonchi man "FAANG"da N yil ishlaganman va falon darajaga chiqganman deb maqtanadi. Ammo shuncha ishlagan bo'lsa ham haligacha govnokod yozgan bo'ladi, yoki bo'lmasa githubi o'lik bo'lishi mumkin. Yani u faqat commerce code yozgan odam.
🔥7❤1
Yaqinda bo’lgan safarda tog’rda balandlikdan sakrab sirg'anib kettim. Hech qanday jiddiy jarohat olmadim, lekin qiziq holat bo'ldi.

Gid shunchaki qaradi va indamadi. Chetroq o'tib yaralarimni tozalab kegin yo'lni davom etdim. Yani bularni o'zim tajribamdan kelib chiqib qildim. Lekin tushunishimcha gidlar dastur boshlig'i o'laroq birinchi tibbiy yordam amaliyotini bajarishi kerak.

Bu narsaga juda ko'p guvoh bo'lganman masalan bazi odamlar lanshaftda qanday xarakat qilishni ham bilishmaydi. Yoki qo'rquv, risk bilan ishlashni bilishmaydi. Masalan boshida manam balandlikdan biroz qo'rqar edim ammo bu katta muammo bo'lmagan sababi bundan oldin ham qo'rquv bilan juda ko'p ishlagan edim. Ammo hammada ham unaqa emas bazilar hayotida jaroxat olmasdan katta bo'lgan bo'lishi ham mumkin ular notanish muhitda tabiyki qo'rqadilar va o'zlarini nazorat qilolmaydilar. Bazi gidlar esa bunday narsani nazorat qilishni doyim ham eplolmaydilar yoki bo'lmasam o'ylab ham ko'rishmagan.

Yana bir qiziq narsa tabiat qo'yniga ko'pchilik rasmga tushgani ham tushadi. Ammo kengroq qarasangiz u yerdagi flora/faunaga guvoh bo'lasiz. Masalan turli o'simliklar ularning hususiyatlari haqida ko'pchilik o'ylab ham ko'rmagan.

Aslida sayohatga chiqar ekansiz juda ko'p tajriba, bilim olish imkoni mavjud. Bu narsalar sizga kundalik kerak bo'lmasligi mumkin lekin rivojlanishga katta yordam beradi deb o'ylayman. Turizm yengil narsa bo'lib ko'rinadi lekin boshqa tomonidan qarasak turizm bizda yashashga kurashni oshiruvchi yaxshi instrument hisoblanadi. Ammo ko'p turistlar manashu qismigacha yetib borishmaydi yani bunday instrumentdan foydalana olishmaydi.

Huddi shunday turizm sotsalizatsiya muammosini hal etadi. Masalan man tog'larga chiqib bazi sotsial muammolarimni hal etganman. Tog'ga chiqish esa sizga vaziyatni baholashni yaxshi o'rgatishi mumkin faqat alpinizm emas oddiy treklar ham. Masalan bor energiyani ishlatib tepaga chiqasiz-u ammo tusha olmaysiz. Hamma cho'qqini zabt etishni istaydi ammo kamchilik orqaga omon qaytish haqida o'ylab ko'rgan.

Sport yoki boshqa insturmentlar kabi turizm ham rivojlanishning bir vektori. Ammo bundan foydalanish haqida ko'pchilik o'ylamagan. Madaniy masalalar esa umuman boshqa mavzu. Kamchiliklarni eng boshi individual holatad.
🔥5
balanced
Kuzatuvlarim davomida shuni tushundimki soft/hard skills kabi mavzular ajratilishi birmuncha xato bo'lgan.

Bu huddi intelekt darajasiga ham o'xshabroq ketadi. Bilamizki insoning aqliy imkoniyatlarini umumlashtrib intelekt deymiz. Shu o'rinda ko'p eshitamizki aynan IQ haqida yani inson inson aql idroki koeffitsiyenti sifatida aynan manashu o'lcho'v keng tarqalgan.

Ammo intelektning bo'limlari juda ko'p. Masalan emotsional, logical, creative vaxakazo... Xozirda trendga chiqgan mavzulardan biri bu personal development. Odatda manashu personal development bevosita kasbiy rivojlanishga reference qiladi bazida sezmay qolamiz. Bu singib ketgan korparativ muhit madaniyatidan bo'lishi ham mumkin. Yani turli narsalarni top ko'rsatilib shu orqali ommaga qandaydir meyor va normativlar qo'yishga o'xshaydi. Albatta dunyo faqat korparativ muhitdan iborat emas hamma o'z tomoniga tortadi desa ham bo'ladi.

Insonlarni ishda, hayotda, notanish muhitda kuzatar ekanman intelekt mavzusiga chuquroq kira boshladim. Quyida qiziq kuzatuvlarim haqida eslab o'taman:

Bir tomonlama insonlar, bunday insonlar ishda ham hayotda ham unchalik aniq maqsadlar bilan xarakat qilmaydilar. Noqulay muhitda esa juda ko'p shock holatini his etadilar va biroz noqulaylikda ularda panic attack shundoq seziladi. Sotsialda ham qandaydir aniq rolga ega bo'lmasliklarini ko'p kuzatganman. Qandaydir hamkorlikda ham ko'p oqsaydilar. Boshqacha aytganda deyarli hamma intelektual parametrlari default settingsda turgan odamlar hamma tomonlama osongina replaceable figuraga aylanib qoladilar.

Birnecha vektorga rivojlanib ketganlar. Bunaqa odamlar o'ziga yarsha qiziq shaxsiyat man uchun. Chunki ularda aynan qandaydir intelektual parametrlar boshqalardan yaqqol ajralib turadi. Masalan kimdir juda harizmali bo'lgani uchun ham hamkorlik ishlarida yaxshi natijalarga erishadi, yani collaborative, emotional intelekt tomondan rivojlanib ketgan. Kimdir bularni ekstravert deyishi mumkin. Yoki bo'lmasam yana boshqa vektorlarda rivojlanib kegan odamlar. Hullas bunday odamlar bilan doyim suxbatimiz qovushgan va doyim unday insonlar bilan nimadir qilgani doyim katta ishtiyoq bo'ladi.

Juda ko'p vectorlarda yuqori rivojlangan insonlar. Bunday insonlar kam uchraydi, ular bilan kelishish doyim ham oson bo'lmasligi mumkin. Lekin manga doyim qiziq bo'lgan shunaqa odamlar bilan qandaydir aloqalar o'rnatish, afsuski bunday insonlar tanishlarim orasida juda ham kam. Shu sababli hulosalarga yetarli ma'lumotlarga ega emasman.

Ammo insonda intelektdan tashqari moral ham mavjud. Shu sababli bazi narsalar intelekt sabablimi yoki moral sabablimi buni anglash qiyinroq. Masalan sizda rivojlanish uchun katta potensial bo'lishi mumkin, ammo moral chatoq ekani sababli rivojlanish jarayoniga to'sqinlik ko'payadi.

Masalan begona muhitda shockga tushish sababi intelektual emas balki moral muammo bo'lishi mumkin. Chunki yashab qolish uchun kurash morali yaxshi rivojlanmagan. Insonlarni kuzatar ekanman muammolar moral yoki intelektual ekanini aniqlashga xarakat qilaman. Bu esa o'ziga yarasha qiziq hulosa va tajribalar beradi masalan:

Agar insonda kurashuvchanlik morali bo'lmasa demak intelektual rivojlanishga extiyoj bo'lmaydi.

Insonda fanatizm/romantizm morali bo'lsa logical intelekt doyim ham ishlamasligi mumkin.

Agar insonda romantizm rivojlanmagan bo'lsa emotsional intelekt potensiali ochilmaydi.

Agar inson irodali bo'lmasa unda creativity potensiali ochilmasligi mumkin.

Kuzatuvlarim davomida tushuna boshladimki inson rivojlanishi uchun nafaqat intelekt balki moral ustida ham ishlashni bilishi kerak.

Soft/Hard skill emas, intelekt, moral mavzulari aniqroq, fundamentalroq va muhimroq deb bilaman.
🔥3💯2
Masalan hamma cho'qqini zabt etishni istaydi, buning uchun borini berishga xarakat qiladi. Albatta bu metafra ammo juda ham kam odam aslida jarayon qanday bo'lishi, natija qanaqa bo'lishi haqida tassavurga ega bo'lmagani uchun faqat cho'qqiga chiqish uchun kerakli narsalarga ega chiqishni istashadi.

Agar mavzuga biroz chuquroq qarasak natija qanday bo'lishi yoki shunga olib boradigan yo'lni ham analiz qilmaydilar. Cho'qqiga chiqish yaxshi natija bo'lgani bilan, u yerda bo'lish va omon qaytish boshqa boshqa narsalar.

Masalan siz cho'qqiga chiqolmasangiz demak 2ta hulosa qilishimiz mumkin.

1. Shunchaki eplay olmadingiz va taslim bo'ldingiz.
2. Ma'lum nuqtaga borib tushundingizki sizdagi energiya yetmaydi tirik qaytishga, shu sababli qaytdingiz.

Ushbu ikki variant bir biridan tubdan farq qiluvchi moral. Birinchisi shunchaki siz bu cho'qqiga mos kelmaslgizni, uni zabt etishga moral, intelekt yetmasligini o'zingiz ham tushunganingizni anlatadi shu sabab taslim bo'ldingiz katta extimol bilan bu mavzuga qaytmasangiz ham kerak. Ikkinchi variant esa siz cho'qqini zabt etishdan ko'prog'ini reja qilganizni, ammo yetarlicha kompitensiyaga ega emasligizni sezib katta risk qilmaganizni anglatadi tirik qaytish ham muhim chunki hayot ekansiz demak yana imkon bo'ladi come back uchun va shunga tayyorlanasiz.

Ushbu misol bizga intelekt va moralning uyg'unligida natijani reja qilishdan tortib amal qilishingizgacha bo'lgan processni ham nazorat qila olishingizni aks etadi. Ikkinchi misolni man ko'proq professionalism ham degan bo'lar edim. Cho'qqini zabt etish mavzusida biroz chuquroq fikr yuritishimizni o'zi ham biz ikki taqdirni ko'rishimiz mumkin. Bunaqa variantlar juda ham ko'p, taslim bo'lish doyim ham to'liq fail degani emas bu yaxshiroq ham chunki yarim yo'lda o'lib ketish optioni ham bo'lishi mumkin edi. Bizni tirik qoldirishi mumkin bo'lgan barcha variantlar yagona mantiqiy jarayonga sabab bo'lsa biz aniq rivojlanamiz. Ushbu jarayon xatolardan hulosalar, hulosalar bizni intelekt va moralni yaxshilamasligi mumkin ammo bor resurslardan qanday tog'ri foydalanishga o'rgatadi eng kamida bu esa tajriba degani moral va intelektdagi muammolarni bazi qismini aynan tajriba to'ldirishi mumkin.

Xozirda rivojlanishga aynan manashu prismdan qarayman. Intelekt ustida ishlash, moralni anglash, u bilan ishlay olish va albatta tajriba qilish.
🔥3🤝1