Qu’est-ce qu’un Ingénieur développement logiciel bas niveau ?

23 August 2022
Low-Level-Software-Engineer-technology-and-startegy
Share on facebook
Share on twitter
Share on linkedin

Qu'est-ce qu'un Ingénieur développement logiciel bas niveau ?

Après notre premier épisode sur le métier d’ingénieur en système embarqué, nous vous proposons dans ce second épisode de notre série « Job Of The Month » d’en apprendre un peu plus sur le métier d’Ingénieur développement logiciel bas niveau. 

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

Richard, Petit est ce que tu voulais devenir ingénieur ?

Étonnamment, d’aussi loin que je puisse me rappeler, je voulais devenir chimiste. Puis par la suite, électronicien, car je souhaitais reprogrammer les voitures avec mon frère.

Comment es tu devenur ingénieur ?

Concrètement, mon choix de carrière a été défini par ma passion. Depuis tout petit, je suis passionné par l’informatique et son environnement, que ce soit des jeux vidéo à la réparation de PC, et donc forcément, je souhaitais que mon métier puisse toucher à ce domaine qui me passionne.

Avec cette idée que j’avais toujours en tête d’électronicien, je me suis orienté vers des études qui comportaient les deux domaines : l’électronique et l’informatique.

De là, j’ai commencé par une STI Génie Électrique puis un DUT Génie Électrique et Informatique Industriel pendant 2 ans. Pour finir avec un Diplôme d’Ingénieur avec Spécialité Génie Électrique durant 3 ans, dont 2 × 6 mois de stages professionnels :

  • 6 mois en développement d’une interface HMI pour un tramway électrique
  • 6 mois chez T&S, en développement d’une carte électronique de contrôle d’une portière de voiture, sur un réseau de communication FlexRay.

Qu’est-ce qu’un low level software engineer ?

À vrai dire, c’est une question vraiment très générique. Pour résumer, un low level SW ENG est une personne avec des connaissances en logiciel Bas Niveau (DEV en C / ASM) et des règles de programmations.

Aujourd’hui, si je peux mettre une nomination sur mon métier, ce serait plutôt : Software Enginneer specialized in BSW Autosar Stack & Network System (CAN & Flexray)

Pour le coup, à quoi correspond cette nomination barbare 😊 ?

Pour commencer, pour avoir une vue d’ensemble concernant les termes utilisés, on peut généralement décomposer un produit entre 3 sous-parties :

  • La couche logiciel applicative
  • La couche logiciel bas niveau (BSW : Basic Software)
  • La couche HW

En quelques mots, je travaille sur la couche basse d’un SW, qui est plus communément appelé dans notre domaine « BSW » (Basic Software). À l’intérieur de cette couche, toutes les fonctionnalités vont permettre à notre SW de communiquer avec l’extérieur (les autres cartes électroniques du réseau).

Ma spécialisation est focalisée sur la partie qui gère la communication avec le réseau et plus spécifiquement le « FlexRay »

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

Que fait un low level software engineer concrètement ? Quelles sont ses missions au quotidien ?

J’ignore s’il y a vraiment une réponse standardisée pour nos métiers, à vrai dire. Le métier d’ingénieur est généralement assez dynamique, et chaque jour, nous sommes confrontés à des problématiques différentes, on a donc très peu de journée « type ».

Dans notre quotidien, on est quand même amené à communiquer. C’est très important ! Surtout lorsqu’on travaille pour des « gros » projets. Dans ces environnements, il y a une énorme organisation, il faut de ce fait communiquer avec beaucoup de personnes afin de mener à bien son projet.

Le second aspect majeur est l’analyse technique et la compréhension de l’environnement système.

Puis, un aspect focalisé sur le « doing » avec l’implémentation, l’intégration, le test, etc.

Et, enfin, du reporting (chef de projet, client, etc.) qui va à nouveau se reporter vers de la communication.

Avec quelles autres « métiers » échanges-tu au quotidien ?

Nous sommes amenés à échanger avec de nombreux corps de métiers, que ce soit au niveau applicatif, Hardware, ou SW Dev BSW (Diagnostic, OS, MCAL, Mode Mngt, Memory etc…)

Quels outils (logiciel, code, utilises-tu au quotidien) ?

On utilise de nombreux outils au quotidien, voici une liste non-Exhaustive

  • ALM / ClearQuest / JIRA / Worx : Planning and Project Management
  • Autosar Configurator Tool (Ecu Workx, AEEE, DaVinci)
  • Doors : Requirement Management
  • Vector CANoe – CANalyzer / Customer Internal Tool : Testing & Measurement
  • Programmation C
  • Norme Autosar
  • MISRA Rules

Faut-il des compétences particulières pour être bon dans ton métier ?

Pour être un cran au-dessus dans mon métier, il faut avoir un bon sens de l’Analyse et surtout une très bonne communication.

Qu’est qui te plait le plus dans ton métier ? le moins ?

Comme déjà expliqué, ce qui me plaît le plus c’est la dynamique des activités, car je suis aussi impliqué sur du projet management.

Ce qui est parfois difficile, c’est de cadrer les limites de notre temps de travail parce que l’on est souvent impliqué sur de multiples activités et l’investissement à fournir est souvent délicat à anticiper. 

Aurais-tu des conseils pour quelqu'un qui souhaiterai devenir low level soft engineer ?

Il faut réellement être passionné par le logiciel embarqué, travailler en équipe et surtout aimer communiquer.

Comment te sens tu chez T&S ?

Après 10 ans de carrière, je me sens très bien chez T&S.

Möchtest du Teil des Abenteuers sein?