Put arhitekata: Certifikacija i uranjanje u proizvod

Gotovo svaki programer postavlja pitanja o tome kako bi trebao razviti svoje vještine i koji smjer rasta odabrati: vertikalni - to jest, postati menadžer, ili horizontalni - puni stack. Višegodišnji rad na jednom proizvodu, suprotno mitovima, postaje ne ograničenje, već korisna prilika. U ovom članku dijelimo iskustvo našeg backend developera Alexeya, koji je posvetio 6 godina sertifikacijama i za to vrijeme napredovao do toga da postane arhitekta.

Put arhitekata: Certifikacija i uranjanje u proizvod

Ko je arhitekta

IT arhitekta (tech lead) je programer visokog nivoa koji se bavi globalnim pitanjima u IT projektima. On se uranja u poslovne procese kupca i pomaže u rješavanju njegovih problema korištenjem tehnologije, a također određuje kako će ovaj ili onaj informacioni sistem biti strukturiran.

Takav profesionalac treba ne samo da razumije pojedinačne oblasti, već i da sagleda cijeli proces:

  • Postavljanje poslovnog problema.
  • Razvoj, uključujući programiranje, pripremu, skladištenje i obradu podataka.
  • Postavljanje i podrška infrastrukture.
  • Testiranje.
  • Razviti.
  • Analitičke i operativne usluge.

To znači sposobnost da se stavite u kožu bilo kog stručnjaka ili tima u životnom ciklusu razvoja, razumete trenutno stanje sistema iznutra, identifikujete napravljene greške i formulišete ciljeve. Ponekad morate sami obaviti operaciju.

Put profesionalnog razvoja od programera do arhitekte 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 rad na velikom medicinskom IT sistemu za stranog kupca. U ovom velikom projektu bilo je određenih problema:

  • ograničen pristup;
  • nestabilan prod;
  • nevjerovatno dugi sprintovi i duga odobrenja.

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

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

Prvi korak: poboljšajte svoj engleski

Programski jezici su osnovni dio razvoja, ali jezici za komunikaciju su jednako važni. Pogotovo u komunikaciji s klijentima koji govore engleski!

Iz prakse

Jednog lijepog dana, Aleksej je primio poziv od zaposlenog sa strane klijenta. U to vrijeme naš programer se još nije mogao pohvaliti gomilom certifikata - ni u tehnologiji, ni u menadžmentu, ni u komunikacijama. Možda ne bi bili korisni - na kraju krajeva, 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 ste dobro upućeni u engleske specifikacije, ali ne vježbate slušanje i govor, onda imamo loše vijesti za vas. U ovom slučaju, telefonski razgovori sa partnerima mogu dovesti do ćorsokaka.

Aleksej je u razgovoru uhvatio neke poznate reči, ali govor njegove koleginice bio je toliko brz i za razliku od klasičnog izgovora sa audio lekcija da je glavna suština njenih pitanja otišla negde dalje. Iz pristojnosti i nevoljkosti da zakomplikuje situaciju, Aleksej je brzo pristao na sve predloge.

Trebam li reći da su tokom rada napravljena neugodna otkrića? Naš programer se 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 da se to uradi bilo je kroz sertifikaciju.

Certifikat 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 certifikat. To mi je pomoglo da počnem čuti kupca i prenijeti mu svoje misli.

Hakovanje života:

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 krajnosti i polagati CAE (Certifikat za napredni engleski). Njegova posebnost su sofisticirane riječi, specifični izrazi koji se gotovo nikad ne koriste u međunarodnoj komunikaciji.

Put arhitekata: Certifikacija i uranjanje u proizvod

Drugi korak: certifikacija za čitav niz tehnologija

U početku je projekat bio zasnovan na ORM tehnologiji objektno-relacionog mapiranja. Razvojni tim sa strane korisnika bio je ponosan na svoju zamisao, jer je sve urađeno koristeći napredne koncepte, složeno i cool.

Međutim, problemi u proizvodnji – posebno SQL server koji se stalno zamrzava – nisu bili neuobičajeni. Došlo je do tačke u kojoj je tipično rješenje problema bilo ponovno pokretanje usluge. Kupac je nazvao vođu tima i rekao da je vrijeme za ponovno pokretanje. Konačno smo odlučili da to okončamo.

Kupac je želeo da razradi performanse sistema - za to je bilo potrebno uvesti profilisanje i redovno vršiti optimizaciju. U to vreme, oko 2015. godine, Ants Profiler je izabran kao alat za profilisanje, ali je imao loš učinak. Uz malo detalja, bilo je teško dobiti informacije o kritičnom bloku koda. Sa maksimalnim detaljima, Ants Profiler je počeo da menja kod na takav način da je funkcionalnost sistema bila ugrožena - tamo gde je profilisanje konfigurisano, sve se jednostavno srušilo. Tako smo promijenili naš pristup.

Počeli smo sa analizom statistike

Analizirajući statistiku prodaje, postalo je jasno da 95% rada na serveru ima primitivnu poslovnu logiku od 4 reda. Za njih je bio dovoljan jedan SQL upit, a ne kompletan skup upita generiranih blokom poslovne logike s ORM-om.

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

Ipak, sumnjali smo: da li je ovo ispravna odluka ili je stvar ličnih preferencija? Vjera u svemogući C# i ORM poljuljana je nesrećom koja je pokazala punu snagu jednostavnih rješenja.

Slučaj dva

Tim je napisao upit za rad sa podacima u okviru ORM paradigme, sastavljen po svim pravilima, bez grešaka. Njegova obrada je trajala 2-3 minute, a ovi parametri su se činili prihvatljivim. Međutim, alternativna implementacija koja koristi jednostavne selektore i prikaze daje rezultate brže - za 2 sekunde.

Postalo je očito da je vrijeme da se izabere specijalista koji će proći certifikaciju za cijeli niz projekata kako bi razumio sve nijanse i izabrao optimalnu metodu. Aleksej je preuzeo ovaj zadatak.

Prvi sertifikati

Da bi shvatio suštinu, Aleksej je prošao nekoliko Microsoft sertifikata, pokrivajući čitav niz tehnologija projekta:

  • TS: Razvoj Windows aplikacija sa Microsoft .NET Framework 4
  • TS: Pristup podacima pomoću Microsoft .NET Framework 4 programiranja u C#
  • TS: Microsoft .NET Framework 3.5 Windows Forms razvoj aplikacija
  • PRO: Dizajniranje i razvoj Windows aplikacija koristeći Microsoft .NET Framework 3.5
  • PRO: Dizajniranje i razvoj aplikacija zasnovanih na Windows-u korišćenjem Microsoft .NET Framework-a
  • TS: Microsoft .NET Framework 2.0 – razvoj klijenata zasnovan na Windows-u

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

  • Da bi sistemi radili, potrebno je poštovati pravila pisanja koda: ne uvlačenja i komentare, već tehničke karakteristike - broj poziva u baze podataka, opterećenje servera i još mnogo toga.
  • Primjena suprotstavljenih 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 odnosi i na odnose i sposobnost da argumentirate svoje gledište.
  • Sertifikacija proširuje vaše vidike i omogućava vam da shvatite šta se može koristiti, a šta ne može.

Put arhitekata: Certifikacija i uranjanje u proizvod

Treći korak: Naučite više od koda

Kada radite na IT rješenjima velikih razmjera, važni su mnogi faktori. Na primjer, ne obraća svaki programer pažnju na mrežne parametre, ali čak i njegova propusnost može utjecati na rješenje poslovnog problema.

Razumijevanje ovoga je dato Sertifikacija serije 98:

Omogućuju vam da sagledate stvari šire i izađete iz ograničenog koncepta „samo kod“. Ovo su osnove, osnove, ali su važne za razumijevanje svega na dubljem nivou.

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

Četvrti korak: Upravljanje procesima

Rad s klinikama je važniji poduhvat od, recimo, kreiranja mobilne igre. Ovdje ne možete dodati funkciju i pokrenuti je za proizvodnju - važno je pratiti proces odobravanja i unošenja brojnih izmjena od strane kupca, jer su zdravlje i životi ljudi u pitanju.

Tipični Agile nije dao željene rezultate na ovom projektu, a svaki sprint je trajao dosta dugo. Između postavljanja prošlo je od 6 mjeseci do godinu dana.

Osim toga, tehnički je bilo nemoguće procese deset serviranih klinika dovesti do nekog zajedničkog imenitelja.

Da bi u ovakvim uslovima brže došli do rezultata, programerima je bila potrebna lična odgovornost i velika vizija procesa – što podrazumeva konstantnu koncentraciju i visoke kvalifikacije.

Kada je stručnjak uronjen u proces, on jasno vidi rezultate, uzroke i posljedice, cijelu sliku. To je ujedno i faktor dodatne motivacije i svijesti, poboljšavajući sposobnost rješavanja problema i problema.

Sa infrastrukturom koja dobro funkcioniše, dobro izgrađenom arhitekturom i optimalnim kodom, jedna osoba može preuzeti mnoge procese. Međutim, 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 njegove kolege zavise od njegovih postupaka. Ušteda od 5 minuta tokom faze razvoja znači možda 5 dodatnih sati testiranja. Da biste ovo razumjeli, važno je uspostaviti komunikaciju.

U našem projektu, Alexey je dobio pomoć u savladavanju procesa EXIN sertifikati:

  • M_o_R Foundation Certificate in Risk Management
  • Agile Scrum fondacija
  • Fondacija za upravljanje IT uslugama
  • EXIN Fondacija za upravljanje poslovnim informacijama
  • PRINCE2 Foundation Certificate in Project Management
  • Sertifikat inženjera za ispitivanje
  • Microsoft Operations Framework Foundation
  • Agilni servisni projekti

Pohađani su kursevi na edX-u koji je pomogao da se sistem sagleda sa stanovišta statistike i lean programiranja, a kasnije je gurnut da se dobije sertifikat arhitekte:

  • Lean Production
  • Šest sigma: analizirajte, poboljšajte, kontrolirajte
  • Six Sigma: Definirajte i izmjerite

Prema principu Six Sigma, statistička kontrola osigurava visokokvalitetan rezultat sa izuzetno velikom vjerovatnoćom.

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

  • Ne radite naporno, već radite efikasno.
  • Ne komplikujte svoj život jureći izvana: fensi tehnologija ne mora nužno bolje riješiti probleme.
  • Sprijateljite se sa specijalistima u svim fazama ciklusa i saznajte njihove bolne tačke. Arhitekta mora ovladati procesima: identificiranje problema, postavljanje problema, dizajniranje topologije mreže, razvoj, testiranje, podrška, rad.
  • Provjerite svaku funkciju iznutra i izvana.
  • Dešava se da IT procesi ne odgovaraju poslovnim procesima i to se mora riješiti.

Put arhitekata: Certifikacija i uranjanje u proizvod

Peti korak: shvatite arhitekturu kroz sočivo velikih podataka

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

Sljedeći korak ka sertifikaciji bio je kurs o velikim podacima. Pomogao je razumjeti organizaciju protoka podataka i ubrzati proizvodne operacije. I obratite pažnju na male alate, na primjer, počnite koristiti Excel za rješavanje pojedinačnih mikro zadataka.

Certifikat:
Microsoft Professional Program: Sertifikat velikih podataka

Put arhitekata: Certifikacija i uranjanje u proizvod

Šesti korak: od programera do arhitekte

Nakon što je primio sve navedene certifikate, dok je još bio programer, Alexey je počeo shvaćati da primljene informacije imaju visok nivo apstrakcije, a to nije bilo loše.

Velika vizija procesa vodi do nivoa arhitekte, jednog od najviših nivoa sertifikacije.

U potrazi za certifikacijom arhitekte, Alexey se osvijestio Certificirani softverski arhitekta - Microsoft platforma od Sundblad & Sundblad. Ovo je program prepoznat od strane Microsofta, njegov razvoj je započeo prije 14 godina uz saradnju direktora kompanije i švedskih ureda. Pokriva .NET Framework, prikupljanje zahtjeva, upravljanje protokom informacija i mnoge druge teme visokog nivoa i smatra se jakim dokazom vještina arhitekte.

Postojali su kursevi za učenje u okviru programa. Sertifikacija je sistematizirala znanje i omogućila nam da uđemo u novu fazu razvoja – od programera do arhitekte.

Put arhitekata: Certifikacija i uranjanje u proizvod

Sumiranje

Kako napominje Aleksej, kada radite sa IT sistemom velikih razmera, važno je zapamtiti da programiranje nije skupa zabava, već alat za rešavanje poslovnih problema. Kada se suočite s ovim ili onim izazovom, svakako morate zapisati poslovnu vrijednost kako projekt ne bi došao u ćorsokak.

Arhitekta ima poseban pogled na programiranje i njegove elementarne komponente:

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

Ako na projekat gledate očima arhitekte, morate početi od kraja: formulirati vrijednost i zatim ići do nje kroz tok podataka.

Arhitekta prati pravila razvoja, ima globalnu viziju projekta. Praksom i vlastitim greškama gotovo je nemoguće doći do nje – ili bolje rečeno, moguće je, ali će potrajati jako dugo. Sertifikacija vam omogućava da proširite svoje vidike i sagledate puni kontekst svakog pitanja, upoznate se s iskustvom hiljada profesionalaca i razvijete vještinu efikasnog rješavanja problema.

Do danas sa goreopisanim medicinskim sistemom radimo više od pet godina i postigli smo značajna poboljšanja. Za to vrijeme, Alexey je položio više od 20 ispita za sertifikaciju:

  1. TS: Razvoj Windows aplikacija sa Microsoft .NET Framework 4
  2. TS: Pristup podacima pomoću Microsoft .NET Framework 4 programiranja u C#
  3. TS: Microsoft .NET Framework 3.5 Windows Forms razvoj aplikacija
  4. PRO: Dizajniranje i razvoj Windows aplikacija koristeći Microsoft .NET Framework 3.5
  5. PRO: Dizajniranje i razvoj aplikacija zasnovanih na Windows-u korišćenjem Microsoft .NET Framework-a
  6. TS: Microsoft .NET Framework 2.0 – razvoj klijenata zasnovan na Windows-u
  7. 98-361: Osnove razvoja softvera
  8. 98-364: Osnove baze podataka
  9. M_o_R Foundation Certificate in Risk Management
  10. Agile Scrum fondacija
  11. Fondacija za upravljanje IT uslugama
  12. EXIN Fondacija za upravljanje poslovnim informacijama
  13. PRINCE2 Foundation Certificate in Project Management
  14. Sertifikat inženjera za ispitivanje
  15. Microsoft Operations Framework Foundation
  16. Agilni servisni projekti
  17. Lean Production
  18. Šest sigma: analizirajte, poboljšajte, kontrolirajte
  19. Six Sigma: Definirajte i izmjerite
  20. Microsoft Professional Program: Sertifikat velikih podataka
  21. Certificirani softverski arhitekta - Microsoft platforma

Put arhitekata: Certifikacija i uranjanje u proizvod

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

„Certifikacioni ram“ je pomogao da se dobije pristup pojedinačnim kritičnim procesima kojima je bila potrebna kontrola i razrada. Evropski kupci IT rješenja po pravilu visoko cijene certificirane stručnjake i spremni su im dati više slobode djelovanja.

Hvala vam na pažnji! Nadamo se da vam je članak bio koristan.

izvor: www.habr.com

Dodajte komentar