/Men haqimda
Ma’lumot muhandisi va full-stack dasturchi
Men ma’lumot platformasining ikkala uchida ishlayman. Bir tomonda omborlar: yig‘ish, tozalash, o‘zgartirish va analitik haqiqatan so‘rov yoza oladigan, yulduz sxemasi bo‘yicha modellashtirilgan oltin qatlam. Ikkinchi tomonda — o‘sha manba ma’lumotini ishlab chiqaradigan production backendlar.
Foydali tomoni aynan shu qo‘shilishda. Ilova yozadigan PostgreSQL sxemasini o‘zing loyihalagan bo‘lsang, nega ustun nullable ekanini, vaqt belgisi nega shunday saqlanishini va iflos qatorlar qayerdan kelishini bilasan. Ma’lumotni modellashtirish o‘sha tartibsizlikni yaratgan tomonda turgan odam uchun osonroq.
Menga butun ish uchun javob berish yoqadi: API va sxema, ular ustidagi interfeys, va ishga tushgandan keyin ham ishlab turishi. Gazeta loyihasida bu bo‘sh bazadan boshlab, muharrirlar va o‘quvchilar har kuni ishlatadigan mahsulotgacha olib borish, keyin uni mustaqil yuritayotgan jamoaga topshirish degani edi.
/Tajriba
Ish qayerda bajarilgan
Full-stack dasturchi (frilans)
Tong Yulduzi
- Respublika gazetasi uchun FastAPI backendi va PostgreSQL sxemasini qurdim: maqolalar, media va sonlar arxivi uchun REST API, SQLAlchemy modellari va Alembic migratsiyalari bilan.
- Butun sonlar arxivi bo‘ylab maqola qidiruvini PostgreSQL to‘liq matnli qidiruvida qildim: GIN indeksli tsvector ustunlari va ts_rank, kerakli maqola eng yangisi emas, birinchi chiqadigan qilib sozlangan.
- Sahifalarni tezlashtirdim: eng ko‘p o‘qiladiganlarini Redis’ga keshladim va sekin so‘rovlarda yetishmayotgan indekslarni qo‘shdim; taxmin qilish o‘rniga har o‘zgarishdan oldin va keyin vaqtni o‘lchadim.
- O‘quvchi saytini va muharrirlarning nashr vositasini Next.js’da kelishilgan dizaynlar asosida qurdim, ikkalasini ham o‘quvchilarning ko‘pchiligi keladigan telefonlarda to‘g‘ri ishlaydigan qildim.
- JWT autentifikatsiyali rolli hisoblar (muallif, muharrir, administrator) qo‘shdim — tahririyat kundalik ishda dasturchisiz gazetani yuritadi.
- GitHub Actions orqali deployni sozladim: bir martalik bazaga qarshi pytest, Docker obrazini yig‘ish va health check o‘tmasa avtomatik qaytish.
- Har kecha shifrlangan zaxira nusxalarini serverdan tashqarida saqlashni rejaga qo‘ydim va arxivni yo‘qotib bo‘lmasligini isbotlash uchun to‘liq tiklash mashqini o‘tkazdim.
Ma’lumot muhandisligi bo‘yicha amaliyotchi
Itransition
- Microsoft Fabric’da uchidan-uchiga ma’lumot ombori qurdim: xom ma’lumot tozalash va o‘zgartirishdan o‘tib, tahlilga tayyor gold qatlamiga keladi.
- Ma’lumot yig‘ishni Fabric Pipelines va Dataflows bilan tashkil qildim, qatlamlar orasida tozalash, o‘zgartirish va tekshirish uchun Fabric Notebooks (PySpark, Pandas) ishlatdim.
- Gold qatlami uchun yulduz sxemasini loyihalab, uning ustiga Power BI boshqaruv panellarini qurdim.
- InfluxDB’dan vaqt qatorlarini quvurga tortadigan Python mijozini yozdim.
/Ko‘nikmalar
Nimalar bilan ishlayman
Backend
- Python
- FastAPI
- SQLAlchemy, Alembic
- REST API design
- JWT auth and role-based access
- Celery
- Django
- pytest
Ma’lumot muhandisligi
- Microsoft Fabric (Pipelines, Dataflows, Notebooks)
- Medallion architecture (bronze, silver, gold)
- Star-schema design
- PySpark
- Pandas
- Great Expectations
Ma’lumotlar bazasi
- PostgreSQL schema design
- Indexing and query tuning
- Full-text search (tsvector, GIN, ts_rank)
- Redis
- InfluxDB
- Delta Lake
Frontend
- Next.js
- React
- TypeScript
- Responsive UI built from design files
Infratuzilma
- Docker and Docker Compose
- Nginx
- GitHub Actions (CI/CD)
- Linux servers
- Git
- AWS Certified Cloud Practitioner
Hisobot
- Power BI
- SQL
- Power Automate
/Sertifikatlar
- Commercial Software Development: Data Engineering
- Certified Cloud Practitioner Essentials
- Backend Developer Course