Bonjour Bastien, tu es développeur embarqué chez Agixis depuis plusieurs mois. Peux-tu nous en dire un peu plus sur ton parcours ?
Bonjour ! J’ai 22 ans et je suis tout juste diplômé de l’école d’ingénieur CPE Lyon. J’ai fait une formation en électronique, spécialisation système embarqué robotique car je voulais travailler dans l’informatique tout en restant proche du matériel.
J’ai réalisé mon stage de fin d’études chez Agixis en tant que développeur C pour les systèmes embarqués des équipements dans le transport…. et je suis resté !
Sur quel projet embarqué travailles-tu actuellement ?
Je travaille sur un projet en forfait de service pour un client leader sur le marché de la mobilité urbaine. Ce projet concerne tout ce qui se rapporte à la gestion en général sur des réseaux de transports publics. Cela va de l’élaboration d’une gamme tarifaire à la partie équipement en passant par les smartcards et l’authentification en NFC.
Comment est organisée l’équipe au sein du projet ?
Nous travaillons en méthodologie Agile. Plus particulièrement, sous le modèle Spotify. Sur le plateau, nous sommes une squad de 7 personnes : 1 squad leader, 1 tech lead, 1 testeur et 4 développeurs. Tous les matins, notre squad fait un dailymeeting pour suivre l’avancement de chacun.
Notre squad leader et notre responsable technique gèrent la communication avec le client mais nous communiquons beaucoup entre squads pour des questions liées au développement.
Concernant le projet lui-même, on peut le diviser en 2 parties : back-office et front-office. Pour ce projet, nous travaillons sur des stacks Android, Java/JEE et C.
En quoi consiste ton métier au quotidien et quelles sont tes responsabilités sur ce projet ?
Au départ, je faisais du développement C et du Python mais aujourd’hui, je travaille plus sur de l’Android. Cela varie selon nos besoins. Sur le plateau, je suis le seul développeur Android de la squad !! Je dois donc être assez autonome.
Quelles sont les technologies que tu utilises ?
Le C est utilisé dans une librairie bas niveau, proche de ce qu’il se passe au niveau machine. Cette technologie est utilisée, pour sa portabilité, sur tous les équipements.
Je travaille aussi sur Python qui nous sert à automatiser les tests de la librairie C. Par exemple, quand on ajoute une fonction en C, nous faisons un test dans lequel nous simulons un environnement de technique afin de voir comment la nouvelle fonction réagit.
Enfin, la partie Android se fait principalement en JAVA et reactJS pour l’interface utilisateur.
Est-ce que c’est toi qui test tes développements ?
Pas exactement, je fais des tests automatiques sur mes fonctions mais la fonctionnalité entière est testée par notre testeur Mickael !!
Quelle est la particularité du développement embarqué ?
Principalement : la limite de ressources. Sur un développement non embarqué, il y a souvent de gros serveurs derrières qui disposent de beaucoup de ressources mémoire et de puissance de calculs. Alors que, pour de l’embarqué, nous sommes face à des contraintes de taille, d’énergie et de batterie importantes ! Il faut donc que les programmes soient adaptés et optimisés pour la mémoire et la batterie.
Qu’est-ce qui te plait le plus dans ce type de développement ?
Être proche du matériel et avoir un résultat plus concret ! Avec la partie Android, je peux directement voir le résultat sur l’application. Pour la partie C, je ne vois pas concrètement le résultat, mais c’est elle qui fait le cœur du travail !
Qu’est-ce que tu aimes le moins ?
Dans le contexte actuel de mon projet, je dirais la partie C. Elle est assez importante en taille et cela est un vrai challenge. L’architecture doit être optimisée car il faut penser à tous les cas d’utilisations.
À ce propos, quels sont les challenges que tu rencontres ?
Notre squad est à distance des autres squads. En tant que junior, j’ai souvent beaucoup de questions à poser et c’est plus facile de communiquer avec quelqu’un assis en face de soi qu’avec une personne à distance.
Selon toi, quelles sont les qualités d’un bon développeur ?
La rigueur et l’analyse. Pour moi, la phase d’analyse avant le développement est primordiale !
Pourquoi avoir choisi d’intégrer Agixis ?
La possibilité de monter en compétence sur la partie Android est une des principales raisons. Mon stage se passait bien, le projet est intéressant et il y a une bonne ambiance entre développeurs. J’ai saisi l’opportunité !!
Qu’as-tu appris depuis que tu es ici ?
Je connaissais peu Android et react. J’ai énormément évolué sur ces technologies ! D’ailleurs, j’ai suivi deux semaines de formations sur le sujet.
Je n’avais également jamais fait de développement dans un contexte professionnel. J’ai donc appris tout ce qui est méthodologie agile, méthodes de développement ou d’analyse.
Quelles sont tes perspectives de carrière ?
C’est la question que l’on me pose tout le temps ! À priori, je pense m’orienter vers de l’expertise technique plutôt que du management mais j’ai encore du temps pour changer d’avis.
Qu’aimerais-tu apprendre pour la suite ?
De nouveaux langages et de nouvelles technologies !
Sur Android par exemple, JAVA était le seul langage officiellement supporté par Google. Depuis l’an dernier, Kotlin est le second langage officiellement accepté et j’aimerai beaucoup le découvrir !
Agixis en 3 mots ?
« Bonne ambiance développeur », voilà 3 mots, ça marche ? C’est compliqué de définir Agixis avec 3 mots. En tous cas, ce qui me plait vraiment, c’est que j’ai pu rapidement prendre des responsabilités sur mon projet !