Arhitektova pot: certificiranje in poglobitev v izdelek

Skoraj vsak razvijalec postavlja vprašanja o tem, kako naj razvija svoje veščine in katero smer rasti izbrati: navpično - to je postati manager ali vodoravno - full stack. Dolgoletno delo na enem izdelku, v nasprotju z miti, ne postane omejitev, ampak koristna priložnost. V tem članku delimo izkušnjo našega zalednega razvijalca Alexeya, ki je 6 let posvetil certificiranju in se v tem času prebil do tega, da je postal arhitekt.

Arhitektova pot: certificiranje in poglobitev v izdelek

Kdo je arhitekt

IT arhitekt (tehnični vodja) je razvijalec na visoki ravni, ki se ukvarja z globalnimi vprašanji v projektih IT. Poglobi se v poslovne procese naročnika in pomaga rešiti njegove težave s pomočjo tehnologije, poleg tega pa določa, kako bo strukturiran ta ali oni informacijski sistem.

Takšen strokovnjak ne mora le razumeti posameznih vsebinskih področij, ampak tudi videti celoten proces:

  • Postavitev poslovnega problema.
  • Razvoj, vključno s programiranjem, pripravo, shranjevanjem in obdelavo podatkov.
  • Postavitev in podpora infrastrukture.
  • Testiranje
  • Razporedi.
  • Analitične in operativne storitve.

To pomeni sposobnost, da se postavite v kožo katerega koli strokovnjaka ali ekipe v življenjskem ciklu razvoja, razumete trenutno stanje sistemov od znotraj, prepoznate storjene napake in oblikujete cilje. Včasih morate sami opraviti operacijo.

Pot strokovnega razvoja od razvojnika do arhitekta traja dolgo – običajno več let. Za to razvijalec potrebuje tako praktične veščine kot teoretično znanje, ki ga lahko potrdi mednarodni certifikat.

Več kot 5 let na enem projektu - rutina ali priložnost za rast?

Pred nekaj leti smo začeli delati na velikem medicinskem informacijskem sistemu za tujega naročnika. Pri tem obsežnem projektu so bile določene težave:

  • omejen dostop;
  • nestabilen produkt;
  • neverjetno dolge sprinte in dolgotrajne odobritve.

"Čas je, da izboljšate svoje sposobnosti"“, - eden vodilnih razvijalcev Alexey je prišel do te odločitve, da bi premagal naštete težave in bolje razumel sistem.

Alexey je delil svoje izkušnje, kje je bolje začeti usposabljanje, katere certifikate je pomembno pridobiti, kako in zakaj to storiti.

Prvi korak: izboljšajte svojo angleščino

Programski jeziki so temeljni del razvoja, vendar so jeziki za komunikacijo enako pomembni. Še posebej v komunikaciji z angleško govorečo stranko!

Iz prakse

Nekega lepega dne je Alekseja poklical zaposleni s strani stranke. Takrat se naš razvijalec še ni mogel pohvaliti s kopico certifikatov – ne iz tehnologije, ne iz menedžmenta, ne iz komunikacij. Morda ne bi bili koristni - navsezadnje ste lahko kompetenten strokovnjak brez dodatnih regalij. A problem se je vseeno pojavil.

Zavedati se moramo, da se govorjeni jezik radikalno razlikuje od pisnega. Če dobro poznate angleške specifikacije, vendar ne vadite poslušanja in govora, potem imamo za vas slabo novico. V tem primeru lahko telefonski pogovori s partnerji zaidejo v slepo ulico.

Alexey je med klicem ujel nekaj znanih besed, vendar je bil govor njegove kolegice tako hiter in drugačen od klasične izgovorjave iz avdio lekcij, da je šlo bistvo njenih vprašanj nekam mimo. Zaradi vljudnosti in nenaklonjenosti zapletanju situacije se je Aleksej hitro strinjal z vsemi predlogi.

Ali je treba reči, da je med delom prišlo do neprijetnih odkritij? Naš razvijalec se je prijavil za nekaj, kar bi absolutno namerno zavrnil, če bi ponudba prišla v razumljivem jeziku.

V tistem trenutku je postalo jasno, da je preprosto treba izboljšati slušne in govorne sposobnosti. Najboljši način za to so bili certifikati.

Certificiranje angleškega jezika

Da bi izboljšal komunikacijo v okviru našega medicinskega projekta, je Alexey študiral v več programih hkrati. Kot rezultat je opravil certifikat FCE - First Certificate in English. To mi je pomagalo, da sem začel slišati stranko in ji posredovati svoje misli.

Življenjski hekerji:

Izogibajte se osnovnim angleškim programom. Spretnost mora biti usmerjena. Če potrebujete angleščino za poslovno komunikacijo, jo vzemite. Samo ne pojdite v skrajnosti in opravite CAE (Certificate in Advanced English). Njegova posebnost so prefinjene besede, specifični izrazi, ki se skoraj nikoli ne uporabljajo v mednarodni komunikaciji.

Arhitektova pot: certificiranje in poglobitev v izdelek

Drugi korak: certificiranje celotnega tehnološkega sklopa

Na začetku je projekt temeljil na tehnologiji objektno-relacijskega preslikave ORM. Razvojna ekipa na strani naročnika je bila ponosna na svojo idejo, saj je bilo vse narejeno z uporabo naprednih konceptov, kompleksno in kul.

Vendar pa težave v produkciji – zlasti nenehno zamrznjen strežnik SQL – niso bile neobičajne. Prišlo je do točke, ko je bila tipična rešitev težave ponovni zagon storitve. Stranka je poklicala vodjo ekipe in rekla, da je čas za ponovni zagon. Končno smo se odločili, da končamo.

Naročnik je želel izdelati zmogljivost sistema - za to je bilo potrebno uvesti profiliranje in redno izvajati optimizacijo. Takrat, okoli leta 2015, je bil kot orodje za profiliranje izbran Ants Profiler, ki pa se je slabo obnesel. Zaradi nizkih podrobnosti je bilo težko pridobiti informacije o kritičnem bloku kode. Pri največjih podrobnostih je Ants Profiler začel spreminjati kodo tako, da je bila ogrožena funkcionalnost sistemov - kjer je bilo konfigurirano profiliranje, se je vse preprosto zrušilo. Zato smo spremenili pristop.

Začeli smo z analizo statistike

Pri analizi prodajne statistike je postalo jasno, da ima 95% dela na strežniku primitivno poslovno logiko 4 vrstic. Zanje je bila dovolj ena SQL poizvedba in ne celoten nabor poizvedb, ki jih generira blok poslovne logike z ORM.

Alexey je predlagal in implementiral shranjeno proceduro za premikanje dela brez ORM. Ideja je bila v nasprotju z običajno projektno paradigmo, vodja ekipe jo je sprejel previdno, a je naročnik vse sprejel in zahteval izvedbo. To ni bilo presenetljivo, saj je nova metoda omogočila zmanjšanje zamud pri obdelavi v proizvodnji s štirih ur na nekaj minut – v povprečju 98-krat.

Kljub temu smo imeli dvome: je to prava odločitev ali stvar osebnih preferenc? Vero v vsemogočni C# in ORM je omajala nesreča, ki je pokazala vso moč preprostih rešitev.

Drugi primer

Ekipa je napisala poizvedbo za delo s podatki znotraj paradigme ORM, sestavljeno po vseh pravilih, brez napak. Njegova obdelava je trajala 2-3 minute in ti parametri so se zdeli sprejemljivi. Vendar je alternativna izvedba z uporabo preprostih izbirnikov in pogledov zagotovila rezultate hitreje – v 2 sekundah.

Postalo je očitno, da je čas, da izberemo strokovnjaka, ki bo opravil certificiranje celotnega projekta, da bi razumel vse nianse in izbral optimalno metodo. Aleksej je prevzel to nalogo.

Prvi certifikati

Da bi razumel bistvo, je Aleksej šel skozi več Microsoftovih certifikatov, ki pokriva celoten tehnološki sklop projekta:

  • TS: Razvoj aplikacij za Windows z Microsoft .NET Framework 4
  • TS: Dostop do podatkov s programiranjem Microsoft .NET Framework 4 v C#
  • TS: Microsoft .NET Framework 3.5 Windows Forms Application Development
  • PRO: Oblikovanje in razvijanje aplikacij za Windows z uporabo Microsoft .NET Framework 3.5
  • PRO: Oblikovanje in razvijanje aplikacij, ki temeljijo na sistemu Windows, z uporabo Microsoft .NET Framework
  • TS: Microsoft .NET Framework 2.0 – razvoj odjemalca v sistemu Windows

Pri poskusu optimizacije dela na novem projektu je ekipa prišla do naslednjih ugotovitev:

  • Za delovanje sistemov je potrebno upoštevati pravila pisanja kode: ne vdolbine in komentarji, temveč tehnične značilnosti - število klicev v baze podatkov, obremenitev strežnika in še veliko več.
  • Uporaba nasprotujočih si konceptov lahko povzroči težave. Koncept baz podatkov je teorija množic, medtem ko je ORM koncept operacij.
  • Zamisli, ki motijo ​​običajni red stvari, lahko naletijo na odpor znotraj ekipe. Pri razvoju gre tudi za odnose in sposobnost argumentiranja svojega stališča.
  • Certificiranje razširi vaša obzorja in vam omogoča, da razumete, kaj se lahko uporablja in česa ne.

Arhitektova pot: certificiranje in poglobitev v izdelek

Tretji korak: Naučite se več kot koda

Pri delu na obsežnih IT rešitvah je pomembnih veliko dejavnikov. Na primer, vsak razvijalec ni pozoren na parametre omrežja, vendar lahko celo njegova pasovna širina vpliva na rešitev poslovnega problema.

Razumevanje tega je dano Certificiranje serije 98:

Omogočajo vam širši pogled na stvari in izhod iz omejenega koncepta »samo koda«. To so osnove, osnove, vendar so pomembne za razumevanje vsega na globlji ravni.

Certifikati serije 98 so kratki testi - 30 vprašanj po 45 minut.

Četrti korak: Upravljanje procesov

Delo s klinikami je pomembnejše kot na primer ustvarjanje mobilne igre. Tukaj ne morete dodati funkcije in jo uvesti za proizvodnjo - pomembno je, da sledite postopku odobritve in izvajanju številnih popravkov s strani stranke, ker so ogroženi zdravje in življenja ljudi.

Tipični Agile pri tem projektu ni dal želenih rezultatov in vsak sprint je trajal precej dolgo. Med uvajanji je trajalo od 6 mesecev do enega leta.

Poleg tega je bilo tehnično nemogoče spraviti procese desetih klinik na nek skupni imenovalec.

Za hitrejše doseganje rezultatov v teh pogojih so razvijalci potrebovali osebno odgovornost in obsežno vizijo procesov – kar pomeni stalno koncentracijo in visoko usposobljenost.

Ko je specialist potopljen v proces, jasno vidi rezultate, vzroke in posledice, celotno sliko. To je hkrati dejavnik dodatne motivacije in ozaveščenosti, izboljšanje sposobnosti reševanja težav in težav.

Z dobro delujočo infrastrukturo, dobro zgrajeno arhitekturo in optimalno kodo lahko ena oseba prevzame veliko procesov. Vendar to ne pomeni, da je treba vzgajati univerzalne vojake, ki so sposobni sami voditi projekt. Komunikacija in timsko delo sta kritična.

V timu vsak razvijalec razume, da so njegovi sodelavci odvisni od njegovih dejanj. Prihranek 5 minut med razvojno fazo pomeni morda 5 dodatnih ur testiranja. Da bi to razumeli, je pomembno vzpostaviti komunikacijo.

V našem projektu je Alexey prejel pomoč pri obvladovanju procesov potrdila EXIN:

  • M_o_R Foundation Certificate in Risk Management
  • Fundacija Agile Scrum
  • Fundacija za upravljanje IT storitev
  • Fundacija za upravljanje poslovnih informacij EXIN
  • PRINCE2 Foundation Certificate in Project Management
  • Certifikat testnega inženirja
  • Microsoft Operations Framework Foundation
  • Agilni storitveni projekti

Opravljeni so bili tečaji na edX, ki so pomagali pogledati sistem z vidika statistike in vitkega programiranja ter kasneje spodbudili k pridobitvi certifikat arhitekta:

  • Vitka proizvodnja
  • Six Sigma: analiziraj, izboljšaj, nadzoruj
  • Six Sigma: Določite in izmerite

Po načelu Six Sigma statistični nadzor zagotavlja kakovosten rezultat z izjemno visoko verjetnostjo.

Če dvigne svojo raven, razvijalec praviloma pride do naslednjih zaključkov:

  • Ne delajte trdo, ampak delajte učinkovito.
  • Ne komplicirajte si življenja s preganjanjem zunanjega: ni nujno, da modna tehnologija bolje rešuje težave.
  • Spoprijateljite se s strokovnjaki v vseh fazah cikla in odkrijte njihove bolečine. Arhitekt mora obvladati procese: identificiranje problema, zastavitev problema, oblikovanje topologije omrežja, razvoj, testiranje, podpora, delovanje.
  • Preverite vsako lastnost znotraj in zunaj.
  • Dogaja se, da IT procesi ne ustrezajo poslovnim procesom in s tem se je treba spopasti.

Arhitektova pot: certificiranje in poglobitev v izdelek

Peti korak: razumejte arhitekturo skozi objektiv velikih podatkov

Med projektom smo imeli opravka s precej velikimi bazami podatkov. Vsaj do nekega trenutka se je zdelo tako. Ko je Alexey začel preučevati velike podatke na edX, se je izkazalo, da je 1,5 Tb na projektu majhna baza podatkov. Resne lestvice - od 10 Tb in tam so potrebne druge metode.

Naslednji korak k certificiranju je bil tečaj o velikih podatkih. Pomagal je razumeti organizacijo pretoka podatkov in pospešiti proizvodne operacije. In bodite pozorni tudi na majhna orodja, na primer začnite uporabljati Excel za reševanje posameznih mikro nalog.

potrdilo:
Microsoftov profesionalni program: Certifikat za velike podatke

Arhitektova pot: certificiranje in poglobitev v izdelek

Šesti korak: od razvijalca do arhitekta

Po prejemu vseh navedenih potrdil je Alexey, medtem ko je bil še razvijalec, začel razumeti, da imajo prejete informacije visoko stopnjo abstrakcije, kar še zdaleč ni slabo.

Široka vizija procesov vodi do stopnje arhitekta, ene najvišjih stopenj certificiranja.

V iskanju certifikata arhitekta je Alexey prišel k sebi Certificirani programski arhitekt - Microsoftova platforma avtorja Sundblad & Sundblad. Gre za program, ki ga priznava Microsoft, njegov razvoj pa se je začel pred 14 leti s sodelovanjem vodstva podjetja in švedskih pisarn. Zajema ogrodje .NET Framework, zbiranje zahtev, upravljanje pretoka informacij in številne druge teme na visoki ravni ter velja za močan dokaz spretnosti arhitekta.

Program je vključeval tečaje za študij. Certificiranje je sistemiziralo znanje in nam omogočilo vstop v novo stopnjo razvoja - od razvijalca do arhitekta.

Arhitektova pot: certificiranje in poglobitev v izdelek

Povzema

Kot ugotavlja Alexey, je pri delu z obsežnim IT sistemom pomembno vedeti, da programiranje ni draga zabava, ampak orodje za reševanje poslovnih problemov. Ko se znajdete pred takšnim ali drugačnim izzivom, morate vsekakor zapisati poslovno vrednost, da projekt ne zaide v slepo ulico.

Arhitekt ima poseben pogled na programiranje in njegove osnovne komponente:

  • Ustvarjanje in/ali vzdrževanje pretoka podatkov
  • Izločanje toka informacij iz toka podatkov
  • Izločanje toka vrednosti iz toka informacij
  • Monetizacija toka vrednosti

Če gledate na projekt skozi oči arhitekta, morate začeti od konca: oblikovati vrednost in nato iti do nje skozi tok podatkov.

Arhitekt sledi razvojnim pravilom, ima globalno vizijo projekta. Skoraj nemogoče je doseči to s prakso in lastnimi napakami – oziroma je mogoče, vendar bo trajalo zelo dolgo. Certificiranje vam omogoča, da razširite svoja obzorja in pogledate celoten kontekst vsake zadeve, se seznanite z izkušnjami na tisoče strokovnjakov in razvijete veščino učinkovitega reševanja problemov.

Do danes smo z zgoraj opisanim zdravstvenim sistemom delali že več kot pet let in dosegli pomembne izboljšave. V tem času je Aleksej opravil več kot 20 certifikacijskih izpitov:

  1. TS: Razvoj aplikacij za Windows z Microsoft .NET Framework 4
  2. TS: Dostop do podatkov s programiranjem Microsoft .NET Framework 4 v C#
  3. TS: Microsoft .NET Framework 3.5 Windows Forms Application Development
  4. PRO: Oblikovanje in razvijanje aplikacij za Windows z uporabo Microsoft .NET Framework 3.5
  5. PRO: Oblikovanje in razvijanje aplikacij, ki temeljijo na sistemu Windows, z uporabo Microsoft .NET Framework
  6. TS: Microsoft .NET Framework 2.0 – razvoj odjemalca v sistemu Windows
  7. 98-361: Osnove razvoja programske opreme
  8. 98-364: Osnove baze podatkov
  9. M_o_R Foundation Certificate in Risk Management
  10. Fundacija Agile Scrum
  11. Fundacija za upravljanje IT storitev
  12. Fundacija za upravljanje poslovnih informacij EXIN
  13. PRINCE2 Foundation Certificate in Project Management
  14. Certifikat testnega inženirja
  15. Microsoft Operations Framework Foundation
  16. Agilni storitveni projekti
  17. Vitka proizvodnja
  18. Six Sigma: analiziraj, izboljšaj, nadzoruj
  19. Six Sigma: Določite in izmerite
  20. Microsoftov profesionalni program: Certifikat za velike podatke
  21. Certificirani programski arhitekt - Microsoftova platforma

Arhitektova pot: certificiranje in poglobitev v izdelek

Po opravljenih vseh izpitih se je Alexey povzpel od vodilnega razvijalca do projektanta. Hkrati je certificiranje postalo močno orodje tako za profesionalni razvoj kot za ustvarjanje ugleda v očeh strank.

»Certification Ram« je pomagal pridobiti dostop do posameznih kritičnih procesov, ki so potrebovali nadzor in izdelavo. Evropski kupci IT rešitev praviloma zelo cenijo certificirane strokovnjake in so jim pripravljeni dati več svobode delovanja.

Hvala za vašo pozornost! Upamo, da vam je bil članek koristen.

Vir: www.habr.com

Dodaj komentar