¿Buscas nuestro logo?
Aquí te dejamos una copia, pero si necesitas más opciones o quieres conocer más, visita nuestra área de marca.
¿Buscas nuestro logo?
Aquí te dejamos una copia, pero si necesitas más opciones o quieres conocer más, visita nuestra área de marca.
dev
Arturo Batanero 14/04/2016 Cargando comentarios…
Según la "Developer survey 2016" de StackOverflow, una mayoría de desarrolladores se consideran a sí mismos "full-stack developers", un perfil intrínsecamente senior, muy exigente en conocimientos y con alta demanda en el sector.
Hablamos de un desarrollador capaz de diseñar e implementar proyectos tanto en el lado servidor como en el lado cliente, lo que implica conocer los puntos fuertes y débiles de cada tecnología y mantenerse actualizado según estas vayan evolucionando y/o aparezcan otras nuevas.
Con la evolución tecnológica del Web stack, mantenerse actualizado y productivo en el front y en el back-end resulta cada vez más complicado, hasta el punto de cuestionarnos si poder cumplir esas expectativas ya es más un mito que una realidad.
Fuente: www.packtpub.com
Cuando se creó este perfil, a principios de los años 2000, las tecnologías Web eran claramente menos complejas y las opciones entre las que escoger, menos numerosas:
En este contexto era perfectamente posible para un mismo desarrollador asumir la responsabilidad de todo el desarrollo.
El perfil full-stack había nacido, haciéndose popular con la expansión de Facebook, la cual, aparentemente sólo contrataba desarrolladores con este perfil.
Desde entonces, la evolución de las tecnologías front y back-end ha sido considerable:
La máquina virtual del navegador ha seguido evolucionando, desde la mera presentación de documentos del comienzo hasta convertirse en una verdadera plataforma de aplicaciones.
La última característica del paradigma de orientación a objetos que le faltaba, el encapsulamiento, ya lleva tiempo resuelta a nivel JS y ahora lo está también a nivel del DOM, con estándares como el Shadow DOM o los Custom Elements.
Las soluciones que hacen uso de esto nos empiezan a ofrecer la posibilidad de una verdadera “componentización” en las aplicaciones Web: AngularJS 2.x, Polymer o React, entre otros, tratan de dar respuesta a esta filosofía (los antiguos expertos en FLEX se van a sentir como en casa ahora).
Al inicio de la década actual, al entorno desktop se añadió el entorno móvil con una experiencia de usuario propia.
Tanto iOS como Android exigen dominar su ecosistema, rico y complejo, si se desean ofrecer soluciones nativas y, sólo en el caso de utilizar tecnologías híbridas basadas en el DOM del navegador (Apache Cordova, por ejemplo), es posible ahorrar esfuerzos de desarrollo, si bien con contrapartidas de rendimiento.Lo último son tecnologías híbridas donde se administran recursos nativos orquestados mediante Javascript, ofreciendo experiencias de uso indistinguibles de las nativas (NativeScript o React Native).
Las posibilidades de layout son ahora mucho más potentes. Los estándares de CSS y el DOM permiten maquetaciones muy sofisticadas, necesarias para adaptarse a los múltiples clientes: mobile/desktop, diferentes tamaños y densidades de pantalla, UIs táctiles, etc. Y son estándares que siguen creciendo (CSS4, FlexBox) no ya solo en 2D, sino también en 3D (WebGL).
En el back-end, las BBDD ya no siguen en exclusiva el modelo relacional. Las capas de persistencia “NoSQL” han llegado para quedarse y son varios los actores en esta película.
De aplicaciones de arquitectura monolítica se está pasando a arquitecturas más distribuidas, basadas en microservicios, mucho más escalables y a las que se les deriva, no ya aspectos clásicos como el almacenamiento de la información, sino también parte del procesamiento de esa información.
Fuente: www.carlosja.com
Aún con este panorama tecnológico tan amplio, el desarrollador con vocación full-stack aún tiene alguna posibilidad. Un ejemplo de ello es que, escogiendo bien el stack de tecnologías, ahora se puede utilizar el mismo lenguaje en todos los contextos del desarrollo: Javascript en el cliente desktop (DOM), en el cliente móvil (Cordova, React Native), en el servidor (Node.js) o en la BBDD (MongoDB).
Y sin embargo, esperar que una misma persona pueda escoger las tecnologías óptimas en toda circunstancia, realizar los desarrollos front y back con alta productividad y todo en un plazo de tiempo razonable, parece algo cada vez menos realista.
Sin negar que siga habiendo casos en los que esté justificado un perfil full-stack clásico, como en start-ups creadas en torno a un stack concreto o en proyectos más pequeños, ¿no deberíamos jubilar definitivamente este perfil tal y como lo conocemos?
¿O quizás solo es cuestión de buscar una nueva etiqueta para alguien que, teniendo que conocer hasta cierto nivel todas las capas, su responsabilidad principal sea sólo integrarlas?
Los comentarios serán moderados. Serán visibles si aportan un argumento constructivo. Si no estás de acuerdo con algún punto, por favor, muestra tus opiniones de manera educada.
Estamos comprometidos.
Tecnología, personas e impacto positivo.
Cuéntanos qué te parece.