Hay más que desarrolladores de software. Cada uno de nosotros es diferente y a menudo desempeñamos diferentes roles en diferentes momentos.
Se puede cortar el pastel de muchas maneras diferentes en base a diferentes criterios: Plataforma, propósito, lenguaje, rol. Estos son algunos de los roles que desempeño: En los últimos dos días he: diseñado parte de una aplicación, he escrito código, he participado en una revisión de código, he probado algo que he escrito, he identificado un problema en algo que ha escrito otra persona, he diseñado una base de datos, he diseñado el aspecto de la interfaz de usuario, he explorado los requisitos con los usuarios, he ajustado el rendimiento de una aplicación, he buscado la causa de un fallo del programa, he escrito parte de un manual de usuario, he sido mentor de otra persona. En una organización grande, muchos de estos trabajos pueden ser realizados por especialistas. A veces, una persona debe hacerlos todos.
Respecto al propósito: escribir un software para controlar una línea de fabricación es diferente de escribir un software para predecir el tiempo, o escribir un software para controlar un juguete, o escribir un sistema de planificación de recursos empresariales, o escribir un sistema de telecomunicaciones, o escribir un sistema operativo, o escribir un sistema de contabilidad para una empresa multinacional.
Suma todo esto y calcule las posibles combinaciones y es un gran número.