Arhitektov put: certificiranje i uživljavanje u proizvod

Gotovo svaki programer postavlja pitanja o tome kako bi trebao razviti svoje vještine i koji smjer rasta odabrati: okomiti - to jest postati menadžer ili horizontalni - full stack. Dugogodišnji rad na jednom proizvodu, suprotno mitovima, postaje ne ograničenje, već korisna prilika. U ovom članku dijelimo iskustvo našeg pozadinskog programera Alexeya, koji je 6 godina posvetio certificiranju i za to vrijeme se probio do zvanja arhitekta.

Arhitektov put: certificiranje i uživljavanje u proizvod

Tko je arhitekt

IT arhitekt (tehnički voditelj) je programer na visokoj razini koji se bavi globalnim problemima u IT projektima. On uranja u klijentove poslovne procese i pomaže u rješavanju njegovih problema pomoću tehnologije, a također određuje kako će ovaj ili onaj informacijski sustav biti strukturiran.

Takav stručnjak treba ne samo razumjeti pojedinačna predmetna područja, već i vidjeti cijeli proces:

  • Postavljanje poslovnog problema.
  • Razvoj, uključujući programiranje, pripremu, pohranu i obradu podataka.
  • Postavljanje i podrška infrastrukture.
  • Testiranje.
  • Rasporedi.
  • Analitika i operativne usluge.

To znači sposobnost da se stavite u kožu bilo kojeg stručnjaka ili tima u životnom ciklusu razvoja, razumijevanje trenutnog stanja sustava iznutra, identificiranje učinjenih pogrešaka i formuliranje ciljeva. Ponekad morate sami izvršiti operaciju.

Put profesionalnog razvoja od programera do arhitekta traje dugo - obično nekoliko godina. Da bi to učinio, programeru su potrebne i praktične vještine i teorijsko znanje, što se može potvrditi međunarodnom certifikacijom.

Više od 5 godina na jednom projektu - rutina ili prilika za rast?

Prije nekoliko godina započeli smo s radom na velikom medicinskom IT sustavu za inozemnog kupca. Bilo je određenih problema u ovom velikom projektu:

  • ograničen pristup;
  • nestabilan proizvod;
  • nevjerojatno duge sprinteve i dugotrajna odobrenja.

"Vrijeme je da poboljšate svoje vještine"“, - jedan od vodećih programera Alexey došao je na ovu odluku kako bi prevladao navedene poteškoće i bolje razumio sustav.

Alexey je podijelio svoje iskustvo, gdje je bolje započeti obuku, koje je certifikate važno dobiti, kako i zašto to učiniti.

Prvi korak: poboljšajte svoj engleski

Programski jezici temeljni su dio razvoja, ali jezici za komunikaciju jednako su važni. Posebno u komunikaciji s kupcem koji govori engleski!

Iz prakse

Jednog lijepog dana Alexey je primio poziv od zaposlenika s kupčeve strane. Tada se naš developer još nije mogao pohvaliti hrpom certifikata – ni iz tehnologije, ni iz menadžmenta, ni iz komunikacija. Možda ne bi bili korisni - uostalom, možete biti kompetentan stručnjak bez dodatnih regalija. Ali problem se ipak pojavio.

Moramo shvatiti da se govorni jezik radikalno razlikuje od pisanog jezika. Ako dobro poznajete engleske specifikacije, ali ne vježbate slušanje i govor, onda imamo loše vijesti za vas. U tom slučaju telefonski razgovori s partnerima mogu dovesti u slijepu ulicu.

Alexey je u razgovoru uhvatio neke poznate riječi, ali govor njegove kolegice bio je toliko brz i različit od klasičnog izgovora iz audio lekcija da je bit njezinih pitanja otišla negdje u prošlost. Iz pristojnosti i nevoljkosti da zakomplicira situaciju, Alexey je brzo pristao na sve prijedloge.

Treba li reći da je tijekom rada došlo do neugodnih otkrića? Naš se programer prijavio za nešto što bi apsolutno namjerno odbio da je ponuda došla na razumljivom jeziku.

U tom trenutku postalo je jasno da je jednostavno potrebno poboljšati vještine slušanja i govora. Najbolji način za to bili su certifikati.

Certifikacija engleskog jezika

Kako bi poboljšao komunikaciju u okviru našeg medicinskog projekta, Alexey je studirao u nekoliko programa odjednom. Kao rezultat toga, položio je FCE - First Certificate in English certifikaciju. To mi je pomoglo da počnem čuti kupca i prenijeti mu svoje misli.

Život sjeckanje:

Izbjegavajte osnovne programe engleskog jezika. Vještina mora biti ciljana. Ako vam je potreban engleski za poslovnu komunikaciju, trebali biste ga uzeti. Samo nemojte ići u krajnost i uzeti CAE (Certificate in Advanced English). Njegova posebnost su sofisticirane riječi, specifični izrazi koji se gotovo uopće ne koriste u međunarodnoj komunikaciji.

Arhitektov put: certificiranje i uživljavanje u proizvod

Drugi korak: certifikacija za cijeli niz tehnologija

U početku se projekt temeljio na ORM tehnologiji objektno-relacijskog mapiranja. Razvojni tim sa strane kupca bio je ponosan na svoju zamisao, jer je sve napravljeno koristeći napredne koncepte, složeno i cool.

Međutim, problemi u proizvodnji—osobito, stalno zamrzavanje SQL poslužitelja—nisu bili neuobičajeni. Došlo je do točke kada je tipično rješenje problema bilo ponovno pokretanje usluge. Korisnik je nazvao voditelja tima i rekao da je vrijeme za ponovno pokretanje. Napokon smo odlučili prekinuti s tim.

Kupac je želio razraditi performanse sustava - za to je bilo potrebno uvesti profiliranje i redovito provoditi optimizaciju. U to vrijeme, oko 2015. godine, Ants Profiler je odabran kao alat za profiliranje, ali je imao loše rezultate. S malo detalja bilo je teško dobiti informacije o kritičnom bloku koda. Uz maksimalne detalje, Ants Profiler je počeo mijenjati kod na takav način da je funkcionalnost sustava bila ugrožena - tamo gdje je konfigurirano profiliranje, sve se jednostavno srušilo. Pa smo promijenili pristup.

Počeli smo s analizom statistike

Prilikom analize statistike prodaje postalo je jasno da 95% posla na poslužitelju ima primitivnu poslovnu logiku od 4 retka. Njima je bio dovoljan jedan SQL upit, a ne kompletan set upita generiran blokom poslovne logike s ORM-om.

Alexey je predložio i implementirao pohranjenu proceduru za premještanje posla bez ORM-a. Ideja je bila u suprotnosti s uobičajenom paradigmom projekta, voditelj tima ju je dočekao s oprezom, no naručitelj je sve prihvatio i zatražio realizaciju. To nije bilo iznenađujuće, jer je nova metoda omogućila smanjenje kašnjenja u obradi u proizvodnji s četiri sata na nekoliko minuta - u prosjeku 98 puta.

Ipak, dvojili smo: je li to ispravna odluka ili stvar osobnih preferencija? Vjeru u svemogući C# i ORM poljuljala je nesreća koja je pokazala svu snagu jednostavnih rješenja.

Drugi slučaj

Tim je napisao upit za rad s podacima unutar ORM paradigme, sastavljen prema svim pravilima, bez grešaka. Njegova obrada trajala je 2-3 minute, a ti su se parametri činili prihvatljivima. Međutim, alternativna implementacija koja koristi jednostavne birače i poglede dala je rezultate brže - za 2 sekunde.

Postalo je očito da je došlo vrijeme za odabir stručnjaka koji će proći certificiranje za cijeli niz projekata kako bi razumio sve nijanse i odabrao optimalnu metodu. Aleksej je preuzeo ovaj zadatak.

Prvi certifikati

Da bi shvatio suštinu, Aleksej je prošao nekoliko Microsoftovih certifikata, pokrivajući cijeli tehnološki skup projekta:

  • TS: Razvoj Windows aplikacija s Microsoft .NET Framework 4
  • TS: Pristup podacima pomoću Microsoft .NET Framework 4 Programiranje u C#
  • TS: Microsoft .NET Framework 3.5 Windows Forms razvoj aplikacija
  • PRO: Dizajniranje i razvoj Windows aplikacija pomoću Microsoft .NET Framework 3.5
  • PRO: Dizajniranje i razvoj Windows aplikacija pomoću Microsoft .NET Frameworka
  • TS: Microsoft .NET Framework 2.0 - Razvoj klijenta temeljen na sustavu Windows

Pokušavajući optimizirati rad na novom projektu, tim je došao do sljedećih zaključaka:

  • Da bi sustavi radili, potrebno je slijediti pravila pisanja koda: ne uvlake i komentare, već tehničke karakteristike - broj poziva bazama podataka, opterećenje poslužitelja i još mnogo toga.
  • Primjena proturječnih koncepata može dovesti do problema. Koncept baza podataka je teorija skupova, dok je ORM koncept operacija.
  • Ideje koje remete uobičajeni poredak stvari mogu naići na otpor unutar tima. Razvoj se također odnosi na odnose i sposobnost argumentiranja vašeg gledišta.
  • Certifikacija proširuje vaše horizonte i omogućuje vam da razumijete što se može koristiti, a što ne.

Arhitektov put: certificiranje i uživljavanje u proizvod

Treći korak: naučite više od kodiranja

Kada radite na velikim IT rješenjima, mnogi su čimbenici važni. Na primjer, ne obraća svaki programer pozornost na parametre mreže, ali čak i njezina propusnost može utjecati na rješenje poslovnog problema.

Razumijevanje ovoga je dano Certifikacija serije 98:

Omogućuju vam da bacite širi pogled na stvari i izađete iz ograničenog koncepta "samo kod". Ovo su osnove, osnove, ali su važne za razumijevanje svega na dubljoj razini.

Certifikati serije 98 kratki su testovi - 30 pitanja u trajanju od 45 minuta.

Četvrti korak: Upravljanje procesom

Rad s klinikama važniji je pothvat od, recimo, stvaranja mobilne igre. Ovdje ne možete dodati značajku i pokrenuti je za proizvodnju - važno je pratiti proces odobravanja i brojnih izmjena od strane korisnika, jer su zdravlje i životi ljudi u pitanju.

Tipični Agile nije dao željene rezultate na ovom projektu, a svaki sprint je trajao prilično dugo. Između implementacija trajalo je od 6 mjeseci do godinu dana.

Osim toga, bilo je tehnički nemoguće dovesti procese deset klinika koje su opsluživane na neki zajednički nazivnik.

Kako bi brže došli do rezultata u ovim uvjetima, programerima je bila potrebna osobna odgovornost i široka vizija procesa - što znači stalnu koncentraciju i visoku kvalifikaciju.

Kada je stručnjak uronjen u proces, jasno vidi rezultate, uzroke i posljedice, cjelokupnu sliku. To je ujedno i faktor dodatne motivacije i osvještavanja, poboljšava sposobnost rješavanja problema i problema.

S dobro funkcionalnom infrastrukturom, dobro izgrađenom arhitekturom i optimalnim kodom, jedna osoba može preuzeti mnoge procese. No, to ne znači da je potrebno odgajati univerzalne vojnike koji su sposobni sami voditi projekt. Komunikacija i timski rad su kritični.

U timu svaki programer razumije da njegovi kolege ovise o njegovim postupcima. Ušteda 5 minuta tijekom faze razvoja znači možda 5 dodatnih sati testiranja. Da bismo to razumjeli, važno je uspostaviti komunikaciju.

U našem projektu Alexey je dobio pomoć u svladavanju procesa certifikati iz EXIN-a:

  • M_o_R Foundation Certificate in Risk Management
  • Agile Scrum Foundation
  • Zaklada za upravljanje IT uslugama
  • EXIN Business Information Management Foundation
  • PRINCE2 Foundation Certificate in Project Management
  • Certifikat ispitnog inženjera
  • Microsoft Operations Framework Foundation
  • Agilni uslužni projekti

Pohađali su se tečajevi na edX-u koji su pomogli da se sustav pogleda sa stajališta statistike i lean programiranja, a kasnije su pogurani da se dobije certifikat arhitekta:

  • Lean proizvodnja
  • Six Sigma: analiziraj, poboljšaj, kontroliraj
  • Six Sigma: Definirajte i izmjerite

Prema načelu Six Sigma, statistička kontrola osigurava visokokvalitetan rezultat s iznimno velikom vjerojatnošću.

Podižući svoju razinu, programer u pravilu dolazi do sljedećih zaključaka:

  • Nemojte raditi naporno, već radite učinkovito.
  • Nemojte si komplicirati život jureći za vanjskim: otmjena tehnologija ne rješava probleme nužno bolje.
  • Družite se sa stručnjacima u svim fazama ciklusa i saznajte njihove bolne točke. Arhitekt mora vladati procesima: identificiranje problema, postavljanje problema, projektiranje topologije mreže, razvoj, testiranje, podrška, rad.
  • Provjerite svaku značajku iznutra i izvana.
  • Događa se da informatički procesi ne odgovaraju poslovnim procesima i to se mora rješavati.

Arhitektov put: certificiranje i uživljavanje u proizvod

Peti korak: razumite arhitekturu kroz objektiv Big Data

Tijekom projekta radili smo s prilično velikim bazama podataka. Barem se tako činilo do određenog trenutka. Kad je Alexey počeo proučavati velike podatke na edX-u, pokazalo se da je 1,5 Tb na projektu mala baza podataka. Ozbiljne ljestvice - od 10 Tb, i tamo su potrebne druge metode.

Sljedeći korak prema certificiranju bio je tečaj o velikim podacima. Pomogao je razumjeti organizaciju protoka podataka i ubrzati proizvodne operacije. Također obratite pozornost na male alate, na primjer, počnite koristiti Excel za rješavanje pojedinačnih mikro zadataka.

potvrda:
Microsoftov profesionalni program: Certifikat za velike podatke

Arhitektov put: certificiranje i uživljavanje u proizvod

Šesti korak: od programera do arhitekta

Nakon što je primio sve navedene certifikate, dok je još bio programer, Alexey je počeo shvaćati da primljene informacije imaju visoku razinu apstrakcije, a to je bilo daleko od lošeg.

Opsežna vizija procesa vodi do razine arhitekta, jedne od najviših razina certifikacije.

U potrazi za certifikatom arhitekta, Alexey je došao k sebi Certificirani softverski arhitekt - Microsoftova platforma od Sundblad & Sundblad. Riječ je o programu koji je Microsoft prepoznao, a njegov razvoj započeo je prije 14 godina uz suradnju čelnog tijela tvrtke i švedskih ureda. Pokriva .NET Framework, prikupljanje zahtjeva, upravljanje protokom informacija i mnoge druge teme na visokoj razini i smatra se snažnim dokazom vještina arhitekta.

Bilo je kolegija za studiranje unutar programa. Certifikacija je sistematizirala znanja i omogućila nam ulazak u novu fazu razvoja - od programera do arhitekta.

Arhitektov put: certificiranje i uživljavanje u proizvod

Rezimirajući

Kao što Alexey napominje, kada radite s velikim IT sustavom, važno je zapamtiti da programiranje nije skupa zabava, već alat za rješavanje poslovnih problema. Kad se suočite s ovim ili onim izazovom, svakako morate zapisati poslovnu vrijednost kako projekt ne bi došao u slijepu ulicu.

Arhitekt ima poseban pogled na programiranje i njegove elementarne komponente:

  • Stvaranje i/ili održavanje protoka podataka
  • Izdvajanje protoka informacija iz protoka podataka
  • Izdvajanje toka vrijednosti iz toka informacija
  • Monetizacija toka vrijednosti

Ako na projekt gledate očima arhitekta, morate krenuti od kraja: formulirati vrijednost i zatim do nje ići kroz protok podataka.

Arhitekt slijedi pravila razvoja, imajući globalnu viziju projekta. Vježbom i vlastitim pogreškama do nje je gotovo nemoguće doći – točnije, moguće je, ali će trebati jako dugo. Certifikacija vam omogućuje da proširite svoje horizonte i sagledate puni kontekst svakog pitanja, upoznate se s iskustvom tisuća stručnjaka i razvijete vještinu učinkovitog rješavanja problema.

Do danas, s gore opisanim medicinskim sustavom radimo više od pet godina i postigli smo značajna poboljšanja. Tijekom tog vremena Alexey je položio više od 20 certifikacijskih ispita:

  1. TS: Razvoj Windows aplikacija s Microsoft .NET Framework 4
  2. TS: Pristup podacima pomoću Microsoft .NET Framework 4 Programiranje u C#
  3. TS: Microsoft .NET Framework 3.5 Windows Forms razvoj aplikacija
  4. PRO: Dizajniranje i razvoj Windows aplikacija pomoću Microsoft .NET Framework 3.5
  5. PRO: Dizajniranje i razvoj Windows aplikacija pomoću Microsoft .NET Frameworka
  6. TS: Microsoft .NET Framework 2.0 - Razvoj klijenta temeljen na sustavu Windows
  7. 98-361: Osnove razvoja softvera
  8. 98-364: Osnove baze podataka
  9. M_o_R Foundation Certificate in Risk Management
  10. Agile Scrum Foundation
  11. Zaklada za upravljanje IT uslugama
  12. EXIN Business Information Management Foundation
  13. PRINCE2 Foundation Certificate in Project Management
  14. Certifikat ispitnog inženjera
  15. Microsoft Operations Framework Foundation
  16. Agilni uslužni projekti
  17. Lean proizvodnja
  18. Six Sigma: analiziraj, poboljšaj, kontroliraj
  19. Six Sigma: Definirajte i izmjerite
  20. Microsoftov profesionalni program: Certifikat za velike podatke
  21. Certificirani softverski arhitekt - Microsoftova platforma

Arhitektov put: certificiranje i uživljavanje u proizvod

Nakon što je položio sve ispite, Alexey je od glavnog programera postao arhitekt projekta. U isto vrijeme, certifikacija je postala moćan alat za profesionalni razvoj i izgradnju ugleda u očima kupaca.

“Certification Ram” pomogao je dobiti pristup pojedinačnim kritičnim procesima koji su trebali kontrolu i razradu. Europski kupci IT rješenja u pravilu visoko cijene certificirane stručnjake i spremni su im dati veću slobodu djelovanja.

Hvala na pozornosti! Nadamo se da vam je članak bio koristan.

Izvor: www.habr.com

Dodajte komentar