Hay tres:
- Desarrolladores junior (que saben exactamente una cosa, como front end o back end)
- Desarrolladores experimentados que conocen dos o más dominios (en el mundo del desarrollo web, este podría ser un desarrollador de pila completa)
- Desarrolladores senior / líderes que conocen tantos dominios que no hay un punto para las etiquetas.
Sí, estoy siendo tonto aquí, pero el punto es que las etiquetas no son realmente relevantes. La habilidad general como desarrollador de software es la distinción interesante.
Por ejemplo, pasé de ser un programador generalista de desarrollo de juegos y motor de juegos a escribir controladores de sistema en OCR para el desarrollo de aplicaciones móviles y luego al desarrollo web completo. Cada uno de los campos tardó unos días en ser productivo, y algunas semanas para estar a la par con un “experto” que solo conocía ese campo.
- ¿A qué debe asignarse un nuevo miembro del equipo en el equipo de desarrollo?
- ¿Hay comportamientos descuidados similares entre otros ingenieros, como la forma en que los ingenieros de software tienen código de espagueti?
- ¿Cuál es la pila de tecnología (más específicamente la base de datos) detrás del Generador de informes en Salesforce.com?
- ¿Cuáles son los 10 principales países exportadores de software?
- ¿Qué es la prueba de caja gris?
Algunos dominios requieren más matemáticas. Mencionas cuántica. Esa es un área donde no he mirado alrededor, principalmente porque todavía es muy teórico. Ni siquiera sé si requiere matemáticas, pero lo poco que sé implica que podría hacerlo. Algunos aspectos del aprendizaje automático (como el desarrollo de nuevos algoritmos) ciertamente lo hacen.
Pero eso se reduce a la experiencia de dominio, que es algo ortogonal a las disciplinas de ingeniería de software. Incluso el desarrollo web puede subdividirse en experiencia en la materia. Alguien que esté familiarizado con los requisitos legales de registros médicos, por ejemplo, puede ser necesario para trabajar en un sitio médico. Y la mayoría de los sitios apuntan a COPPA en lugar de tratar de cumplir.