Pour répondre aux besoins d'un client, le développeur établit, dans un premier temps un "Dossier d'opportunité" 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 (analyste organique) du futur logiciel (software) gérant le futur système informatique (s'il n'existe pas).
Il écrit ensuite des lignes de code nécessaires 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.
De nos jours, de plus en plus d'entreprises adoptent toutefois un modèle de développement où l'humain est davantage placé au cœur du processus de production (on parle de Méthodes agiles).
Un développeur est avant tout un expert des langages informatiques. Il doit donc maîtriser un ou plusieurs langages ainsi que les concepts attenant s: le concept d'héritage pour un langage orienté objet, par exemple
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, les compétences requises sont spécifiques en langages (HTML, CSS, JavaScript, PHP, etc...) et en logiciels (Frontpage ou Dreamweaver, par exemple).
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. Il lui faudra alors aussi connaître Photoshop, Powerpoint ou bien encore Flash, par exemple.
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.