Backend (Nodejs) mentoring va internship
Akhmadiy
Men internship(stajirovka) qilganimda baʼzi joylarda pul berishadi. Men esa nima uchun sizga pul berishim kerak ?. Siz nodejs va backendni o‘rgangansiz lekin amaliyot qilmagansiz yoki kam amaliyot qilgansiz. Biror kompaniyaga ishga borganingizda suhbat jarayonida sizga notanish texnologiyalarni so‘rashdi yoki suhbat siz o‘ylaganday muvaffaqiyatli bo‘lmadi. Yaʼni biror kompaniyaga kirishingiz uchun bilim va tajribangiz kamlik qildi. Ushbu amaliyot dasturi aynan shunday holatga tushib bilim va tajribani mustahkamlamoqchi bo‘lganlar uchun.
YouTube yoki biror o‘quv kursiga borib yetarlicha tajriba olsam bo‘ladiku mentoring olib nima qilaman ?. Ushbu o‘quv amaliyot dasturi davomida siz faqat mentoring emas haqiqiy loyihalarda ham ishlab tajriba qilasiz. Yaʼni sizda real loyihalarda tajriba va jamoaviy ishlash bo‘yicha ko'nikmlalar rivojlanadi va biror muamoni xal qilish uchun o'rganganlaringizni hayotga tadbiq qilishni rivojlantirasiz.
Yana ko‘p uchraydigan vaziyatlardan biri. Dasturlashni o‘rganib olib amaliyotga kelganda to‘xtab qolinadi. Birorta oson muammoga yechim topishda ko‘p xatoliklar qiladi. Keyin biror tajribaliroq insondan yechim so‘raladi yoki internetdan izlanadi. Odatda har bir masalaga imkon qadar alohida yondashish kerak. Sababi muammolarga yechimlar hech qachon birhil bo‘lmaydi.
Shu va shu kabi holatlarga yechim sifatida ushbu o‘quv amaliyot dasturini yo‘lga qo‘ydik. Xudo xohlasa resumelar qabul qilish boshlandi. Ushbu o'quv amaliyot dasturida. Umumiy (Javascript/Typescript adavance), Backend prinsplari, API qurish, OOP va Clean code, Testing, Scrum/Agile, Microservices, Databases(SQL/NoSQL) Docker & basic devops, basic System design. Bundan tashqari yana ko'plab mavzularda shogirtlar amaliy va nazariy bilimlarga ega bo'lib xayotga tadbiq qilishnadi.
Eslatma: Bu o‘qituvchilik emas mentoring. Mentor sizga yo‘l ko‘rsatib maslahatlar berib turadi. O‘qituvchi yoki ustoz esa sizga aniq bir mavzuni yoritib beradi
Mentoring va Amaliyotda nimalar o'rganiladi ?
- Javascript/Typescript dasturlash tillari va ushbu tillardagi murakkab mavzular. Jamoa yeg'ilgandan so'ng barchaga ushbu tillarni yaxshiroq o'zlastirib amaliyot qilishi uchun resurslar beriladi. Shu bahona barcha birxil mavzuda bilim va ma'lumotga ega bo'ladi.
- Nodejs asoslari va core modules.
- Umumiy backend prinsplari. Backendning umumiy tushunchalari o'rganiladi va shu bo'yicha amaliyotlar qilinadi. API qurish va API design bilan tanishiladi.
- OOP va Clean code prinsplari o'rganib qilinayotgan loyihalarga tadbiq qilinadi.
- Git va vesiya boshqarish tizimi va Jamoaviy ishlash ko'nikmalari shakillantiriladi.
- Testing (Unit/Integration/E2E) teslash bo'yicha tajriba.
- Databases(SQL/NoSQL). Ma'lumotlar bazi bilan ishlash. Database Design va Turli ma'lumotlar bazalarini real loyihalarda tadbiq qilinadi (PostgreSQL,Mongodb, Redis, Elastic Search, Cassandra)
- Microservices va Mircoservice based applications development bo'yicha tajriba qilinadi.
- System design Dasturiy ta'minot arxitekturasini ishlab chiqish.
- Third party apis and services. Turli xil service va apilar bilan ishlash o'rganiladi (AWS, Google, Facebook, etc...)
- CI/CD Docker/Kubernetes/AWS/Digital ocean servis va texnalogiyalari bo'yicha amaliyotlar qilinadi.
12. Build thrid party services & packages. Turli servislar va kutbxonalar (npm library) ishlab chiqish.
Mentoring va Internship qanday olib boriladi ?
Ushbu o‘quv amaliyot dasturi. Real onlayn ish muhiti ko‘rinishida olib boriladi. Jamoa aʼzolari doimo nazoratda bo‘ladilar va ularga loyihalarning biror qismlar yoki yangi narsalar o‘rganish vazifa qilib beriladi. Har bir jamoa aʼzosi uchun mentorlar yo‘l yo‘riq ko‘rsatadilar va vazifalarni qabul qilib oladilar. Jamoa va ishga yengil qaraganlar chetlashtiriladi. Har haftada 6 kun haftasiga minimum haftasiga 30 soat jamoa ish vaqti xisoblanadi. Ertalab yoki kechqurun meetinglar bo'ladi status va vazifalar haqida.
Vazifalarni bajarish paytida qiyinchiliklar bo‘lsa avval o‘rganib keyin tatbiq qilish uslubi qo‘llaniladi (Research & Development). Hamma uchun o‘rganishi kerak bo‘lgan mavzularda alohida masterslasslar qilib tushuntiriladi. Har bir jamoa azosi uchun vazifalar trello yoki jira kabi task mangerlarda berib boriladi va ushbi toolar orqali nazorat qilinadi. Jamoa ish tartibi Scrum/Agile metodologiyasi asosida olib boriladi. Vazifalar berilgandan so'ng code review dan o'tadi. Umumiy suxbatdan tashqari har bir jamoa azosi bilan suxbat ham qilinishi mumkin. Odatda biror masalada judayam qiynalib ketsa yoki kattaroq masala bo'lsa meeting qilib xal etiladi.
Qisqaroq aytganda jamoa ishlash prinspi shunday: Task managerga tasklar yozib qo'yiladi. Biror jamoa azosi biror vazifani oladi yoki unga topshiriladi. Ushbu vazifaga oid savollar va tushunmovchiliklar bo'lsa izoh yoziladi. Yoki qisqa meeting qilib tushuntirib beriladi. Keyin vazifani bajarib code review ga jo'natiladi. Review qilib bo'lingandan keyin vazifa tugatilad bo'lmasa mentorlar xatoliklarni aytishadi.
Agar biror vazifa bo'yicha bilim yetmasa yoki qila olmasa o'ganib chiqishi uchun vaqt so'raydi kerak bo'lsa o'rganishi uchun kerakli resurslar (Darslik, Maqola, Kitob) tavsiya qilinadi. O'rganib bo'lib tadbiq qiladi (Imkon qadar qisqa vaqt ichida o'rganish sharti bilan). Undan tashqari haftada bir matotaba birorta mavzu bo'yicha suxbatlar va masterclasslar bo'ladi. Har 1-2 haftada har bir jamoa asozisning bilimlari va potensiali tekshirib boriladi. Shunga qarab o'rganish uchun yangi mavzular va resurslar beriladi. Undan tashqari har bir jamoa azosidan jamoa, mentorlar, boshqa jamoa azolari haqida anonim so'rovnomalar uyushtiriladi.
Jamoadan ketsam qanday natija bilan chiqaman ?
4 oy ichida eng kamida 2-3ta foydalanishga chiqqan loyiha bo‘yicha bilim va tajribaga ega bo‘lasiz. Osonroq loyihalarni bemalol o‘zingiz qura olasiz. Jamoaviy ishlash va clean code bo‘yicha tajribaga ega bo‘lasiz. Githubda open souce loyihalarda ishtrok etgan bo'lasiz va yaxshi portfolioga ega bo'lasiz. Jamoadan ketishdan oldin suxbatga ham tayyorlanasiz.
Jamoadan qanday ketishim mumkin ?
Har bir jamoa azosi jamoadan ketishidan avval ketmoqchi ekanini bildiradi. Nima uchun ketmoqchi ekanini keltiradi va shunga qarab har bir jamoa azosiga maksemal darajada yordam beriladi suxbatga tayyorlanadi maslaxatlar va tavsiyalar beriladi. Jamoadan ketishidan oldin bitta loyiha qiladi. Bilimlarini mustaxkamlash va tajriba olish uchun.
Qoshimcha: Biror kompaniyalarga tavsiya referaling ham qilishimiz yoki o'zimizni jamoaga ishga olib qolishimiz mumkin bu jamoa azosining potensialiga bog'liq bo'ladi.
Yuqoridagi gaplar faqa muvaffaqiyatli bitruvchilar uchun. Ketishning boshqa yo'li esa chetlashtirish xisoblanadi. Ammo bunda ushbu jamoa azosi haqida bizda faqat negativ fikrlar qolishi mumkin. Sababi o'z aybi bilan masuliyatsizligi bilan tark etgan bo'ladi.
Qanday qilib jamoaga qo'shilishim mumkin ?
Jamoaga qo'shilish 3 bosqichdan iborat birinchi bosqichda quyidagi formani to'ldirishingiz zarur. https://forms.gle/K83VuvSATg6YEJ6g7 Keyin sinov vazifasi sifatida kichik loyiha qilishingiz kerak bo'ladi. Loyihani topshirganingizdan so'ng suxbat bo'ladi. Suxbatdan keyin umumiy natijalarga qarab sizni jamoaga qabul qilish yoki qilmasligimiz xabari beriladi.
Davomiyligi va narxi qanday ?
Mentoring va internship loyihasining davomiyligi 4 oydan 7 oygacha. Bizni talablarga javob beradigan junior darajasiga chiqgunicha. Ushbu darajaga chiqganidan so'ng oldida ikki yo'l bo'ladi. Hohlasa jamoada qolishi yoki biror kompaniyaga ishga kirishi. Ikkala yo'lga ham mentorlar va jamoa tomonidan yordam beriladi. Tanlov har kiming o'ziga qoladi. Eng yaxshilarni barbir o'zimizda olib qolishni payidamiz )
Har oy uchun to'lov 400 ming so'm.
Savollar bo'lsa post izohlarida yozib qoldiring: https://t.me/programming_everyone/730