Ninguno de estos términos está bien definido. Todos se han utilizado en diferentes momentos para diferentes personas que participan en el proceso de creación de software.
Hace mucho tiempo, existía un modelo de desarrollo de software en el que una persona de alto estatus analizaría el problema, hablaría con el cliente y los usuarios previstos, redactaría una especificación y luego se la entregaría a personas de menor estatus que lo convertirían a código . El tipo de alto nivel que realmente habló con los usuarios era un analista de sistemas, y los de menor nivel que realmente descifraron el código eran programadores o el estado más bajo de todos los codificadores.
Este modelo no funcionó. Los modelos actuales ciertamente han abolido una distinción binaria entre diseñadores y codificadores, y la mayoría rechaza todo el concepto de dividir el diseño del código y de mantener a algunos miembros del equipo separados de los usuarios. Por lo tanto, algunos (no todos) usan el término ingeniero de software para expresar la idea de que el objetivo del trabajo es desarrollar soluciones eficaces y funcionales, y que la división entre diseño y código es artificial.
- ¿Qué hacen los ingenieros de software 10X en su tiempo libre?
- Cómo hablar con la gente del lado del cliente como ingeniero de software
- ¿Cómo es el mercado laboral para un ingeniero de software o un programador en Newfoundland, Canadá?
- ¿Qué debe hacer un ingeniero de software senior con más de 8 años de experiencia en la industria de TI, si no quiere asumir la responsabilidad de un líder de equipo?
- ¿Cuándo comienza Amazon (Seattle) a hacer verificaciones de antecedentes para nuevas contrataciones SDE?