Métier développeur de logiciels / développeuse de logiciels

Les concepteurs de logiciels mettent en œuvre ou programment tous types de systèmes logiciels fondés sur les spécifications et les modèles en utilisant les langages de programmation, les outils et les plateformes.

Types de personnalités

Connaissances

  • Processus d'ingénierie

    L’approche systématique du développement et de la maintenance des systèmes d’ingénierie.

  • Environnement de développement intégré

    La suite d’outils de développement de logiciels pour la rédaction de programmes, tels que le compilateur, le débogueur, l’éditeur de code, la surbrillance de code, regroupés dans une interface utilisateur unifiée, tels que Visual Studio ou Eclipse.

  • Principes d’ingénierie

    Les éléments d’ingénierie tels que la fonctionnalité, la reproductibilité et les coûts liés à la conception, ainsi que la manière dont ces éléments sont appliqués dans la réalisation des projets d’ingénierie.

  • Gestion de projets

    Comprendre la gestion du projet et les activités que comporte ce domaine. Connaître les variables qu’implique la gestion de projets, tels que le temps, les ressources, les exigences, les délais et la réponse à des événements imprévus.

  • Dessin industriel

    Logiciels de dessin et différents symboles, perspectives, unités de mesure, systèmes de notation, styles visuels et mises en page utilisés dans les dessins techniques.

  • Outils de gestion de configuration logicielle

    Les logiciels destinés à permettre l’identification, le contrôle, l’enregistrement des états et l’audit de la configuration, tels que CVS, ClearCase, Subversion, GIT et TortoiseSVN, effectuent cette gestion.

  • Outils de débogage TIC

    Les outils TIC utilisés pour tester et déboguer les programmes et le code logiciel, tels que GNU Debugger (GDB), Intel Debugger (IDB), Microsoft Visual Studio Debugger, Valgrind et WinDbg.

  • Programmation informatique

    Les techniques et les principes du développement de logiciels, tels que l’analyse, les algorithmes, le codage, les tests et la compilation des modèles de programmation (programmation orientée objet ou programmation fonctionnelle, par exemple) et des langages de programmation.

Aptitudes

  • Utiliser un logiciel de dessin technique

    Créer des conceptions techniques et des dessins techniques utilisant un logiciel spécialisé.

  • Gérer un projet d'ingénierie

    Gérer les ressources du projet d’ingénierie, le budget, les délais et les ressources humaines, et planifier les calendriers, ainsi que toute activité technique pertinente pour le projet.

  • Utiliser des bibliothèques logicielles

    Utiliser des recueils de codes et de progiciels qui captent fréquemment des routines utilisées pour aider les programmeurs à simplifier leur travail.

  • Utiliser des patrons de conception

    Utiliser des solutions réutilisables, des meilleures pratiques formalisées, pour résoudre des tâches communes de développement informatique dans le cadre de l’élaboration et la conception de logiciels.

  • Définir des exigences techniques

    Préciser les propriétés techniques des produits, des matériaux, des méthodes, des procédés, des services, des systèmes, des logiciels et des fonctionnalités en cernant les besoins particuliers qu'il faut satisfaire et en y répondant conformément aux exigences du client.

  • Fournir une documentation technique

    Préparer la documentation pour les produits ou services existants et futurs, en décrivant leur fonctionnalité et leur composition de manière à ce qu’elle soit compréhensible pour un large public sans formation technique et conforme aux exigences et aux normes définies. Tenir à jour la documentation.

  • Analyser les spécifications du logiciel

    Évaluer les spécifications d’un produit ou système logiciel à développer en identifiant les exigences fonctionnelles et non fonctionnelles, les contraintes et les cas d’utilisation possibles illustrant les interactions entre le logiciel et ses utilisateurs.

  • Interpréter des exigences techniques

    Analyser, comprendre et appliquer les informations fournies en ce qui concerne des conditions techniques.

  • Utiliser des outils de génie logiciel assisté par ordinateur

    Utiliser des outils logiciels (CASE) pour soutenir le cycle de développement, ainsi que la conception et la mise en œuvre de logiciels et d’applications de haute qualité qui peuvent être facilement entretenus.

  • Développer des méthodes de migration automatisées

    Créer un transfert automatisé des informations sur les TIC entre les types de stockage, les formats et les systèmes afin d’éviter que les ressources humaines n’effectuent la tâche manuellement.

  • Développer un prototype de logiciel

    Créer une première version incomplète ou préliminaire d’un logiciel pour simuler certains aspects spécifiques du produit final.

  • Identifier les exigences des clients

    Appliquer des techniques et des outils, tels que des enquêtes, des questionnaires, des applications TIC, pour susciter, définir, analyser, documenter et maintenir les besoins des utilisateurs en matière de système, de service ou de produit.

  • Réaliser des recherches scientifiques

    Obtenir, corriger ou améliorer les connaissances sur les phénomènes en utilisant des méthodes et des techniques scientifiques, sur la base d’observations empiriques ou mesurables.

  • Déboguer un logiciel

    Réparer un code informatique par l’analyse des résultats de tests, la localisation des défauts à l’origine du résultat incorrect ou inattendu du logiciel et l’élimination de ces défauts.

  • Créer un organigramme de programmation

    Composer un diagramme illustrant le déroulement systématique d’une procédure ou d’un système en utilisant des lignes connectrices et un ensemble de symboles.

Connaissances et aptitudes facultatives

internet des objets concevoir une interface utilisateur scala transférer des données existantes matlab erlang utiliser la programmation logique ajax swift assembly java asp.net smalltalk utiliser l’apprentissage automatique objective-c c# perl lisp modélisation orientée objet abap haskell s’adapter aux changements des plans de développement technologique apache maven staf scratch anomalies logicielles salt utiliser la programmation fonctionnelle typescript standards du world wide web consortium groovy jenkins vbscript visual basic microsoft visual c++ intégrer les composants d’un système pascal xcode développer des idées créatives javascript openedge advanced business language utiliser la programmation concurrente utiliser la programmation automatique recueillir les commentaires des clients sur des applications eclipse législation sur la sécurité des tic cobol r kdevelop python utiliser la programmation orientée objet ml sap r3 c++ ruby ansible coffeescript puppet php sas language prolog apl common lisp

Source: Sisyphus ODB