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

Analicemos primero el desarrollo web:

yo. Diseñador web
Tecnologías: gráficos web y animación ( Adobe Photoshop, Illustrator, etc., animación Flash )

ii. Desarrollador web (front-end)
Tecnologías: HTML, CSS, JavaScript, ActionScript (para Flash)

iii) Desarrollador web (back-end)
Tecnologías:

  • Uno o más lenguaje de secuencias de comandos del lado del servidor ~ PHP, JSP, CFM, NodeJS, Ruby (para el marco de Ruby on Rails ~ ROR ), C # ( .Net ), Python , Perl , etc.
  • Una o más bases de datos (SQL) ~ MySql / MariaDB, PostgreSql, MS SQL, Oracle, etc.

A mediados de los noventa, cuando comencé como diseñador web, solo conocía herramientas gráficas como Photoshop e Illustrator. Muy pronto fue obvio que los sitios web no solo se diseñaron visualmente, sino que se desarrollaron esencialmente con lenguajes de programación que los hicieron interactivos. En unos pocos meses, comencé a llamarme desarrollador web después de aprender las tecnologías front-end. En esos días. Los sitios web basados ​​en datos casi siempre se crearon exclusivamente con Perl en el back-end. Los applets de Java también fueron muy populares. Sin embargo, las cosas cambiaron drásticamente en un par de años con el lanzamiento de Shockwave Flash y las nuevas versiones de HTML / CSS / JS. Entonces, los desarrolladores front-end comenzaron a aprovechar ActionScript para crear cosas sofisticadas justo en el front-end. ActionScript es similar a JavaScript (ECMAScripts). Las cosas emocionantes también comenzaron a suceder con JavaScript, pero la vida fue difícil ya que las guerras del navegador continuaron hasta principios de los años 00, lo que dio lugar a muchos problemas de compatibilidad del navegador.

Para el año 2000, ya estaba escribiendo scripts de back-end con conectividad de base de datos. Así que fácilmente podría llamarme un desarrollador de pila completa. Sin embargo, ese término ni siquiera se escuchó, o al menos no en el dominio del desarrollo web de todos modos.

‘Pila’ significa una combinación particular de tecnologías frecuentemente utilizadas por una comunidad de desarrolladores de software o aplicaciones web. Mi elección fue la plataforma o pila LAMP : sistema operativo Linux, servidor web Apache , base de datos MySql y secuencias de comandos del lado del servidor PHP . Para ser un desarrollador de pila completa, no solo tiene que conocer los lenguajes front-end y back-end y SQL para la base de datos, también debe tener un muy buen conocimiento práctico del sistema operativo del servidor y la administración del servidor web . Mientras que un desarrollador web puede concentrarse en uno o dos idiomas, un desarrollador de pila completa conocerá los entresijos del entorno web y todos los aspectos de la aplicación web. Con frecuencia, ellos son los responsables de construir la arquitectura de una aplicación desde cero.

Un desarrollador de pila completa también tendrá conocimiento de varias otras tecnologías y marcos como JSON , XML , XSLT , bibliotecas de JavaScript ( JQuery, Angular, BootStrap, PrototypeJS), scripts de Shell, etc.

Al igual que en Matrix, no hay un desarrollador de pila completa, pero si existiera, se vería así

Imagina que eres un ninja completo. Tienes que ser experto en todos los aspectos del desarrollo y la implementación, lo que significa que trabajas en cualquier sistema operativo. Se siente cómodo actuando como administrador de la base de datos mientras desarrolla componentes para React y no tiene problemas para crear una recreación perfecta de píxeles de un diseño en html / css. Sabe cómo solucionar problemas de su implementación en Linux / Unix / Windows a través de varias capas de infraestructura, redes, clústeres, equilibradores de carga. Al mismo tiempo, escribe código para los servicios y procedimientos de back-end y, a veces, escribe scripts en awk. Te sientes cómodo con una gran cantidad de lenguajes y entornos de programación.

Es imposible ser eficiente en todas las áreas, pero algunos ninjas raros se acercan al no tener vida ni nada …

por otro lado, el desarrollador web es algo mucho más “real”.

Por lo tanto, es posible que conozca HTML / CSS y algunos PHP que utiliza para modificar el código existente para cumplir con su propósito, pero su enfoque principal es construir páginas y agregar magia con JavaScript. Puede recrear el diseño de Photoshop con píxeles perfectos en React sin problemas y puede buscar cosas en SQL.

Pero lo que realmente significa es que una persona no conoce lo suficiente de las otras partes de la pila para llamarse pila completa y ser genial como todos los demás que lo hacen independientemente.

Aclamaciones

El desarrollador web puede desarrollar una interfaz de usuario (front-end), infraestructura de servidor (back-end) o ambos (full-stack).

En otras palabras, si alguien está haciendo solo front-end, aún puede llamarlo desarrollador web. Pero llamarlo desarrollador de pila completa sería engañoso, ya que no desarrolla back-end.

La mayoría de las veces no lo es.

Full stack Developer es solo un título atractivo para presumir. La mayoría de los desarrolladores web suelen hacer lo que podemos llamar desarrollo de pila completa.

Pero el aumento del desarrollo frontend, Frameworks como Angular, Ember necesita un poco de habilidad adicional, por lo que los desarrolladores web simplemente se diferencian de los frontend, creo.

Sin embargo, aún con todos esos marcos, todavía, por lo general, los desarrolladores hacen frontend y backend simultáneamente y se hacen llamar Full Stack Developer.

Muchos desarrolladores web se clasificarán como front-end o back-end, otros se consideran apilados, porque se sienten cómodos en el front-end y el back-end. Principalmente soy un desarrollador de back-end, pero también estoy más que cómodo trabajando en código front-end.