El concepto de diseño de pila completa

En una ocasión, la mayoría de las personas que trabajaban en el desarrollo de sitios web tenían roles claramente definidos dentro de un equipo de desarrollo, y rara vez se esperaba que se superpusieran a otros roles.

Las cosas han cambiado. Ahora se puede esperar que las personas realicen tareas múltiples, e incluso en organizaciones grandes, los roles de trabajo pueden ser intercambiables entre los miembros del equipo.

Cada vez más, estamos viendo anuncios de trabajo que exigen "desarrolladores de pila completa", y el problema es que no todos entienden lo que significa este término. Tampoco es un requisito razonable en muchos casos. A menudo se puede ver que quien colocó el anuncio tampoco tenía idea de lo que significa el término, y simplemente lo usó porque todos los demás lo están haciendo.

El desarrollo de pila completa es, de hecho, nada especial. Lo más probable es que ya tenga todas las habilidades requeridas, pero probablemente sobresalga más en un área particular de la pila que en otras. Sin embargo, cada vez es más difícil ser contratado como especialista, por lo que es una buena idea tener la certeza de una comprensión amplia de las tecnologías de la pila central.

imagen por

¿Por qué la demanda de desarrolladores de pila completa es contraproducente?

Los diseñadores son buenos en diseño. Los codificadores son buenos en la codificación. Los ingenieros son buenos en ingeniería. Cuando requiere que un individuo sea competente en cada parte del trabajo de diseño y desarrollo, puede terminar con resultados menos que perfectos.

Esa es la lógica simple. Alguien con una pasión por el diseño debería estar diseñando, así como alguien con una pasión por el código debería estar diseñando. Si un programador nato se ve obligado a diseñar algo, él o ella puede idear un diseño aceptable, pero lo más probable es que no sea tan bueno como algo diseñado por un diseñador nato.

Si bien puede ser útil que los miembros del equipo comprendan los trabajos de los demás e incluso que puedan completar el uno por el otro, generalmente es mejor permitir que cada miembro se esfuerce por alcanzar sus puntos fuertes.

¿Qué es un desarrollador de pila completa?

Comenzaremos por definir qué es realmente "la pila". La idea de la pila es un grupo de tecnologías interconectadas que hacen posible que exista un sitio.

Un desarrollador de pila completa, entonces, es alguien que puede manejar cada capa en esa pila de tecnologías sin inmutarse.

La primera capa: UX Research

El proceso de desarrollo de un sitio web comienza con averiguar qué objetivo se supone que debe alcanzar el sitio y luego desarrollar un plan basado en ese objetivo.

La experiencia del usuario (UX) es un concepto vagamente definido que es fundamental para el diseño y desarrollo de sitios modernos. Al planificar el sitio web, deberá considerar la UX que está creando. Esto requiere un poco de investigación para determinar qué atributos necesitará el sitio para ofrecer un UX positivo.

gif por

La segunda capa: Diseño de interfaz de usuario

Habiendo determinado los factores que proporcionarán un UX positivo, ahora pasa a diseñar una Interfaz de usuario (UI) que abordará los factores de UX que ha identificado.

Esto significa pensar en cosas como los indicadores de carga, el menú de navegación, las rutas de navegación, el diseño del sitio, los fondos, las imágenes, las fuentes, los colores y, quizás, cosas más avanzadas como el audio y el video.

El objetivo es hacer que todas estas cosas sean lo más fáciles de acceder posible, y garantizar que se vean bien y funcionen bien. Asegurarse de que los componentes individuales estén optimizados también es una buena idea para planificar con anticipación.

La tercera capa: Desarrollo Front End

Aquí es donde comienza la acción real. Hasta ahora todo ha sido planificación y diseño, pero en esta etapa en realidad implementar el diseño. Usando HTML, CSS, JavaScript y quizás otras tecnologías, el prototipo del sitio web toma forma y (eventualmente) cobra vida.

A menos que sea un sitio muy simple, probablemente no sea completamente funcional en este punto. Sin embargo, será un prototipo funcional que al menos tiene la apariencia de cómo se supone que es el sitio terminado.

gif por

La cuarta capa: Back End Development

El extremo posterior del sitio es donde se emplean tecnologías habilitadoras especiales. Si su sitio necesita do cualquier cosa en el lado del servidor basada en las acciones del usuario (por ejemplo, procesar el contenido de un carrito de la compra antes de pasar una solicitud a PayPal), entonces esto es lo que sucede.

Hay muchas tecnologías diferentes que puede seleccionar para encargarse de estas tareas, y algunas son más adecuadas que otras. Las opciones más comunes en este momento son PHP y Ruby, pero hay muchas más opciones de 1000 que podrían ser igualmente seleccionadas.

PHP es la solución más flexible y fácil, pero puede que no sea necesariamente la más eficiente. Para cualquier persona que está comenzando su carrera, es el mejor lenguaje del lado del servidor para aprender, ya que es fácil de aprender y porque se usa mucho de muchas maneras.

En ocasiones, esta capa puede incluir elementos como la configuración y administración del servidor, la ingeniería de redes, etc.

La quinta capa: Administración de base de datos

Diseñar y desarrollar bases de datos para respaldar las tareas que debe manejar su sitio puede ser una tarea importante. Para hacer esto bien, necesita dominar la arquitectura de la base de datos, y también convertirse en un maestro de SQL.

Esta es una de esas cosas que suena realmente fácil y en realidad resulta ser más compleja de lo esperado. Todo depende de qué tan elegantes sean las tareas a manejar.

ilustración por

¿Cómo debe un nuevo desarrollador obtener las habilidades necesarias?

La mejor manera es comenzar a aprender desde la quinta capa y pasar a la primera capa. Eso es porque las capas están ordenadas por su dificultad para aprender. La tarea más difícil es crear excelentes bases de datos, y también será la tarea menos interesante para la mayoría de las personas. Mejor quitarlo del camino rápidamente, entonces.

Luego pasaría a aprender un lenguaje de programación como PHP, Ruby, Python, Java, etc. Podría aprender tantos o tan pocos como desee, pero las oportunidades disponibles para los programadores de PHP son mucho más abundantes que para los otros idiomas. Cuando se trata de desarrollo web. La excepción es JavaScript, pero esto todavía se considera principalmente como un lenguaje del lado del cliente, por lo que técnicamente pertenece a la tercera capa.

Después de dominar un lenguaje de programación de back-end, pasaría a aprender la tarea mucho más fácil de crear sitios con HTML, CSS y JavaScript (y / o otras tecnologías).

A continuación, pasaría a la tarea aún más sencilla del diseño de la interfaz de usuario. Teniendo en cuenta lo fácil que es esto, es sorprendente que muchos sitios tengan interfaces de usuario mal diseñadas o interfaces de usuario extremadamente derivadas. Diseño de interfaz de usuario no es un poco difícil.

Finalmente llegas a lo más fácil de todas, que es la investigación de UX. La razón por la que esta es tan fácil es porque has estado involucrado en ella desde el día en que naciste. Venimos al mundo reaccionando a cosas que nos traen alegría o angustia.

Para cuando sea adulto, debe tener una buena comprensión de estas cosas, y el diseño de UX consiste simplemente en planificar una experiencia de usuario que incluya más cosas que causan alegría y menos cosas que causan angustia.

imagen del encabezado cortesía de

Bogdan Rancea

Bogdan es miembro fundador de Inspired Mag, habiendo acumulado casi 6 años de experiencia durante este período. En su tiempo libre le gusta estudiar música clásica y explorar artes visuales. También está bastante obsesionado con los fixies. Ya es dueño de 5.