Ce que j'ai appris après deux ans en tant que développeur de logiciels chez Microsoft



Alors que ma deuxième année en tant que développeur de logiciels chez Microsoft India touche à sa fin, il est logique de spéculer sur ce que j'ai appris au cours des deux dernières années.



Je suis arrivé chez Microsoft juste après l'université, l'Indian Institute of Technology Guwahati, et ce travail a été ma première expérience. Au fil du temps, j'ai beaucoup grandi et j'ai appris beaucoup de nouvelles leçons. Dans cet article, je vais essayer de structurer mes pensées à leur sujet.



Alors, voici cinq choses que j'ai apprises.



1. Recherche, recherche et recherche encore



"Les faits généralement acceptés aujourd'hui sont les résultats des recherches d'hier." - Duncan MacDonald


Quand je dis recherche, je veux dire deux choses :



Mener des recherches pour identifier la cause première d'un problème.



J'ai réalisé presque immédiatement qu'il est très facile de prendre l'habitude de ne pas entrer dans les détails d'un problème et de ne pas comprendre ses véritables causes. Et si vous ne connaissez pas la raison spécifique de l'existence du problème, cela affecte presque toujours lorsque vous avez presque fini avec le problème. Presque est un mot très important ici.



Mener des recherches pour trouver la solution la plus efficace au problème actuel.



Il est important de comprendre que nous ne voulons pas seulement résoudre un problème ; il est également important de le résoudre de la manière la plus efficace. C'est ce qui sépare le grand travail du médiocre. Pour se démarquer, vous devez passer du temps à maîtriser cette vision des choses, pas seulement à faire le travail. C'est ce qui vous donne la plus grande croissance.



Tout le monde sait qu'il est très important de préparer et de terminer les devoirs à l'avance, mais en même temps, il est très facile de les terminer pas complètement, surtout si vous résolvez non pas un, mais de nombreux problèmes.



Lorsqu'il y a plusieurs tâches dans votre esprit, il est très facile de faire des compromis et de ne pas aller au fond de chacune d'elles. Par conséquent, il est extrêmement important de garder cela à l'esprit à tout moment.



Une recherche préliminaire approfondie nous aide non seulement à examiner efficacement le problème et à trouver ses solutions optimales, mais aussi à ne pas perdre de vue la situation dans son ensemble.



Le plus important est de se rappeler que vous n'êtes pas payé pour une solution rapide, mais pour une solution précise et complète à un problème.



Cela nécessite des recherches, des recherches et encore des recherches .



2. Murphy le savait, vous devriez le savoir aussi !



La loi de Murphy:



« Si quelque chose peut mal tourner, ça va mal tourner. »


Deux ans plus tard, je connais très bien cette loi, et c'est la vraie vérité !



Je l'ai constamment rencontré dans tous mes projets, il est toujours applicable, et ceux qui ne le connaissent pas seront obligés de le découvrir de manière douloureuse.



Par conséquent, il est très important de diviser une grande solution en plusieurs parties séparées et très petites en premier lieu. Ensuite, vous devez prendre le temps de prendre en compte les éventuelles exceptions/erreurs pouvant survenir dans ces petites pièces discrètes. Dans le même temps, vous devez comprendre comment ces parties se comporteront ensemble et quelles exceptions / erreurs peuvent survenir en raison de leurs interactions.



Développer la prévoyance est la clé .



Mais que pouvez-vous faire pendant que vous développez votre prévoyance ? Vous devez créer de nombreux freins et contrepoids pour détecter ces problèmes à l'avance.



La plupart des problèmes futurs peuvent être détectés tôt avec des tests unitaires, des tests d'intégration et des tests de performances . L'une des leçons techniques les plus importantes que j'ai apprises seulement lorsque j'ai commencé à travailler dans l'industrie était la nécessité d'écrire du code avec une couverture de test . Cela aidera non seulement moi, mais toute l'équipe, qui prendra mon travail et le développera à l'avenir.



Pour détecter les problèmes manqués par les tests, il existe une infrastructure appelée environnement de préproduction., qui simule le travail dans le monde réel, c'est-à-dire dans un environnement de production . Il est très important de vérifier que votre morceau de code fonctionne de manière fiable dans l'environnement de préproduction pendant un certain temps.



Mais même après avoir appliqué tous ces freins et contrepoids, des problèmes peuvent encore survenir.



La chose la plus importante dans ce cas est d'apprendre de ces erreurs et de ne pas vous en reprocher, car il est beaucoup plus critique qu'elles ne se reproduisent pas à l'avenir.



3. Tout peut être résolu. La question importante est de savoir quoi décider en premier



En travaillant dans l'industrie du développement de logiciels, j'ai réalisé une chose importante : nous avons trop de tâches à résoudre, mais le temps est limité.



Par conséquent, il est parfaitement acceptable d'utiliser la hiérarchisation et l' évaluation précise des composants clés, à la fois pour une équipe performante et pour un individu. Comme nous ne résolvons pas chaque problème séparément, je me suis rendu compte que tout problème peut être résolu tôt ou tard, mais vous devez évaluer le temps qui y sera consacré et son importance.



Pour répondre à la question de son importance, nous attribuons une priorité à la tâche, qui peut être un nombre premier indiquant son importance. Vous pouvez également attribuer un nombre pour représenter le nombre de jours que nous estimons qu'il faudra pour résoudre le problème. Ces deux paramètres sont très importants pour les raisons suivantes :



  • Dans la plupart des cas, le projet n'a pas une, mais plusieurs personnes responsables. Par conséquent, il est toujours utile d'établir une bonne communication avec toute la direction.
  • Ces options vous aident à sélectionner le travail qui optimise l'utilisation de votre temps limité.


Ainsi, nous essayons de répondre à une question importante, à savoir : quel problème résoudre en premier ?



4. La gestion des incidents vous en apprend bien plus



Un incident est une suspension imprévue des clients qui utilisent votre service.



"La gestion des incidents est le processus le plus rapide possible de journalisation, d'enregistrement et de résolution des incidents pour restaurer un processus métier ou un fonctionnement normal du service."


Quand j'étais à l'université, j'ai toujours imaginé que mon travail serait d'écrire du code pour résoudre un problème, c'est-à-dire d'être créatif. Mais au cours des deux dernières années, j'ai réalisé que c'est une partie très importante de mon travail d'être impliqué dans la résolution des incidents avec notre produit.



Pour gérer ces incidents, nous, dans l'équipe, prenons à tour de rôle la responsabilité de l'ensemble du produit. C'est-à-dire que lorsqu'un incident se produit, il peut ne pas être lié à ce que j'ai créé plus tôt.



Qu'est-ce que ces incidents m'ont appris ?



Des incidents dans le passé m'ont fait réaliser qu'il est très important d'être conscient de ce sur quoi les autres travaillent.



Cela développe en moi non seulement l'habitude de regarder leurs solutions et d'y trouver des problèmes dès le début, mais aussi d'en prendre des exemples, ainsi que d'utiliser des composants clés dans mes propres solutions.



Ces incidents entraînent de graves temps d'arrêt pour nos clients / notre direction et sont souvent prioritaires à résoudre.



Ils enseignent également beaucoup sur les subtilités de divers aspects, afin que nous puissions les comprendre plus profondément. La priorisation de ces incidents développe la vivacité d'esprit et leur apprend à proposer rapidement des solutions claires et fiables afin que les clients puissent continuer leur travail.



Souvent, lorsque nous traitons de tels incidents, nous sommes confrontés à des défis plus importants, qui à leur tour nous aident à comprendre ce qui suit :



? ?



5.



« - - , . , . , . , », —


La collaboration au sein d'une équipe est très puissante, valorisant le travail individuel.



Ce n'est que dans un environnement professionnel que j'ai compris le rôle joué par un groupe d'individus avec leurs forces et leur expérience uniques dans l'approche et la résolution d'un problème.



Lorsque vous cherchez une solution à un problème, un regard neuf est toujours utile. Par conséquent, une coopération sans conflit est très importante pour surmonter les obstacles.



La collaboration chez Microsoft implique non seulement de travailler avec des personnes de votre bureau, mais également de travailler avec des personnes sur différents continents et dans différents fuseaux horaires. Alors, comment l'optimiser, surtout lorsque vous devez interagir avec quelqu'un que vous n'avez jamais vu ? Vous ne connaissez pas cette personne ni les difficultés qu'elle a dû affronter.



De plus, nous étions confrontés à une situation unique : en raison de la pandémie de COVID-19, tout le monde devait travailler à domicile. Au cours de cette période, la taille de nos équipes a considérablement augmenté et nombre de nos collègues ont rejoint l'organisation virtuellement.



La leçon la plus importante que j'ai tirée de toutes ces situations est qu'il est préférable de toujours assumer les bonnes intentions des autres et de toujours comprendre les problèmes qu'ils ont.



Faire preuve de tolérance et de confiance dans des moments comme ceux-ci aidera toujours à créer un bon esprit d'équipe et une culture positive. Peu à peu, cela affectera les résultats.



Conclusion



Je crois qu'à la base, le développement logiciel consiste à résoudre des problèmes : bien qu'il soit assez facile de saisir et de comprendre les détails techniques, il est beaucoup plus difficile de comprendre la bonne attitude, la bonne vision et la bonne approche pour résoudre un problème.



Le but principal de cet article est de répéter tous ces points que nous avons toujours connus mais constamment ignorés. C'est la conscience constante d'eux qui distingue le professionnel de l'étudiant, et au cours des deux dernières années, j'ai pu faire cette transition.






Publicité



Commandez et commencez à travailler tout de suite ! Création d'un serveur virtuel de n'importe quelle configuration en une minute, créez votre propre configuration en quelques clics.



Abonnez-vous à notre chat sur Telegram .






All Articles