Le parcours de l'architecte : certification et immersion produit

Presque tous les développeurs se posent des questions sur la manière dont il doit développer ses compétences et quelle direction de croissance choisir : verticale - c'est-à-dire devenir manager, ou horizontale - full stack. De nombreuses années de travail sur un produit, contrairement aux mythes, ne deviennent pas une limitation, mais une opportunité utile. Dans cet article, nous partageons l'expérience de notre développeur backend Alexey, qui a consacré 6 ans aux certifications et pendant ce temps a gravi les échelons pour devenir architecte.

Le parcours de l'architecte : certification et immersion produit

Qui est architecte

Un architecte informatique (tech lead) est un développeur de haut niveau qui traite des problématiques globales dans les projets informatiques. Il s’immerge dans les processus métiers du client et l’aide à résoudre ses problèmes grâce à la technologie, et détermine également comment tel ou tel système d’information sera structuré.

Un tel professionnel doit non seulement comprendre des domaines individuels, mais également voir l'ensemble du processus :

  • Poser un problème commercial.
  • Développement, y compris programmation, préparation, stockage et traitement des données.
  • Déploiement et support des infrastructures.
  • Essai.
  • Déployer.
  • Services analytiques et opérationnels.

Cela signifie la capacité de se mettre à la place de n'importe quel spécialiste ou équipe dans le cycle de vie du développement, de comprendre l'état actuel des systèmes de l'intérieur, d'identifier les erreurs commises et de formuler des objectifs. Parfois, vous devez effectuer une intervention chirurgicale vous-même.

Le cheminement du développement professionnel du développeur à l'architecte prend beaucoup de temps - généralement plusieurs années. Pour ce faire, le développeur a besoin à la fois de compétences pratiques et de connaissances théoriques, qui peuvent être confirmées par une certification internationale.

Plus de 5 ans sur un projet - routine ou opportunité de croissance ?

Il y a plusieurs années, nous avons commencé à travailler sur un grand système informatique médical pour un client étranger. Il y avait certains problèmes dans ce projet à grande échelle :

  • accès limité;
  • aiguillon instable ;
  • des sprints incroyablement longs et de longues approbations.

« Il est temps d’améliorer vos compétences »", - l'un des principaux développeurs, Alexey, a pris cette décision afin de surmonter les difficultés énumérées et de mieux comprendre le système.

Alexey a partagé son expérience, où il est préférable de commencer la formation, quels certificats sont importants à obtenir, comment et pourquoi le faire.

Première étape : améliorer votre anglais

Les langages de programmation sont un élément fondamental du développement, mais les langages de communication sont tout aussi importants. Surtout dans les communications avec un client anglophone !

De la pratique

Un beau jour, Alexey a reçu un appel d'un employé du client. À cette époque, notre développeur ne pouvait pas encore se vanter de posséder de nombreux certificats - ni en technologie, ni en gestion, ni en communication. Peut-être qu'ils ne seraient pas utiles - après tout, vous pouvez être un spécialiste compétent sans insignes supplémentaires. Mais le problème persistait.

Il faut comprendre que la langue parlée est radicalement différente de la langue écrite. Si vous maîtrisez bien les spécifications anglaises, mais ne vous entraînez pas à écouter et à parler, alors nous avons de mauvaises nouvelles pour vous. Dans ce cas, les conversations téléphoniques avec les partenaires peuvent conduire à une impasse.

Alexey a entendu des mots familiers lors de l'appel, mais le discours de sa collègue était si rapide et si différent de la prononciation classique des leçons audio que l'essentiel de ses questions allait au-delà. Par politesse et par réticence à compliquer la situation, Alexeï a rapidement accepté toutes les propositions.

Dois-je préciser que de désagréables découvertes ont été faites au cours des travaux ? Notre développeur s'est inscrit à quelque chose qu'il aurait délibérément refusé si l'offre avait été rédigée dans un langage compréhensible.

À ce moment-là, il est devenu évident qu’il fallait simplement améliorer ses capacités d’écoute et d’expression orale. La meilleure façon d’y parvenir était de recourir aux certifications.

Certification de langue anglaise

Afin d'améliorer la communication dans le cadre de notre projet médical, Alexey a étudié dans plusieurs programmes à la fois. En conséquence, il a réussi la certification FCE - First Certificate in English. Cela m'a aidé à commencer à entendre le client et à lui transmettre mes réflexions.

Piratage de la vie:

Évitez les programmes d'anglais de base. La compétence doit être ciblée. Si vous avez besoin d'anglais pour la communication professionnelle, vous devriez le prendre. N’allez pas dans les extrêmes et passez le CAE (Certificate in Advanced English). Sa particularité réside dans des mots sophistiqués, des expressions spécifiques qui ne sont presque jamais utilisées dans la communication internationale.

Le parcours de l'architecte : certification et immersion produit

Deuxième étape : certification sur l’ensemble de la pile technologique

Initialement, le projet était basé sur la technologie de cartographie objet-relationnelle ORM. L’équipe de développement du côté du client était fière de son idée, car tout était réalisé à l’aide de concepts avancés, complexes et sympas.

Cependant, les problèmes de production, en particulier un serveur SQL qui gelait constamment, n'étaient pas rares. Nous en sommes arrivés au point où la solution typique au problème consistait à redémarrer le service. Le client a appelé le chef d'équipe et lui a dit qu'il était temps de redémarrer. Finalement, nous avons décidé d'y mettre fin.

Le client souhaitait évaluer les performances du système. Pour cela, il était nécessaire d'introduire un profilage et de procéder régulièrement à une optimisation. À cette époque, vers 2015, Ants Profiler avait été choisi comme outil de profilage, mais ses performances étaient médiocres. Avec peu de détails, il était difficile d’obtenir des informations sur un bloc de code critique. Au maximum de détails, Ants Profiler a commencé à modifier le code de telle sorte que la fonctionnalité des systèmes était menacée - là où le profilage était configuré, tout s'est simplement écrasé. Nous avons donc changé notre approche.

Nous avons commencé par analyser les statistiques

Lors de l'analyse des statistiques de ventes, il est devenu clair que 95 % du travail sur le serveur a une logique métier primitive de 4 lignes. Pour eux, une seule requête SQL suffisait, et non un ensemble complet de requêtes générées par un bloc de logique métier avec un ORM.

Alexey a proposé et implémenté une procédure stockée pour déplacer le travail sans ORM. L'idée contredisait le paradigme habituel du projet, le chef d'équipe l'a accueillie avec prudence, mais le client a tout accepté et a demandé la mise en œuvre. Cela n'était pas surprenant, car la nouvelle méthode a permis de réduire les délais de traitement en production de quatre heures à plusieurs minutes, soit une moyenne de 98 fois.

Pourtant, nous avions des doutes : est-ce la bonne décision ou une question de préférence personnelle ? La foi dans le tout-puissant C# et ORM a été ébranlée par un accident qui a montré toute la puissance des solutions simples.

Deuxième cas

L'équipe a écrit une requête pour travailler avec des données dans le cadre du paradigme ORM, compilées selon toutes les règles, sans erreurs. Son traitement a pris 2-3 minutes et ces paramètres semblaient acceptables. Cependant, une implémentation alternative utilisant des sélecteurs et des vues simples a fourni des résultats plus rapidement – ​​en 2 secondes.

Il est devenu évident qu'il était temps de choisir un spécialiste qui serait certifié sur l'ensemble de la pile du projet afin d'en comprendre toutes les nuances et de choisir la méthode optimale. Alexey a assumé cette tâche.

Premiers certificats

Pour comprendre l'essence, Alexey a parcouru plusieurs certifications Microsoft, couvrant l’ensemble de la stack technologique du projet :

  • TS : Développement d'applications Windows avec Microsoft .NET Framework 4
  • TS : accès aux données avec la programmation Microsoft .NET Framework 4 en C#
  • TS : Développement d'applications Microsoft .NET Framework 3.5 Windows Forms
  • PRO : Conception et développement d'applications Windows à l'aide de Microsoft .NET Framework 3.5
  • PRO : Concevoir et développer des applications basées sur Windows à l'aide de Microsoft .NET Framework
  • TS : Microsoft .NET Framework 2.0 - Développement de clients basés sur Windows

En essayant d'optimiser le travail sur le nouveau projet, l'équipe est arrivée aux conclusions suivantes :

  • Pour que les systèmes fonctionnent, il est nécessaire de suivre les règles d'écriture du code : non pas des indentations et des commentaires, mais des caractéristiques techniques - le nombre d'appels aux bases de données, la charge sur le serveur, et bien plus encore.
  • L’application de concepts contradictoires peut entraîner des problèmes. Le concept de bases de données relève de la théorie des ensembles, tandis que l'ORM est un concept opérationnel.
  • Les idées qui perturbent l’ordre habituel des choses peuvent rencontrer des résistances au sein de l’équipe. Le développement, c'est aussi une question de relations et de capacité à faire valoir son point de vue.
  • La certification élargit vos horizons et vous permet de comprendre ce qui peut être utilisé et ce qui ne peut pas être utilisé.

Le parcours de l'architecte : certification et immersion produit

Troisième étape : en savoir plus que le code

Lorsque vous travaillez sur des solutions informatiques à grande échelle, de nombreux facteurs sont importants. Par exemple, tous les développeurs ne prêtent pas attention aux paramètres du réseau, mais même sa bande passante peut affecter la solution d'un problème commercial.

Comprendre cela est donné Homologation série 98:

Ils permettent d’avoir une vision plus large des choses et de sortir du concept limité du « code uniquement ». Ce sont des fondamentaux, les bases, mais ils sont importants pour tout comprendre à un niveau plus profond.

Les certifications de la série 98 sont des tests courts - 30 questions pendant 45 minutes.

Quatrième étape : gestion des processus

Travailler avec des cliniques est une entreprise plus importante que, par exemple, créer un jeu mobile. Ici, vous ne pouvez pas ajouter une fonctionnalité et la déployer en production. Il est important de suivre le processus d'approbation et d'effectuer de nombreuses modifications de la part du client, car la santé et la vie des personnes sont en jeu.

L'Agile typique n'a pas produit les résultats escomptés sur ce projet, et chaque sprint a duré assez longtemps. Entre les déploiements, cela prenait entre 6 mois et un an.

De plus, il était techniquement impossible de ramener les processus des dix cliniques desservies à un dénominateur commun.

Afin d'obtenir des résultats plus rapidement dans ces conditions, les développeurs avaient besoin de responsabilité personnelle et d'une vision à grande échelle des processus, ce qui signifie une concentration constante et des qualifications élevées.

Lorsqu'un spécialiste est immergé dans le processus, il voit clairement les résultats, les causes et les conséquences, l'ensemble du tableau. C'est à la fois un facteur de motivation et de prise de conscience supplémentaire, améliorant la capacité à résoudre des problèmes et des problèmes.

Avec une infrastructure qui fonctionne bien, une architecture bien construite et un code optimal, une seule personne peut prendre en charge de nombreux processus. Cependant, cela ne signifie pas qu’il soit nécessaire de former des soldats universels capables de diriger seuls le projet. La communication et le travail d’équipe sont essentiels.

Dans une équipe, chaque développeur comprend que ses collègues dépendent de ses actions. Gagner 5 minutes pendant la phase de développement signifie peut-être 5 heures supplémentaires de tests. Pour comprendre cela, il est important d’établir des communications.

Dans notre projet, Alexey a reçu de l'aide pour maîtriser les processus certificats d'EXIN:

  • Certificat de la Fondation M_o_R en gestion des risques
  • Fondation Agile Scrum
  • Fondation de gestion des services informatiques
  • Fondation EXIN pour la gestion des informations commerciales
  • Certificat PRINCE2 Foundation en gestion de projet
  • Certificat d'ingénieur d'essais
  • Fondation du cadre d'opérations Microsoft
  • Projets de services agiles

Des cours ont été suivis sur edX qui ont permis d'examiner le système du point de vue des statistiques et de la programmation Lean, puis poussés à obtenir certificat d'architecte:

  • Production Lean
  • Six Sigma: analyser, améliorer, contrôler
  • Six Sigma: définir et mesurer

Selon le principe Six Sigma, le contrôle statistique garantit un résultat de haute qualité avec une probabilité extrêmement élevée.

En élevant son niveau, le développeur arrive généralement aux conclusions suivantes :

  • Ne travaillez pas dur, mais travaillez efficacement.
  • Ne vous compliquez pas la vie en poursuivant l'extérieur : une technologie sophistiquée ne résout pas nécessairement mieux les problèmes.
  • Faites-vous des amis avec des spécialistes à toutes les étapes du cycle et découvrez leurs points faibles. Un architecte doit maîtriser les processus : identification d'un problème, définition d'un problème, conception d'une topologie de réseau, développement, tests, support, exploitation.
  • Vérifiez chaque fonctionnalité à l’intérieur et à l’extérieur.
  • Il arrive que les processus informatiques ne correspondent pas aux processus métiers, et il faut y remédier.

Le parcours de l'architecte : certification et immersion produit

Cinquième étape : comprendre l'architecture à travers le prisme du Big Data

Au cours du projet, nous avons traité des bases de données assez volumineuses. Du moins, cela semblait être le cas jusqu'à un certain moment. Lorsqu'Alexey a commencé à étudier le Big Data sur edX, il s'est avéré que 1,5 To du projet était une petite base de données. Des échelles sérieuses - à partir de 10 To, et d'autres méthodes y sont nécessaires.

La prochaine étape vers la certification était un cours sur le Big Data. Il a permis de comprendre l'organisation des flux de données et d'accélérer les opérations de production. Et faites également attention aux petits outils, par exemple, commencez à utiliser Excel pour résoudre des micro-tâches individuelles.

Certificat:
Programme professionnel Microsoft : certificat Big Data

Le parcours de l'architecte : certification et immersion produit

Sixième étape : du développeur à l’architecte

Après avoir reçu tous les certificats répertoriés, alors qu'il était encore développeur, Alexey a commencé à comprendre que les informations reçues avaient un haut niveau d'abstraction, et ce n'était pas mauvais.

Une vision à grande échelle des processus conduit au niveau d'architecte, l'un des plus hauts niveaux de certification.

A la recherche d'une certification d'architecte, Alexey est venu à Architecte logiciel certifié - Plateforme Microsoft par Sundblad & Sundblad. Il s'agit d'un programme reconnu par Microsoft, son développement a commencé il y a 14 ans avec la coopération du siège social et des bureaux suédois de l'entreprise. Il couvre le .NET Framework, la collecte des exigences, la gestion des flux d'informations et de nombreux autres sujets de haut niveau et est considéré comme un solide témoignage des compétences d'un architecte.

Il y avait des cours à étudier dans le cadre du programme. La certification a systématisé les connaissances et nous a permis d'entrer dans une nouvelle étape de développement - du développeur à l'architecte.

Le parcours de l'architecte : certification et immersion produit

Résumant

Comme le note Alexey, lorsqu'on travaille avec un système informatique à grande échelle, il est important de se rappeler que la programmation n'est pas un divertissement coûteux, mais un outil pour résoudre les problèmes de l'entreprise. Face à tel ou tel défi, il faut impérativement noter la valeur business pour que le projet ne se retrouve pas dans une impasse.

L'architecte a une vision particulière de la programmation et de ses composantes élémentaires :

  • Créer et/ou maintenir un flux de données
  • Extraire le flux d'informations du flux de données
  • Extraire la chaîne de valeur du flux d’informations
  • Monétisation de la chaîne de valeur

Si l’on regarde un projet à travers les yeux d’un architecte, il faut commencer par la fin : formuler la valeur puis y accéder à travers le flux des données.

L'architecte suit les règles d'aménagement, ayant une vision globale du projet. Il est presque impossible d’y parvenir par la pratique et par ses propres erreurs – ou plutôt, c’est possible, mais cela prendra beaucoup de temps. La certification vous permet d'élargir vos horizons et d'examiner le contexte complet de chaque problème, de vous familiariser avec l'expérience de milliers de professionnels et de développer la capacité de résoudre efficacement des problèmes.

À ce jour, nous travaillons avec le système médical décrit ci-dessus depuis plus de cinq ans et avons obtenu des améliorations significatives. Pendant ce temps, Alexey a réussi plus de 20 examens de certification :

  1. TS : Développement d'applications Windows avec Microsoft .NET Framework 4
  2. TS : accès aux données avec la programmation Microsoft .NET Framework 4 en C#
  3. TS : Développement d'applications Microsoft .NET Framework 3.5 Windows Forms
  4. PRO : Conception et développement d'applications Windows à l'aide de Microsoft .NET Framework 3.5
  5. PRO : Concevoir et développer des applications basées sur Windows à l'aide de Microsoft .NET Framework
  6. TS : Microsoft .NET Framework 2.0 - Développement de clients basés sur Windows
  7. 98-361 : Fondamentaux du développement logiciel
  8. 98-364 : Fondements des bases de données
  9. Certificat de la Fondation M_o_R en gestion des risques
  10. Fondation Agile Scrum
  11. Fondation de gestion des services informatiques
  12. Fondation EXIN pour la gestion des informations commerciales
  13. Certificat PRINCE2 Foundation en gestion de projet
  14. Certificat d'ingénieur d'essais
  15. Fondation du cadre d'opérations Microsoft
  16. Projets de services agiles
  17. Production Lean
  18. Six Sigma: analyser, améliorer, contrôler
  19. Six Sigma: définir et mesurer
  20. Programme professionnel Microsoft : certificat Big Data
  21. Architecte logiciel certifié - Plateforme Microsoft

Le parcours de l'architecte : certification et immersion produit

Après avoir réussi tous les examens, Alexey est passé du statut de développeur principal à celui d'architecte de projet. Dans le même temps, la certification est devenue un outil puissant à la fois pour le développement professionnel et pour l’établissement d’une réputation aux yeux du client.

Le « Certification Ram » a permis d'accéder à des processus critiques individuels qui nécessitaient un contrôle et une élaboration. En règle générale, les clients européens de solutions informatiques accordent une grande valeur aux spécialistes certifiés et sont prêts à leur donner plus de liberté d'action.

Merci pour votre attention! Nous espérons que l'article vous a été utile.

Source: habr.com

Ajouter un commentaire