Réorganiser une SSII : comment changer son profil technologique et choisir une spécialisation sur le marché informatique ?

Publié: 2023-03-06

Chaque éditeur de logiciels a son propre profil technologique. Il arrive souvent que pour les techniciens, cela soit plus important que le profil de domaine de l'entreprise. En effet, les développeurs informatiques se voient plutôt à travers le prisme de la technologie dans laquelle ils travaillent, par exemple, je suis un programmeur de systèmes construits en C#. Cependant, qu'ils fassent un projet pour une entreprise de formation ou de production de boîtes est d'une importance secondaire. Bien sûr, la connaissance du domaine est toujours utile aux programmeurs, mais elle ne change pas leur perception d'eux-mêmes à travers la dimension technologique - déclare Robert Marek, co-fondateur et CTO chez FINGO.

FINGO est une société de logiciels polonaise qui fournit des services de programmation depuis plus de 20 ans. En 2022, l'organisation a réussi à faire évoluer son profil technologique. En plus des services de programmation offerts dans les technologies Java et .NET, il a ajouté Node.js et a réalisé tous les projets créés jusqu'à présent en PHP.

Pourquoi ce mouvement a-t-il été fait ? À quoi ressemble le processus de changement auto-organisé ? Et quel a été le résultat ? Découvrez-le en lisant notre entretien avec Robert Marek.

Avant de commencer à parler du processus de changement du profil technologique lui-même, pourriez-vous nous dire à quoi ressemblait l'entreprise avant sa réorganisation ?

Si vous suivez le portefeuille de 20 ans de FINGO, vous trouverez des projets pour les secteurs financier, immobilier, automobile, e-commerce et bien d'autres, qui sont plus ou moins liés les uns aux autres. C'est un peu une coïncidence – au fil des années, de tels projets sont apparus et nous avons développé notre équipe. Mais cet état de fait était largement influencé par notre profil technologique (Java, .NET, PHP), sous lequel nous recherchions de nouvelles commandes.

Cependant, je sentais que ce n'était pas bon pour notre entreprise. Une large diffusion technologique n'est généralement pas bonne pour une maison de logiciels de la taille de FINGO. Il peut être plus facile de trouver un projet, mais plus difficile d'assurer l'échangeabilité des personnes. Je vais vous donner un exemple. Supposons que vous ayez besoin de 5 développeurs pour votre projet. Il y a 6 personnes assises sur le banc, mais seulement 2 connaissent la technologie requise dans le projet. Cet état de fait signifie qu'il reste encore 4 spécialistes bien payés sans travail, pour lesquels vous devez fournir du travail. En plus de cela, vous devez familiariser 3 personnes avec la technologie requise pour vous assurer que le projet est doté en personnel.

Néanmoins, le confort d'avoir une entreprise qui fonctionne bien nous a empêchés de mettre en œuvre les changements. Nous avions des projets, des clients réguliers à long terme et des programmeurs expérimentés. Dans un tel environnement, il est difficile de prendre la décision de commencer à changer quelque chose.

Alors, qu'est-ce qui vous a décidé à changer de profil technologique chez FINGO ?

Au début de la pandémie, le marché s'est figé. Les entreprises, ne sachant pas ce qui allait se passer ensuite, se sont abstenues de poursuivre les projets en cours ou d'en lancer de nouveaux. C'était une époque où même les programmeurs craignaient de perdre leur emploi. Nous nous sommes demandé quoi faire. Nous ne voulions pas licencier, mais d'un autre côté, nous avions besoin de quelque chose qui nous démarquerait de la foule.

Vers mai 2020, en tant que propriétaires de l'entreprise, nous avons constaté que sans prendre de décisions audacieuses, la situation pouvait se détériorer. Nous avions le plus de projets, et donc d'expérience, dans le secteur financier. De plus, nous avions une partie produit qui proposait un logiciel permettant la mise en place de la déclaration obligatoire dans le secteur bancaire. Le secteur financier était un choix naturel pour nous.

A cette époque, il me semblait que la FinTech et le secteur financier étaient peu susceptibles d'utiliser PHP dans leurs projets. J'ai donc supposé qu'en se concentrant sur ce secteur, on s'éloignerait de PHP pour ne rester qu'avec Java et .NET. Forts de cette information, nous nous sommes rendus auprès de l'équipe lors de l'assemblée générale de l'entreprise.

C'est donc le déclenchement de la pandémie qui vous a obligé à décider de changer le profil technologique de FINGO ?

Oui et non. Après avoir partagé des informations sur la spécialisation, nous avons nommé une équipe de travail composée de plusieurs programmeurs expérimentés avec un flair pour les affaires. Sa tâche était de vérifier quelles sont les tendances, les technologies et les solutions populaires dans chaque pays en matière de secteur financier. Leur analyse a confirmé mes hypothèses précédentes, à savoir que PHP était une rareté dans les projets financiers. Dans le même temps, ils ont recommandé de développer des compétences en Node.js, qui est valorisé, même dans le monde des start-up.

Dans notre entreprise, nous chérissons le concept de gestion turquoise, où, entre autres, nous consultons ouvertement les projets significatifs pour l'organisation avec toute l'équipe. Grâce à cela, les gens ressentent l'impact sur le développement de l'entreprise, mais se sentent également co-responsables des décisions prises.

Par conséquent, l'initiative de passer à Node.js, qui venait du bas vers le haut, devait encore être approuvée par le reste de l'équipe FINGO. Cependant, il s'est vite avéré qu'il y avait une forte volonté de se développer dans cette direction. C'était peut-être une période particulière où nous avions tous peur de l'avenir dans diverses dimensions (aspects économiques, sanitaires, etc.). Paradoxalement, cette acceptation accrue de la décision de relever le défi.

Combien de personnes ont dû acquérir de nouvelles compétences technologiques ?

Au total, le changement a impliqué 15 personnes. Ils devaient décider s'ils voulaient développer en tant que développeurs frontend ou rester développeurs backend et créer des solutions en Java, .NET ou Node.js.

L'une de ces personnes était un développeur full-stack qui s'était déjà déclaré développeur frontend, donc dans son cas, la décision a été facile. Par conséquent, 2 personnes ont choisi Java et les 10 autres ont choisi Node.js.

Deux testeurs ont également participé à la réorganisation, et ils ont également dû apprendre la nouvelle technologie. La politique de notre entreprise est d'écrire des tests dans la même technologie que le produit fabriqué. Lorsque le testeur est temporairement indisponible, cette approche nous donne un sentiment de sécurité ; les tests d'écriture peuvent être temporairement pris en charge par le programmeur.

Il y a eu aussi des départs, mais ce sont des décisions individuelles. Une personne a démissionné assez rapidement de FINGO, mais c'était dû au fait qu'il développait la communauté PHP à Wroclaw. Il était naturel que nos attentes en matière de coopération aient commencé à diverger. Au cours du processus en cours, pour diverses raisons, 2 autres personnes ont quitté l'entreprise.

Prendre une décision n'est que le début du chemin.L'entreprise a-t-elle en quelque sorte aidé les programmeurs à acquérir de nouvelles compétences ?

Un projet stratégique a été créé pour aider les développeurs à se préparer à la fourniture de services la plus rapide possible dans les projets commerciaux. Au début, nous leur avons demandé de déterminer subjectivement le temps qu'il leur faudrait pour acquérir les connaissances nécessaires, de manière à ce qu'elles leur permettent d'entreprendre en toute confiance des travaux pour des clients externes, en supposant 2 scénarios. Le premier d'entre eux était avec le soutien d'un collègue plus expérimenté, le second était sans un tel soutien. En réponse, nous avons obtenu diverses estimations.

Certains ont déclaré qu'avec le soutien d'un développeur Node.js expérimenté, ils pourraient rejoindre un projet commercial même après seulement un mois, et d'autres seulement après quelques mois. Tout dépendait de l'expérience antérieure (privée ou professionnelle) que vous aviez et du courage que vous aviez en vous. Il convient également de noter que nous avons également eu l'expérience de cet environnement chez FINGO. Nous avions donc une base.

Cependant, nous ne leur avons pas imposé une manière d'acquérir des connaissances. Toutes ces personnes sont des programmeurs expérimentés qui veulent constamment apprendre. Ils ont leurs propres styles d'apprentissage préférés. De manière générale, l'acquisition continue de connaissances s'inscrit en quelque sorte dans l'industrie des nouvelles technologies. Par conséquent, nous avons décidé que la solution la plus raisonnable serait de simplement leur fournir les ressources et le temps nécessaires pour apprendre.

Nous avons également réorganisé l'entreprise. Des guildes auto-organisées ont été créées, où des personnes travaillant dans une technologie donnée, mais pas nécessairement sur les mêmes projets, échangent les connaissances acquises. Dans le cadre de la guilde Node, un projet interne a également été créé, où l'on pouvait tester les connaissances nouvellement acquises. Des cours externes ont été organisés pour les bénévoles.

Cependant, ce qui a donné le plus, c'est l'opportunité de rejoindre rapidement des projets. Le meilleur exemple de cela était l'une des commandes sur lesquelles nous travaillions, où nous avions besoin de toutes les mains possibles. Après avoir obtenu le consentement du client, un développeur PHP expérimenté a rejoint le projet, travaillant également en JavaScript, qui n'avait aucune expérience avec Node.js lui-même. Cependant, il y avait déjà des programmeurs expérimentés dans le projet qui ont pu seconder un collègue et assurer la qualité du code.

Parlons un peu plus de vos clients.Comment ont-ils réagi à votre décision de vous éloigner de PHP ?

La plus grande résistance interne et la plus grande tristesse que nous ayons eues concernaient un projet créé pour un client de 10 ans. C'est assez drôle, car l'un de nos programmeurs y avait travaillé dès le début. Naturellement, il en savait plus sur le système que de nombreux responsables de cette entreprise. Il nous a été difficile de leur expliquer notre décision. Même si nous avions un préavis d'un mois, nous voulions bien prendre soin de ce client. Nous avons convenu d'être à leur disposition pendant encore six mois. Fait intéressant, après 3 mois, le client a lui-même mis fin à la coopération, en raison d'une réorganisation interne de l'entreprise. Cela a également montré qu'il ne fallait pas s'attarder trop longtemps sur les choses. Il faut les faire et c'est tout.

Cela a été plus facile avec d'autres projets. Comme d'autres événements, cela s'est produit tout naturellement. Par exemple, nous avions un client qui développait une partie du système en Node.js. Nous avons convenu que nos programmeurs, qui avaient auparavant soutenu le projet en technologie PHP, fourniraient leurs services à des tarifs inférieurs pendant les premiers mois. D'une certaine manière, c'était une compensation pour la moindre efficacité supposée de l'équipe qui avait récemment changé de technologie.

Comment pensez-vous que les développeurs voient ce changement maintenant ?

Je pense qu'ils sont heureux. Les gens de cette industrie aiment apprendre. À l'époque, ils avaient le temps et l'argent pour étudier. Ils étudient à plein temps, perçoivent un salaire complet et peuvent bénéficier de bourses d'études. Cela a certainement eu un effet positif sur leurs sentiments.

Node.js est-il meilleur que PHP ? Cela est bien sûr discutable. Certes, cette technologie est populaire maintenant, nous sommes donc entrés dans une période de tendance à la hausse.

Certaines personnes ont d'abord regretté d'avoir quitté un projet PHP à long terme. Mais peu de temps après, ils ont admis qu'ils étaient sortis d'une certaine forme de stagnation. Et ils ont senti la brise excitante de nouveaux défis. Dans l'ensemble, je pense que ça s'est bien passé.

Combien de temps a duré le changement ?

L'ensemble du processus a traîné dans le temps. La vérification du marché a pris beaucoup de temps. Travailler sur la réorganisation de l'entreprise et la séparation de l'entreprise avec les clients a également pris beaucoup de temps. Au total, près de 2 ans se sont écoulés depuis la création de la tâche dans Jira et sa fermeture.

Il convient de noter, cependant, que l'intervalle le plus long entre un développeur passant d'un projet PHP à Node.js n'était que de 3 mois. Cela était lié à sa déclaration du temps dont il avait besoin pour rejoindre le projet avec des collègues plus expérimentés.

Quel a été l'aspect le plus difficile ?

Je pense juste venir à la décision qu'il était temps de changer quelque chose. Cependant, la prise de conscience que si nous ne changeons pas maintenant, et dans un an ou deux, il n'y aura rien à changer, a considérablement aidé à prendre la décision plus rapidement.

Il était également difficile de se séparer des clients alors qu'aucune alternative n'était clairement visible à l'horizon et que la situation économique n'était pas stable.

Tout au long de ce processus, nous avons voulu prendre soin de nos clients de longue date, leur faire trouver sereinement une alternative, mais aussi prendre soin de nous. Assurer la préparation des programmeurs et leur disposition à prendre rapidement des commandes dans la nouvelle technologie.

Si le CTO d'une autre entreprise venait vous voir et vous disait qu'il envisage également de changer le profil technologique de l'entreprise, quels 3 conseils lui donneriez-vous ?

Ayez une vision. Sachez pourquoi vous voulez le faire et expliquez clairement à votre équipe où vous allez et pourquoi.

Coopérez avec votre équipe. Parlez aux gens, adaptez vos actions à ce que vous entendez et tenez compte de leurs capacités. Tout faire avec les gens.

Faites tout de manière cohérente, malgré les moments d'hésitation.