Gandrīz katrs izstrādātājs uzdod jautājumus par to, kā viņam vajadzētu attīstīt savas prasmes un kādu izaugsmes virzienu izvēlēties: vertikāli - tas ir, kļūstot par vadītāju, vai horizontāli - pilnu kaudzi. Daudzu gadu darbs pie viena produkta, pretēji mītiem, kļūst nevis par ierobežojumu, bet gan par noderīgu iespēju. Šajā rakstā mēs dalāmies pieredzē ar mūsu aizmugursistēmas izstrādātāju Alekseju, kurš 6 gadus veltīja sertifikācijai un šajā laikā strādāja, lai kļūtu par arhitektu.

Kas ir arhitekts
IT arhitekts (tehnoloģiju vadītājs) ir augsta līmeņa izstrādātājs, kas IT projektos nodarbojas ar globālām problēmām. Viņš iedziļinās klienta biznesa procesos un palīdz risināt viņa problēmas, izmantojot tehnoloģijas, kā arī nosaka, kā tiks strukturēta šī vai cita informācijas sistēma.
Šādam profesionālim ir ne tikai jāsaprot atsevišķas priekšmetu jomas, bet arī jāredz viss process:
- Uzņēmējdarbības problēmas iestatīšana.
- Izstrāde, ieskaitot programmēšanu, sagatavošanu, uzglabāšanu un datu apstrādi.
- Infrastruktūras izvietošana un atbalsts.
- Pārbaude.
- Izvietot.
- Analīzes un operatīvie pakalpojumi.
Tas nozīmē spēju iejusties jebkura speciālista vai komandas vietā izstrādes dzīves ciklā, izprast sistēmu pašreizējo stāvokli no iekšpuses, identificēt pieļautās kļūdas un formulēt mērķus. Dažreiz jums ir jāveic operācija pašam.
Profesionālās attīstības ceļš no izstrādātāja līdz arhitektam aizņem ilgu laiku – parasti vairākus gadus. Lai to izdarītu, izstrādātājam ir nepieciešamas gan praktiskās iemaņas, gan teorētiskās zināšanas, ko var apliecināt starptautiska sertifikācija.
Vairāk nekā 5 gadi vienā projektā – rutīna vai izaugsmes iespēja?
Pirms vairākiem gadiem mēs sākām darbu pie lielas medicīnas IT sistēmas ārzemju klientam. Šajā liela mēroga projektā bija dažas problēmas:
- ierobežota piekļuve;
- nestabils produkts;
- neticami gari sprinti un ilgi apstiprinājumi.
“Ir pienācis laiks uzlabot savas prasmes”“, - viens no vadošajiem izstrādātājiem Aleksejs nonāca pie šāda lēmuma, lai pārvarētu uzskaitītās grūtības un labāk izprastu sistēmu.
Aleksejs dalījās pieredzē, kur labāk sākt mācības, kādus sertifikātus svarīgi iegūt, kā un kāpēc to darīt.
Pirmais solis: uzlabojiet angļu valodas zināšanas
Programmēšanas valodas ir būtiska attīstības sastāvdaļa, taču tikpat svarīgas ir arī saziņas valodas. Īpaši komunikācijā ar angliski runājošu klientu!
No prakses
Kādā jaukā dienā Aleksejs saņēma zvanu no darbinieka no klienta puses. Tajā laikā mūsu izstrādātājs vēl nevarēja lepoties ar sertifikātu gūzmu - ne tehnoloģijās, ne vadībā, ne komunikācijās. Varbūt tie nebūtu noderīgi - galu galā jūs varat būt kompetents speciālists bez papildu regālijām. Bet problēma joprojām radās.
Mums jāsaprot, ka runātā valoda radikāli atšķiras no rakstītās valodas. Ja esat labi pārzinājis angļu valodas specifikācijas, bet nepraktizējat klausīšanos un runāšanu, mums ir sliktas ziņas. Šādā gadījumā telefonsarunas ar partneriem var novest strupceļā.
Aleksejs zvana laikā uztvēra dažus pazīstamus vārdus, taču kolēģes runa bija tik ātra un atšķirībā no klasiskās izrunas audio nodarbībās, ka viņas jautājumu galvenā būtība aizgāja kaut kur garām. Aiz pieklājības un nevēlēšanās sarežģīt situāciju, Aleksejs ātri piekrita visiem priekšlikumiem.
Vai man jāsaka, ka darba laikā tika izdarīti nepatīkami atklājumi? Mūsu izstrādātājs parakstījās uz kaut ko, no kā viņš būtu absolūti apzināti atteicies, ja piedāvājums būtu nācis saprotamā valodā.
Tajā brīdī kļuva skaidrs, ka vienkārši nepieciešams uzlabot klausīšanās un runas prasmes. Labākais veids, kā to izdarīt, bija sertifikāti.
Angļu valodas sertifikāts
Lai uzlabotu komunikāciju mūsu medicīnas projekta ietvaros, Aleksejs vienlaikus mācījās vairākās programmās. Rezultātā viņš nokārtoja FCE – pirmo angļu valodas sertifikātu. Tas man palīdzēja sākt dzirdēt klientu un nodot viņam savas domas.
Datorurķēšana:
Izvairieties no pamata programmām angļu valodā. Prasmei jābūt mērķtiecīgai. Ja jums ir nepieciešama angļu valoda biznesa saziņai, jums to vajadzētu lietot. Vienkārši nekrītiet galējībās un iegūstiet CAE (sertifikātu angļu valodā). Tās īpatnība ir izsmalcināti vārdi, specifiski izteicieni, kas gandrīz nekad netiek lietoti starptautiskajā saziņā.

Otrais solis: sertifikācija visā tehnoloģiju kaudzītē
Sākotnēji projekts tika balstīts uz ORM objektu relāciju kartēšanas tehnoloģiju. Izstrādes komanda no klienta puses lepojās ar savu ideju, jo viss tika darīts, izmantojot progresīvas koncepcijas, sarežģīti un forši.
Tomēr problēmas ražošanā, jo īpaši pastāvīgi sasalstošs SQL serveris, nebija nekas neparasts. Tas nonāca līdz vietai, kur tipisks problēmas risinājums bija pakalpojuma restartēšana. Klients piezvanīja komandas vadītājam un teica, ka ir pienācis laiks restartēt. Beidzot nolēmām to beigt.
Pasūtītājs vēlējās izstrādāt sistēmas veiktspēju – tam bija nepieciešams ieviest profilēšanu un regulāri veikt optimizāciju. Toreiz, ap 2015. gadu, kā profilēšanas rīks tika izvēlēts Ants Profiler, taču tas darbojās slikti. Ar zemu detalizāciju bija grūti iegūt informāciju par kritisku koda bloku. Maksimāli detalizēti Ants Profiler sāka mainīt kodu tā, ka sistēmu funkcionalitāte tika apdraudēta – tur, kur tika konfigurēta profilēšana, viss vienkārši avarēja. Tāpēc mēs mainījām savu pieeju.
Mēs sākām ar statistikas analīzi
Analizējot pārdošanas statistiku, kļuva skaidrs, ka 95% no servera darba ir primitīva 4 rindiņu biznesa loģika. Viņiem pietika ar vienu SQL vaicājumu, nevis pilnu vaicājumu komplektu, ko ģenerēja biznesa loģikas bloks ar ORM.
Aleksejs ierosināja un ieviesa saglabātu procedūru darbu pārvietošanai bez ORM. Ideja bija pretrunā ar ierasto projekta paradigmu, komandas vadītājs to uztvēra piesardzīgi, bet pasūtītājs visu pieņēma un pieprasīja realizāciju. Tas nebija pārsteidzoši, jo jaunā metode ļāva samazināt ražošanas aizkavēšanos no četrām stundām līdz vairākām minūtēm - vidēji 98 reizes.
Tomēr mums bija šaubas: vai tas ir pareizais lēmums vai personīgās izvēles jautājums? Ticību visvarenajam C# un ORM satricināja negadījums, kas parādīja vienkāršu risinājumu pilnu spēku.
Otrais gadījums
Komanda uzrakstīja vaicājumu darbam ar datiem ORM paradigmas ietvaros, kas tika apkopota saskaņā ar visiem noteikumiem, bez kļūdām. Tās apstrāde aizņēma 2-3 minūtes, un šie parametri šķita pieņemami. Tomēr alternatīva ieviešana, izmantojot vienkāršus atlasītājus un skatus, nodrošināja rezultātus ātrāk - 2 sekundēs.
Kļuva skaidrs, ka ir pienācis laiks izvēlēties speciālistu, kurš izietu sertifikāciju visā projektu kaugā, lai izprastu visas nianses un izvēlētos optimālo metodi. Aleksejs uzņēmās šo uzdevumu.
Pirmie sertifikāti
Lai saprastu būtību, Aleksejs izgāja cauri , kas aptver visu projekta tehnoloģiju kopumu:
- TS: Windows Lietojumprogrammu izstrāde, izmantojot Microsoft .NET Framework 4
- TS: piekļuve datiem, izmantojot Microsoft .NET Framework 4 programmēšanu C#
- TS: Microsoft .NET Framework 3.5 Windows Veidlapu lietojumprogrammu izstrāde
- PRO: Projektēšana un izstrāde Windows Lietojumprogrammas, kas izmanto Microsoft .NET Framework 3.5
- PRO: Projektēšana un izstrāde Windowsuz Microsoft .NET Framework balstītas lietojumprogrammas
- TS: Microsoft .NET Framework 2.0 — Windowsuz klientu balstītu izstrādi
Mēģinot optimizēt darbu pie jaunā projekta, komanda nonāca pie šādiem secinājumiem:
- Lai sistēmas darbotos, ir jāievēro koda rakstīšanas noteikumi: nevis atkāpes un komentāri, bet gan tehniskie parametri - datu bāzu zvanu skaits, servera slodze un daudz kas cits.
- Pretrunīgu jēdzienu piemērošana var radīt nepatikšanas. Datu bāzu jēdziens ir kopu teorija, savukārt ORM ir operāciju jēdziens.
- Idejas, kas izjauc ierasto lietu kārtību, komandā var saskarties ar pretestību. Attīstība ir saistīta arī ar attiecībām un spēju argumentēt savu viedokli.
- Sertifikācija paplašina redzesloku un ļauj saprast, ko drīkst un ko nedrīkst.

Trešais solis: uzziniet vairāk par kodu
Strādājot pie liela mēroga IT risinājumiem, svarīgi ir daudzi faktori. Piemēram, ne katrs izstrādātājs pievērš uzmanību tīkla parametriem, bet pat tā joslas platums var ietekmēt biznesa problēmas risinājumu.
Izpratne par to ir dota 98 sērijas sertifikācija:
Tie ļauj paskatīties uz lietām plašāk un izkļūt no ierobežotā “tikai kods” koncepcijas. Tie ir pamati, pamati, bet tie ir svarīgi, lai visu saprastu dziļākā līmenī.
98. sērijas sertifikāti ir īsi testi – 30 jautājumi 45 minūtēm.
Ceturtais solis: procesu vadība
Darbs ar klīnikām ir svarīgāks pasākums nekā, piemēram, mobilās spēles izveide. Šeit jūs nevarat pievienot funkciju un izlaist to ražošanai — ir svarīgi sekot apstiprināšanas procesam un veikt daudzus labojumus no klienta, jo uz spēles ir likta cilvēku veselība un dzīvība.
Tipisks Agile nedeva vēlamos rezultātus šajā projektā, un katrs sprints ilga diezgan ilgu laiku. Starp izvietošanu pagāja no 6 mēnešiem līdz gadam.
Turklāt desmit apkalpoto klīniku procesus novest pie kāda kopsaucēja tehniski nebija iespējams.
Lai šajos apstākļos ātrāk gūtu rezultātus, izstrādātājiem bija nepieciešama personīga atbildība un liela mēroga procesu redzējums – tas nozīmē pastāvīgu koncentrēšanos un augstu kvalifikāciju.
Kad speciālists ir iegrimis procesā, viņš skaidri redz rezultātus, cēloņus un sekas, kopainu. Tas vienlaikus ir papildu motivācijas un apziņas faktors, uzlabojot spēju risināt problēmas un problēmas.
Ar labi funkcionējošu infrastruktūru, labi uzbūvētu arhitektūru un optimālu kodu viens cilvēks var uzņemties daudzus procesus. Taču tas nenozīmē, ka ir jāaudzina universālie karavīri, kuri spēj vadīt projektu vieni. Komunikācija un komandas darbs ir ļoti svarīgi.
Komandā katrs izstrādātājs saprot, ka viņa kolēģi ir atkarīgi no viņa rīcības. 5 minūšu ietaupīšana izstrādes posmā nozīmē, iespējams, 5 papildu pārbaudes stundas. Lai to saprastu, ir svarīgi izveidot sakarus.
Mūsu projektā Aleksejs saņēma palīdzību procesu apgūšanā :
- M_o_R fonda sertifikāts riska pārvaldībā
- Agile Scrum fonds
- IT pakalpojumu pārvaldības fonds
- EXIN Biznesa informācijas pārvaldības fonds
- PRINCE2 fonda sertifikāts projektu vadībā
- Pārbaudes inženiera sertifikāts
- Microsoft Operations Framework Foundation
- Agile pakalpojumu projekti
Tika apgūti kursi par edX, kas palīdzēja paskatīties uz sistēmu no statistikas un lean programmēšanas viedokļa un vēlāk tika virzīti iegūt arhitekta sertifikāts:
- Lean ražošana
- Six Sigma: analizējiet, uzlabojiet, kontrolējiet
- Six Sigma: definējiet un izmēriet
Saskaņā ar Six Sigma principu statistiskā kontrole nodrošina augstas kvalitātes rezultātu ar ārkārtīgi lielu varbūtību.
Paaugstinot savu līmeni, izstrādātājs, kā likums, nonāk pie šādiem secinājumiem:
- Nestrādājiet smagi, bet strādājiet efektīvi.
- Nesarežģojiet savu dzīvi, dzenoties pēc ārpuses: izdomātas tehnoloģijas ne vienmēr atrisina problēmas labāk.
- Draudzējies ar speciālistiem visos cikla posmos un noskaidro viņu sāpju punktus. Arhitektam jāapgūst procesi: problēmas identificēšana, problēmas iestatīšana, tīkla topoloģijas projektēšana, izstrāde, testēšana, atbalsts, darbība.
- Pārbaudiet katru funkciju iekšpusē un ārpusē.
- Gadās, ka IT procesi neatbilst biznesa procesiem, un ar to ir jātiek galā.

Piektais solis: izprotiet arhitektūru, izmantojot lielo datu objektīvu
Projekta laikā mēs nodarbojāmies ar diezgan lielām datu bāzēm. Vismaz tā likās līdz noteiktam brīdim. Kad Aleksejs sāka pētīt lielos datus par edX, izrādījās, ka 1,5 Tb projektā bija neliela datu bāze. Nopietni svari - no 10 Tb, un tur ir vajadzīgas citas metodes.
Nākamais solis ceļā uz sertifikāciju bija lielo datu kurss. Viņš palīdzēja izprast datu plūsmas organizāciju un paātrināt ražošanas operācijas. Un arī pievērsiet uzmanību maziem rīkiem, piemēram, sāciet izmantot Excel atsevišķu mikrouzdevumu risināšanai.
Sertifikāts:
Microsoft profesionālā programma: lielo datu sertifikāts

Sestais solis: no izstrādātāja līdz arhitektam
Pēc visu uzskaitīto sertifikātu saņemšanas, vēl būdams izstrādātājs, Aleksejs sāka saprast, ka saņemtajai informācijai ir augsts abstrakcijas līmenis, un tas nebūt nebija slikti.
Liela mēroga procesu redzējums noved pie arhitekta līmeņa, kas ir viens no augstākajiem sertifikācijas līmeņiem.
Meklējot arhitekta sertifikātu, Aleksejs ieradās autors Sundblad & Sundblad. Šī ir Microsoft atzīta programma, tās izstrāde aizsākās pirms 14 gadiem, sadarbojoties uzņēmuma galvenajam un Zviedrijas birojiem. Tas aptver .NET Framework, prasību apkopošanu, informācijas plūsmas pārvaldību un daudzas citas augsta līmeņa tēmas, un tas tiek uzskatīts par spēcīgu arhitekta prasmju apliecinājumu.
Programmas ietvaros bija jāapgūst kursi. Sertifikācija sistematizēja zināšanas un ļāva ieiet jaunā attīstības posmā – no izstrādātāja līdz arhitektam.

Summējot
Kā atzīmē Aleksejs, strādājot ar liela mēroga IT sistēmu, ir svarīgi atcerēties, ka programmēšana nav dārga izklaide, bet gan rīks biznesa problēmu risināšanai. Saskaroties ar šo vai citu izaicinājumu, noteikti jāpieraksta biznesa vērtība, lai projekts nenonāktu strupceļā.
Arhitektam ir īpašs skatījums uz programmēšanu un tās elementārajām sastāvdaļām:
- Datu plūsmas izveide un/vai uzturēšana
- Informācijas plūsmas iegūšana no datu plūsmas
- Vērtību plūsmas iegūšana no informācijas plūsmas
- Vērtību plūsmas monetizācija
Ja uz projektu raugāties ar arhitekta acīm, jāsāk no gala: jāformulē vērtība un tad jādodas uz to caur datu plūsmu.
Arhitekts ievēro izstrādes noteikumus, kuram ir globāls redzējums par projektu. Ar praksi un savām kļūdām to sasniegt ir gandrīz neiespējami — pareizāk sakot, tas ir iespējams, taču tas prasīs ļoti ilgu laiku. Sertifikācija ļauj paplašināt redzesloku un aplūkot katra jautājuma pilnu kontekstu, iepazīties ar tūkstošiem profesionāļu pieredzi un attīstīt prasmi efektīvai problēmu risināšanai.
Līdz šim ar augstāk aprakstīto medicīnas sistēmu strādājam vairāk nekā piecus gadus un esam panākuši būtiskus uzlabojumus. Šajā laikā Aleksejs nokārtoja vairāk nekā 20 sertifikācijas eksāmenus:
- TS: Windows Lietojumprogrammu izstrāde, izmantojot Microsoft .NET Framework 4
- TS: piekļuve datiem, izmantojot Microsoft .NET Framework 4 programmēšanu C#
- TS: Microsoft .NET Framework 3.5 Windows Veidlapu lietojumprogrammu izstrāde
- PRO: Projektēšana un izstrāde Windows Lietojumprogrammas, kas izmanto Microsoft .NET Framework 3.5
- PRO: Projektēšana un izstrāde Windowsuz Microsoft .NET Framework balstītas lietojumprogrammas
- TS: Microsoft .NET Framework 2.0 — Windowsuz klientu balstītu izstrādi
- 98-361: Programmatūras izstrādes pamati
- 98-364: Datu bāzes pamati
- M_o_R fonda sertifikāts riska pārvaldībā
- Agile Scrum fonds
- IT pakalpojumu pārvaldības fonds
- EXIN Biznesa informācijas pārvaldības fonds
- PRINCE2 fonda sertifikāts projektu vadībā
- Pārbaudes inženiera sertifikāts
- Microsoft Operations Framework Foundation
- Agile pakalpojumu projekti
- Lean ražošana
- Six Sigma: analizējiet, uzlabojiet, kontrolējiet
- Six Sigma: definējiet un izmēriet
- Microsoft profesionālā programma: lielo datu sertifikāts
- Sertificēts programmatūras arhitekts — Microsoft platforma

Nokārtojis visus eksāmenus, Aleksejs no vadošā izstrādātāja kļuva par projekta arhitektu. Tajā pašā laikā sertifikācija ir kļuvusi par spēcīgu instrumentu gan profesionālai izaugsmei, gan reputācijas veidošanai klienta acīs.
“Sertifikācijas RAM” palīdzēja piekļūt atsevišķiem kritiskiem procesiem, kuriem bija nepieciešama kontrole un izstrāde. IT risinājumu klienti Eiropā, kā likums, augstu vērtē sertificētus speciālistus un ir gatavi dot viņiem lielāku rīcības brīvību.
Paldies par jūsu uzmanību! Mēs ceram, ka raksts jums bija noderīgs.
Avots: www.habr.com
