Arkitektens vÀg: certifiering och fördjupning i produkten

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Ä.

Arkitektens vÀg: certifiering och fördjupning i produkten

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.

Arkitektens vÀg: certifiering och fördjupning i produkten

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 flera Microsoft-certifieringar, 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.

Arkitektens vÀg: certifiering och fördjupning i produkten

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 certifikat frÄn EXIN:

  • 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.

Arkitektens vÀg: certifiering och fördjupning i produkten

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

Arkitektens vÀg: certifiering och fördjupning i produkten

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 Certified Software Architect – Microsoft Platform 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.

Arkitektens vÀg: certifiering och fördjupning i produkten

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:

  1. TS: Utveckling av Windows-applikationer med Microsoft .NET Framework 4
  2. TS: Åtkomst av data med Microsoft .NET Framework 4 programmering i C#
  3. TS: Microsoft .NET Framework 3.5 Windows Forms-applikationsutveckling
  4. PRO: Design och utveckling av Windows-applikationer med Microsoft .NET Framework 3.5
  5. PRO: Design och utveckling av Windows-baserade applikationer med Microsoft .NET Framework
  6. TS: Microsoft .NET Framework 2.0 — Windows-baserad klientutveckling
  7. 98-361: GrundlÀggande programvaruutveckling
  8. 98-364: GrundlÀggande databaser
  9. M_o_R Foundation Certificate in Risk Management
  10. Agile Scrum Foundation
  11. IT Service Management Foundation
  12. EXIN Business Information Management Foundation
  13. PRINCE2 Foundation Certificate in Project Management
  14. Test Engineer Certificate
  15. Microsoft Operations Framework Foundation
  16. Agile Service Projects
  17. Lean Production
  18. Six Sigma: Analysera, FörbÀttra, Kontrollera
  19. Six Sigma: Definiera och MĂ€ta
  20. Microsoft Professional Program: Big Data Certificate
  21. Certified Software Architect – Microsoft Platform

Arkitektens vÀg: certifiering och fördjupning i produkten

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

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster