Si vous êtes étudiant en génie logiciel, suivez des cours pour devenir ingénieur développement logiciel ou si vous travaillez en freelance dans ce domaine, il est important d'acquérir certaines aptitudes spécifiques pour devenir un bon développeur. L'innovation est grande et il y a un nombre illimité d'étapes et de dispositifs qui font leur apparition sur le marché.
Même si vous êtes un ingénieur accompli ou débutant, en tant que développeur de pointe, il est important de savoir comment coordonner la technologie avancée et d'autres éléments spécifiques dans votre travail pour exceller dans l'univers de la programmation. L'on discutera donc dans ces quelques lignes des compétences et des missions qui encadrent le métier d’ingénieur logiciel.
Le génie logiciel est une branche de l'informatique qui englobe le développement de logiciels et de systèmes informatiques. La programmation constitue en général une grande partie du processus de développement. Grâce à elle, l'ingénieur peut concevoir n'importe quoi, des jeux aux systèmes d'exploitation.
C'est pourquoi l'ingénieur logiciel doit maîtriser plusieurs langages de programmation, en fonction notamment de ceux qu'il préfère ou de ceux qui sont les plus demandés dans l'industrie. Les langages les plus populaires sont le Java, Python et C. Cependant, ces langages peuvent varier de façon considérable selon le type de travail à faire.
Par exemple, l'ingénieur développant des applications mobile dispose en général d'un éventail beaucoup plus restreint de langages de programmation. De plus, le processus de développement va bien au-delà de la seule programmation. Il est tout aussi important de s'assurer que le code est convivial et fonctionnel.
L'ingénieur logiciel embarqué fait un certain nombre de tâches quotidiennes aboutissant à la création d'un produit logiciel. On cite notamment :
Qu'il travaille dans le domaine de l'informatique internet, telecoms, etc., le métier d'ingénieur logiciel requiert les compétences suivantes :
Service
SPECTRA (Système de Protection et d’Evitement des Conduites de Tir pour Rafale)
Projet
Le projet consiste à développer les nouvelles fonctionnalités et faire la maintenance corrective sur le sous-système DBEM qui assure la détection et le brouillage de signaux électromagnétique capté par les antennes du Rafale
Le DBEM fait partie des 5 sous-systèmes du PDD (Pied De Dérive) du Rafale et qui est constitué de 25 articles physiques qui sont logés dans un fond de panier et interconnectées via un bus VME.
Rôles
Maintenance logiciel sur la partie LDB (Logiciel de Base) des cartes PPC
- Développement des tests Post Mortem qui consiste à enregistrer les traces des appels des fonctions dans la NVRAM et de les analyser suite à un reset ou une exception de la carte
- Participation au développement des tests de la couche LDB, suite au changement des cartes électroniques du système, et ceci pour s’assurer de la reproductibilité du fonctionnel par ces nouvelles cartes (Tests des timers, Its, Bus privé, Bus VME,…)
- Participation au développement de composant de debug dont le rôle est de gérer les commandes utilisateurs/développeur qui permettront d’agir sur le système via des commandes logicielles fournies par l’OS, logiciel de base, l’application ou aussi changer la configuration hardware
Service
Radio Protocol
Projet
Le projet consiste à développer les deux couches logicielles :
• la Platform qui est constitué des cartes hardware, l’ensemble des pilotes ainsi que la couche d’abstraction qui fournit un ensemble des services à la couche supérieure dite WaveForm
• la WaveForm c’est la couche applicative qui renferme, la gestion de multiplexage, relais, IPC, face avant, la partie simulation, TD (Transmission des données), FFA (Fréquence Fixe Analogique,…
Rôle
Maintenance logiciel sur la partie WaveForm du poste radio, génération FlexNet
Projet
Le projet a pour but de réaliser un démonstrateur d’optimisation du déclenchement de l’airbag. Deux prototypes sont conçus: un est basé sur un microcontrôleur PICTUS, l’autre sur STAR12G
Les autres projets consistent à réaliser un prétensionneur basé sur un Star12G et un Pictus pour les clients AUDI et BMW respectivement
Rôle
Développement d’un convertisseur fréquence/tension sur un Pictus, d’un pilote SPI, de la pile mémoire, de la sauvegarde du contexte du prétensionneur déclenchée sur un seuil de décharge de batterie.
Projet
Portage d’un agent de gestion (supervision de réseau) de Windows à Linux
Rôle
Portage des fichiers sources vers Linux et fichiers bath vers le Shell script
Portage l’outil de test
Mise au point et test des modules sous Linux
Intégration et test de l’application
Projet
Forfait de développement et d’intégration des modules du Radar Coast Watcher
Rôle
Conception et développement du module RM (Radar Management) pour communiquer avec le SP (Signal Processing)
Développement des fonctions d’émission et de réception du chaque côté du lien
Développement du module RM_GEO (Geographic Radar Management)
Responsable technique de développement logiciel
Projet BMS (Battery Management System) des batteries des véhicules hybride (Ford, GM, Volkswagen)
Rédaction de SRS
Intégration des basics software (BSW) avec les softwares components (SW-C)
Test de toutes les API,
Test des exigences système
Intégration à Hanovre (Allemagne) avec une batterie réelle
Projet production et suivi du tableau de climatisation : Peugeot 206/306 et l’afficheur A+
Développement des évolutions logicielles
Analyse et expertise des retours clients
Projet redesign de l’UCH (Unité de Contrôle Habitacle) pour le véhicule Master
Intégration du test in-s...