Шлях архітэктара: сертыфікацыя і апусканне ў прадукт

Практычна кожны распрацоўнік задаецца пытаннямі, як яму варта развіваць свае навыкі і які кірунак росту абраць: вертыкальнае - гэта значыць, стаць кіраванцам, альбо гарызантальнае - фулстэк. Шматгадовая праца над адным прадуктам, насуперак міфам, становіцца не абмежаваннем, а карыснай магчымасцю. У гэтым артыкуле мы дзелімся досведам нашага backend распрацоўніка Аляксея, які прысвяціў 6 гадоў сертыфікацыям і прайшоў за гэты час шлях да архітэктара.

Шлях архітэктара: сертыфікацыя і апусканне ў прадукт

Хто такі архітэктар

Архітэктар у IT (тэхлід) - гэта распрацоўшчык высокага ўзроўню, які займаецца глабальнымі пытаннямі ў IT-праектах. Ён апускаецца ў бізнес-працэсы заказчыка і дапамагае вырашаць яго задачы з дапамогай тэхналогій, а таксама вызначае, як будзе ўладкована тая ці іншая інфармацыйная сістэма.

Такому прафесіяналу неабходна не толькі разбірацца ў асобных прадметных абласцях, але і бачыць увесь працэс:

  • Пастаноўка бізнес-задачы.
  • Распрацоўка, у тым ліку праграмаванне, падрыхтоўку, захоўванне і апрацоўку дадзеных.
  • Разгортванне і падтрымка інфраструктуры.
  • Тэставанне.
  • Дэплой.
  • Аналітыка і эксплуатацыйнае абслугоўванне.

Гэта азначае ўменне паставіць сябе на месца любога спецыяліста або каманды ў жыццёвым цыкле распрацоўкі, знутры зразумець бягучы стан сістэм, выявіць дапушчаныя памылкі, сфармуляваць мэты. Часам - уласнаручна правесці аператыўнае ўмяшанне.

Шлях прафесійнага развіцця ад распрацоўніка да архітэктара займае працяглы час - як правіла, некалькі гадоў. Для гэтага распрацоўшчыку патрэбны як практычныя навыкі, так і веданне тэорыі, якое можна пацвердзіць міжнароднай сертыфікацыяй.

Больш за 5 гадоў на адным праекце - руціна або магчымасць для росту?

Некалькі гадоў таму мы пачалі працу над буйной медыцынскай ІТ-сістэмай для замежнага замоўца. У гэтым маштабным праекце існавалі пэўныя праблемы:

  • абмежаваныя доступы;
  • нестабільны прад;
  • неверагодна расцягнутыя спрынты і працяглыя ўзгадненні.

"Час павышаць кваліфікацыю", - Да такога рашэння прыйшоў адзін з вядучых распрацоўшчыкаў Аляксей, каб пераадолець пералічаныя складанасці і лепш разабрацца ў сістэме.

Аляксей падзяліўся досведам, з чаго лепш пачаць навучанне, якія сертыфікаты важна атрымаць, як і навошта гэта рабіць.

Крок першы: прапампуйце English

Мовы праграмавання - фундаментальны складнік распрацоўкі, але мовы для зносін не менш важныя. Асабліва ў камунікацыях з англамоўным замоўцам!

З практыкі

Аднаго дня Аляксею патэлефанавала супрацоўніца з боку заказчыка. Тады наш распрацоўшчык яшчэ не мог пахваліцца стосам сертыфікатаў - ні па тэхналогіях, ні па менеджменце, ні па камунікацыях. Магчыма, яны і не спатрэбіліся б - бо быць пісьменным спецыялістам можна і без дадатковых рэгалій. Але праблема ўсё ж узнікла.

Трэба разумець, што гутарковая мова радыкальна адрозніваецца ад пісьмовай. Калі вы цудоўна арыентуецеся ў англамоўных спецыфікацыях, але не практыкуеце listening і speaking, то ў нас для вас дрэнныя навіны. У такім выпадку тэлефонныя перамовы з партнёрамі могуць завесці ў тупік.

Аляксей на званку ўлоўліваў некаторыя знаёмыя словы, але прамова калегі была настолькі хуткай і непадобнай на класічнае вымаўленне з аўдыёурокаў, што асноўная сутнасць яе пытанняў прайшла кудысьці міма. З ветлівасці і нежадання ўскладняць сітуацыю, Аляксей хутка пагадзіўся на ўсе прапановы.

Ці трэба казаць, што ў працэсе працы былі зроблены непрыемныя адкрыцці? Наш распрацоўшчык падпісаўся на такое, ад чаго абсалютна свядома адмовіўся б, калі б прапанова паступіла на зразумелай мове.

У той момант стала зразумела, што прапампоўваць навыкі слухання і гаварынні проста неабходна. Найлепшым спосабам для гэтага былі сертыфікацыі.

Сертыфікацыя па англійскай мове

Для таго, каб палепшыць камунікацыі ў межах нашага медыцынскага праекту, Аляксей вучыўся адразу па некалькіх праграмах. У выніку ён здаў сертыфікацыю FCE – First Certificate in English. Гэта дапамагло пачаць чуць замоўца і даносіць свае думкі да яго.

лайфхакі:

Пазбягайце праграм навучання базавай англійскай. Навык павінен быць мэтавым. Калі патрабуецца англійская для дзелавога зносін - яго і трэба браць. Толькі не варта сыходзіць у крайнасці і здаваць CAE (Certificate in Advanced English). Яго асаблівасць — sophisticated words, спецыфічныя выразы, якія ў міжнародных зносінах амаль не выкарыстоўваюцца.

Шлях архітэктара: сертыфікацыя і апусканне ў прадукт

Крок другой: сертыфікацыя па ўсім тэхналагічным стэку

Першапачаткова аснову праекту складала тэхналогія аб'ектна-рэляцыйнага адлюстравання ORM. Каманда распрацоўшчыкаў з боку заказчыка ганарылася сваім стварэннем, бо ўсё было зроблена з ужываннем перадавых канцэпцый, складана і крута.

Тым не менш, праблемы на продзе – у прыватнасці, увесь час які завісае SQL-сервера, былі не рэдкасцю. Даходзіла да таго, што тыпавым вырашэннем праблемы быў перазапуск службы. Заказчык тэлефанаваў тымліду і паведамляў, што час перазапускацца. Нарэшце мы вырашылі з гэтым скончыць.

Заказчык пажадаў прапрацаваць перфоманс сістэмы - для гэтага трэба было ўкараніць прафіляванне і рэгулярна праводзіць аптымізацыю. У якасці інструмента прафілявання на той момант - прыкладна ў 2015 годзе - выбралі Ants Profiler, але той праявіў сябе слаба. Пры малой дэталізацыі складана было атрымаць інфармацыю аб крытычным блоку кода. Пры максімальнай дэталізацыі Ants Profiler пачынаў змяняць код так, што працаздольнасць сістэм апынялася пад пагрозай - там, дзе было наладжана прафіляванне, усё проста падала. Таму мы змянілі падыход.

Мы пачалі з аналізу статыстыкі

Пры аналізе статыстыкі прода стала ясна, што 95% прац на серверы маюць прымітыўную бізнэс-логіку ў 4 радкі. Для іх дастаткова было аднаго SQL-запыту, а не поўнага мноства запытаў, згенераванага блокам бізнес-логікі з ORM.

Аляксей прапанаваў і рэалізаваў захоўваемую працэдуру па перамяшчэнні работ без ORM. Ідэя супярэчыла звыклай парадыгме праекта, тымлід сустрэў яе насцярожана, але заказчык усё прыняў і запытаў укараненне. Гэта не было дзіўна, бо новы метад дазваляў паменшыць затрымкі ў апрацоўцы на продзе з чатырох гадзін да некалькіх хвілін - у сярэднім у 98 разоў.

І ўсё ж у нас заставаліся сумневы: гэта дакладнае рашэнне ці пытанне асабістых пераваг? Веру ва ўсемагутны З # і ORM пахіснула выпадковасць, якая паказала ўсю сілу простых рашэнняў.

Кейс другі

Каманда напісала запыт для працы з дадзенымі ў рамках парадыгмы ORM, складзены па ўсіх правілах, без памылак. Яго апрацоўка займала 2-3 хвіліны, і гэтыя параметры падаваліся прымальнымі. Аднак, альтэрнатыўная рэалізацыя з дапамогай найпростых селектаў і view забяспечыла вынік хутчэй - за 2 секунды.

Стала відавочна, што пара абраць адмыслоўца, які мінуе сертыфікацыю па ўсім стэку праекту, каб разабрацца ва ўсіх нюансах і абраць аптымальны метад. Гэтую задачу ўзяў на сябе Аляксей.

Першыя сертыфікаты

Для разумення сутнасці Аляксей прайшоў некалькі сертыфікацый Microsoft, якія ахапілі ўвесь тэхналагічны стэк праекта:

  • TS: Windows Applications Development with Microsoft .NET Framework 4
  • TS: Праграмнае забеспячэнне для Microsoft .NET Framework 4 Programming in C#
  • TS: Microsoft .NET Framework 3.5 Windows Forms Application Development
  • PRO: Designing and Developing Windows Applications з дапамогай Microsoft .NET Framework 3.5
  • PRO: Designing and Developing Windows-based Applications з дапамогай Microsoft .NET Framework
  • TS: Microsoft .NET Framework 2.0 – Windows-based Client Development

Імкнучыся аптымізаваць працу над новым праектам, каманда прыйшла да наступных высноў:

  • Для працаздольнасці сістэм неабходна выконваць правілы напісання кода: не водступы і каментары, а тэхнічныя характарыстыкі - колькасць зваротаў да баз, нагрузка на сервер і многае іншае.
  • Ужыванне супярэчлівых канцэпцый багата непрыемнасцямі. Канцэпцыя баз дадзеных - тэорыя мностваў, у той час як ORM - канцэпцыя аперацый.
  • Ідэі, якія парушаюць звыклы парадак рэчаў, могуць сустрэць супраціўленне ў камандзе. Распрацоўка - гэта таксама ўзаемаадносіны і ўменне аргументаваць свой пункт гледжання.
  • Сертыфікацыя пашырае далягляд і дазваляе зразумець, што можна выкарыстоўваць, а таксама што можна не выкарыстоўваць.

Шлях архітэктара: сертыфікацыя і апусканне ў прадукт

Крок трэці: вывучайце не толькі код

Пры працы над маштабнымі IT-рашэннямі важна мноства фактараў. Напрыклад, не кожны распрацоўшчык звяртае ўвагу на параметры сеткі - але нават яе прапускная здольнасць можа ўплываць на рашэнне бізнес-задачы.

Разуменне гэтага даюць сертыфікацыі 98 серыі:

Яны дазваляюць шырэй зірнуць на рэчы і выйсці з абмежаванай канцэпцыі "толькі код". Гэта Fundamentals, асновы, але яны важныя, каб зразумець усё на глыбейшым ўзроўню.

Сертыфікацыі 98 серыі ўяўляюць сабой невялікія тэсты - 30 пытанняў на 45 хвілін.

Крок чацвёрты: кіраванне працэсамі

Праца з клінікамі - больш адказнае мерапрыемства, чым, дапусцім, стварэнне мабільнай гульні. Тут нельга дадаць фічу і выкаціць на прод - важна выканаць працэс узгаднення і ўнясення шматлікіх правак ад заказчыка, бо на коне здароўе і жыцці людзей.

Тыповы Agile не даваў жаданых вынікаў на гэтым праекце, і кожны спрынт доўжыўся дастаткова доўга. Паміж дэплоямі праходзіла ад 6 месяцаў да года.

Да таго ж, чыста тэхнічна немагчыма было прывесці працэсы дзесяці абслугоўваных клінік да нейкага агульнага назоўніка.

Для таго, каб у гэтых умовах больш аператыўна атрымліваць вынік, распрацоўшчыкам патрабаваліся асабістая адказнасць і маштабнае бачанне працэсаў - а значыць, пастаянная канцэнтрацыя ўвагі і высокая кваліфікацыя.

Калі спецыяліст пагружаны ў працэс, ён дакладна бачыць вынікі, прычыны і следствы, цэласную карціну. Гэта з'яўляецца адначасова фактарам дадатковай матывацыі і дасведчанасці, паляпшэнні здольнасці вырашаць задачы і праблемы.

Пры добра адладжанай інфраструктуры, пісьменна выбудаванай архітэктуры і аптымальным кодзе адзін чалавек можа браць на сябе шматлікія працэсы. Аднак гэта не значыць, што трэба вырошчваць універсальных салдат, якія здольныя ў адзіночку весці праект. Камунікацыі і камандная праца крытычна важныя.

У камандзе кожны распрацоўшчык разумее, што калегі залежаць ад яго дзеянняў. Эканомія ў 5 хвілін на этапе распрацоўкі - гэта, магчыма, 5 дадатковых гадзін тэсціравання. Дзеля разумення гэтага важна наладзіць камунікацыі.

У нашым праекце падмогай у засваенні працэсаў Аляксею паслужылі сертыфікаты ад EXIN:

  • M_o_R Foundation Certificate in Risk Management
  • Agile Scrum Foundation
  • IT Service Management Foundation
  • EXIN Business Information Management Foundation
  • PRINCE2 Foundation Certificate in Project Management
  • Test Engineer Certificate
  • Microsoft Operations Framework Foundation
  • Agile Service Projects

На edX былі пройдзеныя курсы, якія дапамаглі паглядзець на сістэму з пункта гледжання статыстыкі і ашчаднага праграмавання і пазней падштурхнулі да атрымання сертыфіката архітэктара:

  • Lean Production
  • Six Sigma: Analyze, Improve, Control
  • Six Sigma: Define and Measure

Згодна з прынцыпам "Шэсць сігмаў" (Six Sigma), статыстычны кантроль забяспечвае якасны вынік з надзвычай высокай верагоднасцю.

Падвышаючы свой узровень, распрацоўнік, як правіла, прыходзіць да наступных высноваў:

  • Працуйце не шмат, а эфектыўна.
  • Не ўскладняйце жыццё ў пагоні за вонкавым бокам: наварочаныя тэхналогіі не абавязкова вырашаюць праблемы лепш.
  • Сябруйце са спецыялістамі ўсіх стадый цыкла і высвятляйце іх болі. Архітэктар абавязаны валодаць працэсамі: выяўленне праблемы, пастаноўка задачы, праектаванне тапалогіі сеткі, распрацоўка, тэсціраванне, сапарт, эксплуатацыя.
  • Правярайце кожную фічу ад і да.
  • Бывае, што IT-працэсы не адпавядаюць бізнэс-працэсам, і з гэтым трэба дужацца.

Шлях архітэктара: сертыфікацыя і апусканне ў прадукт

Крок пяты: зразумець архітэктуру праз прызму Big Data

На праекце мы мелі справу з даволі вялікімі базамі даных. Прынамсі, так падавалася да пэўнага моманту. Калі Аляксей прыступіў да вывучэння вялікіх дадзеных на edX, высветлілася, што 1,5 Tb на праекце – гэта малая база дадзеных. Сур'ёзныя маштабы - ад 10 Tb, і там патрабуюцца іншыя метады.

Наступным крокам на шляху сертыфікацыі стаў курс па вялікіх звестках. Ён дапамог зразумець арганізацыю патоку дадзеных і паскорыць аперацыі на продзе. А таксама звярнуць увагу на малыя прылады, напрыклад, пачаць выкарыстоўваць Excel для рашэння асобных мікразадач.

Сертыфікат:
Microsoft Professional Program: Big Data Certificate

Шлях архітэктара: сертыфікацыя і апусканне ў прадукт

Крок шосты: ад распрацоўніка - да архітэктара

Пасля атрымання ўсіх пералічаных сертыфікатаў, яшчэ будучы распрацоўшчыкам, Аляксей пачаў разумець, што атрыманая інфармацыя мае высокі ўзровень абстракцыі, прычым гэта далёка не дрэнна.

Маштабнае бачанне працэсаў падводзіць да ўзроўню архітэктара, адной з вышэйшых прыступак сертыфікацыі.

У пошуках сертыфікацыі архітэктара Аляксей выйшаў на Certified Software Architect – Microsoft Platform ад Sundblad & Sundblad. Гэта праграма, прызнаная Microsoft, яе распрацоўка пачалася яшчэ 14 гадоў таму пры супрацоўніцтве галаўнога і шведскага офісаў кампаніі. Яна ахоплівае .NET Framework, збор патрабаванняў, кіраванне патокам інфармацыі і многія іншыя пытанні на высокім узроўні і лічыцца важкім пацвярджэннем навыкаў архітэктара.

У рамках праграмы былі курсы для вывучэння. Сертыфікацыя сістэматызавала веды і дазволіла выйсці на новы віток развіцця - ад распрацоўшчыка да архітэктара.

Шлях архітэктара: сертыфікацыя і апусканне ў прадукт

Падводзячы вынікі

Як адзначае Аляксей, у працэсе працы з маштабнай IT-сістэмай важна памятаць, што праграмаванне – не дарагое забаўка, а інструмент для вырашэння бізнес-задач. Сутыкаючыся з тым ці іншым выклікам, абавязкова трэба прапісваць business value, каб праект не зайшоў у тупік.

Архітэктар мае асаблівы погляд на праграмаванне і яго элементарныя складнікі:

  • Стварэнне і/або падтрымка патоку дадзеных
  • Выманне патоку інфармацыі на падставе патоку даных
  • Выманне патоку каштоўнасці на падставе патоку інфармацыі
  • Манетызацыя патоку каштоўнасці

Калі глядзець на праект вачыма архітэктара, пачынаць трэба з канца: сфармуляваць каштоўнасць і затым ісці да яе праз паток даных.

Архітэктар выконвае правілы распрацоўкі, маючы глабальнае бачанне праекту. Прыйсці да яго праз практыку і ўласныя памылкі практычна немагчыма - дакладней, можна, але вельмі доўга. Сертыфікацыя дазваляе пашырыць кругагляд і паглядзець на поўны кантэкст кожнага пытання, азнаёміцца ​​з досведам тысяч прафесіяналаў і выпрацаваць навык эфектыўнага рашэння задач.

На сённяшні дзень мы працуем з вышэйапісанай медыцынскай сістэмай больш за пяць гадоў і дабіліся значных паляпшэнняў. За гэты час Аляксей здаў больш за 20 сертыфікацыйных іспытаў:

  1. TS: Windows Applications Development with Microsoft .NET Framework 4
  2. TS: Праграмнае забеспячэнне для Microsoft .NET Framework 4 Programming in C#
  3. TS: Microsoft .NET Framework 3.5 Windows Forms Application Development
  4. PRO: Designing and Developing Windows Applications з дапамогай Microsoft .NET Framework 3.5
  5. PRO: Designing and Developing Windows-based Applications з дапамогай Microsoft .NET Framework
  6. TS: Microsoft .NET Framework 2.0 – Windows-based Client Development
  7. 98-361: Software Development Fundamentals
  8. 98-364: Database Fundamentals
  9. M_o_R Foundation Certificate in Risk Management
  10. Agile Scrum Foundation
  11. IT Service Management Foundation
  12. EXIN Business Information Management Foundation
  13. PRINCE2 Foundation Certificate in Project Management
  14. Test Engineer Certificate
  15. Microsoft Operations Framework Foundation
  16. Agile Service Projects
  17. Lean Production
  18. Six Sigma: Analyze, Improve, Control
  19. Six Sigma: Define and Measure
  20. Microsoft Professional Program: Big Data Certificate
  21. Certified Software Architect – Microsoft Platform

Шлях архітэктара: сертыфікацыя і апусканне ў прадукт

Здаўшы ўсе іспыты, Аляксей вырас ад вядучага распрацоўшчыка да архітэктара праекта. Пры гэтым сертыфікацыя стала магутным сродкам як прафесійнага развіцця, так і напрацоўкі рэпутацыі ў вачах замоўца.

"Сертыфікацыйны таран" дапамог атрымаць доступ да асобных крытычных працэсаў, якія мелі патрэбу ў кантролі і прапрацоўцы. Еўрапейскія заказчыкі IT-рашэнняў, як правіла, высока цэняць сертыфікаваных спецыялістаў і гатовы прадаставіць ім больш свабоды дзеянняў.

Дзякуй за ўвагу! Спадзяемся, што артыкул быў для вас карысны.

Крыніца: habr.com

Дадаць каментар