Qu'est-ce qu'un ingénieur logiciel de bas niveau ?

Après notre premier épisode sur le métier d'ingénieur en systèmes embarquéspour ce deuxième épisode de notre série "Le métier du mois", nous souhaitons apporter un éclairage sur la pratique et la carrière des ingénieurs logiciels de bas niveau.

Notre consultant, Richard, a accepté de partager avec vous son parcours et de nous en dire plus sur son métier.

Richard, lorsque tu étais enfant, souhaitais-tu devenir ingénieur ?

Étonnamment, aussi loin que je me souvienne, je voulais devenir chimiste. Plus tard, je suis devenu ingénieur en électronique parce que je voulais reprogrammer des voitures avec mon frère.

Comment êtes-vous devenu ingénieur ?

En réalité, mon choix de carrière a été défini par mes passions. Petit garçon, j'étais fasciné par les ordinateurs et leur environnement, des jeux vidéo à la réparation de PC, et j'ai donc voulu que mon travail soit lié à ce domaine qui me passionne.

Avec l'idée de devenir électronicien en tête, j'ai décidé d'étudier les deux domaines : l'électronique et l'informatique.

A partir de là, j'ai commencé par une STI Génie électrique puis un DUT Génie électrique et informatique industrielle pendant 2 ans. Enfin, j'ai obtenu un diplôme d'ingénieur avec une spécialisation en génie électrique en 3 ans, dont 2 × 6 mois de stages professionnels :

  • 6 mois de développement d'une interface HMI pour un tramway électrique
  • 6 mois à T&S, développement d'une carte de contrôle électronique pour une porte de voiture, sur un réseau de communication FlexRay.

Qu'est-ce qu'un ingénieur logiciel de bas niveau ?

Pour être honnête, il s'agit d'une question très générique. Pour simplifier, un ingénieur en logiciel de bas niveau est une personne ayant des connaissances en logiciel de bas niveau (DEV en C / ASM) et en règles de programmation.

Aujourd'hui, si je devais mettre une étiquette sur mon travail, ce serait : Ingénieur logiciel spécialisé dans la pile BSW Autosar et le système de réseau (CAN et Flexray).

Que signifie ce titre barbare 😊 ?

Pour commencer, afin d'avoir une vue d'ensemble des termes utilisés, nous décomposons généralement un produit en trois sous-parties :

  • La couche logicielle d'application
  • La couche logicielle de bas niveau (BSW : Basic Software)
  • La couche matérielle (HW)

En quelques mots, je travaille sur la couche de bas niveau d'un logiciel, qui est plus communément appelée dans notre domaine "BSW" (Basic Software). A l'intérieur de cette couche, toutes les fonctionnalités vont permettre à notre logiciel de communiquer avec l'extérieur (les autres cartes électroniques du réseau).

Ma spécialisation porte sur la partie qui gère la communication avec le réseau et plus particulièrement le "FlexRay".

De manière très simplifiée, le but de cette pratique est de permettre à notre logiciel de communiquer avec le monde extérieur, donc de transmettre et de recevoir des informations sur le réseau.

Que fait réellement un ingénieur logiciel de bas niveau ? Quelles sont ses tâches quotidiennes ?

Honnêtement, je ne sais pas s'il existe une réponse standard unique pour notre domaine d'activité. La profession d'ingénieur est généralement dynamique et nous sommes confrontés chaque jour à des problèmes différents et nouveaux, de sorte que nous n'avons pas de journée "type".

Dans notre vie quotidienne, nous devons toujours communiquer. C'est essentiel ! Surtout lorsque nous travaillons sur de "grands" projets. Dans ces environnements, il y a une énorme organisation, et vous devez donc communiquer avec d'innombrables personnes pour mener à bien votre projet.

Le deuxième aspect majeur est l'analyse technique et la compréhension de l'environnement du système.

Ensuite, un aspect axé sur le "faire" avec la mise en œuvre, l'intégration, les tests, etc.

Enfin, le reporting (chef de projet, client, etc.) qui conduira à nouveau à la communication.

Quelles sont les autres "professions" avec lesquelles vous interagissez quotidiennement ?

Nous sommes amenés à échanger avec de nombreux travaux, que ce soit au niveau applicatif, matériel (HW), ou logiciel (SW), Dev basic software (BSW) (Diagnostics, OS, MCAL, Mode Mngt, Memory etc...).

Quels outils utilisez-vous pour accomplir votre travail ?

Nous utilisons quotidiennement de nombreux outils, dont voici une liste non exhaustive :

  • ALM / ClearQuest / JIRA / Worx : Planification et gestion de projet
  • Outil de configuration Autosar (Ecu Workx, AEEE, DaVinci)
  • Portes : Gestion des besoins
  • Vector CANoe - CANalyzer / Outil interne au client : Tests et mesures
  • C : Programmation
  • Normes Autosar
  • Règles MISRA

Avez-vous besoin de compétences particulières pour être performant dans votre travail ?

Pour prendre de l'avance dans mon métier, il faut avoir un bon sens de l'analyse et surtout d'excellentes capacités de communication.

Qu'est-ce que vous aimez le plus dans votre travail ? le moins ?

Comme je l'ai déjà expliqué plus haut, ce que j'aime le plus, c'est la dynamique des activités, car je suis également impliqué dans la gestion de projets.

Ce qui est parfois difficile, c'est de définir les limites de notre temps de travail car nous sommes souvent impliqués dans de multiples activités et l'investissement à réaliser est souvent difficile à anticiper.

Auriez-vous des conseils à donner à quelqu'un qui voudrait devenir ingénieur logiciel de bas niveau ?

Il faut vraiment être passionné par les logiciels embarqués, travailler en équipe et surtout aimer communiquer.

Comment vous sentez-vous sur T&S?

Après 10 ans de carrière, je me sens très à l'aise sur le site T&S.

Partager

Nos experts sont à votre disposition sur simple appel !

Faites-nous part de votre situation et nous trouverons ensemble la meilleure solution pour développer votre projet.
Contactez nous

Plus d'actualités

14/4/25

Empreinte carbone du groupe T&S en 2024

Bilan carbone 2024 : T&S renforce sa stratégie RSE avec les objectifs du SBTi, la gestion à faible émission de carbone et l'engagement collectif de toutes ses entités.

Lire L'article
29/4/25

Planification de la migration vers le cloud : stratégies et bonnes pratiques

Optimisez votre migration vers l'informatique dématérialisée grâce à des conseils d'experts sur la stratégie de migration, la planification de l'informatique dématérialisée et l'évaluation de l'infrastructure informatique. Découvrez les meilleures pratiques pour une transition réussie vers l'informatique dématérialisée avec Technology & Strategy.

Lire L'article
6/4/25

Qu'est-ce que l'ingénierie des systèmes et pourquoi est-elle essentielle ? 

L'ingénierie des systèmes est une approche interdisciplinaire essentielle au développement de produits complexes. Elle implique de comprendre et de structurer les besoins, de spécifier et de modéliser les systèmes et d'assurer la continuité du cycle de vie. L'ingénierie des systèmes améliore la collaboration, réduit les risques, optimise les coûts et les délais et améliore la qualité des produits. C'est un état d'esprit qui profite à tous les ingénieurs, des développeurs de logiciels aux chefs de projet.

Lire L'article