Diferencia clave: Un desarrollador de software es una persona preocupada por las facetas del proceso de desarrollo de software. Su trabajo incluye diseñar, implementar y probar el software. Un ingeniero de software, por otro lado, es un profesional de la ingeniería de software. Aplican los principios de ingeniería al diseño, desarrollo, mantenimiento, prueba y evaluación del software y los sistemas que hacen que las computadoras o cualquier cosa que contenga software funcione.
Un desarrollador de software es una persona preocupada por las facetas del proceso de desarrollo de software. Su trabajo incluye diseñar, implementar y probar el software. Un ingeniero de software, por otro lado, es un profesional de la ingeniería de software. Aplican los principios de ingeniería al diseño, desarrollo, mantenimiento, prueba y evaluación del software y los sistemas que hacen que las computadoras o cualquier cosa que contenga software funcione. Por lo tanto, se puede afirmar que el trabajo de un ingeniero de software tiene un alcance mayor.
Un desarrollador de software desarrolla software independiente, que es más que un simple programa. Se involucra en todas las fases del desarrollo, diseño y codificación. Participa en diseño, programación informática o gestión de proyectos de software. Un desarrollador puede contribuir a la descripción general del proyecto en el nivel de la aplicación en lugar de a nivel de componente o tareas de programación individuales. Bajo el grupo principal de Ocupaciones en computación y matemáticas 15-0000, los desarrolladores de software pueden clasificarse en uno de los 3 títulos:
- 15-1131 programadores de computadoras
- 15-1132 Desarrolladores de Software, Aplicaciones
- 15-1133 Desarrolladores de Software, Software de Sistemas
El trabajo de un desarrollador incluye:
- Diseño de software
- Implementación del núcleo real (programación que a menudo es la parte más importante del desarrollo de software)
- Otras implementaciones necesarias (por ejemplo, instalación, configuración, personalización, integración, migración de datos)
- Participación en la definición de productos de software, incluido el análisis de casos comerciales o brechas.
- Especificación
- Análisis de requerimientos
- Desarrollo y refinamiento de simulaciones o prototipos desechables para confirmar los requisitos.
- Análisis de viabilidad y costo-beneficio, incluida la elección de la arquitectura y el marco de la aplicación, lo que lleva al presupuesto y el calendario del proyecto
- Creación de documentación necesaria para los usuarios y socios de implementación, etc.
- Pruebas, incluida la definición / compatibilidad con las pruebas de aceptación y la recopilación de comentarios de los probadores de versiones preliminares
- Participación en actividades de lanzamiento y publicación de software, incluido el soporte para el lanzamiento de productos de evangelización (p. Ej., Desarrollo de demostraciones y / o muestras) y análisis competitivo para los siguientes ciclos de compilación / lanzamiento
- Mantenimiento