Artur Ter-Stepanyan de CodeRiders partage des informations convaincantes sur ses projets d'externalisation de logiciels
Publié: 2023-02-06Les développeurs de logiciels et les ingénieurs détestent parler ; la plupart d'entre nous ont entendu cette phrase au moins une fois. Mais que ce soit vrai ou non, nous avons besoin d'avis directement de professionnels. Personne ne peut partager des informations plus approfondies sur le processus de développement logiciel que les développeurs et les ingénieurs eux-mêmes.
CodeRiders poursuit sa série d'entretiens avec nos principaux développeurs et ingénieurs logiciels. Plus tôt, nous avons partagé les parcours de nos employés dans l'informatique ainsi que leurs compétences techniques et générales en tant qu'ingénieurs logiciels professionnels à distance.
Cette fois, nous procédons avec notre développeur de logiciels full-stack, Artur Ter-Stepanyan, qui partage son opinion sur la gestion de l'externalisation des logiciels, les équipes Scrum et ses projets préférés.
À propos d'Artur Ter-Stepanyan
Artur est développeur de logiciels senior au sein de la société de développement de logiciels CodeRiders. Il est l'un des meilleurs anciens élèves de CodeRiders, ayant formé l'équipe de base en 2016.
Si vous suivez CodeRiders depuis un certain temps, vous savez peut-être déjà que CodeRiders est entré dans l'industrie informatique internationale en tant qu'école locale de développement de logiciels en 2013. En un an seulement, l'école a formé plus de 800 anciens élèves, dont 17 ont formé les CodeRiders. société d'externalisation de logiciels en 2014.
Artur a beaucoup contribué à la reconnaissance internationale de CodeRiders comme l'une des meilleures sociétés d'externalisation de logiciels sur le marché. Il a travaillé avec ses collègues sur certains des projets d'externalisation de logiciels les plus difficiles et les plus complexes. Artur est l'un de nos développeurs de logiciels qui travaille dur et qui a obtenu des critiques positives des clients pour notre entreprise. Il a également activement représenté notre entreprise lors de divers événements - le dernier en date étant le salon international Hannover Messe 2022 à Hanovre, en Allemagne.
Commençons par le début !
Salut Arthur. Merci d'avoir pris le temps de discuter avec nous. Commençons par quelques informations générales sur vous-même et sur votre parcours pour devenir un développeur de logiciels prospère. Comment es-tu arrivée chez CodeRiders ?
Bonjour. Merci pour l'offre. Je pense que de nombreux développeurs de logiciels arméniens se rapporteraient à mon histoire. Je travaille déjà dans l'industrie informatique depuis 7 ans, mais devenir développeur de logiciels n'était pas mon rêve d'enfant, et le développement de logiciels n'était pas non plus ma spécialité à l'université. En tant que jeune adulte ordinaire, je m'intéressais à de nombreuses professions aléatoires, notamment la médecine et la santé. Je voulais choisir un métier qui m'intéresserait vraiment. En fin de compte, c'est ce sur quoi vous allez passer le plus de temps. Cependant, je n'ai pas non plus oublié le salaire moyen de certaines professions et de leurs environnements.
Au moment où je cherchais une opportunité de carrière aussi parfaite, mon frère travaillait chez CodeRiders en tant que directeur du département de développement commercial. Le fondateur et CTO de l'entreprise est l'ami d'enfance de mon frère. Donc, l'entreprise me faisait déjà chaud au cœur. Il m'a suggéré de m'inscrire à leurs cours PHP, Laravel et JavaScript pour voir si la programmation m'intéresserait. Au milieu des années 2000, l'industrie technologique était déjà florissante en Arménie. Une grande majorité de nouveaux diplômés prometteurs ont choisi des professions telles que les développeurs de logiciels, les ingénieurs, les architectes, les testeurs (spécialistes de l'assurance qualité), les PM et les spécialistes du marketing numérique, et l'industrie informatique était très forte et regorgeait d'un million d'opportunités. L'Arménie était en passe de devenir le prochain centre technologique mondial.
Alors, j'ai décidé de l'essayer, et comme vous pouvez le voir, c'était un excellent choix. Je me suis retrouvé dans le développement logiciel, et l'équipe me correspondait parfaitement. Après avoir terminé avec succès l'école de développement de logiciels, j'ai été embauché en tant que développeur de logiciels back-end en 2016. CodeRiders est mon premier et unique espace de travail. Nous avons créé une atmosphère où l'expression « je ne suis qu'un employé » ne convient pas. Nous nous soucions tous honnêtement du bien-être et de la réputation de l'entreprise, et il est étonnant de voir à quel point nous sommes passés d'une simple petite startup à un fournisseur de logiciels de renommée internationale. Je sais que trouver un lieu de travail idéal du premier coup arrive rarement, donc je l'apprécie beaucoup. Je pense que mon succès personnel, ainsi que le succès de l'entreprise, est fortement lié à notre vision et à notre dévouement. Nous sommes comme une grande famille qui s'est réunie pour une mission claire d'aider les gens à travailler de manière plus productive et à s'amuser.
Vous avez mentionné que l'équipe est comme une famille pour vous. Ce fait ne crée-t-il pas un environnement « lâche » pour le travail et la discipline ?
Beaucoup pensent qu'être ami avec vos collègues ou avoir des relations étroites au travail nuit à la productivité de l'entreprise/du travail. Je ne contesterai pas cela parce que les cas diffèrent. Cependant, chez CodeRiders, cela ressemble plus à un stimulus supplémentaire pour mieux travailler. Avec CodeRiders, je suis moi-même. Je ne suis soumis à aucune contrainte et je ne ressens pas non plus le besoin de me montrer. En conséquence, je me concentre uniquement sur mon travail et je fais ce que je fais le mieux : coder et développer des logiciels. Les bons résultats et les commentaires positifs des clients prouvent l'efficacité de mon travail.
Veuillez décrire votre journée de travail type chez CodeRiders.
Nous commençons par une tasse de café, bien sûr. Si c'est lundi, tous les membres de l'équipe, y compris le service de développement commercial, se réunissent pour une réunion matinale. Nous partageons ce que nous faisons et veillons à ce que tout le monde soit sur la bonne voie. Ensuite, tout le monde se met au travail.
Nous travaillons tous dans plusieurs grandes salles confortables. Nous n'avons pas de chambres séparées, ce qui est très bien à mon avis, car travailler ensemble libère en quelque sorte du stress. Par exemple, au cours d'une journée de travail acharné, l'un des membres de notre équipe peut faire une blague, et tout le monde rit et continue à travailler.
Nous avons également des salles séparées pour les discussions ou les appels vidéo. Donc, si nous avons besoin d'espace privé et de silence, nous pouvons nous déplacer dans ces chambres. Pour nous, développeurs, cela se produit généralement le matin et le soir lorsque nous avons des appels avec un client et l'équipe de développement de logiciels à distance. Nous pouvons également avoir plusieurs pauses-café pendant lesquelles nous pouvons simplement parler de différents sujets, nous détendre et nous rafraîchir l'esprit. CodeRiders propose un modèle de travail hybride, ce qui signifie que les employés sont libres de choisir entre travailler à distance ou au bureau. Je préfère le travail en interne car j'aime être entouré de mes collègues (mon frère et mes amis proches), ce qui m'aide à être encore plus productif.
Allez-vous discuter plus en détail de votre projet actuel ?
Je travaille actuellement sur une plateforme de gestion sportive tout-en-un. Son objectif principal est de rationaliser l'organisation des clubs sportifs. C'est l'une des principales plateformes de gestion du sport sur le marché international. Nous automatisons la gestion de tout club de sport. N'importe qui peut participer et encourager son club local de n'importe où dans le monde. Le produit, c'est comme avoir toute une équipe administrative dans votre poche. Il aide l'utilisateur à gérer facilement son club n'importe où et n'importe quand sur tous ses appareils. Je travaille avec des ingénieurs logiciels et des développeurs distants de presque tous les continents. Nous avons plusieurs chefs de projet qui travaillent en étroite collaboration avec tous les membres de l'équipe technique et le client.
Qu'est-ce qui vous plaît le plus dans votre projet de développement logiciel actuel ?
Outre le fait que le projet est grand et ne vous ennuie jamais, j'apprécie notre processus de travail et notre méthodologie. Nous utilisons la méthodologie de développement logiciel Scrum, qui est parfaite pour un projet aussi complexe. Scrum est le cadre Agile le plus populaire et, bien sûr, suit les 5 principes Agile : engagement, concentration, respect, ouverture et courage. En général, les modèles de développement de logiciels itératifs sont très flexibles et « adaptés au changement ». Vous n'avez pas à vous en tenir au plan. Avec Scrum, vous pouvez toujours réussir dans le développement et la mise en œuvre de logiciels même si vous n'avez pas la version finale du produit en tête. En attendant, contrairement aux modèles logiciels à prix fixe, les méthodologies itératives d'externalisation logicielle garantissent que le client ne paie que pour le travail engagé.
Décrivez votre journée de travail type dans le cadre de ce projet. Que signifie être un développeur full-stack travaillant avec une équipe internationale ?
Notre équipe est composée de chefs de projet, de développeurs de logiciels back-end et front-end, d'ingénieurs et de testeurs. Les chefs de projet décomposent le travail en sprints, et nous coopérons étroitement pour terminer et tester chaque sprint après avoir avancé. Ainsi, le processus de développement logiciel et la chronologie ressemblent à ceci :
- Nous commençons par la planification de sprint. Chaque sprint commence comme suit : les développeurs de logiciels, les ingénieurs et les propriétaires de produits discutent des éléments du backlog de produit (PBI) à inclure dans le sprint. Le propriétaire du produit est responsable de la hiérarchisation des PBI pour un écran spécifique. Cependant, nous sommes également encouragés à partager nos opinions, nos réflexions et nos préoccupations concernant la décision, ce qui est formidable. Au final, nous sommes d'accord sur un objectif de sprint et un backlog réalistes.
- Le Scrum quotidien comprend des réunions quotidiennes, qui sont des appels de 15 à 30 minutes lorsque nous nous enregistrons, partageons nos progrès et passons en revue nos activités de la journée.
- Nous continuons avec les revues de sprint : à la fin de chaque sprint, nous avons une réunion en ligne avec l'équipe de direction et montrons notre travail final. L'équipe de gestion passe en revue les fonctionnalités de travail qui ont été implémentées pendant le sprint et donne son avis. Les commentaires sont intégrés au backlog du produit, ce qui nous aide à mieux hiérarchiser les futurs sprints.
- La dernière étape est la rétrospective du sprint. C'est le moment où l'équipe Scrum passe en revue les choses que nous devrions améliorer et propose des méthodes d'amélioration pour l'avenir. Nous collaborons et planifions notre prochaine étape en conséquence.
Même si vous aimez la méthodologie Scrum, y a-t-il des inconvénients dans votre projet que vous aimeriez corriger ?
Pour être honnête, j'ai parfois l'impression que nous perdons du temps. J'aime parler et m'assurer que tous les membres de l'équipe sont sur la même piste. Ceci, bien sûr, est la clé du succès. Cependant, certains appels ou chats sont parfois inutiles et nous pouvons passer plus de temps à discuter d'un problème qu'à travailler sur un projet.
Qu'est-ce que ça fait de travailler avec des étrangers ? Existe-t-il des différences culturelles ?
Bien sûr, l'expérience est très différente, et c'est naturel. Nous vivons dans des environnements différents et avons des habitudes, des mentalités et des mentalités différentes. Parfois, nous ne comprenons pas les blagues de l'autre. Cependant, ce n'est pas grave et ne nuit pas à notre processus de travail. En effet, c'est une question de temps. Plus nous travaillons ensemble, mieux nous comprenons la culture locale de chacun. Quoi qu'il en soit, malgré toutes ces différences, j'aime toujours travailler avec des professionnels d'autres pays. Cela rend le travail encore plus intéressant.
Quelle est l'importance d'une bonne gestion de projet pour un développeur de logiciels ?
La gestion de projet est essentielle. Un projet est susceptible d'échouer 90% du temps s'il n'y a pas de communication transparente entre le client et les membres de l'équipe. Une solide compréhension des responsabilités est indispensable au succès d'un projet.
J'ai travaillé sur des projets qui ont eu et n'ont pas eu de chefs de projet. Dans le premier cas, j'ai communiqué sans heurts et facilement avec mes collègues ingénieurs et développeurs logiciels. L'équipe technique avait parfois du mal à communiquer avec les membres non techniques de l'équipe, mais c'était une question de temps. Cela dépend également de l'expérience d'un développeur de logiciels travaillant avec des personnes non techniques. Si le développeur de logiciels est habile à travailler avec des membres du personnel non techniques et comprend leur logique, la communication est simple et prend moins de temps. Sinon, ils peuvent prendre une minute, mais encore une fois, ils se remettront sur la bonne voie. Les projets petits et simples n'ont même pas besoin de chefs de projet. Cependant, je ne sous-estimerai pas le rôle des chefs de projet dans les petits projets. Bien sûr, ils gèrent la coopération de manière plus professionnelle et bénéfique.
Quels langages ou piles technologiques aimeriez-vous apprendre à l'avenir ?
J'explore actuellement Unity. C'est un moteur de jeu multiplateforme. Il est très populaire et vous le savez probablement déjà. Unity prend en charge une variété de plates-formes mobiles, de console, de bureau et de réalité virtuelle. Il est principalement utilisé pour le développement de jeux iOS et Android et est particulièrement populaire pour le développement de jeux indépendants (jeux vidéo indépendants).
L'un des principaux avantages de l'édition indépendante est qu'elle est accessible à un grand nombre de personnes. Par exemple, les développeurs et ingénieurs de logiciels individuels ou les petites équipes de développement de logiciels peuvent créer leurs jeux sans le soutien technique et financier des grands éditeurs de jeux. Je joue avec le moteur Unity pour créer des jeux 3D et 2D, des simulations interactives et d'autres trucs passionnants.
CodeRiders est votre premier et unique espace de travail. Cela n'arrive pas souvent. Pourquoi donc?
Je n'ai pas d'espace de travail antérieur à comparer avec CodeRiders, et je n'ai jamais pensé à le quitter. Cela signifie déjà qu'il s'agit d'un espace de travail unique. J'ai été témoin de la croissance de cette entreprise, qui est passée d'une petite start-up à un fournisseur de logiciels établi et reconnu à l'échelle internationale. Je fais confiance à mes collègues et je les apprécie car nous sommes responsables de la haute réputation de l'entreprise. Je crois en la société de développement logiciel de CodeRiders et en sa vision. J'ai aussi un membre de ma famille et la plupart de mes amis proches parmi le personnel, donc je pense que ces trois-là font un bon résumé de cette question.
Terminons cette interview par quelques informations sur Artur en tant qu'individu. Vos hobbies et intérêts?
Eh bien, j'aime le sport, en particulier le football/soccer. J'aime aussi jouer aux jeux vidéo.
Merci, Artur, d'avoir pris le temps de nous parler. Je pense que vous avez partagé beaucoup d'informations utiles avec notre public.
Si vous avez besoin de développeurs de logiciels et d'ingénieurs talentueux comme Artur, n'hésitez pas à nous envoyer un petit message ici. Nous sommes également ouverts aux discussions libres. Laissez-nous votre message et l'un des membres de notre équipe de développement commercial vous répondra dans un délai d'un jour ouvrable.