Un desarrollador es un programador o una compañía comercial que se dedica a uno o más aspectos del proceso de desarrollo de software. Se trata de un ámbito más amplio de la programación algorítmica.
En informática, un desarrollador (al que con frecuencia también se conoce como analista-programador), es un especialista en informática que es capaz de concebir y elaborar sistemas informáticos (paquetes de software), así como de implementarlos y ponerlos a punto, utilizando uno o varios lenguajes de programación.
El desarrollador puede contribuir a la visión general del proyecto más a nivel de aplicación que a nivel de componentes, así como en las tareas de programación individuales.
Conforme pasa el tiempo, la separación entre el diseño de sistemas informáticos, el desarrollo de software, y la programación, se van haciendo más claras y diferenciadas. En el mercado laboral suele encontrarse una diferenciación entre programadores y desarrolladores, siendo estos últimos los que diseñan la estructura o jerarquía de clases. Incluso esos desarrolladores se convierten en arquitectos de sistemas informáticos, o sea, aquellos que diseñan la arquitectura a varios niveles o las interacciones entre componentes de un proyecto de software grande.
El concepto de desarrollo de software incluye:
Nota: para que un programador se convierta en desarrollador, debe poseer experiencia y saber el manejo y la aplicación de metodologías de desarrollo; es sobre todo la experiencia y el conocimiento técnico, lo que ha impulsado la evolución del término 'programador' hacia el término 'desarrollador'.
Según el diccionario de la lengua francesa 'Larousse' y la 'Office québécois de la langue française' (en español: 'Oficina quebecuense de la lengua francesa'), y aunque esto no es reconocido por el Centre national de ressources textuelles et lexicales), el término «développeur» (en español: «desarrollador») se aplica (en el dominio de la informática), a una persona que concibe y desarrolla aplicaciones informáticas, o una empresa organizada y orientada a desarrollar ese tipo de aplicaciones y su asociado software. Sin embargo, en el caso de las personas, es posible distinguir a los desarrolladores por especialidad y formación, o sea, diferenciar entre los expertos en el arte del manejo, uso, y creación de software, y los especializados particularmente en todo lo relativo a Internet y al manejo de ordenadores (sistemas operativos, programas utilitarios, etc), así como los especializados en el sector de las Tecnologías de la información y la comunicación (TICS), grupos todos estos en los que se encuentran desarrolladores con las características que se indican seguidamente:
Para responder adecuadamente y en la mejor forma a las necesidades del cliente, conviene que en una primera etapa el desarrollador establezca un pliego de condiciones, a efectos de determinar y especificar las necesidades del cliente en materia de automatización, informatización, y control, asunto por asunto. En esta etapa, conviene que se aclaren las siguientes cuestiones:
Esta es una fase crucial puesto que no solo se debe responder a las necesidades actuales del cliente, sino también diseñar un sistema informático que acompañará al cliente en la evolución de sus actividades.
En una segunda etapa se desarrolla una solución técnica (hardware) y se crea un modelo (análisis orgánico) del futuro programa (software) que gestionará el futuro sistema informático (si no existe).
Luego se deben escribir las líneas de código necesarias para el correcto funcionamiento (programación), participar en las fases de pruebas, confeccionar la documentación técnica, y hacer el seguimiento y el mantenimiento del producto.
El desarrollador puede también capacitar a los usuarios.