# Développeur

En informatique, un programmeur est un informaticien qui réalise des logiciels et les met en œuvre à l'aide de langages de programmation. Un développeur est un programmeur qui travaille à partir d'un cahier des charges, et un chef développeur rédige le cahier des charges.

## Terminologie

Selon le dictionnaire de langue française le Larousse ainsi que l'Office québécois de la langue française, le terme « développeur » s'applique en informatique à une personne ou une société qui développe et conçoit des logiciels.

## Aspects du travail

Pour répondre aux besoins d'un client, il établit dans un premier temps un « cahier des charges » qui détermine les besoins du client en matière d'informatisation et contrôle, poste par poste, la nécessité de l’informatisation (un poste pouvant parfois être plus performant sans informatisation, qu'avec). Il s'agit ici d'une phase cruciale puisqu'il faut non seulement répondre aux besoins présents du client, mais aussi, concevoir un système informatique qui accompagnera le client dans l'évolution de ses activités.
Dans un second temps il développe une solution technique (Hardware) et crée un modèle (analyse organique) du futur logiciel gérant le futur système informatique (s'il n'existe pas).
Il écrit ensuite du code nécessaire au correct fonctionnement (programmation), participe aux phases d'essais, réalise la documentation technique, s'occupe du suivi et de la maintenance de son produit. Il peut également former les utilisateurs.
Plusieurs méthodes de développement existent, comme le Cycle en V, le TDD ou les méthodes agiles.

## Compétences

Un développeur est avant tout un expert des langages informatiques. Il doit donc maîtriser un ou plusieurs langages ainsi que les concepts attenants (par exemple, le concept d'héritage pour un langage orienté objet).
La connaissance du secteur d'activité dans lequel va être utilisé le logiciel est un atout. Elle permet de mieux saisir les attentes des clients et leur approche du problème.
Bien souvent les connaissances techniques découlent du domaine d'application. Par exemple dans le cadre de programmation Web (en rapport avec l'Internet) les compétences requises sont spécifiques en langages (HTML, CSS, JavaScript, PHP par exemple) et en logiciels. Dans le multimédia off-line (cédéroms, bornes interactives, etc.) tout en travaillant avec le directeur artistique, le développeur restera le garant des spécificités techniques des divers programmes réalisés par les infographistes.
D'une manière générale, le développeur doit aussi maîtriser l'environnement d'exécution de son programme, que ce soit un système d'exploitation pour un logiciel PC ou un microcontrôleur pour un logiciel embarqué Micrologiciel. C'est cet environnement qui impose des contraintes au logiciel (taille mémoire disponible, vitesse de calcul).
Rigueur, sens de la méthode, qualités relationnelles, rapidité d'exécution et facilité de s'adapter à de nouveaux langages sont autant de qualités demandées. Il faut également faire preuve d'autonomie.
Le développeur peut trouver de nombreux endroits et façons de travailler. Il peut être employé par un éditeur de logiciel, une Entreprise de services du numérique (ESN) anciennement SSII ou SS2I, ou même dans une entreprise dont le cœur de métier n'est pas l'informatique mais possède en interne un service informatique (DSI). Il est aussi possible de travailler à son compte, en tant que travailleur indépendant. Il est à noter que l'essence même du métier rend certainement plus facile qu'ailleurs le travail à distance ou télétravail.
Le développeur doit rester en phase et s'adapter à l'évolution technologique dont il est lui-même un acteur.