Dastur arxitektori bo'lish uchun yo'l

Tasvir manbai: monument vodiysi o'yini

Dasturchi qanday martaba imkoniyatlariga ega ekanligi haqida hech o'ylab ko'rganmisiz? Qaysi yo'nalishlar ochiq, qanday ufqlar o'sishi kerak. Eng muhimi, 45 yoshdan oshgan ishlab chiqaruvchilar qaerda? 45 yoshdan oshgan do'stlaringiz orasida dasturchi bormi? Men bu yoshdan katta bo'lgan bir nechta ishlab chiquvchilarni bilaman va ularning ko'plari, hatto kun bo'yi zarb kartalarini ko'radigan hardkor dasturchilar.

Ishlab chiquvchiga bir nechta martaba yo'nalishlari kiradi:

● Birinchisi aniq va siz ishlayotgan hududda o'sishi kerak. Agar siz o'smir bo'lsangiz, u holda o'rtada, keyin katta va etakchi rollarda ishlang.

● Boshqa texnologiya ustuniga o'tish. Ishlab chiqaruvchilarning ko'p qismi iOS va Android OS paydo bo'lganda mobil joyga ko'chib o'tdi.

● Menejer roliga o'ting. Ishlab chiquvchi sifatida men malakali menejerlarning etishmasligini ko'rganman. Aqlli menejerlar qimmat, shuning uchun ular kam. Agar menejer texnik ma'lumotga ega bo'lsa, bu unga ishlab chiquvchilar bilan bir xil to'lqin uzunligida bo'lishiga imkon beradi.

● Dastur arxitektoriga aylaning. Ushbu yo'nalish ushbu turkum maqolalarda ko'rib chiqiladi.

● IT-dan xalos bo'ling. Ba'zan bu sodir bo'ladi. O'zingiz yoqtirgan narsani qilish hech qachon kech emas.

Maqolalar seriyasi

  1. Dastur arxitektori bo'lish uchun yo'l
  2. Dastur arxitekturasidagi manfaatdor tomonlar
  3. Dastur arxitektorlarining turlari
  4. Dasturiy ta'minot arxitekturasidagi sifat xususiyatlari
  5. Dastur arxitekturasidagi hujjatlar
  6. Dasturiy ta'minot arxitekturasidagi sertifikatlar
  7. Dasturiy ta'minot arxitekturasidagi kitoblar
  8. Tizim dizayni cheat varag'i

Ha, bu mening yo'lim edi

So'nggi sakkiz yil ichida men Java EE bilan ishladim, keyin iOS-ga o'tdim va jamoaning etakchisiga aylandim. Men turli xil dasturchilar guruhlarini, shu jumladan Android va veb-steklarni boshqarardim. Soketlar va REST API bilan kompaniya tomonidan ishlab chiqilgan bir nechta xizmatlar uchun tarmoq sathining arxitekturasini yaratdi. Men rahbarlik roli va ikki yil davomida jamoaviy rahbarlik lavozimida ish olib borish istiqbollari bilan tanishdim. Keyingi rolimda mening maqsadim dasturiy ta'minot arxitektori sifatida ulg'ayishdir.

Ko'pgina ishlab chiquvchilar uchun loyihadagi me'morning vazifasi ko'pincha noaniq, shuning uchun ushbu maqolalar seriyasida men shu bilan bog'liq savollarga javob topishga harakat qilaman. Arxitektor kim, mas'uliyat doirasi nima va bu yo'nalishda qanday qilib o'sishni va o'zim va ushbu yo'ldan borishni istagan yangi boshlanuvchilar uchun qanday harakat rejasini tuzaman?

Bundan kim foyda ko'rishi mumkin?

Ushbu turkum maqolalar, agar siz quyidagi toifalardan biriga tegishli bo'lsangiz, sizga yordam beradi:

● IT dasturchisi yoki muhandisi. Siz hali ham ishlab chiquvchi sifatida o'syapsiz, ammo siz o'z martabaingizni rejalashtirmoqdasiz. Maqsadlar dastlab noaniq bo'lsa ham, ongli ravishda strategik maqsadlarni qo'ygan kishi, u qaerga borishni rejalashtirmagan odamga qaraganda ularga tezroq erishadi.

● Jamoa rahbari, etakchi dastur muhandisi. Siz dasturiy ta'minotni ishlab chiqish intizomining eng yuqori bosqichidasiz. Keyinchalik o'sib borish uchun siz yana bitta zamonaviy texnologiyalarni o'rganish, dasturiy ta'minot muhandisligidan tashqarida martaba orttirish yoki dasturiy ta'minot arxitektori bo'lish imkoniyatiga egasiz.

● Dastur arxitektori. Siz yaqinda ushbu lavozimni egalladingiz yoki uzoq vaqt davomida ushbu sohada ishlamoqdasiz. Ehtimol, bunday mutaxassisning asosiy fazilatlaridan biri, odam doimo bilmaydigan sohalar borligini va o'quv jarayoni doimiy ekanligini tushunishdir.

● IT menejeri. Siz menejer bo'lsangiz ham, siz hech bo'lmaganda o'z qo'l ostingizdagi yoki hamkasblaringiz nima qilayotganini yaxshi tushunishingiz kerakligini juda yaxshi tushunasiz. Menejmentning o'tkir muammosi menejerning o'zi boshqaradigan sohada texnik nosog'lomligidir.

Me'mor kim?

Keyinchalik aniq savollarga o'tishdan oldin, dasturiy ta'minot arxitektorining roli va majburiyatlarini aniqlash kerak.

Dasturiy ta'minot arxitektori yuqori darajadagi dizayn tanlovini amalga oshiradigan va texnik standartlarni, shu jumladan dasturiy kodlash standartlarini, vositalarini va platformalarini talab qiladigan dasturiy ta'minot mutaxassisi. Etakchi mutaxassis bosh me'mor deb nomlanadi. (Vikipediya, Bepul Entsiklopediya, t. "Dastur arxitektori", https://en.wikipedia.org/wiki/Software_architect

Ko'pgina yuqori darajadagi lavozimlar singari, bu rolni aniq belgilovchi mezonlar mavjud emas. Biroq, me'morning martaba rivojlanishiga hissa qo'shadigan bir nechta mas'uliyat va fazilatlarni aniqlash mumkin.

Avval me'morning xususiyatlarini ko'rib chiqaylik:

● Aloqa. Ko'plab dasturiy ta'minot arxitektorlari bilan suhbatlashib, men ushbu mutaxassisning ajralmas xususiyatlaridan biri ekanligini eshitdim. Ish kunida ular mijozlar bilan biznes tilida, barcha darajadagi menejerlar, biznes-tahlilchilar va ishlab chiquvchilar bilan gaplashishlariga to'g'ri keladi. Agar sizda tabiiy xarizma bo'lsa va odamlarni qanday ishontirishni bilsangiz, unda bu juda katta ortiqcha bo'ladi, chunki sizning harakatlaringizni to'g'ri tushuntirish juda muhimdir. Me'morlar aniq, ravon va mohir ma'ruzachilar. Men gapirgan dasturiy ta'minot me'morlari aloqa va ishontirish bo'yicha yuqori malakaga ega. Ushbu xarakteristikaning eng muhimligining yana bir sababi shundaki, bu roldagi me'mor munozaralarni olib borish jarayonlarida ishtirok etadi va ko'pincha barcha ishtirok etadigan tomonlar uchun maqbul va foydali bo'lgan murosaga erishish kerak.

● Keng va chuqur texnik bilimlar. Bu aniq bo'lishi kerak, chunki tibbiy ma'lumotga ega bo'lgan dasturiy ta'minot arxitektoriga aylanib bo'lmaydi. Bundan tashqari, me'mor odatda bir nechta texnologik ustunlarni munosib darajada biladi va bir necha boshqa narsalarni yaxshi bilishi kerak. Dasturiy ta'minot arxitektori ko'p sonli texnik hujjatlar, hisobotlar va diagrammalar tuzishga tayyor bo'lishi kerak.

● Mas'uliyat. Me'mor qarorlari odatda eng qimmat ekanligini tushunishingiz kerak. Shuning uchun, bu lavozimda bo'lgan odam o'z ishiga va qabul qilinadigan qarorlarga eng mas'uliyatli munosabatda bo'lishi kerak. Agar ishlab chiqaruvchining xatosi bir odamning ikki kunlik mehnatini talab qilsa, unda me'morning xatosi murakkab loyihalarda bir necha yilni tashkil qilishi mumkin!

● Stressga qarshilik. Siz qaror qabul qilishingiz kerak, chunki bu rolda sizdan buni qilish so'raladi va sizga javob kerak bo'ladi. Siz turli sohalardagi turli xil odamlar bilan ishlaysiz va tez o'zgarib turadigan talablar yoki hatto o'zgaruvchan biznes muhitiga duch kelishingiz kerak. Shu sababli, stressga tayyor bo'lish va SHdan qutulishning ba'zi usullarini izlash kerak. Ish zavq keltirganda har doim yoqimli bo'ladi. Shunday qilib, agar siz ushbu rolni faqat pul uchun tanlasangiz, unda yana bir bor o'ylab ko'ring.

● Boshqaruv qobiliyatlari. Bunga tashkilotchilik va etakchilik ko'nikmalari ham kiradi. Turli xil mutaxassislardan tarkib topgan va taqsimlanishi mumkin bo'lgan jamoani boshqarish qobiliyati juda muhimdir.

● Analitik qobiliyat. Agar mutaxassis texnologiyada keng bilimga ega bo'lsa ham, u ko'p narsalarni mustaqil ravishda sinab ko'rgan yoki turli xil loyihalarda ishtirok etgan. Bu uning fikrlash uslubini me'morga osongina o'zgartira olishiga kafolat bermaydi. Eng qimmatli vazifalardan biri - bu mavhum muammoni tizimning ba'zi bir aniq real ob'ekti ko'rinishida ifodalash qobiliyati, uni ishlab chiquvchilar allaqachon baholaydilar, loyihalashtirmoqdalar va rivojlantirmoqdalar. Abstraktsiyani jamoa a'zolari va mijozlarga yakuniy tizim ko'rinishida namoyish etish uchun mukammal aloqa ko'nikmalari zarur. Ham biznes, ham rivojlanish bilan aloqa qilish kerak, bu hali qilinishi kerak.

Agar biz me'morning vazifalari haqida gapiradigan bo'lsak, unda 19-asrdan ko'prik qurish bo'yicha mukammal misol. O'sha paytda yangi qurilgan ko'prikning sinovlari quyidagicha edi: birinchi transport vositalari bo'lganida muhandislar, me'morlar va ishchilarning asosiy guruhi ko'prik ostida turishgan. Shunday qilib, ular o'zlarining hayotini qurilishning mustahkamligiga va kuchliligiga qaratdilar. Shunday qilib, savol tug'ilsa - dasturiy ta'minot arxitektorining loyihadagi javobgarligi nimada? Javob shundaki, u hamma narsaga javobgardir.

Agar siz baland va chiroyli iboralarni rad qilsangiz, unda me'morning ishi quyidagilarni o'z ichiga oladi:

● Loyiha bo'yicha manfaatdor tomonlarni aniqlash.

● loyiha bo'yicha manfaatdor tomonlarning biznes talablari va talablarini aniqlash.

● Qabul qilingan talablar asosida butun tizimni loyihalash.

● Tizim arxitekturasini va ushbu tizimning har bir tarkibiy qismini yuqori darajada tanlash.

● Har bir komponentni va qismlar orasidagi ulanishlarni amalga oshirish texnologiyasini tanlash.

● Arxitektura obzori. Ha, ha, u mavjud.

● Kodni o'rganish.

● Loyiha hujjatlarini yozish va uni qo'llab-quvvatlash.

● Kompaniyada rivojlanishning yagona standartlarini yaratish.

● Tizim chiqarilishini keyingi iteratsiyasi paytida arxitekturani boshqarish.

Bu dasturiy ta'minot arxitektorining majburiyatlarining faqat bir qismi. Eng muhim javobgarlik - bu loyihani tashkil etilgan paytdan boshlab mahsulotni chiqarishgacha, yaxshilanishlarni rivojlantirishgacha to'liq texnik yordam berish. Va keyingi nashrlarni qo'llab-quvvatlaydi. Ish kunida turli xil vazifalar o'rtasida juda ko'p narsalarni almashtirish kerak bo'ladi.

Qanday qilib dasturiy ta'minot me'mori bo'lish mumkin?

Dastlab, dasturiy ta'minot me'mori bo'lish strategiy maqsadingizga erishishga olib keladigan muhim bosqichlarni aniqlash zarur. Men uchun kelgusi olti oy uchun bunday maqsadlar:

● Bir nechta texnologik plitalarni tushuning va sinab ko'ring. Mening hozirgi bilimlarim iOS sohasida to'plangan. Android-ni, bir nechta server tillarini sinab ko'rish, pythonni ishga tushirish va Java EE ko'nikmalarini yangilash kerak. Arxitektor to'liq ishlab chiquvchidir, shuning uchun keng texnik ma'lumotga ega bo'lish zarur.

● Adabiyotni o'qish. Ushbu yo'nalishda o'sishga yordam beradigan eng qimmatbaho kitoblar va maqolalarni aniqlash talab qilinadi. Odatda, bunday adabiyotni topishning eng samarali usuli bu sohadagi boshqa mutaxassislardan o'zlarining tavsiyalarini so'rashdir. Kelajakdagi maqolalardan birida sizga shunday adabiyotlar ro'yxatini berishni rejalashtirmoqdaman.

● Murabbiyni toping. Sizning hozirgi ish joyingizda dasturiy ta'minot arxitektorini topish maqsadga muvofiqdir. Ma'lum bir sohani noldan boshlashga qaraganda, tajribali mutaxassisdan tajriba orttirish har doim osonroq. Murabbiyingizdan to'g'ri savollarni berishga tayyor bo'lishingiz shart.

● O'quv kurslari / sertifikatlar olish. Ko'pgina kurslar va sertifikatlar mavjud, ammo ulardan ozchiliklari o'zlarining pullariga arziydi va yuqori darajadagi kurslar ko'p pul talab qiladi. Men Luxoft me'moriy kurslarida qatnashdim (http://www.luxoft-training.com/it-course/ARC-001/), bu munosib sarmoya ekanligini isbotladi. Kurs o'qituvchisi ushbu sohada professional bo'lishi va savollarga javob bera olishi juda muhimdir. Sertifikatlarga kelsak, boshlashdan oldin, arxitektorlar uchun vakolatli sertifikatlash tizimlari mavjudligini va sertifikatni olishga arziydimi yoki yo'qligini tushunish yaxshidir. Ushbu fikrni ushbu seriyaning keyingi maqolasida muhokama qilaman.

Muhim qismlardan biri aniq va barqaror rejani ko'rib chiqishdir. Qanday ishlar amalga oshirildi, nimani ko'rib chiqish kerak va qayerda tezlashtirish kerak yoki qaysi maqsad foydasiz deb olib tashlanadi.

Tayyorgarlik darajasini tekshiring

Agar siz dasturiy ta'minot arxitektori bo'lish haqida ketma-ket keladigan ushbu kirish maqola bilan qiziqsangiz yoki to'satdan bu yo'lni sinab ko'rish haqida fikrlaringiz bo'lsa, uni xohlaganingizga ishonch hosil qilishingiz kerak.

Birinchidan, odamlar hamma narsadan qo'rqishadi. Qulay status-kvodan farqli o'laroq, yangi pozitsiya, yangi turdagi stress. Albatta, tanlov har doim ham aniq emas va sizning hayotingizda biron narsani o'zgartirishga tayyorligingizga bog'liq. Shu bilan birga, bu nafaqat sizga, balki oilangizga, moliyaviy majburiyatlaringizga, ota-onalarga va boshqa omillarga bog'liq bo'lishi mumkin.

Ikkinchidan, bu yo'l bir necha yil davom etadi. Dastur arxitektoriga aylanish jarayoni bir kechada sodir bo'lmaydi. Jamoa rahbari sifatida men rasmiy lavozimga tayinlanganimdan bir yil o'tgach, nima qilishim va stress bilan qanday kurashish kerakligini tushundim. Shu bilan birga, bundan olti oy oldin, men uni norasmiy tarzda ijro etdim. Men biladigan dasturiy ta'minot arxitektorining aytishicha, u ushbu rolga ko'tarilganidan 18 oy o'tgach, uning vazifalari nimadan iboratligini tushungan. Vaqtning bunday oraliqlari o'rtacha va siz ushbu yo'nalishda harakat qilishga tayyormisiz yoki yo'qligini bilishingiz kerak. Agar sizda barqaror rejangiz bo'lmasa ham, bitta joyda qolishdan ko'ra, oldinga siljiydigan kichik qadamlarni qo'yishni boshlash yaxshiroqdir.

IT-da bir joyda turish hayotdagi turg'unlik va shaxsiy zanjirlarning sinonimi.

Tavsiya etilgan kitoblar

  • Amaliy dasturiy ta'minot arxitekturasi (3-nashr) (dasturiy ta'minot muhandisligidagi SEI seriyalari)
  • Muhim dasturiy ta'minot arxitekturasi