NÀstan varje utvecklare stÀller sig frÄgorna om hur de ska utveckla sina fÀrdigheter och vilken tillvÀxtvÀg de ska vÀlja: vertikal - det vill sÀga att bli en chef, eller horisontell - fullstack. MÄngÄrigt arbete med en enda produkt blir, till skillnad frÄn myterna, inte en begrÀnsning, utan en vÀrdefull möjlighet. I denna artikel delar vi erfarenheten frÄn vÄr backend-utvecklare Alexey, som har Àgnat 6 Är Ät certifiering och under denna tid har nÄtt fram till arkitektnivÄ.

Vem Àr en arkitekt
Arkitekten inom IT (tech lead) Àr en utvecklare pÄ hög nivÄ som hanterar globala frÄgor i IT-projekt. Hen dyker ner i affÀrsprocesserna hos kunden och hjÀlper till att lösa deras problem med hjÀlp av teknik, samt definierar hur ett visst informationssystem kommer att vara utformat.
En sÄdan professionell behöver inte bara förstÄ olika ÀmnesomrÄden, utan ocksÄ se hela processen:
- Formulering av affÀrsuppgiften.
- Utveckling, inklusive programmering, förberedelse, lagring och bearbetning av data.
- Distribution och support av infrastrukturen.
- Testning.
- Deployment.
- Analys och driftservice.
Detta innebÀr förmÄgan att sÀtta sig in i vilken specialist eller team som helst i livscykeln för utveckling, förstÄ det aktuella tillstÄndet för systemen, identifiera begÄngna misstag, formulera mÄl. Ibland - genomföra operativ intervention pÄ egen hand.
VÀgen till professionell utveckling frÄn utvecklare till arkitekt tar lÄng tid - vanligtvis flera Är. För detta behöver utvecklaren bÄde praktiska fÀrdigheter och teoretisk kunskap, som kan bekrÀftas genom internationell certifiering.
Mer Àn 5 Är pÄ ett projekt - rutin eller möjlighet till tillvÀxt?
För nÄgra Är sedan började vi arbeta med ett stort medicinskt IT-system för en utlÀndsk kund. I detta storskaliga projekt fanns vissa problem:
- begrÀnsad Ätkomst;
- instabil produktion;
- otroligt utdragna sprintar och lÄnga godkÀnnanden.
"Det Àr dags att höja kompetensen", - kom en av vÄra ledande utvecklare Alexey fram till i sitt beslut att övervinna de nÀmnda svÄrigheterna och fÄ en bÀttre förstÄelse för systemet.
Aleksei delade sin erfarenhet om hur man bÀst börjar sin utbildning, vilka certifikat det Àr viktigt att skaffa, samt hur och varför man gör det.
Steg ett: FörbÀttra din engelska
ProgrammeringssprÄk Àr en grundlÀggande del av utvecklingen, men sprÄk för kommunikation Àr lika viktiga. Speciellt i kommunikationen med engelsksprÄkiga kunder!
FrÄn praktiken
En vacker dag ringde en medarbetare frĂ„n kunden Aleksei. Vid den tidpunkten kunde vĂ„r utvecklare fortfarande inte skryta med en uppsĂ€ttning certifikat â varken inom teknologi, ledarskap eller kommunikation. Kanske hade de inte hjĂ€lpt â man kan vara en kompetent specialist Ă€ven utan ytterligare meriter. Men Ă€ndĂ„ uppstod ett problem.
Det Àr viktigt att förstÄ att talad engelska radikalt skiljer sig frÄn skriven. Om du Àr bra pÄ engelska specifikationer men inte praktiserar listening och speaking, har vi dÄliga nyheter. I sÄ fall kan telefonförhandlingar med partners bli en fÀlla.
Aleksei uppfattade vissa bekanta ord under samtalet, men kollegans tal var sÄ snabbt och olikt den klassiska uttalningen frÄn ljudlektionerna att huvudsaken av hennes frÄgor gick förbi. Av artighet och ovilja att komplicera situationen gick Aleksei snabbt med pÄ alla förslag.
Behöver jag sÀga att det under arbetets gÄng gjordes obehagliga upptÀckter? VÄr utvecklare gick med pÄ sÄdant som han helt och hÄllet medvetet hade avstÄtt frÄn om erbjudandet hade kommit pÄ ett begripligt sprÄk.
I det ögonblicket blev det tydligt att fÀrdigheterna i att lyssna och tala verkligen behövde förbÀttras. Det bÀsta sÀttet att göra detta var genom certifieringar.
Certifiering i engelska
För att förbĂ€ttra kommunikationen inom vĂ„rt medicinska projekt studerade Aleksei flera program samtidigt. Som ett resultat klarade han certifieringen FCE â First Certificate in English. Det hjĂ€lpte honom att börja förstĂ„ kunden och att förmedla sina tankar till dem.
Livhack:
Undvik program för grundlĂ€ggande engelska. FĂ€rdigheten bör vara mĂ„linriktad. Om affĂ€rskommunikation pĂ„ engelska krĂ€vs â dĂ„ Ă€r det det du bör lĂ€ra dig. Men undvik att gĂ„ till ytterligheter och ta CAE (Certificate in Advanced English). Dess sĂ€rdrag Ă€r sofistikerade ord och specifika uttryck som nĂ€stan inte anvĂ€nds i internationell kommunikation.

Andra steget: certifiering över hela teknikstacken
Inledningsvis byggdes projektet pÄ teknologin för objekt-relationell avbildning (ORM). Utvecklarteamet frÄn kunden var stolta över sitt verk, för allt var gjort med hjÀlp av avancerade koncept, komplext och imponerande.
Trots det var problem pĂ„ produktion â sĂ€rskilt en stĂ€ndigt hĂ€ngande SQL-server â inget ovanligt. Det kom till den punkt att den typiska lösningen var att starta om tjĂ€nsten. Kunden ringde teamledaren och meddelade att det var dags att starta om. Till slut beslöt vi oss för att ta itu med detta.
Kunden ville arbeta pĂ„ systemets prestanda â för detta behövdes det implementeras profilering och regelbundet utföra optimeringar. Som profileringsverktyg valde vi dĂ„, omkring 2015, Ants Profiler, men den visade sig vara svag. Med lĂ„g detaljrikedom var det svĂ„rt att fĂ„ information om den kritiska kodblocket. Med maximal detaljrikedom började Ants Profiler att Ă€ndra koden pĂ„ ett sĂ€tt som gjorde systemens funktionalitet osĂ€ker â dĂ€r profileringen var instĂ€lld, kraschade allt. DĂ€rför Ă€ndrade vi tillvĂ€gagĂ„ngssĂ€ttet.
Vi började med att analysera statistiken
Vid analysen av produktionsstatistiken blev det klart att 95% av arbetet pÄ servern hade en primitiv affÀrslogik pÄ 4 rader. För dem rÀckte det med en SQL-frÄga, istÀllet för hela mÀngden frÄgor som genererades av affÀrslogikblocket med ORM.
Alexey föreslog och implementerade en lagrad procedur för flytt av arbeten utan ORM. IdĂ©n stod i kontrast till projektets vanliga paradigm, teamledaren mötte den med försiktighet, men kunden accepterade allt och begĂ€rde implementering. Det var inte förvĂ„nande, eftersom den nya metoden förkortade bearbetningstiderna pĂ„ produktion frĂ„n fyra timmar till nĂ„gra minuter â i genomsnitt 98 gĂ„nger.
ĂndĂ„ hade vi kvar tvivel: var detta rĂ€tt beslut eller en frĂ„ga om personliga preferenser? Tron pĂ„ den allsmĂ€ktiga C# och ORM skakades av en slump, som visade styrkan hos enkla lösningar.
Fall tvÄ
Teamet skrev en förfrĂ„gan för att arbeta med data inom ramen för ORM-paradigmet, utformad enligt alla regler, utan fel. Dess behandling tog 2-3 minuter, och dessa parametrar verkade acceptabla. Men en alternativ implementering med hjĂ€lp av enklaste SELECT-frĂ„gor och vyer gav resultat snabbare â pĂ„ 2 sekunder.
Det har blivit uppenbart att det Àr dags att vÀlja en specialist som kan certifiera sig inom hela projektets teknikstack för att förstÄ alla nyanser och vÀlja den optimala metoden. Denna uppgift har tagits av Alexej.
Första certifikaten
För att förstÄ kÀrnan har Alexej genomgÄtt , som tÀckte hela projektets teknologi-stack:
- TS: Utveckling av Windows-applikationer med Microsoft .NET Framework 4
- TS: Ă tkomst av data med Microsoft .NET Framework 4 programmering i C#
- TS: Microsoft .NET Framework 3.5 Windows Forms-applikationsutveckling
- PRO: Design och utveckling av Windows-applikationer med Microsoft .NET Framework 3.5
- PRO: Design och utveckling av Windows-baserade applikationer med Microsoft .NET Framework
- TS: Microsoft .NET Framework 2.0 â Windows-baserad klientutveckling
I syfte att optimera arbetet med det nya projektet kom teamet fram till följande slutsatser:
- För systemets funktionalitet mĂ„ste reglerna för kodning följas: inte bara indrag och kommentarer, utan Ă€ven tekniska specifikationer â antal databasfrĂ„gor, serverbelastning och mycket mer.
- AnvÀndningen av motstridiga koncept kan leda till problem. Databasens koncept Àr mÀngdteori, medan ORM Àr operationskoncept.
- Idéer som bryter mot det vanliga kan möta motstÄnd i teamet. Utveckling handlar ocksÄ om relationer och förmÄgan att argumentera för sin synpunkt.
- Certifiering vidgar perspektiven och gör att man kan förstÄ vad som kan anvÀndas och vad som kan undvikas.

Steg tre: studera inte bara koden
NĂ€r man arbetar med storskaliga IT-lösningar Ă€r mĂ„nga faktorer viktiga. Till exempel, inte varje utvecklare uppmĂ€rksammar nĂ€tverksparametrar â men Ă€ven dess bandbredd kan pĂ„verka lösningen pĂ„ affĂ€rsproblem.
Denna förstÄelse ges av certifieringar av serie 98:
De tillÄter en bredare syn pÄ saker och att gÄ bortom den begrÀnsade uppfattningen av "bara kod". Det handlar om grunderna, men de Àr viktiga för att förstÄ allt pÄ en djupare nivÄ.
Certifieringar av serie 98 bestĂ„r av smĂ„ tester â 30 frĂ„gor pĂ„ 45 minuter.
Steg fyra: hantera processerna
Att arbeta med kliniker Ă€r en mer ansvarsfull uppgift Ă€n att till exempel skapa ett mobilspel. HĂ€r kan man inte bara lĂ€gga till en funktion och implementera det i produktion â det Ă€r viktigt att följa processen för godkĂ€nnande och att göra mĂ„nga Ă€ndringar frĂ„n kunden, eftersom mĂ€nniskors hĂ€lsa och liv stĂ„r pĂ„ spel.
Den typiska Agile gav inte de önskade resultaten i detta projekt, och varje sprint varade tillrÀckligt lÀnge. Det gick mellan 6 mÄnader till ett Är mellan deployment.
Dessutom var det rent tekniskt omöjligt att fÄ processerna i tio kliniker med full service till nÄgon gemensam nÀmnare.
För att snabbare fĂ„ resultat under dessa förhĂ„llanden behövde utvecklarna personligt ansvar och ett brett perspektiv pĂ„ processerna â vilket innebĂ€r konstant fokus och hög kompetens.
NÀr en specialist Àr djupt involverad i processen ser han tydligt resultaten, orsakerna och konsekvenserna, och den helhetsbilden. Detta fungerar samtidigt som en extra motivationsfaktor och ökar medvetenheten, vilket förbÀttrar förmÄgan att lösa uppgifter och problem.
Med en vÀlfungerande infrastruktur, en vÀl genomtÀnkt arkitektur och optimal kod kan en person ta ansvar för mÄnga processer. Men detta betyder inte att man bör odla universella soldater som kan leda projektet ensam. Kommunikation och teamwork Àr kritiskt viktiga.
I ett team förstÄr varje utvecklare att kollegor Àr beroende av hans handlingar. Att spara 5 minuter under utvecklingsfasen kan innebÀra 5 extra timmar för testning. För att förstÄ detta Àr det viktigt att etablera kommunikation.
I vÄrt projekt var Alexey hjÀlpt av att behÀrska processerna av :
- 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
PÄ edX genomfördes kurser som hjÀlpte till att se systemet ur ett statistiskt och lean-programmeringsperspektiv, vilket senare ledde till att han erhöll certifikatet som arkitekt:
- Lean Production
- Six Sigma: Analysera, FörbÀttra, Kontrollera
- Six Sigma: Definiera och MĂ€ta
Enligt principen âSix Sigmaâ sĂ€kerstĂ€ller statistisk kontroll ett kvalitativt resultat med ytterst hög sannolikhet.
Genom att öka sin kompetens kommer utvecklaren ofta fram till följande slutsatser:
- Arbeta inte mycket utan effektivt.
- Kom inte i klÀm i jakten pÄ det yttre: komplicerade teknologier löser inte nödvÀndigtvis problem bÀttre.
- Samarbeta med specialister i alla faser av cykeln och identifiera deras smÀrtpunkter. Arkitekten mÄste behÀrska processerna: identifiera problemet, formulera uppgiften, designa nÀtverkstopologin, utveckling, testning, support, drift.
- Kontrollera varje funktion noggrant.
- Det hÀnder att IT-processer inte överensstÀmmer med affÀrsprocesser, och detta mÄste ÄtgÀrdas.

Steg fem: förstÄ arkitekturen genom linsen av Big Data
I projektet arbetade vi med ganska stora databaser. Ă tminstone verkade det sĂ„ fram till en viss punkt. NĂ€r Aleksej började studera stora data pĂ„ edX, fann han att 1,5 Tb i projektet Ă€r en liten databas. Stora volymer â frĂ„n 10 Tb, och dĂ€r krĂ€vs andra metoder.
NÀsta steg pÄ vÀgen till certifiering var en kurs i stora data. Den hjÀlpte till att förstÄ datastreamens organisation och pÄskynda operationerna i produktion. Samt att uppmÀrksamma smÄ verktyg, till exempel att börja anvÀnda Excel för att lösa specifika mikrouppgifter.
Certifikat:
Microsoft Professional Program: Big Data Certificate

Steg sex: frÄn utvecklare till arkitekt
Efter att ha fÄtt alla ovan nÀmnda certifikat, Àven som utvecklare, började Aleksej förstÄ att den information som erhÄllits har en hög abstraktionsnivÄ, vilket inte Àr dÄligt.
En omfattande syn pÄ processerna förbereder överskridandet av nivÄn av arkitekt, en av de högsta certifieringsnivÄerna.
I jakten pÄ arkitektscertifiering kom Aleksej i kontakt med frÄn Sundblad & Sundblad. Detta Àr ett program som erkÀnns av Microsoft, vars utveckling började för 14 Är sedan i samarbete mellan huvudkontoret och det svenska kontoret. Det tÀcker .NET Framework, kravinsamling, informationsflödeshantering och mÄnga andra frÄgor pÄ hög nivÄ och anses vara ett starkt bevis pÄ arkitektens fÀrdigheter.
Som en del av programmet fanns det kurser att studera. Certifieringen systematiserade kunskaperna och möjliggjorde en ny utvecklingsspiral â frĂ„n utvecklare till arkitekt.

Sammanfattning
Som Aleksej pÄpekar, i arbetet med en omfattande IT-system Àr det viktigt att komma ihÄg att programmering inte Àr ett kostsamt nöje, utan ett verktyg för att lösa affÀrsutmaningar. NÀr man konfronteras med olika utmaningar Àr det viktigt att specificera business value, sÄ att projektet inte gÄr i stÄ.
Arkitekten har en sÀrskild syn pÄ programmering och dess grundlÀggande komponenter:
- Skapande och/eller stöd av datastreamar
- Uttag av information baserad pÄ datastreamar
- Uttag av vÀrdeströmmar baserat pÄ information
- Monetisering av vÀrdeströmmar
Om man ser pÄ projektet genom arkitekts ögon, bör man börja med slutet: formulera vÀrdet och sedan arbeta mot det genom datastreamar.
Arkitekten följer utvecklingsregler med en global syn pĂ„ projektet. Att nĂ„ dit genom praktik och egna misstag Ă€r nĂ€stan omöjligt â snarare kan det göras, men det tar mycket lĂ„ng tid. Certifiering möjliggör att vidga vyerna och se hela kontexten av varje frĂ„ga, bekanta sig med erfarenheter frĂ„n tusentals yrkesverksamma och utveckla fĂ€rdigheten att effektivt lösa problem.
I dagslÀget har vi arbetat med det ovan nÀmnda medicinska systemet i över fem Är och har uppnÄtt betydande förbÀttringar. Under denna tid har Alexey genomfört mer Àn 20 certifieringsprov:
- TS: Utveckling av Windows-applikationer med Microsoft .NET Framework 4
- TS: Ă tkomst av data med Microsoft .NET Framework 4 programmering i C#
- TS: Microsoft .NET Framework 3.5 Windows Forms-applikationsutveckling
- PRO: Design och utveckling av Windows-applikationer med Microsoft .NET Framework 3.5
- PRO: Design och utveckling av Windows-baserade applikationer med Microsoft .NET Framework
- TS: Microsoft .NET Framework 2.0 â Windows-baserad klientutveckling
- 98-361: GrundlÀggande programvaruutveckling
- 98-364: GrundlÀggande databaser
- 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
- Lean Production
- Six Sigma: Analysera, FörbÀttra, Kontrollera
- Six Sigma: Definiera och MĂ€ta
- Microsoft Professional Program: Big Data Certificate
- Certified Software Architect â Microsoft Platform

Genom att klara alla prov har Alexey stigit frÄn ledande utvecklare till projektarkitekt. Certifieringen har blivit ett kraftfullt verktyg för bÄde professionell utveckling och för att bygga upp sitt rykte i kundens ögon.
âCertifieringsramenâ hjĂ€lpte till att fĂ„ tillgĂ„ng till vissa kritiska processer som behövde kontroll och bearbetning. Europeiska kunder av IT-lösningar vĂ€rderar vanligvis certifierade specialister högt och Ă€r villiga att ge dem mer handlingsfrihet.
Tack för uppmÀrksamheten! Vi hoppas att artikeln har varit till nytta för dig.
KĂ€lla: habr.com
