Que es un Full-stack Developer?
HTML/CSS
- HTML Semántico
- Beneficios y utilidad de preprocesadores CSS (habilidad muy importante que recomiendo, aunque no necesariamente tienes que conocer a fondo sobre estos, pero si quieres y te gusta ahorrar tiempo que nos conviene, deberías considerarlo).
- CSS Media Queries para hacer completamente responsive y adaptables tus maquetaciones y sitios web.
- Boostrap. Este es un framework muy conocido que particularmente me encanta mas que todo por su estructura de rejillas extremadamente responsive que evita complicarte mucho la vida cuando maquetas.
Javascript
- Entender su forma de trabajar con el DOM (llamado asi al documento en el frontend).
- Comprender los términos básicos del lenguaje como lo son: herencias, prototipos, closures, delegación de eventos, scope, funciones higher-order, etc.
- Flujo de trabajo Asíncrono (Asynchronous Control Flow), promises y los llamados callbacks que me costaron mucho comprender un día.
- Como modularizar y estructurar correctamente cada una de sus partes. Cosas como webpack, browserify o herramientas como gulp serán útiles conocerlas.
- Saber utilizar al menos un Framework o librería popular. En realidad muchas veces algunos desarrolladores se centran demasiado en un framework en específico, opino que lo mejor es aprender y tener una buena plataforma de conocimientos sobre el lenguaje. De igual forma, si sabes Javascript lo suficiente, cualquier framework o librería será tarea de niños.
- Aunque muchos digan, se quejen y renieguen de él, Jquery sigue estando presente en los corazones de cada desarrollador y en la mayoría de las aplicaciones hoy día. Te recomiendo aprender mucho sobre este.
- Investigue, eduquese, infórmese sobre las características más importantes de ES6 y demás. Estos estándares y mejoras del lenguaje son realmente importantes para desarrollar aplicaciones modernas hoy.
- Nodejs: Es un entorno de Javascript, asi que si logras dominarlo, te sera mucho mas facil.
- Python
- Java: Este lenguaje no se enseña tanto estos días para el campo Full-stack, pero algunas compañías todavía requieren desarrolladores en este lenguaje a montón.
- Php: Es uno de los más populares hoy después de Javascript. Sigue teniendo muchísima demanda sobre todo con Frameworks como Laravel o Cakephp.
- Comprender los beneficios de las bases de datos relacionales como las SQL .
- Conocer las bases de datos NoSQL , como MongoDB (la más popular, creo).
- Saber cómo conectar una base de datos con el lenguaje backend elegido (por ejemplo, Node.js + MongoDB).
- Almacenamiento web y almacenamiento de sesiones, cookies, y datos en cache del navegador.
- Básicamente, para no hacer interminable el post y mantenernos cortos y precisos, esos serian los puntos más fundamentales para conocer el mundo de un desarrollador Full-stack. Muchas veces dependiendo el área en la que te encuentres tendrás que conocer muchísimos términos como: Protocolos Http & REST, arquitectura de aplicaciones y sus tipos, controladores de versiones como GIT, algoritmos, etc.El mundo de un desarrollador web, programador o cualquiera que sea la carrera que elijas en la tecnología será un aprendizaje constante que en la mayoría de los casos te volverá el mejor autodidacta que conozcas en tu entorno, si, tu mismo. Es importante entender que como desarrolladores debemos aprender y renovarnos rápida y constantemente para adaptarnos a los cambios. ¿Podría decirse que nuestro campo es mucho más dinámico que el de un Ingeniero en cualquier área? Creo que si.
Cualquier lenguaje Backend (Php, Java, Python, Ruby, etc)
