Arkitektens väg: certifiering och produktfördjupning

Nästan varje utvecklare ställer frågor om hur han ska utveckla sina färdigheter och vilken tillväxtriktning han ska välja: vertikal - det vill säga att bli chef, eller horisontell - full stack. Många års arbete med en produkt, i motsats till myter, blir inte en begränsning, utan en användbar möjlighet. I den här artikeln delar vi erfarenheterna från vår backend-utvecklare Alexey, som ägnade 6 år åt certifieringar och under denna tid arbetade sig fram till att bli arkitekt.

Arkitektens väg: certifiering och produktfördjupning

Vem är arkitekt

En IT-arkitekt (tech lead) är en utvecklare på hög nivå som hanterar globala frågor i IT-projekt. Han fördjupar sig i kundens affärsprocesser och hjälper till att lösa hans problem med hjälp av teknik, och bestämmer också hur det eller det informationssystemet ska struktureras.

En sådan professionell behöver inte bara förstå enskilda ämnesområden, utan också se hela processen:

  • Att ställa in ett affärsproblem.
  • Utveckling, inklusive programmering, förberedelse, lagring och bearbetning av data.
  • Utbyggnad och support av infrastruktur.
  • Testning.
  • Distribuera.
  • Analys och drifttjänster.

Detta innebär förmågan att sätta dig själv i skorna för alla specialister eller team i utvecklingens livscykel, förstå systemets nuvarande tillstånd från insidan, identifiera misstag som gjorts och formulera mål. Ibland behöver man operera sig själv.

Vägen för professionell utveckling från utvecklare till arkitekt tar lång tid – vanligtvis flera år. För att göra detta behöver utvecklaren både praktiska färdigheter och teoretiska kunskaper, vilket kan bekräftas genom internationell certifiering.

Mer än 5 år på ett projekt - rutin eller möjlighet till tillväxt?

För flera år sedan började vi arbeta med ett stort medicinskt IT-system för en utländsk kund. Det fanns vissa problem i detta storskaliga projekt:

  • begränsad åtkomst;
  • instabil prod;
  • otroligt långa spurter och långa godkännanden.

"Det är dags att förbättra dina färdigheter"", - en av de ledande utvecklarna Alexey kom till detta beslut för att övervinna de angivna svårigheterna och bättre förstå systemet.

Alexey delade med sig av sin erfarenhet, var det är bättre att börja träna, vilka certifikat som är viktiga att få, 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 en engelsktalande kund!

Från praktiken

En vacker dag fick Alexey ett samtal från en anställd från kundens sida. På den tiden kunde vår utvecklare ännu inte skryta med ett gäng certifikat - varken i teknik, eller ledning eller i kommunikation. Kanske skulle de inte vara användbara - trots allt kan du vara en kompetent specialist utan ytterligare regalier. Men problemet uppstod ändå.

Vi måste förstå att talat språk skiljer sig radikalt från skriftspråk. Om du är väl insatt i engelska specifikationer, men inte tränar på att lyssna och tala, så har vi dåliga nyheter för dig. I det här fallet kan telefonsamtal med partners leda till en återvändsgränd.

Alexey fångade några bekanta ord på samtalet, men hans kollegas tal var så snabbt och till skillnad från det klassiska uttalet från ljudlektioner att huvudessensen av hennes frågor gick någonstans förbi. Av artighet och ovilja att komplicera situationen gick Alexej snabbt med på alla förslag.

Behöver jag säga att obehagliga upptäckter gjordes under arbetets gång? Vår utvecklare skrev på något som han absolut medvetet skulle ha tackat nej till om erbjudandet hade kommit på ett begripligt språk.

I det ögonblicket stod det klart att det helt enkelt var nödvändigt att förbättra hör- och talförmågan. Det bästa sättet att göra detta var genom certifieringar.

Engelska språkcertifiering

För att förbättra kommunikationen inom ramen för vårt medicinska projekt studerade Alexey i flera program samtidigt. Som ett resultat klarade han FCE - First Certificate in English certifiering. Detta hjälpte mig att börja höra kunden och förmedla mina tankar till honom.

Livshackning:

Undvik grundläggande engelska program. Färdigheten måste vara målinriktad. Om du behöver engelska för affärskommunikation bör du ta det. Gå bara inte till ytterligheter och ta CAE (Certificate in Advanced English). Dess egenhet är sofistikerade ord, specifika uttryck som nästan aldrig används i internationell kommunikation.

Arkitektens väg: certifiering och produktfördjupning

Steg två: certifiering över hela teknikstacken

Inledningsvis baserades projektet på ORM-tekniken för objektrelationell kartläggning. Utvecklingsteamet på kundens sida var stolta över sin idé, eftersom allt gjordes med avancerade koncept, komplexa och coola.

Men problem i produktionen - i synnerhet en ständigt frysande SQL-server - var inte ovanliga. Det kom till den punkt där den typiska lösningen på problemet var att starta om tjänsten. Kunden ringde teamledaren och sa att det var dags att starta om. Till slut bestämde vi oss för att avsluta det.

Kunden ville räkna ut systemets prestanda - för detta var det nödvändigt att införa profilering och regelbundet utföra optimering. Då, runt 2015, valdes Ants Profiler som ett profileringsverktyg, men det fungerade dåligt. Med låg detaljrikedom var det svårt att få information om ett kritiskt kodblock. Vid maximal detaljnivå började Ants Profiler ändra koden på ett sådant sätt att systemens funktionalitet var i fara - där profilering konfigurerades kraschade allt helt enkelt. Så vi ändrade vårt synsätt.

Vi började med att analysera statistik

När man analyserade försäljningsstatistiken blev det tydligt att 95% av arbetet på servern har primitiv affärslogik på 4 rader. För dem räckte en SQL-fråga, och inte en komplett uppsättning frågor genererade av ett affärslogikblock med en ORM.

Alexey föreslog och implementerade en lagrad procedur för att flytta arbete utan ORM. Idén stred mot det vanliga projektparadigmet, teamledaren hälsade den med försiktighet, men kunden accepterade allt och begärde implementering. Detta var inte förvånande, eftersom den nya metoden gjorde det möjligt att minska förseningar i produktionen från fyra timmar till flera minuter - i genomsnitt 98 gånger.

Ändå hade vi tvivel: är detta rätt beslut eller en fråga om personlig preferens? Tron på den allsmäktiga C# och ORM skakades av en olycka som visade den fulla kraften hos enkla lösningar.

Fall två

Teamet skrev en fråga för att arbeta med data inom ORM-paradigmet, sammanställd enligt alla regler, utan fel. Dess bearbetning tog 2-3 minuter, och dessa parametrar verkade acceptabla. En alternativ implementering med enkla väljare och vyer gav dock resultat snabbare - på 2 sekunder.

Det blev uppenbart att det var dags att välja en specialist som skulle genomgå certifiering över hela projektstapeln för att förstå alla nyanser och välja den optimala metoden. Alexey tog på sig denna uppgift.

Första certifikaten

För att förstå essensen gick Alexey igenom flera Microsoft-certifieringar, som täcker hela projektets teknikstapel:

  • TS: Windows-applikationsutveckling med Microsoft .NET Framework 4
  • TS: Åtkomst till data med Microsoft .NET Framework 4-programmering i C#
  • TS: Microsoft .NET Framework 3.5 Windows Forms Application Development
  • PRO: Designa och utveckla Windows-applikationer med Microsoft .NET Framework 3.5
  • PRO: Designa och utveckla Windows-baserade applikationer med hjälp av Microsoft .NET Framework
  • TS: Microsoft .NET Framework 2.0 - Windows-baserad klientutveckling

I ett försök att optimera arbetet med det nya projektet kom teamet till följande slutsatser:

  • För att systemen ska fungera är det nödvändigt att följa reglerna för att skriva kod: inte indrag och kommentarer, utan tekniska egenskaper - antalet anrop till databaserna, belastningen på servern och mycket mer.
  • Att tillämpa motstridiga begrepp kan leda till problem. Begreppet databaser är mängdteori, medan ORM är ett operationskoncept.
  • Idéer som stör den vanliga ordningen kan möta motstånd inom teamet. Utveckling handlar också om relationer och förmågan att argumentera för sin åsikt.
  • Certifiering vidgar dina vyer och låter dig förstå vad som kan användas och vad som inte kan användas.

Arkitektens väg: certifiering och produktfördjupning

Steg tre: Lär dig mer än kod

När man arbetar med storskaliga IT-lösningar är många faktorer viktiga. Till exempel, inte alla utvecklare uppmärksammar nätverksparametrar, men även dess bandbredd kan påverka lösningen av ett affärsproblem.

Att förstå detta är givet 98-serien certifiering:

De låter dig ta en bredare titt på saker och komma ur det begränsade "endast kod"-konceptet. Dessa är Fundamentals, grunderna, men de är viktiga för att förstå allt på en djupare nivå.

Serie 98-certifieringar är korta tester - 30 frågor under 45 minuter.

Steg fyra: Processhantering

Att arbeta med kliniker är ett viktigare uppdrag än att till exempel skapa ett mobilspel. Här kan du inte lägga till en funktion och rulla ut den för produktion - det är viktigt att följa processen för godkännande och göra många redigeringar från kunden, eftersom människors hälsa och liv står på spel.

Typiskt Agile gav inte de önskade resultaten i detta projekt, och varje sprint varade ganska länge. Mellan installationerna tog det från 6 månader till ett år.

Dessutom var det tekniskt omöjligt att få processerna på de tio kliniker som serverades till någon gemensam nämnare.

För att få resultat snabbare under dessa förhållanden behövde utvecklare personligt ansvar och en storskalig vision av processer – vilket innebär konstant koncentration och höga kvalifikationer.

När en specialist är fördjupad i processen ser han tydligt resultaten, orsakerna och konsekvenserna, hela bilden. Detta är samtidigt en faktor för ytterligare motivation och medvetenhet, vilket förbättrar förmågan att lösa problem och problem.

Med en väl fungerande infrastruktur, välbyggd arkitektur och optimal kod kan en person ta sig an många processer. Detta betyder dock inte att det är nödvändigt att fostra universella soldater som är kapabla att leda projektet ensamma. Kommunikation och lagarbete är avgörande.

I ett team förstår varje utvecklare att hans kollegor är beroende av hans handlingar. Att spara 5 minuter under utvecklingsfasen innebär kanske ytterligare 5 timmars testning. För att förstå detta är det viktigt att etablera kommunikation.

I vårt projekt fick Alexey hjälp med att bemästra processerna certifikat från EXIN:

  • M_o_R Foundation Certificate in Risk Management
  • Agile Scrum Foundation
  • Stiftelsen IT Service Management
  • EXIN Business Information Management Foundation
  • PRINCE2 Foundation Certificate in Project Management
  • Testingenjörscertifikat
  • Microsoft Operations Framework Foundation
  • Agila serviceprojekt

Kurser togs på edX som hjälpte till att titta på systemet ur statistik och lean programmering och senare pushade för att få arkitektcertifikat:

  • Lean produktion
  • Six Sigma: Analysera, förbättra, kontrollera
  • Six Sigma: Definiera och mäta

Enligt Six Sigma-principen säkerställer statistisk kontroll ett högkvalitativt resultat med extremt hög sannolikhet.

Genom att höja sin nivå kommer utvecklaren som regel till följande slutsatser:

  • Arbeta inte hårt, men arbeta effektivt.
  • Komplicera inte ditt liv genom att jaga utsidan: fancy teknik löser inte nödvändigtvis problem bättre.
  • Bli vän med specialister i alla stadier av cykeln och ta reda på deras smärtpunkter. En arkitekt måste behärska processerna: identifiera ett problem, ställa in ett problem, designa en nätverkstopologi, utveckling, testning, support, drift.
  • Kontrollera varje funktion inifrån och ut.
  • Det händer att IT-processer inte överensstämmer med affärsprocesser, och detta måste hanteras.

Arkitektens väg: certifiering och produktfördjupning

Steg fem: förstå arkitekturen genom Big Datas lins

Under projektets gång arbetade vi med ganska stora databaser. Åtminstone verkade det så tills ett visst ögonblick. När Alexey började studera big data på edX visade det sig att 1,5 Tb på projektet var en liten databas. Allvarliga skalor - från 10 Tb, och andra metoder krävs där.

Nästa steg mot certifiering var en kurs om big data. Han hjälpte till att förstå organisationen av dataflödet och påskynda produktionsverksamheten. Och uppmärksamma även små verktyg, till exempel börja använda Excel för att lösa individuella mikrouppgifter.

Certifikat:
Microsoft Professional Program: Big Data-certifikat

Arkitektens väg: certifiering och produktfördjupning

Steg sex: från utvecklare till arkitekt

Efter att ha fått alla de listade certifikaten, medan han fortfarande var utvecklare, började Alexey förstå att den mottagna informationen hade en hög abstraktionsnivå, och detta var långt ifrån dåligt.

En storskalig vision av processer leder till en arkitektnivå, en av de högsta nivåerna av certifiering.

På jakt efter arkitektcertifiering kom Alexey till Certifierad mjukvaruarkitekt - Microsoft Platform av Sundblad & Sundblad. Detta är ett program som erkänts av Microsoft, dess utveckling började för 14 år sedan i samarbete med företagets chef och svenska kontor. Den täcker .NET Framework, kravinsamling, informationsflödeshantering och många andra ämnen på hög nivå och anses vara ett starkt bevis på en arkitekts färdigheter.

Det fanns kurser att läsa inom programmet. Certifieringen systematiserade kunskapen och tillät oss att gå in i ett nytt utvecklingsskede - från utvecklare till arkitekt.

Arkitektens väg: certifiering och produktfördjupning

Summera

Som Alexey noterar, när man arbetar med ett storskaligt IT-system är det viktigt att komma ihåg att programmering inte är en dyr underhållning, utan ett verktyg för att lösa affärsproblem. När du står inför den eller den utmaningen behöver du definitivt skriva ner affärsvärdet så att projektet inte hamnar i en återvändsgränd.

Arkitekten har en speciell syn på programmering och dess elementära komponenter:

  • Skapa och/eller underhålla ett dataflöde
  • Extrahera informationsflöde från dataflöde
  • Extrahera värdeström från informationsflöde
  • Intäktsgenerering för värdeström

Om du ser på ett projekt genom en arkitekts ögon måste du börja från slutet: formulera värdet och sedan gå till det genom dataflödet.

Arkitekten följer utvecklingsreglerna och har en global vision av projektet. Det är nästan omöjligt att nå det genom övning och dina egna misstag – eller snarare, det är möjligt, men det kommer att ta väldigt lång tid. Certifiering gör att du kan vidga dina vyer och titta på hela sammanhanget för varje fråga, bekanta dig med erfarenheten från tusentals yrkesverksamma och utveckla förmågan att effektiv problemlösning.

Hittills har vi arbetat med det ovan beskrivna medicinska systemet i mer än fem år och har uppnått betydande förbättringar. Under denna tid klarade Alexey mer än 20 certifieringsprov:

  1. TS: Windows-applikationsutveckling med Microsoft .NET Framework 4
  2. TS: Åtkomst till data med Microsoft .NET Framework 4-programmering i C#
  3. TS: Microsoft .NET Framework 3.5 Windows Forms Application Development
  4. PRO: Designa och utveckla Windows-applikationer med Microsoft .NET Framework 3.5
  5. PRO: Designa och utveckla Windows-baserade applikationer med hjälp av Microsoft .NET Framework
  6. TS: Microsoft .NET Framework 2.0 - Windows-baserad klientutveckling
  7. 98-361: Fundamentals för mjukvaruutveckling
  8. 98-364: Databas Fundamentals
  9. M_o_R Foundation Certificate in Risk Management
  10. Agile Scrum Foundation
  11. Stiftelsen IT Service Management
  12. EXIN Business Information Management Foundation
  13. PRINCE2 Foundation Certificate in Project Management
  14. Testingenjörscertifikat
  15. Microsoft Operations Framework Foundation
  16. Agila serviceprojekt
  17. Lean produktion
  18. Six Sigma: Analysera, förbättra, kontrollera
  19. Six Sigma: Definiera och mäta
  20. Microsoft Professional Program: Big Data-certifikat
  21. Certifierad mjukvaruarkitekt - Microsoft Platform

Arkitektens väg: certifiering och produktfördjupning

Efter att ha klarat alla tentor steg Alexey från huvudutvecklare till projektarkitekt. Samtidigt har certifiering blivit ett kraftfullt verktyg för både professionell utveckling och anseendebyggande i kundens ögon.

"Certification Ram" hjälpte till att få tillgång till individuella kritiska processer som behövde kontroll och utarbetning. Europeiska kunder av IT-lösningar värdesätter som regel certifierade specialister och är redo att ge dem större handlingsfrihet.

Tack för din uppmärksamhet! Vi hoppas att artikeln var användbar för dig.

Källa: will.com

Lägg en kommentar