¿Qué es un Full Stack Developer?

Antes de meternos en temas más ríspidos y complejos, quise comenzar este blog dando una pequeña definición sobre lo que es (o lo que pienso que es) un desarrollador full-stack. No solo porque considero que es útil como información para aquellos «no-desarrolladores» que se topen con este post, sino que también me servirá para ir ejercitando la pluma en esto de ser bloggero. Comencemos.

web developer significado
«Primero resuelve el problema. Entonces, escribe el código» John Johnson

¿Qué es Full Stack?

Actualmente las principales búsquedas de las empresas se centran en el perfil de un full-stack developer cuando requieren a una persona técnica, normalmente programador informático, que conozca en profundidad todas las facetas del front-end y del back-end y los diferentes sistemas operativos como así también, los componentes que quedan en medio de esas fronteras.

A la hora de realizar tareas de recruiting, sobre todo en empresas tecnológicas concebidas como startups, los desarrolladores full-stack son la primera opción. Al comenzar con pocas personas y tener normalmente pocos recursos para contratar desarrolladores, sus componentes deben ser capaces de asumir tareas de diferente índole y estar preparados para conocer las diferentes partes técnicas del proyecto.

Fue Laurence Gellert en su blog el primero en acuñar el término «full-stack developer» a mediados 2012 , haciendo referencia a un profesional con experiencia en servidores, redes, data modeling, APIs, UI y UX y un buen entendimiento de las necesidades del cliente o consumidor, entre otras.

¿Qué significa entonces full-stack? Básicamente hace referencia al conjunto de tecnologías (o «pila», por la traducción de «stack» al español) que un profesional especializado en el desarrollo de software maneja y que le permiten abarcar las múltiples etapas que conlleva un desarrollo web.

stack traduccion
«Hay sólo dos clases de lenguajes de programación: aquellos de los que la gente está siempre quejándose y aquellos que nadie usa» Bjarne Stroustrup

¿Existen distintos tipos de «stacks»?

La respuesta es si. Como se desprende de lo anteriormente dicho, un stack es un conjunto de tecnologías que un desarrollador maneja o conoce. Por lo tanto, existen múltiples combinaciones que son utilizadas.

Algunos de los stacks más utilizados hoy en día son:

MEAN: Este conjunto de tecnologías es uno de los más utilizados por los desarrolladores Javascript. Esta compuesto por MongoDB como motor de base de datos NoSQL, Express como framework para manejo de peticiones HTTP (entre otras muchas cosas), Angular para el front-end y NodeJs para poder ejecutar js del lado del servidor.

WAMP: Este es uno de los primeros stacks que aprendí. Básicamente es un conjunto de aplicaciones y tecnologías para el desarrollo web pensadas para plataformas Windows, valiéndose de Apache como servidor, MySQL como motor de base de datos y PHP (existen variaciones con Python y Perl) como lenguaje back-end. Del lado de front, pueden usarse frameworks Javascript como VueJs o simplemente HTML y CSS «puros».

MAMP y LAMP: Son stacks similares al anterior pero para sistemas operativos Mac y Linux respectivamente.

.Net: Este es un stack muy demandado en la industria y uno de los que más utilizo. Se trata de una pila de lenguajes desarrollados por Microsoft para el desarrollo multiplataforma. En mi caso, utilizo C# como lenguaje backend, MVC Core 2.0 como framework (junto con Entity Framework), Microsoft SQL Server como motor de base de datos y Angular para el frontend.

Laravel, VueJS y MySQL: Este es otro de mis favoritos. Consiste en el framework Laravel para utilizar PHP bajo el patrón arquitectónico MVC (Model-View-Controller), VueJS para las vistas y MySQL como motor de bases de datos relacional.

Como verán, existen muchas tecnologías y combinaciones de las mismas para encarar el desarrollo full-stack. Todo dependerá de las necesidades de cada proyecto y las preferencias del desarrollador.

¿Ustedes qué stack utilizan?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *