El camí de l'arquitecte: certificació i immersió del producte

Gairebé tots els desenvolupadors fan preguntes sobre com ha de desenvolupar les seves habilitats i quina direcció de creixement triar: vertical, és a dir, convertir-se en gestor, o horitzontal: full stack. Molts anys de treball en un producte, contràriament als mites, no es converteixen en una limitació, sinó en una oportunitat útil. En aquest article, compartim l'experiència del nostre desenvolupador de backend Alexey, que va dedicar 6 anys a les certificacions i durant aquest temps va treballar fins a convertir-se en arquitecte.

El camí de l'arquitecte: certificació i immersió del producte

Qui és arquitecte

Un arquitecte informàtic (director tecnològic) és un desenvolupador d'alt nivell que s'ocupa de problemes globals en projectes informàtics. Es submergeix en els processos de negoci del client i ajuda a resoldre els seus problemes mitjançant la tecnologia, i també determina com s'estructurarà aquest o aquell sistema d'informació.

Aquest professional necessita no només entendre àrees temàtiques individuals, sinó també veure tot el procés:

  • Establir un problema empresarial.
  • Desenvolupament, inclosa la programació, preparació, emmagatzematge i processament de dades.
  • Desplegament i suport d'infraestructures.
  • Proves.
  • Desplega.
  • Analítiques i serveis operatius.

Això significa la capacitat de posar-se a la pell de qualsevol especialista o equip en el cicle de vida del desenvolupament, comprendre l'estat actual dels sistemes des de dins, identificar els errors comesos i formular objectius. De vegades cal fer-se la cirurgia tu mateix.

El camí del desenvolupament professional des del desenvolupador fins a l'arquitecte triga molt de temps, normalment diversos anys. Per fer-ho, el desenvolupador necessita tant habilitats pràctiques com coneixements teòrics, que es poden confirmar mitjançant una certificació internacional.

Més de 5 anys en un projecte: rutina o oportunitat de creixement?

Fa uns quants anys, vam començar a treballar en un gran sistema informàtic mèdic per a un client estranger. Hi havia alguns problemes en aquest projecte a gran escala:

  • accés limitat;
  • producte inestable;
  • sprints increïblement llargs i llargues aprovacions.

"És hora de millorar les teves habilitats"", - un dels principals desenvolupadors Alexey va prendre aquesta decisió per superar les dificultats enumerades i entendre millor el sistema.

Alexey va compartir la seva experiència, on és millor començar a entrenar, quins certificats són importants obtenir, com i per què fer-ho.

Primer pas: millora el teu anglès

Els llenguatges de programació són una part fonamental del desenvolupament, però els llenguatges de comunicació són igual d'importants. Sobretot en les comunicacions amb un client de parla anglesa!

Des de la pràctica

Un bon dia, Alexey va rebre una trucada d'un empleat per part del client. En aquell moment, el nostre desenvolupador encara no podia presumir d'un munt de certificats, ni en tecnologia, ni en gestió, ni en comunicacions. Potser no serien útils; després de tot, podeu ser un especialista competent sense regals addicionals. Però el problema encara va sorgir.

Hem d'entendre que el llenguatge parlat és radicalment diferent del llenguatge escrit. Si coneixeu bé les especificacions en anglès, però no practiqueu escoltar i parlar, tenim males notícies per a vosaltres. En aquest cas, les converses telefòniques amb els socis poden conduir a un carreró sense sortida.

Alexey va captar algunes paraules conegudes a la trucada, però el discurs del seu col·lega va ser tan ràpid i a diferència de la pronunciació clàssica de les lliçons d'àudio que l'essència principal de les seves preguntes va passar per algun lloc. Per educació i reticència a complicar la situació, Alexey va acceptar ràpidament totes les propostes.

He de dir que es van fer descobriments desagradables durant l'obra? El nostre desenvolupador es va apuntar a alguna cosa que hauria rebutjat de manera absoluta si l'oferta hagués vingut en un llenguatge comprensible.

En aquell moment va quedar clar que només calia millorar les habilitats auditives i orals. La millor manera de fer-ho era mitjançant certificacions.

Certificació de llengua anglesa

Per tal de millorar les comunicacions en el marc del nostre projecte mèdic, Alexey va estudiar en diversos programes alhora. Com a resultat, va aprovar la certificació FCE - First Certificate in English. Això em va ajudar a començar a escoltar el client i transmetre-li els meus pensaments.

Pirateria de la vida:

Evita els programes bàsics d'anglès. L'habilitat ha de ser objectiu. Si necessiteu anglès per a la comunicació empresarial, hauríeu de prendre-lo. Simplement no aneu a l'extrem i feu el CAE (Certificate in Advanced English). La seva particularitat són les paraules sofisticades, expressions específiques que gairebé mai s'utilitzen en la comunicació internacional.

El camí de l'arquitecte: certificació i immersió del producte

Segon pas: certificació de tota la pila tecnològica

Inicialment, el projecte es basava en la tecnologia de mapeig relacional objecte ORM. L'equip de desenvolupament per part del client estava orgullós de la seva idea, perquè tot es va fer amb conceptes avançats, complexos i genials.

Tanmateix, els problemes en la producció, en particular, un servidor SQL que es congelava constantment, no eren estranys. Va arribar al punt que la solució típica al problema era reiniciar el servei. El client va trucar al cap de l'equip i va dir que era hora de reiniciar. Finalment vam decidir acabar-ho.

El client volia treballar el rendiment del sistema; per això era necessari introduir el perfil i dur a terme l'optimització regularment. En aquella època, cap al 2015, Ants Profiler va ser escollit com a eina de perfils, però va tenir un mal rendiment. Amb pocs detalls, era difícil obtenir informació sobre un bloc de codi crític. Amb el màxim detall, Ants Profiler va començar a canviar el codi de tal manera que la funcionalitat dels sistemes estava en risc: on es configurava el perfil, tot simplement s'estavellava. Així que vam canviar el nostre enfocament.

Vam començar analitzant les estadístiques

En analitzar les estadístiques de vendes, va quedar clar que el 95% del treball al servidor té una lògica empresarial primitiva de 4 línies. Per a ells, n'hi havia prou amb una consulta SQL i no amb un conjunt complet de consultes generades per un bloc de lògica empresarial amb un ORM.

Alexey va proposar i implementar un procediment emmagatzemat per traslladar el treball sense ORM. La idea contradeia el paradigma habitual del projecte, el responsable de l'equip ho va rebre amb precaució, però el client ho va acceptar tot i va demanar la implementació. Això no va ser sorprenent, perquè el nou mètode va permetre reduir els retards en el processament de la producció de quatre hores a diversos minuts, una mitjana de 98 vegades.

Tot i així, teníem dubtes: és aquesta la decisió correcta o una qüestió de preferència personal? La fe en el totpoderós C# i ORM va ser sacsejada per un accident que va mostrar tot el poder de les solucions senzilles.

Cas dos

L'equip va escriure una consulta per treballar amb dades dins del paradigma ORM, compilades segons totes les regles, sense errors. El seu processament va trigar entre 2 i 3 minuts i aquests paràmetres semblaven acceptables. No obstant això, una implementació alternativa que utilitzava selectors i visualitzacions senzills va proporcionar resultats més ràpid: en 2 segons.

Es va fer evident que era hora d'escollir un especialista que se sotmetés a la certificació de tota la pila del projecte per entendre tots els matisos i triar el mètode òptim. Alexey va assumir aquesta tasca.

Primers certificats

Per entendre l'essència, Alexey va passar diverses certificacions de Microsoft, que cobreix tota la pila tecnològica del projecte:

  • TS: Desenvolupament d'aplicacions de Windows amb Microsoft .NET Framework 4
  • TS: Accés a les dades amb programació Microsoft .NET Framework 4 en C#
  • TS: Microsoft .NET Framework 3.5 Desenvolupament d'aplicacions de Windows Forms
  • PRO: Disseny i desenvolupament d'aplicacions de Windows amb Microsoft .NET Framework 3.5
  • PRO: Disseny i desenvolupament d'aplicacions basades en Windows utilitzant Microsoft .NET Framework
  • TS: Microsoft .NET Framework 2.0 - Desenvolupament de clients basat en Windows

Tractant d'optimitzar el treball en el nou projecte, l'equip va arribar a les següents conclusions:

  • Perquè els sistemes funcionin, cal seguir les regles d'escriptura del codi: no sagnats i comentaris, sinó característiques tècniques: el nombre de trucades a les bases de dades, la càrrega al servidor i molt més.
  • L'aplicació de conceptes contradictoris pot provocar problemes. El concepte de bases de dades és teoria de conjunts, mentre que ORM és un concepte d'operacions.
  • Les idees que alteren l'ordre habitual de les coses poden trobar resistència dins de l'equip. El desenvolupament també es refereix a les relacions i la capacitat d'argumentar el vostre punt de vista.
  • La certificació amplia els vostres horitzons i us permet entendre què es pot utilitzar i què no.

El camí de l'arquitecte: certificació i immersió del producte

Tercer pas: aprendre més que el codi

Quan es treballa en solucions de TI a gran escala, molts factors són importants. Per exemple, no tots els desenvolupadors presten atenció als paràmetres de la xarxa, però fins i tot el seu ample de banda pot afectar la solució d'un problema empresarial.

Entendre això es dóna Certificació de la sèrie 98:

Us permeten fer una mirada més àmplia a les coses i sortir del concepte limitat de "només codi". Aquests són Fonaments, els bàsics, però són importants per entendre-ho tot a un nivell més profund.

Les certificacions de la sèrie 98 són proves curtes: 30 preguntes durant 45 minuts.

Quatre pas: Gestió de processos

Treballar amb clíniques és una tasca més important que, per exemple, crear un joc per a mòbils. Aquí no podeu afegir una funció i llançar-la per a la producció; és important seguir el procés d'aprovació i fer nombroses modificacions per part del client, perquè la salut i la vida de les persones estan en joc.

El típic Agile no va produir els resultats desitjats en aquest projecte, i cada sprint va durar força temps. Entre els desplegaments va trigar de 6 mesos a un any.

A més, era tècnicament impossible acostar els processos de les deu clíniques servides a algun denominador comú.

Per obtenir resultats més ràpidament en aquestes condicions, els desenvolupadors necessitaven responsabilitat personal i una visió a gran escala dels processos, la qual cosa significa concentració constant i alta qualificació.

Quan un especialista està immers en el procés, veu clarament els resultats, les causes i les conseqüències, tot el panorama. Això és alhora un factor de motivació i consciència addicionals, millorant la capacitat de resoldre problemes i problemes.

Amb una infraestructura que funciona bé, una arquitectura ben construïda i un codi òptim, una persona pot assumir molts processos. Tanmateix, això no vol dir que sigui necessari formar soldats universals capaços de liderar el projecte en solitari. La comunicació i el treball en equip són fonamentals.

En un equip, cada desenvolupador entén que els seus companys depenen de les seves accions. Estalviar 5 minuts durant la fase de desenvolupament significa potser 5 hores addicionals de prova. Per entendre això, és important establir comunicacions.

En el nostre projecte, Alexey va rebre ajuda per dominar els processos certificats d'EXIN:

  • Certificat de la Fundació M_o_R en Gestió de Riscos
  • Fundació Agile Scrum
  • Fundació per a la gestió de serveis informàtics
  • Fundació per a la gestió de la informació empresarial EXIN
  • Certificat de la Fundació PRINCE2 en Gestió de Projectes
  • Certificat d'enginyer d'assaig
  • Microsoft Operations Framework Foundation
  • Projectes de servei àgil

Es van fer cursos sobre edX que van ajudar a mirar el sistema des del punt de vista de l'estadística i la programació magra i posteriorment van empènyer a obtenir certificat d'arquitecte:

  • Producció Lean
  • Sis Sigma: analitzar, millorar, controlar
  • Sis Sigma: definir i mesurar

Segons el principi Six Sigma, el control estadístic garanteix un resultat d'alta qualitat amb una probabilitat extremadament alta.

En augmentar el seu nivell, el desenvolupador, per regla general, arriba a les conclusions següents:

  • No treballeu dur, però treballeu de manera eficient.
  • No us compliqueu la vida perseguint l'exterior: la tecnologia sofisticada no necessàriament resol millor els problemes.
  • Fes amistat amb especialistes en totes les etapes del cicle i descobreix els seus punts dolorosos. Un arquitecte ha de dominar els processos: identificar un problema, establir un problema, dissenyar una topologia de xarxa, desenvolupament, proves, suport, funcionament.
  • Comproveu totes les funcions per dins i per fora.
  • Passa que els processos informàtics no es corresponen amb els processos empresarials, i això s'ha de tractar.

El camí de l'arquitecte: certificació i immersió del producte

Cinquè pas: entendre l'arquitectura a través de la lent del Big Data

Durant el projecte vam tractar amb bases de dades força grans. Almenys així ho va semblar fins a un moment determinat. Quan Alexey va començar a estudiar grans dades a edX, va resultar que 1,5 Tb del projecte era una base de dades petita. Escales serioses: a partir de 10 Tb, i allà es requereixen altres mètodes.

El següent pas cap a la certificació va ser un curs sobre big data. Va ajudar a entendre l'organització del flux de dades i a accelerar les operacions de producció. I també presteu atenció a les eines petites, per exemple, comenceu a utilitzar Excel per resoldre microtasques individuals.

Certificat:
Programa Professional de Microsoft: Certificat Big Data

El camí de l'arquitecte: certificació i immersió del producte

Sisè pas: de desenvolupador a arquitecte

Després de rebre tots els certificats enumerats, mentre encara era desenvolupador, Alexey va començar a entendre que la informació rebuda tenia un alt nivell d'abstracció, i això estava lluny de ser dolent.

Una visió a gran escala dels processos porta al nivell d'arquitecte, un dels nivells més alts de certificació.

A la recerca de la certificació d'arquitecte, va arribar Alexey Arquitecte de programari certificat - Plataforma Microsoft de Sundblad & Sundblad. Es tracta d'un programa reconegut per Microsoft, el seu desenvolupament va començar fa 14 anys amb la col·laboració de la central de l'empresa i les oficines sueques. Cobreix el .NET Framework, la recopilació de requisits, la gestió del flux d'informació i molts altres temes d'alt nivell i es considera un fort testimoni de les habilitats d'un arquitecte.

Hi havia cursos per estudiar dins del programa. La certificació va sistematitzar el coneixement i ens va permetre entrar en una nova etapa de desenvolupament: des de promotor fins a arquitecte.

El camí de l'arquitecte: certificació i immersió del producte

Resumint

Com assenyala Alexey, quan es treballa amb un sistema informàtic a gran escala, és important recordar que la programació no és un entreteniment car, sinó una eina per resoldre problemes empresarials. Davant d'aquest o aquell repte, definitivament cal anotar el valor empresarial perquè el projecte no arribi a un carreró sense sortida.

L'arquitecte té una visió especial de la programació i els seus components elementals:

  • Creació i/o manteniment d'un flux de dades
  • Extracció del flux d'informació del flux de dades
  • Extracció del flux de valor del flux d'informació
  • Monetització del flux de valor

Si mireu un projecte amb els ulls d'un arquitecte, cal començar pel final: formular el valor i després anar-hi a través del flux de dades.

L'arquitecte segueix les normes de desenvolupament, tenint una visió global del projecte. És gairebé impossible arribar-hi a través de la pràctica i dels vostres propis errors, o millor dit, és possible, però trigarà molt de temps. La certificació us permet ampliar els vostres horitzons i mirar el context complet de cada tema, familiaritzar-vos amb l'experiència de milers de professionals i desenvolupar l'habilitat per resoldre problemes amb eficàcia.

Fins ara, portem més de cinc anys treballant amb el sistema mèdic descrit anteriorment i hem aconseguit millores importants. Durant aquest temps, Alexey va aprovar més de 20 exàmens de certificació:

  1. TS: Desenvolupament d'aplicacions de Windows amb Microsoft .NET Framework 4
  2. TS: Accés a les dades amb programació Microsoft .NET Framework 4 en C#
  3. TS: Microsoft .NET Framework 3.5 Desenvolupament d'aplicacions de Windows Forms
  4. PRO: Disseny i desenvolupament d'aplicacions de Windows amb Microsoft .NET Framework 3.5
  5. PRO: Disseny i desenvolupament d'aplicacions basades en Windows utilitzant Microsoft .NET Framework
  6. TS: Microsoft .NET Framework 2.0 - Desenvolupament de clients basat en Windows
  7. 98-361: Fonaments de desenvolupament de programari
  8. 98-364: Fonaments de bases de dades
  9. Certificat de la Fundació M_o_R en Gestió de Riscos
  10. Fundació Agile Scrum
  11. Fundació per a la gestió de serveis informàtics
  12. Fundació per a la gestió de la informació empresarial EXIN
  13. Certificat de la Fundació PRINCE2 en Gestió de Projectes
  14. Certificat d'enginyer d'assaig
  15. Microsoft Operations Framework Foundation
  16. Projectes de servei àgil
  17. Producció Lean
  18. Sis Sigma: analitzar, millorar, controlar
  19. Sis Sigma: definir i mesurar
  20. Programa Professional de Microsoft: Certificat Big Data
  21. Arquitecte de programari certificat - Plataforma Microsoft

El camí de l'arquitecte: certificació i immersió del producte

Després d'haver aprovat tots els exàmens, Alexey va passar de desenvolupador principal a arquitecte de projectes. Al mateix temps, la certificació s'ha convertit en una eina potent tant per al desenvolupament professional com per a la construcció de reputació als ulls del client.

El "Certification Ram" va ajudar a accedir a processos crítics individuals que necessitaven control i elaboració. Els clients europeus de solucions informàtiques, per regla general, valoren molt els especialistes certificats i estan disposats a donar-los més llibertat d'acció.

Gràcies per la vostra atenció! Esperem que l'article us hagi estat útil.

Font: www.habr.com

Afegeix comentari