Arkitektens vej: Certificering og produktfordybelse

Næsten enhver udvikler stiller spørgsmål om, hvordan han skal udvikle sine færdigheder og hvilken vækstretning han skal vælge: vertikal - det vil sige at blive manager eller horisontal - fuld stack. Mange års arbejde på ét produkt, i modsætning til myter, bliver ikke en begrænsning, men en nyttig mulighed. I denne artikel deler vi erfaringerne fra vores backend-udvikler Alexey, som viede 6 år til certificeringer og i løbet af denne tid arbejdede sig op til at blive arkitekt.

Arkitektens vej: Certificering og produktfordybelse

Hvem er arkitekt

En it-arkitekt (tech lead) er en udvikler på højt niveau, der beskæftiger sig med globale problemstillinger i it-projekter. Han fordyber sig i kundens forretningsprocesser og hjælper med at løse hans problemer ved hjælp af teknologi, og bestemmer også, hvordan dette eller hint informationssystem skal struktureres.

En sådan professionel skal ikke kun forstå de enkelte fagområder, men også se hele processen:

  • Indstilling af et forretningsproblem.
  • Udvikling, herunder programmering, klargøring, lagring og behandling af data.
  • Udrulning og support af infrastruktur.
  • Test.
  • Indsætte.
  • Analyse og driftsydelser.

Dette betyder evnen til at sætte dig selv i en hvilken som helst specialists eller teams sted i udviklingens livscyklus, forstå systemernes aktuelle tilstand indefra, identificere fejl, der er begået, og formulere mål. Nogle gange skal du selv udføre operation.

Vejen til faglig udvikling fra bygherre til arkitekt tager lang tid – normalt flere år. For at gøre dette har udvikleren brug for både praktiske færdigheder og teoretisk viden, som kan bekræftes ved international certificering.

Mere end 5 år på ét projekt - rutine eller mulighed for vækst?

For flere år siden begyndte vi at arbejde på et stort medicinsk IT-system for en udenlandsk kunde. Der var visse problemer i dette storstilede projekt:

  • begrænset adgang;
  • ustabil produkt;
  • utroligt lange spurter og lange godkendelser.

"Det er tid til at forbedre dine færdigheder"“, - en af ​​de førende udviklere Alexey kom til denne beslutning for at overvinde de anførte vanskeligheder og bedre forstå systemet.

Alexey delte sin erfaring, hvor det er bedre at begynde at træne, hvilke certifikater er vigtige at opnå, hvordan og hvorfor man gør det.

Trin et: forbedre dit engelsk

Programmeringssprog er en grundlæggende del af udviklingen, men sprog til kommunikation er lige så vigtige. Især i kommunikation med en engelsktalende kunde!

Fra praksis

En skønne dag modtog Alexey et opkald fra en medarbejder fra kundens side. På det tidspunkt kunne vores udvikler endnu ikke prale af en masse certifikater - hverken inden for teknologi, ledelse eller kommunikation. Måske ville de ikke være nyttige - trods alt kan du være en kompetent specialist uden yderligere regalier. Men problemet opstod stadig.

Vi skal forstå, at talesprog er radikalt anderledes end skriftsprog. Hvis du er velbevandret i engelske specifikationer, men ikke øver dig i at lytte og tale, så har vi dårlige nyheder til dig. I dette tilfælde kan telefonsamtaler med partnere føre til en blindgyde.

Alexey fangede nogle velkendte ord på opkaldet, men hans kollegas tale var så hurtig og i modsætning til den klassiske udtale fra lydlektioner, at hovedessensen af ​​hendes spørgsmål gik et sted forbi. Af høflighed og modvilje mod at komplicere situationen gik Alexey hurtigt med på alle forslagene.

Behøver jeg at sige, at der blev gjort ubehagelige opdagelser under arbejdet? Vores udvikler tilmeldte sig noget, som han helt bevidst ville have afslået, hvis tilbuddet var kommet i et forståeligt sprog.

I det øjeblik blev det klart, at det simpelthen var nødvendigt at forbedre lytte- og talefærdigheder. Den bedste måde at gøre dette på var gennem certificeringer.

Engelsk sprogcertificering

For at forbedre kommunikationen inden for rammerne af vores medicinske projekt studerede Alexey i flere programmer på én gang. Som et resultat bestod han FCE - First Certificate in English certificering. Dette hjalp mig med at begynde at høre kunden og formidle mine tanker til ham.

Livet hacking:

Undgå grundlæggende engelske programmer. Færdigheden skal målrettes. Hvis du har brug for engelsk til forretningskommunikation, bør du tage det. Bare gå ikke til ekstremer og tag CAE (Certificate in Advanced English). Dens ejendommelighed er sofistikerede ord, specifikke udtryk, der næsten aldrig bruges i international kommunikation.

Arkitektens vej: Certificering og produktfordybelse

Trin to: certificering på tværs af hele teknologistakken

I første omgang var projektet baseret på ORM objektrelationel kortlægningsteknologi. Udviklingsteamet på kundens side var stolte af deres ide, fordi alt blev udført ved hjælp af avancerede koncepter, komplekse og cool.

Problemer i produktionen – især en konstant frysende SQL-server – var dog ikke ualmindelige. Det nåede til det punkt, hvor den typiske løsning på problemet var at genstarte tjenesten. Kunden ringede til teamlederen og sagde, at det var tid til at genstarte. Til sidst besluttede vi at afslutte det.

Kunden ønskede at udarbejde systemets ydeevne - til dette var det nødvendigt at indføre profilering og regelmæssigt foretage optimering. Dengang, omkring 2015, blev Ants Profiler valgt som profileringsværktøj, men det klarede sig dårligt. Med få detaljer var det svært at få information om en kritisk kodeblok. Ved maksimal detaljegrad begyndte Ants Profiler at ændre koden på en sådan måde, at systemernes funktionalitet var i fare - hvor profilering var konfigureret, styrtede alt simpelthen ned. Så vi ændrede vores tilgang.

Vi startede med at analysere statistik

Ved analyse af salgsstatistikker blev det klart, at 95% af arbejdet på serveren har primitiv forretningslogik på 4 linjer. For dem var én SQL-forespørgsel nok, og ikke et komplet sæt forespørgsler genereret af en forretningslogikblok med en ORM.

Alexey foreslog og implementerede en lagret procedure for flytning af arbejde uden ORM. Ideen var i modstrid med det sædvanlige projektparadigme, teamlederen hilste det med forsigtighed, men kunden accepterede alt og anmodede om implementering. Det var ikke overraskende, for den nye metode gjorde det muligt at reducere forsinkelser i forarbejdningen af ​​produktionen fra fire timer til flere minutter - i gennemsnit 98 gange.

Alligevel var vi i tvivl: er dette den rigtige beslutning eller et spørgsmål om personlig præference? Troen på det almægtige C# og ORM blev rystet af en ulykke, der viste den fulde kraft af simple løsninger.

Sag to

Teamet skrev en forespørgsel for at arbejde med data inden for ORM-paradigmet, kompileret efter alle reglerne, uden fejl. Dens behandling tog 2-3 minutter, og disse parametre virkede acceptable. En alternativ implementering med simple vælgere og visninger gav imidlertid resultater hurtigere - på 2 sekunder.

Det blev tydeligt, at det var på tide at vælge en specialist, der skulle gennemgå certificering på tværs af hele projektstakken for at forstå alle nuancerne og vælge den optimale metode. Alexey påtog sig denne opgave.

Første certifikater

For at forstå essensen gik Alexey igennem flere Microsoft-certificeringer, der dækker hele projektets teknologistabel:

  • TS: Windows-applikationsudvikling med Microsoft .NET Framework 4
  • TS: Adgang til data med Microsoft .NET Framework 4-programmering i C#
  • TS: Microsoft .NET Framework 3.5 Windows Forms Application Development
  • PRO: Design og udvikling af Windows-applikationer ved hjælp af Microsoft .NET Framework 3.5
  • PRO: Design og udvikling af Windows-baserede applikationer ved at bruge Microsoft .NET Framework
  • TS: Microsoft .NET Framework 2.0 - Windows-baseret klientudvikling

I et forsøg på at optimere arbejdet med det nye projekt kom teamet frem til følgende konklusioner:

  • For at systemerne skal fungere, er det nødvendigt at følge reglerne for at skrive kode: ikke fordybninger og kommentarer, men tekniske karakteristika - antallet af opkald til databaserne, belastningen på serveren og meget mere.
  • Anvendelse af modstridende begreber kan føre til problemer. Begrebet databaser er mængdeteori, mens ORM er et operationsbegreb.
  • Idéer, der forstyrrer den sædvanlige orden, kan møde modstand i teamet. Udvikling handler også om relationer og evnen til at argumentere for sit synspunkt.
  • Certificering udvider din horisont og giver dig mulighed for at forstå, hvad der kan bruges og hvad der ikke kan bruges.

Arkitektens vej: Certificering og produktfordybelse

Trin tre: Lær mere end kode

Når man arbejder med store it-løsninger, er mange faktorer vigtige. For eksempel er ikke alle udviklere opmærksomme på netværksparametre, men selv dens båndbredde kan påvirke løsningen af ​​et forretningsproblem.

Forståelse af dette er givet 98 serie certificering:

De giver dig mulighed for at tage et bredere kig på tingene og komme ud af det begrænsede "kun kode"-koncept. Disse er Fundamentals, det grundlæggende, men de er vigtige for at forstå alt på et dybere plan.

Serie 98-certificeringer er korte test - 30 spørgsmål i 45 minutter.

Trin fire: Processtyring

At arbejde med klinikker er en vigtigere opgave end for eksempel at skabe et mobilspil. Her kan du ikke tilføje en funktion og rulle den ud til produktion - det er vigtigt at følge godkendelsesprocessen og foretage adskillige redigeringer fra kunden, fordi folks helbred og liv er på spil.

Typisk Agile gav ikke de ønskede resultater på dette projekt, og hver sprint varede ret lang tid. Mellem implementeringerne tog det fra 6 måneder til et år.

Derudover var det teknisk umuligt at bringe processerne i de ti serverede klinikker til en eller anden fællesnævner.

For at opnå resultater hurtigere under disse forhold, havde udviklere brug for personligt ansvar og en storstilet vision af processer - hvilket betyder konstant koncentration og høje kvalifikationer.

Når en specialist er fordybet i processen, ser han tydeligt resultaterne, årsagerne og konsekvenserne, hele billedet. Dette er på samme tid en faktor for yderligere motivation og bevidsthed, hvilket forbedrer evnen til at løse problemer og problemer.

Med en velfungerende infrastruktur, velbygget arkitektur og optimal kode kan én person påtage sig mange processer. Det betyder dog ikke, at det er nødvendigt at opdrage universelle soldater, der er i stand til at lede projektet alene. Kommunikation og teamwork er afgørende.

I et team forstår hver udvikler, at hans kolleger er afhængige af hans handlinger. At spare 5 minutter i udviklingsfasen betyder måske 5 ekstra timers test. For at forstå dette er det vigtigt at etablere kommunikation.

I vores projekt fik Alexey hjælp til at mestre processerne certifikater fra EXIN:

  • M_o_R Foundation Certificate in Risk Management
  • Agile Scrum Foundation
  • IT Service Management Foundation
  • EXIN Business Information Management Foundation
  • PRINCE2 Foundation-certifikat i projektledelse
  • Testingeniør certifikat
  • Microsoft Operations Framework Foundation
  • Agile serviceprojekter

Der blev taget kurser på edX, der hjalp med at se på systemet ud fra et statistisk synspunkt og lean programmering og senere pressede på for at opnå arkitektcertifikat:

  • Lean produktion
  • Six Sigma: Analyser, Forbedre, Kontrol
  • Six Sigma: Definer og mål

Ifølge Six Sigma princippet sikrer statistisk kontrol et resultat af høj kvalitet med en ekstrem høj sandsynlighed.

Ved at hæve sit niveau kommer udvikleren som regel til følgende konklusioner:

  • Arbejd ikke hårdt, men arbejd effektivt.
  • Komplicer ikke dit liv ved at jagte det ydre: fancy teknologi løser ikke nødvendigvis problemer bedre.
  • Bliv venner med specialister på alle stadier af cyklussen og find ud af deres smertepunkter. En arkitekt skal mestre processerne: identificere et problem, opstille et problem, designe en netværkstopologi, udvikling, test, support, drift.
  • Tjek hver funktion inde og ude.
  • Det sker, at it-processer ikke svarer til forretningsprocesser, og det skal der tages hånd om.

Arkitektens vej: Certificering og produktfordybelse

Trin fem: Forstå arkitekturen gennem linsen af ​​Big Data

I løbet af projektet beskæftigede vi os med ret store databaser. Sådan virkede det i hvert fald indtil et vist øjeblik. Da Alexey begyndte at studere big data på edX, viste det sig, at 1,5 Tb på projektet var en lille database. Alvorlige skalaer - fra 10 Tb, og andre metoder er påkrævet der.

Næste skridt mod certificering var et kursus om big data. Han hjalp med at forstå organiseringen af ​​dataflow og fremskynde produktionsoperationer. Og vær også opmærksom på små værktøjer, begynd for eksempel at bruge Excel til at løse individuelle mikroopgaver.

Certifikat:
Microsoft Professional Program: Big Data-certifikat

Arkitektens vej: Certificering og produktfordybelse

Trin seks: fra udvikler til arkitekt

Efter at have modtaget alle de anførte certifikater, mens han stadig var udvikler, begyndte Alexey at forstå, at de modtagne oplysninger havde et højt abstraktionsniveau, og det var langt fra dårligt.

En storstilet vision af processer fører til niveauet som en arkitekt, et af de højeste niveauer af certificering.

På jagt efter arkitektcertificering kom Alexey til Certificeret softwarearkitekt - Microsoft Platform af Sundblad & Sundblad. Dette er et program, der er anerkendt af Microsoft, dets udvikling begyndte for 14 år siden i samarbejde med virksomhedens chef og svenske kontorer. Den dækker .NET Framework, kravindsamling, informationsflowstyring og mange andre emner på højt niveau og betragtes som et stærkt bevis på en arkitekts færdigheder.

Der var kurser at studere inden for programmet. Certificering systematiserede viden og gav os mulighed for at gå ind i et nyt udviklingstrin - fra udvikler til arkitekt.

Arkitektens vej: Certificering og produktfordybelse

Sammenfatter

Som Alexey bemærker, når du arbejder med et storstilet it-system, er det vigtigt at huske, at programmering ikke er en dyr underholdning, men et værktøj til at løse forretningsproblemer. Når du står over for den eller den udfordring, skal du helt sikkert skrive forretningsværdien ned, så projektet ikke kommer i en blindgyde.

Arkitekten har et særligt syn på programmering og dens elementære komponenter:

  • Oprettelse og/eller vedligeholdelse af et dataflow
  • Udtræk informationsflow fra dataflow
  • Udvinding af værdistrøm fra informationsflow
  • Value Stream Monetization

Hvis du ser på et projekt gennem en arkitekts øjne, skal du starte fra slutningen: formulere værdien og derefter gå til den gennem datastrømmen.

Arkitekten følger udviklingsreglerne og har en global vision af projektet. Det er næsten umuligt at nå det gennem øvelse og dine egne fejl – eller rettere sagt, det er muligt, men det vil tage meget lang tid. Certificering giver dig mulighed for at udvide din horisont og se på den fulde kontekst af hvert problem, stifte bekendtskab med tusindvis af fagfolks erfaring og udvikle evnen til effektiv problemløsning.

Til dato har vi arbejdet med det ovenfor beskrevne medicinske system i mere end fem år og har opnået betydelige forbedringer. I løbet af denne tid bestod Alexey mere end 20 certificeringseksamener:

  1. TS: Windows-applikationsudvikling med Microsoft .NET Framework 4
  2. TS: Adgang til data med Microsoft .NET Framework 4-programmering i C#
  3. TS: Microsoft .NET Framework 3.5 Windows Forms Application Development
  4. PRO: Design og udvikling af Windows-applikationer ved hjælp af Microsoft .NET Framework 3.5
  5. PRO: Design og udvikling af Windows-baserede applikationer ved at bruge Microsoft .NET Framework
  6. TS: Microsoft .NET Framework 2.0 - Windows-baseret klientudvikling
  7. 98-361: Software Development Fundamentals
  8. 98-364: Database Fundamentals
  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-certifikat i projektledelse
  14. Testingeniør certifikat
  15. Microsoft Operations Framework Foundation
  16. Agile serviceprojekter
  17. Lean produktion
  18. Six Sigma: Analyser, Forbedre, Kontrol
  19. Six Sigma: Definer og mål
  20. Microsoft Professional Program: Big Data-certifikat
  21. Certificeret softwarearkitekt - Microsoft Platform

Arkitektens vej: Certificering og produktfordybelse

Efter at have bestået alle eksamenerne steg Alexey fra hovedudvikler til projektarkitekt. Samtidig er certificering blevet et stærkt værktøj til både faglig udvikling og omdømmeopbygning i kundens øjne.

"Certification Ram" hjalp med at få adgang til individuelle kritiske processer, der krævede kontrol og uddybning. Europæiske kunder af IT-løsninger værdsætter som regel certificerede specialister højt og er klar til at give dem mere handlefrihed.

Tak for din opmærksomhed! Vi håber, at artiklen var nyttig for dig.

Kilde: www.habr.com

Tilføj en kommentar