Bijna elke ontwikkelaar vraagt zich af hoe hij zijn vaardigheden moet ontwikkelen en welke richting hij moet kiezen: verticaal - dat wil zeggen, manager worden, of horizontaal - fullstack. Jarenlange toewijding aan één product wordt, in tegenstelling tot de mythen, geen beperking maar een waardevolle kans. In dit artikel delen we de ervaring van onze backend-ontwikkelaar Alexey, die 6 jaar heeft besteed aan certificeringen en in deze tijd de weg heeft afgelegd naar architect.

Wie is een architect
Een architect in IT (tech lead) is een ontwikkelaar van hoog niveau die zich bezighoudt met de globale vraagstukken in IT-projecten. Hij duikt in de bedrijfsprocessen van de klant en helpt zijn problemen op te lossen met technologieën, en bepaalt ook hoe een bepaalde informatiearchitectuur zal worden opgezet.
Zo'n professional moet niet alleen verstand hebben van specifieke vakgebieden, maar ook het hele proces kunnen overzien:
- Het opstellen van zakelijke taken.
- Ontwikkeling, inclusief programmeren, voorbereiding, opslag en verwerking van gegevens.
- Implementatie en ondersteuning van infrastructuur.
- Testing.
- Deployen.
- Analyseren en operationele ondersteuning.
Dit betekent dat men zich kan inleven in elke specialist of team tijdens de levenscyclus van ontwikkeling, de huidige status van systemen intern kan begrijpen, gemaakte fouten kan identificeren en doelen kan formuleren. Soms - zelf operationele interventie uitvoeren.
De professionele ontwikkeling van ontwikkelaar naar architect kost tijd - meestal meerdere jaren. Hiervoor heeft de ontwikkelaar zowel praktische vaardigheden nodig als theoretische kennis, die kan worden bevestigd door een internationale certificering.
Meer dan 5 jaar aan één project - routine of groeimogelijkheid?
Een paar jaar geleden begonnen we aan een groot medisch IT-systeem voor een buitenlandse klant. In dit omvangrijke project waren er bepaalde problemen:
- beperkte toegang;
- onbetrouwbare productie;
- ongelooflijk lange sprints en langdurige goedkeuringen.
“Het is tijd om mijn vaardigheden te verbeteren”, besloot een van de leidende ontwikkelaars, Alexey, om deze uitdagingen te overwinnen en beter inzicht te krijgen in het systeem.
Alexey deelde zijn ervaringen over hoe je het beste kunt beginnen met leren, welke certificaten belangrijk zijn om te behalen en hoe en waarom je dit zou moeten doen.
Stap één: verbeter je Engels
Programmeer talen zijn een fundamenteel onderdeel van ontwikkeling, maar communicatietalen zijn even belangrijk. Dit is vooral van belang in de communicatie met een Engelstalige opdrachtgever!
Uit de praktijk
Op een mooie dag belde een medewerker van de opdrachtgever Alexey. Op dat moment kon onze ontwikkelaar nog niet opscheppen over een heleboel certificaten — noch over technologieën, noch over management, noch over communicatie. Het is mogelijk dat deze ook niet nodig zouden zijn — je kunt een competente specialist zijn zonder extra kwalificaties. Maar er ontstond toch een probleem.
Je moet begrijpen dat de gesproken taal radicaal verschilt van de geschreven taal. Als je goed thuis bent in Engelstalige specificaties, maar geen praktijk hebt in luisteren en spreken, hebben we slecht nieuws voor je. In dat geval kunnen telefoongesprekken met partners in een doolhof eindigen.
Alexey ving tijdens het telefoongesprek een aantal bekende woorden op, maar de spraak van de collega was zo snel en verschilden zo van de klassieke uitspraak uit audiolessen, dat de essentie van haar vragen hem volledig ontging. Uit beleefdheid en om de situatie niet te compliceren, stemde Alexey snel in met alle voorstellen.
Moet ik zeggen dat er tijdens het werk vervelende ontdekkingen zijn gedaan? Onze ontwikkelaar heeft zich aangemeld voor iets waar hij zich volledig bewust voor zou hebben afgewezen, als het aanbod in begrijpelijke taal was gedaan.
Op dat moment werd het duidelijk dat het noodzakelijk was om de luister- en spreekvaardigheden te verbeteren. De beste manier om dit te doen was door certificeringen.
Certificering in de Engelse taal
Om de communicatie binnen ons medische project te verbeteren, volgde Alexey meerdere programma's tegelijk. Dit resulteerde erin dat hij de FCE — First Certificate in English — heeft behaald. Dit hielp hem om de opdrachtgever beter te begrijpen en zijn gedachten naar hen over te brengen.
Tip:
Vermijd cursussen voor basis Engels. De vaardigheid moet doelgericht zijn. Als je Engels nodig hebt voor zakelijk communicatie, dan is dat wat je moet volgen. Maar ga niet naar de andere extreme en haal geen CAE (Certificate in Advanced English). Het bijzondere daarvan zijn de geavanceerde woorden, specifieke uitdrukkingen die in internationale communicatie bijna niet gebruikt worden.

Stap twee: certificatie over de gehele technologiestack
Aanvankelijk werd de basis van het project gevormd door de technologie van object-relationele mapping (ORM). Het ontwikkelteam aan de klantzijde was trots op hun creatie, aangezien alles was gedaan met gebruik van geavanceerde concepten, wat het complex en gaaf maakte.
Toch waren er problemen in productie — met name de constant vastlopende SQL-server, die niet ongewoon was. Het kwam zo ver dat het herstarten van de service de typische oplossing werd voor het probleem. De klant belde de teamleider en meldde dat het tijd was om opnieuw op te starten. Uiteindelijk besloten we hier iets aan te doen.
De klant wilde de prestaties van het systeem verbeteren — hiervoor moest er profiling worden geïmplementeerd en regelmatig optimalisatie plaatsvinden. In dat opzicht werd rond 2015 Ants Profiler gekozen als het profiling-instrument, maar het voldeed niet. Bij lage detailniveaus was het moeilijk om informatie over het kritieke codeblok te verzamelen. Bij maximale detaillering begon Ants Profiler de code zo te wijzigen dat de werking van de systemen in gevaar kwam — waar de profiling was ingesteld, viel alles gewoon uit. Daarom hebben we onze aanpak veranderd.
We begonnen met het analyseren van statistieken
Bij de analyse van de statistieken van de productie werd duidelijk dat 95% van de werkzaamheden op de server primitieve bedrijfslogica in vier regels bevatten. Voor hen was één SQL-query voldoende, en niet de volledige set van verzoeken die door het bedrijfslogica-blok met ORM werd gegenereerd.
Alexey stelde een opgeslagen procedure voor om werkzaamheden zonder ORM te verplaatsen. Het idee kwam in strijd met de gebruikelijke paradigma van het project, de teamleider ontving het voorzichtig, maar de klant accepteerde het allemaal en vroeg om implementatie. Dit was niet verrassend, aangezien de nieuwe methode de vertragingen in de verwerking in productie van vier uur naar enkele minuten verminderde — gemiddeld met 98 keer.
Toch bleven we twijfels hebben: Was dit de juiste beslissing of een kwestie van persoonlijke voorkeuren? Het geloof in de almachtige C# en ORM werd wankel door een toevalligheid die de kracht van eenvoudige oplossingen toonde.
Tweede geval
Het team schreef een verzoek voor het werken met gegevens binnen de ORM-paradigma, opgesteld volgens alle regels, zonder fouten. De verwerking nam 2-3 minuten in beslag, en deze parameters leken acceptabel. Echter, een alternatieve implementatie met behulp van simpele selects en views zorgde voor een sneller resultaat — in 2 seconden.
Het is duidelijk geworden dat het tijd is om een specialist te kiezen die gecertificeerd is in de hele stack van het project, om alle nuances te begrijpen en de optimale methode te kiezen. Deze taak is op zich genomen door Alexey.
Eerste certificaten
Om de essentie te begrijpen heeft Alexey , die de gehele technologische stack van het project omvatten:
- TS: Windows Applications Development with Microsoft .NET Framework 4
- TS: Accessing Data with Microsoft .NET Framework 4 Programming in C#
- TS: Microsoft .NET Framework 3.5 Windows Forms Application Development
- PRO: Designing and Developing Windows Applications using Microsoft .NET Framework 3.5
- PRO: Designing and Developing Windows-based Applications by Using the Microsoft .NET Framework
- TS: Microsoft .NET Framework 2.0 — Windows-based Client Development
In een poging om het werk aan het nieuwe project te optimaliseren, kwam het team tot de volgende conclusies:
- Voor de werking van de systemen moeten de programmeerregels in acht worden genomen: niet de inspringingen en opmerkingen, maar de technische kenmerken — het aantal verzoeken aan de databases, de belasting van de server en nog veel meer.
- Het toepassen van tegenstrijdige concepten leidt tot problemen. Het concept van databases is de verzameltheorie, terwijl ORM de operationele conceptie is.
- Ideeën die de gangbare orde verstoren, kunnen op weerstand stuiten in het team. Ontwikkeling is ook relaties en het vermogen om je standpunt te onderbouwen.
- Certificering breidt het wereldbeeld uit en laat zien wat wel en niet kan worden gebruikt.

Stap drie: bestudeer niet alleen de code
Bij het werken aan grootschalige IT-oplossingen zijn er veel factoren van belang. Niet elke ontwikkelaar let bijvoorbeeld op netwerkomstandigheden — maar zelfs de bandbreedte kan invloed hebben op de oplossing van zakelijke vraagstukken.
Dit inzicht wordt gegeven door de certificeringen van serie 98:
Zij maken het mogelijk om breder naar zaken te kijken en uit de beperkte opvatting van 'alleen code' te stappen. Dit zijn Fundamentals, de basis, maar ze zijn belangrijk om alles op een dieper niveau te begrijpen.
De certificeringen van serie 98 bestaan uit kleine testen — 30 vragen in 45 minuten.
Stap vier: procesbeheer
Werken met klinieken is een verantwoordelijkere aangelegenheid dan bijvoorbeeld het maken van een mobiele game. Hier kan je geen functie toevoegen en het onmiddellijk uitrollen — het is belangrijk om het goedkeuring- en wijzigingsproces van de klant na te leven, aangezien de gezondheid en levens van mensen op het spel staan.
Typische Agile-methoden gaven niet de gewenste resultaten voor dit project, en elke sprint duurde vrij lang. Tussen de implementaties waren er periodes van 6 maanden tot een jaar.
Bovendien was het puur technisch onmogelijk om de processen van de tien onderhouden klinieken naar een gemeenschappelijke noemer te brengen.
Om in deze omstandigheden sneller resultaten te behalen, hadden de ontwikkelaars persoonlijke verantwoordelijkheid en een breed perspectief op de processen nodig — wat betekent dat constante concentratie en hoge kwalificatie essentieel zijn.
Wanneer een specialist diep in het proces zit, ziet hij duidelijk de resultaten, oorzaken en gevolgen, en het totaalbeeld. Dit is tegelijkertijd een motiverend en informerend aspect dat de probleemoplossende capaciteiten verbetert.
Met een goed afgestelde infrastructuur, goed doordachte architectuur en optimale code kan één persoon veel processen beheren. Maar dat betekent niet dat we universele soldaten moeten creëren die in hun eentje een project kunnen leiden. Communicatie en teamwork zijn cruciaal.
Binnen het team begrijpt elke ontwikkelaar dat zijn collega's afhankelijk zijn van zijn acties. Een besparing van 5 minuten in de ontwikkelingsfase kan mogelijk leiden tot 5 extra uren testen. Voor deze bewustwording is het belangrijk om de communicatielijnen te verbeteren.
In ons project dienden de volgende zaken als ondersteuning voor Alexey bij het beheersen van processen :
- 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
Op edX werden cursussen gevolgd die hielpen om naar het systeem te kijken vanuit statistisch perspectief en lean programming, en later leidde dit tot het behalen van architectcertificaat:
- Lean Production
- Six Sigma: Analyse, Verbeter, Beheer
- Six Sigma: Definieer en Meet
Volgens het principe van 'Zes Sigma' (Six Sigma) zorgt statistische controle voor een kwaliteitsresultaat met een extreem hoge waarschijnlijkheid.
Naarmate ontwikkelaars hun niveau verhogen, komen ze doorgaans tot de volgende conclusies:
- Werk niet veel, maar effectief.
- Maak het leven niet moeilijker in de zoektocht naar externe schoonheid: geavanceerde technologieën lossen problemen niet noodzakelijk beter op.
- Werk samen met specialisten in alle fasen van de cyclus en ontdek hun pijnpunten. Een architect moet de processen beheersen: probleemidentificatie, taakstelling, netwerkarchitectuur, ontwikkeling, testen, ondersteuning en exploitatie.
- Controleer elke functie van begin tot eind.
- Soms komen IT-processen niet overeen met bedrijfsprocessen, en daar moet iets aan gedaan worden.

Stap vijf: begrijp de architectuur door de lens van Big Data.
In het project hadden we te maken met behoorlijk grote databases. Tenminste, dat dacht ik tot een bepaald moment. Toen Alexey begon met het bestuderen van big data op edX, bleek dat 1,5 Tb op het project een kleine database is. Serieuze schalen beginnen bij 10 Tb, en daarvoor zijn andere methoden nodig.
De volgende stap op het pad naar certificering was een cursus over big data. Dit hielp om de gegevensstroom te begrijpen en de operaties in productie te versnellen. Het zette me ook aan het denken over kleine tools, bijvoorbeeld Excel gebruiken voor het oplossen van specifieke microtaken.
Certificaat:
Microsoft Professional Program: Big Data Certificaat

Stap zes: van ontwikkelaar naar architect.
Na het behalen van al deze certificaten, terwijl hij nog steeds ontwikkelaar was, begon Alexey te begrijpen dat de verkregen informatie een hoog abstractieniveau had, wat absoluut niet slecht is.
Een grootschalig inzicht in processen leidt naar het niveau van architect, een van de hoogste niveaus van certificering.
Op zoek naar architectcertificering kwam Alexey in contact met van Sundblad & Sundblad. Dit programma, erkend door Microsoft, begon 14 jaar geleden te worden ontwikkeld in samenwerking tussen het hoofdkantoor en het Zweedse kantoor van het bedrijf. Het bestrijkt .NET Framework, het verzamelen van vereisten, informatiestroombeheer en vele andere kwesties op hoog niveau en wordt beschouwd als een sterke bevestiging van de vaardigheden van een architect.
Binnen het programma waren er cursussen voor studie. De certificering systematiseerde de kennis en stelde het mogelijk om een nieuwe ontwikkelingsfase te bereiken — van ontwikkelaar tot architect.

Samenvattend
Zoals Alexey opmerkt, is het belangrijk om bij het werken met een grootschalig IT-systeem te onthouden dat programmeren geen dure hobby is, maar een hulpmiddel voor het oplossen van zakelijke problemen. Wanneer je wordt geconfronteerd met een uitdaging, is het essentieel om de business value vast te leggen, zodat het project niet vastloopt.
De architect heeft een bijzonder perspectief op programmeren en de elementaire componenten daarvan:
- Het creëren en/of ondersteunen van datastromen
- Het extraheren van informatie op basis van datastromen
- Het extraheren van waarde op basis van informatiestromen
- Monetisatie van de waarde stroom
Als je naar een project kijkt vanuit het perspectief van de architect, moet je beginnen met het einde: formuleer de waarde en ga er vervolgens naartoe via de datastromen.
De architect houdt zich aan de ontwikkelingsregels, met een globaal overzicht van het project. Het is praktisch onmogelijk om daar te komen via praktijk en eigen fouten — sterker nog, het kan, maar het duurt heel lang. Certificering biedt de mogelijkheid om je horizon te verbreden en het volledige kader van elke kwestie te bekijken, ervaring op te doen van duizenden professionals en de vaardigheid te ontwikkelen om problemen effectief op te lossen.
Vandaag de dag werken we al meer dan vijf jaar met het hierboven beschreven medische systeem en hebben we aanzienlijke verbeteringen gerealiseerd. In deze tijd heeft Alexey meer dan 20 certificeringsexamens afgelegd:
- TS: Windows Applications Development with Microsoft .NET Framework 4
- TS: Accessing Data with Microsoft .NET Framework 4 Programming in C#
- TS: Microsoft .NET Framework 3.5 Windows Forms Application Development
- PRO: Designing and Developing Windows Applications using Microsoft .NET Framework 3.5
- PRO: Designing and Developing Windows-based Applications by Using the Microsoft .NET Framework
- TS: Microsoft .NET Framework 2.0 — Windows-based Client Development
- 98-361: Software Development Fundamentals
- 98-364: Database Fundamentals
- 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: Analyse, Verbeter, Beheer
- Six Sigma: Definieer en Meet
- Microsoft Professional Program: Big Data Certificaat
- Certified Software Architect — Microsoft Platform

Na het afronden van alle examens is Alexey opgeklommen van lead developer naar projectarchitect. Daarbij is certificering een krachtig middel gebleken voor zowel professionele ontwikkeling als het opbouwen van een reputatie bij klanten.
De 'certificeringstorpedo' heeft geholpen toegang te krijgen tot afzonderlijke kritieke processen die controle en verdieping vereisten. Europese klanten van IT-oplossingen waarderen doorgaans gecertificeerde specialisten en zijn bereid hen meer vrijheid te geven.
Bedankt voor uw aandacht! We hopen dat het artikel nuttig voor u was.
Bron: habr.com
