Qu’est-ce qu’un Software Engineer ? La vision d’evryg
Un Software Engineer est membre d’une équipe pluridisciplinaire dont le rôle est de créer des solutions automatisées pour résoudre des problèmes liés au traitement de l’information.
Dans une entreprise, cette activité vise à concevoir un logiciel qui, in fine, génère des revenus et/ou réduit les coûts. Garder à l’esprit que cette activité s’inscrit dans un cadre à but lucratif nous paraît essentiel.
Comprendre le problème
Le métier d’un Software Engineer ne consiste pas avant tout à écrire du code, mais à :
- Comprendre l’ensemble des problématiques métier et être capable de les restituer sous forme de modèles explicatifs sur lesquels on pourra raisonner.
- Définir les solutions logicielles qui répondent à ces besoins.
- S’assurer que l’implémentation des solutions correspond exactement aux spécifications, notamment via des tests.
- Déployer fréquemment la solution jusqu’en production, c’est-à-dire l’environnement exposé aux utilisateurs finaux (“You build it, you run it”).
Écrire la solution
Étymologiquement, software désigne la partie modifiable d’un ordinateur, par opposition au hardware, qui représente la partie matérielle et fixe.
L’ingénieur logiciel est donc, littéralement, celui qui construit un produit sous forme de logiciel.
- “ware” fait référence à un produit testé, vérifié et déterministe, capable de répondre précisément à une problématique business.
- “soft-” signifie qu’un logiciel est malléable et évolutif, et doit pouvoir s’adapter facilement aux changements du métier et aux besoins des utilisateurs.
Le Software Engineer conçoit donc un logiciel qui doit pouvoir évoluer facilement en fonction des besoins métier.
Collaborer
Le Software Engineer évolue dans un environnement pluridisciplinaire, au sein d’une équipe dont chaque membre possède une forte appétence pour le changement, cherche en permanence à apprendre et accepte de remettre en question ses connaissances tout en partageant son savoir. Il doit également faire preuve d’excellentes compétences en communication et avoir une grande capacité de collaboration.
Nous sommes convaincus que la plus petite unité de travail est l’équipe, et non l’individu.
Une équipe performante doit être pluridisciplinaire. Dans un bloc opératoire, chirurgien, anesthésiste et infirmier travaillent ensemble pour garantir le succès d’une intervention. De la même manière, dans une équipe sportive, chaque joueur occupe un rôle spécifique et indispensable, qu’il soit gardien, défenseur, milieu ou attaquant.