JavaRush /Java blogi /Random-UZ /Shved ham, O'roqchi ham. Full Stack dasturchisi kim va un...

Shved ham, O'roqchi ham. Full Stack dasturchisi kim va unga qanday aylanish mumkin?

Guruhda nashr etilgan
Shved ham, O'roqchi ham.  Full Stack dasturchisi kim va unga qanday aylanish mumkin?  - 1Kompyuterni rivojlantirish sohasida sirli va noaniq, lekin ayni paytda jozibali jozibali pozitsiya mavjud. Bu, ehtimol siz allaqachon tushunganingizdek, Full Stack ishlab chiquvchisining pozitsiyasi. U bu munozarali obro'ga bir qancha sabablarga ko'ra erishdi, ular quyida muhokama qilinadi, ammo qisqasi, ishlab chiquvchilar va boshqa texnik mutaxassislar haqiqiy Full Stack ishlab chiqaruvchisi qanday bo'lishi kerakligi haqida bir fikrga kela olmagani uchun. Shved ham, O'roqchi ham.  Full Stack dasturchisi kim va unga qanday aylanish mumkin?  - 2

"To'liq stek ishlab chiqaruvchisi - bu barcha dasturlash tillari va texnologiyalarini biladigan, shuningdek, chiroyli qo'shiq aytadigan va raqsga tushadigan texnik sehrgar."

Ian Peters-Kampbell -
Stickbuilt dasturiy ta'minot kompaniyasining tajribali ishlab chiquvchisi va asoschisi.

Full Stack Developer kim?

Xo'sh, an'anaviy ma'noda Full Stack dasturchisi nima? Eng keng tarqalgan ta'rif bizga bu tizimning barcha funktsiyalarini, shu jumladan mahsulotning foydalanuvchi tomonini (frontend) va taqsimlangan serverlarda (backend) ishlaydigan ichki kodni ishlab chiqish uchun mas'ul bo'lgan mutaxassis ekanligini aytadi. Qoidaga ko'ra, agar ochiq vakansiya uchun e'londa "to'liq stack" iborasi paydo bo'lsa, demak, ishlab chiquvchi bir vaqtning o'zida backend va frontend ishlab chiqish bo'yicha bilim va ko'nikmalarga ega bo'lishi kerak. Biroq, ko'plab kompaniyalar oldinga borishadi va "Full Stack dasturchisi" deganda ular nafaqat dasturiy mahsulotning barcha tarkibiy qismlarini ishlab chiqishga qodir bo'lgan, balki mahsulotni boshqarishdan tortib operatsion tizimni sozlashgacha bo'lgan hamma narsani o'z zimmasiga olishi mumkin bo'lgan universal askarni anglatadi. serverlarda tizim va ofis printerini tuzatish. Aslida, aksariyat hollarda to'liq stekni ishlab chiquvchidan loyihani muvaffaqiyatli yakunlash uchun zarur bo'lgan texnologiyalar to'plamini munosib darajada bilish talab qilinadi. Shunday qilib, bu holda "stek" talab qilinadigan funksionallikka erishish uchun birgalikda birlashtirilgan dasturiy modullar va komponentlar to'plamini anglatadi. Shved ham, O'roqchi ham.  Full Stack dasturchisi kim va unga qanday aylanish mumkin?  - 3

Nega bu mavzu juda ziddiyatli?

Full Stack ishlab chiqaruvchisi aslida nima bo'lishi kerakligi va bunday hayvon hatto bunday mutaxassislarni alohida guruhga ajratish uchun etarli miqdorda mavjudmi yoki yo'qmi, degan bahs ancha vaqtdan beri davom etmoqda. Tajribali dasturchilar ta'kidlaganidek, Facebook vakillari 2000-yillarda paydo bo'lganida, ishlab chiquvchilar uchun ixtisoslashtirilgan konferentsiyalardan birida nutq so'zlaganlarida, ular faqat va faqat Full Stack dasturchilarini yollashlarini aytishganidan so'ng, u yangi kuch bilan yondi. "Agar Full Stack dasturchisining an'anaviy ta'riflari sizni chalkashtirib yuborsa, unda hamma narsa to'g'ri. Buning sababi, Full Stack dasturchisi vaqtinchalik narsadir. "To'liq stack" nima ekanligini tavsiflovchi ilmiy model yo'q. Boshqa shunga o'xshash ishlab chiquvchilarga nisbatan to'liq stek ishlab chiquvchisi darajasini o'lchashning aniq usuli yo'q. Full Stack bo'yicha yagona konsensus shundaki, hech kim ushbu hodisaning mohiyatining yagona ta'rifiga rozi emas. Shuning uchun bu mavzu bo'yicha o'qiganlarning barchasi sub'ektiv fikrdan boshqa narsa emas, - dedi tajribali dasturiy ta'minot ishlab chiqaruvchisi va arxitektori Ryland Goldstein. Shved ham, O'roqchi ham.  Full Stack dasturchisi kim va unga qanday aylanish mumkin?  - 4

To'liq stackni rivojlantirishning to'rtta ustuni

Biroq, ko'plab mutaxassislar Full Stack dasturchisi bahsli tushuncha ekanligini ta'kidlasa-da, bo'sh ish o'rinlari kam emas, aksincha. Shuning uchun, keling, ushbu turdagi lavozimga murojaat qilish uchun, qoida tariqasida, qaysi sohalarda bilimga ega bo'lishingiz kerakligini ko'rib chiqaylik.
  1. Frontend ishlab chiqish.

    Odatda, front-end HTML, CSS va JavaScript kabi veb-ishlab chiqish texnologiyalari va dasturlash tillarini nazarda tutadi. Shuningdek, u React kabi JavaScript ramkalarini va mahsulotning "mijoz" tomoniga tegishli barcha boshqa texnologiyalarni o'z ichiga oladi.

    O'qishni qaerdan boshlash kerak:

    Siz React ilovasini yaratish yoki Gatsby ramkalaridan boshlashingiz mumkin , uning yordamida to'liq huquqli React ilovasini yaratish juda oson. CSS preprotsessorlarini, CSS-in-JS kabi asosiy CSS vositalarini va Sass kabi vositalarni o'rganish yaxshi fikr .

  2. Backend ishlab chiqish.

    Backend serverlarda ishlaydigan barcha kodlarni, shu jumladan sayt ishlashini ta'minlaydigan ilovalar va APIlarni o'z ichiga oladi. Backend uchun asosiy dasturlash tillari Java, Python, Ruby va boshqalar. Bundan tashqari, backend ishlab chiqish SQL bilimini talab qiladigan ma'lumotlar bazasini boshqarishni ham o'z ichiga oladi.

    O'qishni qaerdan boshlash kerak:

    Avvalo, ko'p hollarda frontend va backend o'rtasida o'ziga xos ko'prik sifatida JavaScript bo'yicha bilimingizni chuqurlashtirishdan boshlash tavsiya etiladi. Xususan, JavaScript-ni yuqori ixtisoslashgan tildan umumiy maqsadli tilga aylantiruvchi V8 dvigateliga asoslangan dasturiy platforma NodeJS ni o‘rganish yaxshi fikr .

    Также для того, чтобы иметь максимально полную квалификацию в бэкенде, рекомендуется, помимо Java, постепенно осваивать такие языки программирования, How Python (в первую очередь), PHP и Ruby.

  3. Проджект-менеджмент.

    От проджект-менеджера, если вкратце, требуется управлять проектом, что включает множество задач, среди которых взаимодействие с клиентами, коллегами, сторонними подрядчиками и т.д. Словом все, что нужно для успешной реализации проекта. Сюда также входит планирование, принятие стратегических решений по работе над продуктом и т.д.

    С чего начать изучение:

    Для успешного развития в качестве проджект-менеджера не помешает изучить наиболее популярные инструменты в этой сфере. Основными можно назвать: GanttPRO (сервис для планирования и управления проектами с помощью диаграммы Ганта), Jira Software (популярная система для планирования и отслеживания agile-проектов), LiquidPlanner (инструмент для проджект-менеджмента в реальном времени), Basecamp (еще одна система управления проектами и совместной работы) и т.д.

  4. DevOps.

    Ну и, наконец, четвертым столпом фуллстек-девелопмента является знание DevOps. Обязанности DevOps-а могут сильно отличаться в зависимости от проекта, но How правило к ним относится все, что касается запуска программного codeа в продакшн, включая, например, настройку serverов, на которых будет функционировать приложение, и обеспечение слаженной работы специалистов команды вместе с техническими решениями, которые они используют.

    С чего начать изучение:

    Сфера DevOps также включает в себя довольно много всяких инструментов. Вот те, с изучения которых имеет смысл начинать: инструменты управления исходным codeом (GitLab, GitHub, Bitbucket), CI/CD-инструменты (Ansible, Jenkins, Chef), тулзы для коммуникации и коллаборации (Slack и Microsoft Teams), а также сервисы облачных вычислений и хранения данных (AWS, Azure и GCP).

    Shved ham, O'roqchi ham.  Full Stack dasturchisi kim va unga qanday aylanish mumkin?  - 5

    Помимо вышеперечисленных четырех базовых составляющих “полного стека,” он не был бы действительно полным, если бы не включал в себя также мобильную разработку, базы данных и QA автоматизацию — истинный Full Stack разработчик разбирается и в этих технологиях тоже.

Зарплаты Full Stack разработчиков

To'liq stekni ishlab chiquvchilarning maoshlariga kelsak, ular rivojlanish bo'yicha aniqroq ixtisoslashgan hamkasblariga qaraganda o'rtacha unchalik yuqori emas. PayScale ma'lumotlariga ko'ra, AQShda to'liq ishlab chiquvchilarning o'rtacha maoshi yiliga qariyb 75 ming dollarni tashkil qiladi . Shu bilan birga, eng kam ish haqi (to'liq stekli lavozimdagi dasturchilar uchun) yiliga taxminan 46 ming dollarni, maksimal esa yiliga taxminan 114 ming dollarni tashkil qiladi. Sobiq SSSR mamlakatlariga kelsak, Ukrainada, Work.ua resursiga ko'ra, to'liq stekni ishlab chiquvchilarning o'rtacha ish haqi oyiga 35 ming grivnani (taxminan 1300 dollar), Kievda esa 45 mingni (taxminan 1650 dollar) tashkil etadi. Rossiyada ushbu ma'lumotlarga ko'ra, to'liq stack ishlab chiquvchilarning ish haqi o'rtacha 40 ming rubldan (530 dollar) 150 ming rublgacha. ($2000). Agar biz butun dunyo bo'yicha o'rtacha ko'rsatkich haqida gapiradigan bo'lsak, bugungi kunda biz ko'rib chiqayotgan lavozimda ishlaydigan mutaxassislar yiliga taxminan 45 ming dollar oladi. Evropada esa to'liq stek ishlab chiquvchilari Daniya va Shvetsiyada eng yuqori maosh oladi. Shved ham, O'roqchi ham.  Full Stack dasturchisi kim va unga qanday aylanish mumkin?  - 6

Qanday qilib Full Stack dasturchisi bo'lish mumkin?

Endi o'zingizni to'liq stek ishlab chiqaruvchisi deb atash uchun o'zlashtirishingiz kerak bo'lgan ko'nikmalar, qobiliyatlar va texnologiyalarni qisqacha ko'rib chiqamiz.
  1. Dasturlash tillari.

    To'liq stek ishlab chiquvchisi bir nechta dasturlash tillarini yaxshi bilishi kerak. Birinchi navbatda, albatta, asosiylari bor: Java, PHP, C#, Python, Ruby, Perl va boshqalar. Bir so'z bilan aytganda, mahsulotning asosiy biznes jarayonlari yozilishi mumkin bo'lgan eng mashhur tillar. Albatta, bunday tillarning butun majmuasini mukammal o'rganish juda qiyin bo'ladi. Lekin siz hech bo'lmaganda rivojlanishda muhim rol o'ynaydigan tilning grammatikasini o'zlashtirishingiz kerak, shuningdek, bir yoki bir nechta tillar asosida loyihani qanday tuzish, loyihalash, amalga oshirish va sinab ko'rish haqida yaxshi bilimga ega bo'lishingiz kerak.

  2. Ramkalar va kod kutubxonalari.

    Xo'sh, asosiy dasturlash tillarini yaxshi bilish ko'p hollarda Java Spring, Hibernate, Python Django, PHP Thinkphp, MyBatis va boshqalar kabi mashhur ramkalar va kutubxonalardan foydalanish qobiliyatini o'z ichiga oladi.

  3. Frontend texnologiyalari.

    To'liq stek ishlab chiquvchilari uchun front-end texnologiyalarini bilishning ahamiyati ham katta va vaqt o'tishi bilan ortib boradi. Bugungi kunda, qulaylik va mahsulotning umumiy "o'rashi" funksionallikdan kam bo'lmaganda, loyihaning umumiy muvaffaqiyatining muhim qismi frontendning elkasiga to'g'ri keladi. Full stack uchun siz hech bo'lmaganda asosiy front-end texnologiyalarini, ya'ni HTML5, CSS3 va JavaScript-ni bilishingiz, shuningdek, asosiy frontend ramkalar va kutubxonalarni, ya'ni JQuery, LESS, SASS, AngularJS va avval aytib o'tilganlarni o'zlashtirishingiz kerak. Reaksiya qilish.

  4. Ma'lumotlar bazasi.

    Ma'lumotlar bazalari "to'liq stack" ning yana bir muhim tarkibiy qismidir, chunki har qanday mahsulot yoki xizmat ma'lumotni biror joyda saqlashi kerak. Shunga ko'ra, to'liq stek ishlab chiqaruvchisi kamida bir nechta eng mashhur ma'lumotlar bazasi tizimlarini va ular bilan qanday ishlashni bilishi kerak. Bugungi kunda eng mashhur ma'lumotlar bazasi tizimlari MySQL, MongoDB, Redis, Oracle, SQLServer va boshqalar. Ular orasida MongoDB turli Internet loyihalari uchun ma'lumotlar bazasi sifatida eng mashhurdir, MySQL va Oracle korporativ mahsulotlar sohasida backend uchun eng mashhurdir va Redis ko'pincha keshlash va tizim ish faoliyatini yaxshilash uchun ishlatiladi.

  5. Menejment va yumshoq ko'nikmalar.

    Ammo bu sohada yaxshi natijalarga erishish uchun ba'zi texnologiya yoki dasturlash tilini o'rganish etarli bo'lmaydi. Loyihani muvaffaqiyatli boshqarish ko'plab komponentlarni, jumladan, vaqtni boshqarish, rejalashtirish, yaxshi muloqot qobiliyatlari va boshqalarni o'z ichiga oladi. Va bularning barchasi asosan amaliyot orqali erishiladi.

  6. Dizayn bo'yicha asosiy bilimlar.

    Va nihoyat, dizayn bilimi, ya'ni UX/UI dizayni, garchi bazaviy darajada bo'lsa ham, to'liq stekni ishlab chiquvchining vakolatiga kiradi.

    Aytgancha, bu erda yuqoridagi texnologiyalarning barcha turlarini grafik ko'rsatish uchun mo'ljallangan yaxshi tuzilgan yo'l xaritasi .

Xulosa va istiqbollar

Yuqorida aytilganlarning barchasidan xulosa qilganingizdek, to'liq huquqli va hatto standart to'liq stek ishlab chiqaruvchisi bo'lish uchun siz ko'p vaqt va kuch sarflashingiz kerak bo'ladi. Biroq, doimiy va muntazam mashg'ulotlar vaqt o'tishi bilan ancha murakkab fanlarni o'zlashtirishga imkon beradi. Asosiysi, qaerga borishni tushunish, asosiy ko'nikmalar ustida ishlash va o'z-o'zini o'rganishni to'xtatmaslik. Muvaffaqiyatli Full stack dasturchisi bo'lish uchun bunday harakatlar qilish kerakmi, bu boshqa savol. Agar bunday ishning afzalliklari va kamchiliklari haqida gapiradigan bo'lsak, kamchiliklar aniq - siz ko'p narsalarni o'rganishingiz va juda ko'p turli xil narsalarni tushunishingiz kerak. Plyuslar yanada murakkabroq. To'liq stekni ishlab chiquvchi odatda yuqori ixtisoslashgan dasturchilarga qaraganda loyihaga ko'proq ta'sir ko'rsatish imkoniyatiga ega. Ko'pchilik uchun bu ishdan qoniqishni oshiradi va yana ChSV gullaydi va hidlaydi. Muvaffaqiyatli rivojlanish uchun zarur bo'lgan barcha texnologiyalar va ko'nikmalarni tushunish ba'zan haqiqatan ham cheksiz imkoniyatlarni ochib beradi. To'liq stekni ishlab chiquvchilar ko'pincha muvaffaqiyatli IT-tadbirkorlar bo'lishadi, deb ishoniladi. Va umuman olganda, bunday mahoratga ega bo'lgan odam, albatta, hech qanday inqirozdan qat'i nazar, ishsiz qolmaydi .
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION