¿Cuál es la diferencia entre un desarrollador de pila completa y un desarrollador de software?

El desarrollador de pila completa (FSD) es alguien que es capaz de codificar para cualquiera de las capas / niveles en una aplicación. Por lo general, las aplicaciones de software que se desarrollan y utilizan en todo el mundo, siguen una arquitectura de n-capas/múltiples capas.
Lo que significa es que la aplicación tendrá
- UI (capa de presentación) que todos vemos en la web/ o página GUI para aplicaciones de escritorio. La experiencia necesaria aquí es javascript/jquery/HTML/CSS etc para aplicaciones web. AWT/Jframes o cualquier tecnología equivalente.
- Lógica de negocio: Cualquier lenguaje de programación orientado a objetos como java, c#.
- Back end: Comprensión y uso de al menos un RDBMS (sistema de maangement de base de datos realtionl) como Oracle, MySql
Todas las capas anteriores por lo general vienen bajo el marco MVC. ex:- Struts, Spring MVC

Sin embargo, un desarrollador de software idealmente hace todas estas cosas. Dependiendo de la organización y del proyecto en el que trabaje, puede o no trabajar en todas las capas.
Algunas empresas tendrán un conjunto separado de desarrolladores para la interfaz de usuario, llamados desarrolladores de front-end.
Un conjunto separado de personas para el desarrollo del back-end (incluyendo tanto la lógica de negocio como la base de datos) llamado desarrolladores de back-end.
Algunas empresas tendrán programadores de bases de datos/DBAs si una aplicación implica el uso extensivo de procedimientos almacenados, etc.