Original article: What is a Full Stack Developer? Back End + Front End = Full Stack Engineer

Si recién empiezas en la industria de la tecnología, es posible que hayas oído hablar del término Full Stack. Pero, ¿qué significa eso exactamente?

En este artículo, explicaré qué es Full Stack Development, qué habilidades necesitas para convertirte en Full Stack Developer, así como el tema de las expectativas salariales, sumado a unos consejos para conseguir el trabajo.

¿Qué es el Desarrollo Full Stack?

Un desarrollador Full Stack es alguien que trabaja tanto con el front-end como con el back-end de una aplicación web. El front-end es responsable de la apariencia visual del sitio web, mientras que el back-end es responsable de la lógica y la infraestructura detrás de escena del sitio.

Echemos un vistazo más de cerca a los términos front-end y back-end.

Desarrollo Frontend (Punto de vista del cliente)

Todo en una página web, desde el logotipo hasta la barra de búsqueda, los botones, el diseño general y la forma en que el usuario interactúa con la página, fue creado por un desarrollador front-end. Los desarrolladores front-end están a cargo de la apariencia del sitio web.

Los desarrolladores front-end también deben asegurarse de que el sitio web se vea bien en todos los dispositivos (teléfonos, tabletas y pantallas de computadora). Esto se llama Diseño Web Adaptable.

Desarrollo back-end (Punto de vista del servidor)

El desarrollo de back-end se refiere a la parte de la aplicación que el usuario no ve. Los desarrolladores de back-end se centran en la lógica del sitio, creando servidores y trabajando con bases de datos y API (interfaces de programación de aplicaciones).

Por ejemplo, el contenido y el diseño de un formulario se crearían en el lado del cliente. Pero cuando los usuarios envían su información, esta se procesa en el lado del servidor (back-end).

Ejemplo de una aplicación Full Stack del mundo real

Para comprender mejor el aspecto de una aplicación de pila completa, examinemos el sitio web de freeCodeCamp.

image-13

Todo lo que ves en la página se consideraría front-end. Todos los botones, texto, colores y diseño son trabajo del desarrollador front-end.

Cuando se trata de cosas como las credenciales de usuario, todo eso lo mantiene el back-end. Todos los procesos de inicio de sesión y la información del usuario son ejemplos de desarrollo de back-end en el trabajo.

image-14

Si tienes curiosidad y quieres echar un vistazo al código, puedes encontrarlo en la página de código abierto de freeCodeCamp.

Habilidades que necesitas en el desarrollo Full Stack

Echemos un vistazo a las tecnologías y herramientas que necesitará aprender para convertirse en un desarrollador de pila completa.

HTML
HTML significa lenguaje de marcado de hipertexto. HTML muestra el contenido de la página como botones, enlaces, encabezados, párrafos y listas.

Para aprender los conceptos básicos de HTML, freeCodeCamp tienes un curso acelerado de HTML para principiantes: Tutorial del sitio web.

CSS
CSS significa hojas de estilo en cascada. CSS es responsable del estilo de su página web, incluidos los colores, los diseños y las animaciones.

El curso de diseño web adaptativo de freeCodeCamp te enseñará los conceptos básicos de CSS, diseño adaptativo y accesibilidad. El diseño adaptativo es esencial para crear sitios web que se vean bien en todos los dispositivos.

La accesibilidad es la práctica de asegurarse de que todos puedan usar fácilmente sus sitios web. No deseamos crear sitios web que no puedan utilizar aquellos que utilizan tecnologías de asistencia como lectores de pantalla.

JavaScript
Utiliza JavaScript con HTML y CSS para crear páginas web y aplicaciones móviles dinámicas e interactivas. Los ejemplos de JavaScript incluyen animaciones, relojes de cuenta regresiva, menús móviles desplegables y mostrar/ocultar información cuando un usuario hace clic en un elemento de la página.

Para comenzar a aprender JavaScript, puedes tomar el curso de estructuras de datos y algoritmos de JavaScript de FreeCodeCamp. A partir de ahí, puedes comenzar a crear proyectos desde mi artículo 40 proyectos de JavaScript para principiantes. También están disponibles otros cursos.

Frameworks, bibliotecas y preprocesadores de CSS

Estas herramientas se crearon para ayudar a acelerar el proceso de desarrollo. En lugar de escribir todo el CSS personalizado, puedex usar el catálogo de un marco de clases de CSS en sus páginas web.

No hay necesidad de aprenderlos todos, pero aquí hay una lista de algunas opciones:

Los preprocesadores de CSS como Sass y Less le permiten agregar lógica y funcionalidad a su CSS. Estas herramientas hacen que tu CSS sea limpio y fácil de usar.

Bibliotecas y marcos de JavaScript

Estos marcos y bibliotecas te permiten ahorrar tiempo y hacer más con menos código.

Aquí hay algunas opciones populares:

No es necesario aprenderlos todos. Simplemente debes investigar qué tecnología se usa en su área y comenzar a aprenderla bien.

Aquí hay algunos recursos de aprendizaje sugeridos.

Bases de Datos

Es importante que un desarrollador Full Stack sepa cómo trabajar con bases de datos. Una base de datos en una aplicación web es un lugar para almacenar y organizar los datos de tu proyecto.

Hay muchos tipos de bases de datos para aprender, pero aquí hay algunas opciones populares.

Lenguajes de Programación para Back- end
Los lenguajes que puedes emplear para el desarrollo de back-end incluyen Java, Python, Node y PHP. No es necesario aprender todos estos lenguajes, sino concentrarse en uno para comenzar.

Aquí hay algunos recursos de aprendizaje sugeridos.

También hay muchas tecnologías para el desarrollo de front-end y back-end. Aquí hay algunos populares.

En realidad hay más lenguajes de back-end para elegir, pero te sugiero que investigues los idiomas más utilizados en tu área.

Habilidades de prueba y depuración

A medida que desarrollas tu aplicación, habrá errores en el código que deben corregirse. La depuración es el acto de identificar esos errores ("bugs") y corregirlos.

La prueba (mejor conocida como Testing) es otra habilidad importante para aprender. Escribir pruebas para tu código es una forma de asegurarte el mismo está haciendo lo que se supone que debe hacer.

Para una explicación más detallada sobre los diferentes tipos de pruebas, sugiero leer este artículo.

Control de versiones

El control de versiones es una forma de rastrear y administrar los cambios en el código del proyecto. Git es un software popular que puede usar para rastrear su código.

Si estropeas muchas cosas en tu código, puedes usar Git para volver a una versión anterior de este en lugar de volver a escribir todo manualmente.

Aprender Git también te permite colaborar con otros en un equipo y realizar cambios en la misma base de código desde diferentes ubicaciones.

Sugeriría comenzar a aprender Git y usar un servicio como GitHub para alojar tus proyectos personales.

Resolución de problemas

La habilidad más importante para cualquier desarrollador es saber cómo resolver problemas. Empresas y clientes te buscan para aportar soluciones.

Es importante aprender a abordar un problema, dividirlo en partes más pequeñas y manejables y solucionar el problema en estas aplicaciones web.

¿Debo perseguir como objetivo el desarrollo full stack?

Si recién estás comenzando y no puedes determinar si el desarrollo Full Stack es para tí, simplemente no se preocupes por eso tan temprano en tu aprendizaje.

Sugeriría centrarse en aprender los tres lenguajes principales de la web, que son HTML, CSS y JavaScript. A medida que avanza en su viaje, entonces puedes decidir qué camino es apropiado para tí.

¿Cuánto gana un desarrollador Full Stack?
El rango de salario para los trabajos de Full Stack completa diferirá según el lugar del mundo en el que te encuentres. Sugeriría usar sitios como Glassdoor, Indeed y ZipRecruiter para buscar salarios en su área.

Aquí hay ejemplos de salarios para los Estados Unidos. Estos datos fueron proporcionados por ZipRecruiter y muestran el promedio nacional.

Veamos primero el salario de un desarrollador junior Full Stack. Los desarrolladores junior son aquellos que han estado trabajando en la industria durante dos años o menos.

image-15

A continuación, echemos un vistazo a los salarios de full stack de nivel medio. Estos desarrolladores han estado trabajando entre 2-4 años aproximadamente.

image-16

Por último, echemos un vistazo a los salarios senior full stack. Estos desarrolladores han estado trabajando en la industria durante algunos años y, a menudo, sirven como mentores para desarrolladores de nivel junior y medio.

image-17

¿Cómo puedes obtener un trabajo como Desarrollador Full Stack?

Una vez que hayas aprendido los aspectos técnicos del desarrollo Full Stack; debes concentrarte en reunir los materiales de tu solicitud de empleo.

Hay muchos recursos increíbles que pueden ayudarlo a aprender cómo obtener un trabajo en el área.

Recursos para la elaboración de currículos

Recursos para entrevistas técnicas

Consejos para conseguir un trabajo

También incluiré recursos sobre cómo comenzar a trabajar independientemente si está interesado en seguir esa ruta.


Espero que hayas disfrutado este artículo. Te deseo mucha suerte en tu camino para convertirte en un desarrollador Full Stack.