Historia del concepto Full Stack

Parece como que todo el mundo de la tecnología actual esté cargado de desarrolladores hoja stack. La pila completa (full stack) podría haber sido posible en la era de la Web 2.0, pero una nueva generación de startups está surgiendo, presionando los límites de prácticamente todas las áreas del software. Desde la inteligencia de la máquina hasta la computación impulsiva predictiva hasta la analítica de datos hasta móviles / usables y mucho más, es casi imposible que un único desarrollador programe toda la pila completa.


Al inicio de la programación, una sola persona podía escribir un programa completo, de principio a fin. El uso del lenguaje ensamblador, lenguaje de máquina, era la norma para los programadores que pretendían mejorar el rendimiento y reducir el espacio.


La programación evolucionó rápidamente hacia un modelo de equipo con la llegada de soluciones cliente / servidor a finales de los años 80s y principios de los 90s, y la ola de la informática por Internet a finales de los 90 y principios de los 2000. Cada faceta de la nueva tecnología era tan compleja que a menudo se necesitaba un especialista, a veces uno para diferentes niveles (por ejemplo, front-end, bases de datos, servidores de aplicaciones, etc.).


A mediados de los años 2000, crear prácticamente cualquier cosa - desde sitios web sencillos hasta servicios SaaS de nueva generación - se volvió costoso. El gasto creciente se correlacionó directamente con la sobrecarga de numerosos individuos de los diferentes niveles que se comunicaban (ya menudo se comunican erróneamente), y los cambios en una cascada en otros niveles y en los parámetros de desarrollo.


Por su parte, la tecnología para crear la nueva generación de sitios web 2.0 se simplificó y simplificar. Los programadores pasaron de utilizar la más complicada pila de bases de datos empresariales y bases de datos como Oracle en la más sencilla pila LAMP (Linux, Apache, MySQL, PHP / Python / Perl). Nuevos lenguajes y marcos como Django y Ruby on Rails automatizaron la capa entre el sitio web y la base de datos. Los marcos de gama frontal como jQuery ayudaron a abstraer todas las complicaciones entre diferentes navegadores. Los servicios en la nube, como Amazon Web Services, simplificaron el desarrollo y proporcionaron redes llave en mano.


A finales de los años 2000, con los niveles de abstracción se consiguió cierta sencillez haciendo posible para muchos programadores entregar un programa completo: cliente web dinámico, una lógica comercial del lado del servidor, una base de datos escalable, despliegue y soporte operativo . Esta nueva raza de desarrolladores de pila completa (full stack) podría hacer círculos alrededor de equipos de programadores que intentaran la misma tarea. Cuando se aumentaron los proyectos, añadir más programadores de pila completa permitió a una sola persona añadir una única característica a todos los niveles de una aplicación, lo que aceleró la entrega de funciones sobre el gasto de comunicación de tener diferentes personas propietarias en las diferentes capas.


Por lo tanto, un desarrollador de pila completa sería capaz, si no es fluido, de:


  • Servidor, red y entorno de alojamiento

  • Bases de datos relacionales y no relacionales

  • Como interactuar con las API y el mundo externo

  • Interfaz de usuario y experiencia de usuarioi

  • Garantía de calidad

  • Problemas de seguridad durante todo el programa

  • Comprender las necesidades de los clientes y las empresas


Es posible en la web 2.0? Naysayers argumenta que, con los aspectos cada vez más diversos del desarrollo web, es casi imposible ser un verdadero desarrollador de pila completa. Francamente, puede que ni siquiera sea práctico hacerlo.


Otros creen que un desarrollador de pila completa es simplemente alguien que esté familiarizado con todas las capas del desarrollo de software informático. Estos desarrolladores no son expertos en todo; simplemente tienen un conocimiento funcional y una capacidad para tomar un concepto y convertirlo en un producto terminado. Estos gurús hacen que el software de construcción sea mucho más sencillo, ya que entienden cómo funciona todo de arriba a abajo y pueden prever problemas en consecuencia. En nuestra opinión, esta es la definición más realista de un desarrollador de pila completa.


A menudo, esta clase de desarrolladores proviene de entornos de creación inicial, donde un amplio conocimiento de todas las facetas del desarrollo web es esencial para la supervivencia de un negocio. Es evidente que se necesitan años de experiencia laboral en diferentes idiomas, roles e industrias para alcanzar este nivel de calificación. Por ello, los desarrolladores de pilas completas son pocos y se encuentran entre todos, lo que hace que los que existen sean muy empleables y en demanda.




¿Sabes la historia de PHP?