Het pad van de architect: certificering en productonderdompeling

Bijna elke ontwikkelaar stelt vragen over hoe hij zijn vaardigheden moet ontwikkelen en welke groeirichting hij moet kiezen: verticaal - dat wil zeggen manager worden, of horizontaal - full-stack. Vele jaren werken aan één product wordt, in tegenstelling tot de mythen, geen beperking, maar een nuttige kans. In dit artikel delen we de ervaring van onze backend-ontwikkelaar Alexey, die 6 jaar aan certificeringen heeft gewerkt en zich in deze tijd heeft opgewerkt tot architect.

Het pad van de architect: certificering en productonderdompeling

Wie is een architect

Een IT-architect (tech lead) is een ontwikkelaar van hoog niveau die zich bezighoudt met mondiale vraagstukken in IT-projecten. Hij verdiept zich in de bedrijfsprocessen van de klant en helpt zijn problemen op te lossen met behulp van technologie, en bepaalt ook hoe dit of dat informatiesysteem zal worden gestructureerd.

Zo’n professional moet niet alleen individuele vakgebieden begrijpen, maar ook het hele proces zien:

  • Een zakelijk probleem stellen.
  • Ontwikkeling, inclusief programmeren, voorbereiden, opslaan en verwerken van gegevens.
  • Implementatie en ondersteuning van infrastructuur.
  • Testing.
  • Aanwenden.
  • Analytics en operationele diensten.

Dit betekent het vermogen om jezelf in de schoenen te plaatsen van welke specialist of welk team dan ook in de ontwikkelingslevenscyclus, de huidige staat van systemen van binnenuit te begrijpen, gemaakte fouten te identificeren en doelen te formuleren. Soms moet u zelf een operatie uitvoeren.

Het traject van professionele ontwikkeling van ontwikkelaar naar architect duurt lang, meestal meerdere jaren. Om dit te doen heeft de ontwikkelaar zowel praktische vaardigheden als theoretische kennis nodig, wat kan worden bevestigd door internationale certificering.

Meer dan 5 jaar aan één project: routine of groeimogelijkheid?

Enkele jaren geleden zijn wij voor een buitenlandse klant begonnen met de bouw van een groot medisch IT-systeem. Er waren bepaalde problemen bij dit grootschalige project:

  • beperkte toegang;
  • onstabiele prik;
  • ongelooflijk lange sprints en langdurige goedkeuringen.

“Het is tijd om je vaardigheden te verbeteren”“, - een van de toonaangevende ontwikkelaars Alexey kwam tot deze beslissing om de genoemde moeilijkheden te overwinnen en het systeem beter te begrijpen.

Alexey deelde zijn ervaring, waar het beter is om te beginnen met trainen, welke certificaten belangrijk zijn om te behalen, hoe en waarom je dat moet doen.

Stap één: verbeter uw Engels

Programmeertalen zijn een fundamenteel onderdeel van de ontwikkeling, maar talen voor communicatie zijn net zo belangrijk. Vooral in de communicatie met een Engelssprekende klant!

Uit de praktijk

Op een mooie dag kreeg Alexey een telefoontje van een medewerker van de klant. Op dat moment kon onze ontwikkelaar nog niet bogen op een heleboel certificaten - noch op het gebied van technologie, noch op het gebied van management, noch op het gebied van communicatie. Misschien zouden ze niet nuttig zijn - je kunt tenslotte een competente specialist zijn zonder extra regalia. Maar het probleem deed zich nog steeds voor.

We moeten begrijpen dat gesproken taal radicaal verschilt van geschreven taal. Als u goed thuis bent in de Engelse specificaties, maar niet oefent met luisteren en spreken, dan hebben we slecht nieuws voor u. In dit geval kunnen telefoongesprekken met partners op een dood spoor lopen.

Alexey ving een aantal bekende woorden op tijdens het telefoongesprek, maar de toespraak van zijn collega was zo snel en anders dan de klassieke uitspraak uit audiolessen dat de essentie van haar vragen ergens voorbij ging. Uit beleefdheid en onwil om de situatie nog ingewikkelder te maken, stemde Alexey snel in met alle voorstellen.

Moet ik zeggen dat er tijdens het werk onaangename ontdekkingen zijn gedaan? Onze ontwikkelaar heeft zich aangemeld voor iets wat hij absoluut bewust zou hebben geweigerd als het aanbod in begrijpelijke taal was gedaan.

Op dat moment werd duidelijk dat het simpelweg nodig was om de luister- en spreekvaardigheid te verbeteren. De beste manier om dit te doen was door middel van certificeringen.

Engelse taalcertificering

Om de communicatie in het kader van ons medische project te verbeteren, studeerde Alexey in verschillende programma's tegelijk. Als gevolg hiervan slaagde hij voor de FCE - First Certificate in English-certificering. Hierdoor begon ik de klant te horen en mijn gedachten op hem over te brengen.

Life hacking:

Vermijd eenvoudige Engelse programma's. De vaardigheid moet doelgericht zijn. Als je Engels nodig hebt voor zakelijke communicatie, moet je dat nemen. Ga gewoon niet tot het uiterste en neem het CAE (Certificate in Advanced English). Het bijzondere ervan zijn verfijnde woorden, specifieke uitdrukkingen die bijna nooit worden gebruikt in de internationale communicatie.

Het pad van de architect: certificering en productonderdompeling

Stap twee: certificering voor de gehele technologiestapel

Aanvankelijk was het project gebaseerd op de object-relationele mapping-technologie ORM. Het ontwikkelingsteam aan de kant van de klant was trots op hun geesteskind, omdat alles werd gedaan met behulp van geavanceerde concepten, complex en cool.

Problemen in de productie, met name een voortdurend vastlopen van de SQL-server, waren echter niet ongewoon. Het kwam op het punt waarop de typische oplossing voor het probleem het opnieuw opstarten van de service was. De klant belde de teamleider en zei dat het tijd was om opnieuw op te starten. Uiteindelijk hebben we besloten er een einde aan te maken.

De klant wilde de prestaties van het systeem berekenen - hiervoor was het noodzakelijk om profilering in te voeren en regelmatig optimalisaties uit te voeren. Destijds, rond 2015, werd Ants Profiler gekozen als profileringstool, maar deze presteerde slecht. Met weinig details was het moeilijk om informatie te verkrijgen over een cruciaal codeblok. Op maximale details begon Ants Profiler de code zodanig te wijzigen dat de functionaliteit van de systemen in gevaar kwam - waar profilering was geconfigureerd, crashte alles gewoon. Daarom hebben we onze aanpak veranderd.

We zijn begonnen met het analyseren van statistieken

Bij het analyseren van verkoopstatistieken werd duidelijk dat 95% van het werk op de server een primitieve bedrijfslogica van 4 regels heeft. Voor hen was één SQL-query voldoende, en niet een complete set queries gegenereerd door een bedrijfslogicablok met een ORM.

Alexey stelde een opgeslagen procedure voor het verplaatsen van werk zonder ORM voor en implementeerde deze. Het idee was in tegenspraak met het gebruikelijke projectparadigma, de teamleider begroette het met voorzichtigheid, maar de klant accepteerde alles en vroeg om implementatie. Dit was niet verrassend, omdat de nieuwe methode het mogelijk maakte om vertragingen bij de verwerking bij de productie terug te brengen van vier uur naar enkele minuten - gemiddeld 98 keer.

Toch twijfelden we: is dit de juiste beslissing of een kwestie van persoonlijke voorkeur? Het geloof in de almachtige C# en ORM werd geschokt door een ongeluk dat de volledige kracht van eenvoudige oplossingen aantoonde.

Geval twee

Het team schreef een query om met gegevens binnen het ORM-paradigma te werken, samengesteld volgens alle regels, zonder fouten. De verwerking ervan duurde 2-3 minuten en deze parameters leken acceptabel. Een alternatieve implementatie met behulp van eenvoudige selectors en weergaven leverde echter sneller resultaten op: in 2 seconden.

Het werd duidelijk dat het tijd was om een ​​specialist te kiezen die de gehele projectenstapel zou certificeren om alle nuances te begrijpen en de optimale methode te kiezen. Alexey nam deze taak op zich.

Eerste certificaten

Om de essentie te begrijpen, ging Alexey door diverse Microsoft-certificeringen, die de volledige technologiestapel van het project bestrijkt:

  • TS: Ontwikkeling van Windows-applicaties met Microsoft .NET Framework 4
  • TS: Toegang tot gegevens met Microsoft .NET Framework 4-programmering in C#
  • TS: Microsoft .NET Framework 3.5 Windows Forms-applicatieontwikkeling
  • PRO: Ontwerpen en ontwikkelen van Windows-applicaties met behulp van Microsoft .NET Framework 3.5
  • PRO: Ontwerpen en ontwikkelen van Windows-gebaseerde applicaties met behulp van het Microsoft .NET Framework
  • TS: Microsoft .NET Framework 2.0 - Windows-gebaseerde clientontwikkeling

In een poging het werk aan het nieuwe project te optimaliseren, kwam het team tot de volgende conclusies:

  • Om de systemen te laten werken, is het noodzakelijk om de regels voor het schrijven van code te volgen: geen inkepingen en opmerkingen, maar technische kenmerken - het aantal oproepen naar de databases, de belasting van de server en nog veel meer.
  • Het toepassen van tegenstrijdige concepten kan tot problemen leiden. Het concept van databases is verzamelingenleer, terwijl ORM een operationeel concept is.
  • Ideeën die de gebruikelijke gang van zaken verstoren, kunnen binnen het team op weerstand stuiten. Ontwikkeling gaat ook over relaties en het vermogen om je standpunt te beargumenteren.
  • Certificering verbreedt uw horizon en stelt u in staat te begrijpen wat wel en niet kan worden gebruikt.

Het pad van de architect: certificering en productonderdompeling

Stap drie: leer meer dan coderen

Bij het werken aan grootschalige IT-oplossingen zijn veel factoren van belang. Niet elke ontwikkelaar besteedt bijvoorbeeld aandacht aan netwerkparameters, maar zelfs de bandbreedte ervan kan de oplossing van een zakelijk probleem beïnvloeden.

Begrip hiervan wordt gegeven Certificering uit de 98-serie:

Ze stellen je in staat om de zaken breder te bekijken en het beperkte ‘alleen code’-concept te verlaten. Dit zijn de Fundamenten, de basis, maar ze zijn belangrijk om alles op een dieper niveau te begrijpen.

Serie 98-certificeringen zijn korte tests - 30 vragen gedurende 45 minuten.

Stap vier: Procesbeheer

Werken met klinieken is een belangrijker onderneming dan bijvoorbeeld het maken van een mobiel spel. Hier kunt u geen functie toevoegen en uitrollen voor productie. Het is belangrijk om het goedkeuringsproces te volgen en talloze wijzigingen door de klant aan te brengen, omdat de gezondheid en het leven van mensen op het spel staan.

Typisch Agile leverde bij dit project niet de gewenste resultaten op en elke sprint duurde behoorlijk lang. Tussen de implementaties duurde het zes maanden tot een jaar.

Bovendien was het technisch onmogelijk om de processen van de tien klinieken die werden bediend op één lijn te brengen.

Om onder deze omstandigheden sneller resultaten te boeken, hadden ontwikkelaars persoonlijke verantwoordelijkheid en een grootschalige visie op processen nodig - wat constante concentratie en hoge kwalificaties betekent.

Wanneer een specialist zich verdiept in het proces, ziet hij duidelijk de resultaten, oorzaken en gevolgen, het hele plaatje. Dit is tegelijkertijd een factor van extra motivatie en bewustzijn, waardoor het vermogen om problemen en problemen op te lossen wordt verbeterd.

Met een goed functionerende infrastructuur, goed gebouwde architectuur en optimale code kan één persoon vele processen op zich nemen. Dit betekent echter niet dat het noodzakelijk is universele soldaten op te richten die in staat zijn het project alleen te leiden. Communicatie en teamwerk zijn van cruciaal belang.

In een team begrijpt elke ontwikkelaar dat zijn collega's afhankelijk zijn van zijn acties. Een besparing van 5 minuten tijdens de ontwikkelingsfase betekent misschien wel 5 uur extra testen. Om dit te begrijpen, is het belangrijk om communicatie tot stand te brengen.

In ons project kreeg Alexey hulp bij het beheersen van de processen certificaten van EXIN:

  • M_o_R Foundation-certificaat in risicobeheer
  • Agile Scrum-stichting
  • Stichting IT Servicemanagement
  • Stichting EXIN Business Informatie Management
  • PRINCE2 Foundation-certificaat in projectmanagement
  • Certificaat van testingenieur
  • Microsoft Operations Framework Foundation
  • Agile serviceprojecten

Er werden cursussen gevolgd over edX die hielpen om naar het systeem te kijken vanuit het oogpunt van statistiek en lean programmeren en later werden gepusht om architect certificaat:

  • Lean Production
  • Six Sigma: analyseren, verbeteren, controleren
  • Six Sigma: definiëren en meten

Volgens het Six Sigma-principe zorgt statistische controle voor een kwalitatief hoogstaand resultaat met een extreem hoge waarschijnlijkheid.

Door zijn niveau te verhogen, komt de ontwikkelaar in de regel tot de volgende conclusies:

  • Werk niet hard, maar werk efficiënt.
  • Maak uw leven niet ingewikkelder door de buitenkant na te jagen: geavanceerde technologie lost problemen niet noodzakelijkerwijs beter op.
  • Sluit vriendschap met specialisten in alle stadia van de cyclus en ontdek hun pijnpunten. Een architect moet de processen beheersen: een probleem identificeren, een probleem stellen, een netwerktopologie ontwerpen, ontwikkelen, testen, ondersteunen, exploiteren.
  • Controleer elke functie van binnen en van buiten.
  • Het komt voor dat IT-processen niet overeenkomen met bedrijfsprocessen en daar moet iets aan gedaan worden.

Het pad van de architect: certificering en productonderdompeling

Stap vijf: begrijp de architectuur door de lens van Big Data

Tijdens het project hebben we te maken gehad met behoorlijk grote databases. Tenminste, dat leek tot een bepaald moment zo. Toen Alexey big data op edX begon te bestuderen, bleek dat 1,5 Tb in het project een kleine database was. Serieuze schalen - vanaf 10 Tb en andere methoden zijn daar vereist.

De volgende stap op weg naar certificering was een cursus over big data. Hij hielp de organisatie van de gegevensstroom te begrijpen en de productieactiviteiten te versnellen. En let ook op kleine tools, begin bijvoorbeeld Excel te gebruiken om individuele microtaken op te lossen.

Certificaat:
Microsoft Professional-programma: Big Data-certificaat

Het pad van de architect: certificering en productonderdompeling

Stap zes: van ontwikkelaar naar architect

Nadat Alexey alle vermelde certificaten had ontvangen, terwijl hij nog steeds een ontwikkelaar was, begon hij te begrijpen dat de ontvangen informatie een hoog abstractieniveau had, en dit was verre van slecht.

Een grootschalige visie op processen leidt tot het niveau van architect, een van de hoogste niveaus van certificering.

Op zoek naar architectencertificering kwam Alexey langs Gecertificeerde softwarearchitect - Microsoft Platform van Sundblad & Sundblad. Dit is een door Microsoft erkend programma. De ontwikkeling ervan begon 14 jaar geleden met de medewerking van het hoofdkantoor van het bedrijf en de Zweedse kantoren. Het behandelt het .NET Framework, het verzamelen van vereisten, het beheer van de informatiestroom en vele andere onderwerpen op hoog niveau, en wordt beschouwd als een sterk bewijs van de vaardigheden van een architect.

Er waren cursussen om te studeren binnen het programma. Certificering systematiseerde kennis en stelde ons in staat een nieuwe ontwikkelingsfase in te gaan: van ontwikkelaar tot architect.

Het pad van de architect: certificering en productonderdompeling

Samenvattend

Zoals Alexey opmerkt, is het bij het werken met een grootschalig IT-systeem belangrijk om te onthouden dat programmeren geen duur vermaak is, maar een hulpmiddel voor het oplossen van zakelijke problemen. Wanneer u met een of andere uitdaging wordt geconfronteerd, moet u beslist de bedrijfswaarde opschrijven, zodat het project niet op een dood spoor belandt.

De architect heeft een bijzondere kijk op programmeren en de elementaire componenten ervan:

  • Het creëren en/of onderhouden van een datastroom
  • Informatiestroom uit de gegevensstroom halen
  • Waardestroom uit de informatiestroom halen
  • Monetisatie van waardestromen

Als je door de ogen van een architect naar een project kijkt, moet je vanaf het einde beginnen: de waarde formuleren en er vervolgens naartoe gaan via de stroom van gegevens.

De architect volgt de ontwikkelingsregels en heeft een globale visie op het project. Het is bijna onmogelijk om dit te bereiken door oefening en je eigen fouten – of beter gezegd, het is mogelijk, maar het zal heel lang duren. Met certificering kunt u uw horizon verbreden en naar de volledige context van elk probleem kijken, kennis maken met de ervaring van duizenden professionals en de vaardigheid ontwikkelen om effectief problemen op te lossen.

Tot nu toe werken we al meer dan vijf jaar met het hierboven beschreven medische systeem en hebben we aanzienlijke verbeteringen bereikt. Gedurende deze tijd slaagde Alexey voor meer dan 20 certificeringsexamens:

  1. TS: Ontwikkeling van Windows-applicaties met Microsoft .NET Framework 4
  2. TS: Toegang tot gegevens met Microsoft .NET Framework 4-programmering in C#
  3. TS: Microsoft .NET Framework 3.5 Windows Forms-applicatieontwikkeling
  4. PRO: Ontwerpen en ontwikkelen van Windows-applicaties met behulp van Microsoft .NET Framework 3.5
  5. PRO: Ontwerpen en ontwikkelen van Windows-gebaseerde applicaties met behulp van het Microsoft .NET Framework
  6. TS: Microsoft .NET Framework 2.0 - Windows-gebaseerde clientontwikkeling
  7. 98-361: Grondbeginselen van softwareontwikkeling
  8. 98-364: Basisprincipes van databases
  9. M_o_R Foundation-certificaat in risicobeheer
  10. Agile Scrum-stichting
  11. Stichting IT Servicemanagement
  12. Stichting EXIN Business Informatie Management
  13. PRINCE2 Foundation-certificaat in projectmanagement
  14. Certificaat van testingenieur
  15. Microsoft Operations Framework Foundation
  16. Agile serviceprojecten
  17. Lean Production
  18. Six Sigma: analyseren, verbeteren, controleren
  19. Six Sigma: definiëren en meten
  20. Microsoft Professional-programma: Big Data-certificaat
  21. Gecertificeerde softwarearchitect - Microsoft Platform

Het pad van de architect: certificering en productonderdompeling

Nadat hij alle examens had behaald, klom Alexey op van hoofdontwikkelaar tot projectarchitect. Tegelijkertijd is certificering in de ogen van de klant een krachtig instrument geworden voor zowel professionele ontwikkeling als reputatieopbouw.

De “Certificatie Ram” hielp om toegang te krijgen tot individuele kritische processen die controle en uitwerking nodig hadden. Europese klanten van IT-oplossingen hechten in de regel veel waarde aan gecertificeerde specialisten en zijn bereid hen meer bewegingsvrijheid te geven.

Bedankt voor uw aandacht! We hopen dat het artikel nuttig voor u was.

Bron: www.habr.com

Voeg een reactie