Hay un montón de tutoriales en línea completamente gratis. Si eres lo suficientemente autodirigido e interesado, no tienes ninguna dificultad para entrenarte a ti mismo. El punto para aprender a codificar creo que es leer mucho código de otros desarrolladores, luego escribir código y probar para ver qué produce, cuál es el error que experimentas. Luego busca en Google o en stackoverflow los mensajes de esos errores para que puedas entender por qué. Leer, leer, leer, codificar, codificar, codificar.
Este es un proceso paso a paso, pero creemos que realmente vale la pena aprender a codificar.
Este artículo es una especie de hoja de ruta para convertirse en desarrollador web. Esboza los mejores tutoriales y los mejores cursos para proporcionar una manera de comenzar una carrera como ingeniero de frontend o backend.
El articulo está dividido en 6 partes:
- Cómo empezar: Por dónde empezar si eres nuevo en el mundo de la codificación
- Codificación general y herramientas: Conceptos de programación que todo desarrollador debe conocer
- Desarrollo de Frontend: Aprenda a construir interfaces de usuario (UI's)
- Desarrollo de Backend: Aprenda a construir APIs y a escribir código de servidor
- JavaScript y codificación en profundidad: Aprender JS de arriba a abajo
- Libros de Ingeniería de Software.
Si todavía estás aprendiendo los fundamentos, deberías empezar con la sección "Cómo empezar" para fortalecer los principios básicos de codificación. La sección "Codificación general y herramientas" contiene contenido que debe ser conocido por todos los desarrolladores, como Git, la línea de comandos y las herramientas clave.
El desarrollo web consiste típicamente en dos disciplinas: el front end y el backend. El frontend es la interfaz con la que los usuarios interactúan en el navegador web y se ocupan de la disposición, el estilo y la gestión de los datos enviados desde el servidor para los desarrolladores interesados en los aspectos visuales y la interactividad. El backend se centra en la creación de APIs y en la gestión de la compleja lógica de la aplicación, para los desarrolladores de datos y de lógica pura.
Te sugerimos encarecidamente que al menos te sientas cómodo tanto con el front end como con el backend, ya que el conocimiento completo del stack es extremadamente valioso y hace que tu conjunto de habilidades sea mucho más atractivo.
Bueno, empecemos.
1. Introducción a la codificación
Tu primer encuentro con la programación
Saber por dónde empezar puede ser la parte más intimidante de la programación. Nuestra sugerencia:aprende JavaScript.
- JavaScript es un lenguaje relativamente fácil de aprender
- Se requiere JavaScript para crear aplicaciones web, ya que es el lenguaje de programación que se ejecuta en el navegador.
- Se puede utilizar JavaScript en el front-end y en el back-end, lo que le permite escribir aplicaciones de full-stack con un solo lenguaje.
- Hay toneladas de trabajos para desarrolladores de JavaScript
Hay un montón de opciones gratuitas de alta calidad para empezar con la codificación. FreeCodeCamp y Codecademy son excelentes opciones y son excelentes para sentar las bases.
Una vez que tengas los elementos básicos, un gran paso siguiente es JavaScript30. Wes Bos enseña JS construyendo 30 proyectos en 30 días de forma gratuita.
Si quieres acelerar las cosas, estos son unos cursos estupendos para empezar desde un principiante en JS y avanzar rápidamente.
Comenzando JavaScript Moderno (Incluye 10 Proyectos Reales)
Este es un curso de front to back JavaScript para absolutamente todo el mundo. Comenzamos con los fundamentos básicos y trabajamos en nuestro camino hacia la programación avanzada SIN depender de marcos o librerías en absoluto. Aprenderás una tonelada de JavaScript puro, sea que si eres un principiante o un experto programador JS.
The Modern JavaScript Bootcamp (2019)
Este completo curso cubre las modernas características de JavaScript de ES6 y ES7 utilizadas en el mundo real. Obtendrás una mejor comprensión de las últimas funciones de lenguaje de vanguardia. Obtener experiencia escribiendo código por tu cuenta es una gran parte del aprendizaje de JavaScript.
No hay proyectos de arranque aquí. Verás lo que se necesita para iniciar una aplicación JavaScript, desde la primera línea de código hasta la aplicación final desplegada.
En sólo tres horas aprenderás suficiente javascript para pasar de ser un desarrollador junior de javascript a un gurú senior de javascript.
Mejorarás drásticamente tus posibilidades de superar una entrevista técnica, conseguir el trabajo de tus sueños y ganar más dinero.
¿Qué vas a aprender?
- Tipos e Igualdad: Los diferentes tipos en JS y cómo comprobar si dos valores son realmente iguales?
- Ámbitos (Scopes): Los diferentes ámbitos en los que se puede declarar una variable y cómo manipularlos
- Orientación a Objetos: Cómo realizar OO en Javascript con el Patrón de Prototipo y el Patrón Pseudo-Clásico/Constructor.
- Temas avanzados en Networking como CORS y JSONP.
- Temas avanzados en Gestión de Eventos such as the different event phases.
2. Codificación general y herramientas
Esta sección se centrará en los requisitos para cualquier desarrollador. Debes dominar la línea de comandos, saber cómo controlar tu código con Git, y los fundamentos de la web.
Línea de comandos
La línea de comandos es la forma en que se ejecuta el código. Debes comocer, saber navegar y ejecutar los comandos necesarios. Cuanto mejor sepas manejar línea de comandos, más eficiente serás como desarrollador.
- Learn Enough Command Line to Be Dangerous— un excelente libro gratuito para aprender la línea de comandos.
- Linux Command Line Basics
- The Linx Command Line: A Complete Introduction
Para los usuarios de Windows, ahora puedes ejecutar un terminal Linux real en tu ordenador, así que recomiendo encarecidamente este enfoque porque Unix (también usado en Macs) es el entorno más común que usará en el trabajo.
Elige un Editor de Texto
VS Code es la mejor opción para los desarrolladores web, lo que la convierte en un gran lugar para empezar. Sin embargo, hay muchas opciones excelentes disponibles como Netbeans (que es lo que yo uso), Atom, WebStorm, o Vim para el hardcore.
El editor de texto es donde escribirás todo tu código, y el terminal es donde lo ejecutas. Como desarrollador, aquí es donde vives. Dedica algún tiempo a elegir el editor adecuado, configurar los plugins y aprender las teclas de acceso rápido. Tener el flujo de trabajo adecuado puede aumentar drásticamente tu productividad.
Git y Control de Versiones
Git es la herramienta utilizada para guardar código y crear diferentes versiones, permitiéndote colaborar con otros desarrolladores. El mejor lugar para almacenar código y colaborar en software de código abierto es GitHub.
- Aprende Git de GitHub
- Tutoriales de Git clasificados
- Git Completo: La guía definitiva, paso a paso, de Git
Fundamentos de la Web (Hay que aprenderlos en algún momento)
Frontend
3. Aprenda Desarrollo de Frontend
JavaScript es la base del desarrollo web moderno. Las bibliotecas client-side mas populares - React, Angular y Vue - están todas escritas en JavaScript. Conocer a fondo JavaScript es esencial para subir de nivel y tener las habilidades necesarias para construir aplicaciones complejas. Antes de sumergirte demasiado en JS, deberías saber HTML y CSS. Aunque la interfaz de usuario está codificada en JS, sigue generando HTML y está diseñada por CSS.
The Complete 2019 Web Development Bootcamp
El curso más completo sobre desarrollo web. Empieza con HTML y CSS, aprende JavaScript y cómo interactúa con el DOM, y eventualmente construye una aplicación web completa.
HTML & CSS
HTML y CSS se aprenden típicamente juntos. HTML es el esqueleto de la página que da su estructura, y CSS es el lenguaje que le da estilo.
HTML y CSS para principiantes absolutos
Construye sitios Web para el mundo real con HTML5 y CSS3
CSS: La Guía Completa (CSS Avanzado)
JavaScript
Como JavaScript se utiliza tanto en el módulo de acceso como en el módulo de servicio, también he incluido estos recursos en la sección "Getting Started". JS será su principal herramienta, así que tienes que conocerlo bien y dedicar tiempo a aprenderlo a fondo.
JavaScript moderno desde el principio
The Modern JavaScript Bootcamp (2019)
Librerías UI (React, Vue, Angular)
El desarrollo moderno de la interfaz de usuario ha gravitado hacia un modelo de componentes con 3 librerías como las principales utilizadas en el trabajo. — React, Vue, y Angular. Es mejor que conozcas a uno de ellos muy bien en vez de tratar de aprender los 3. Luego, en el trabajo, podrás recoger algo diferente si la empresa utiliza una biblioteca que no hayas aprendido. React es el más popular, pero Vue y Angular se están adoptando rápidamente.
React
React moderno con Redux (2019)
React 16.6 — La guía completa (incl. React Router & Redux)
Vue
Vue JS 2 — La guia completa (incl. Vue Router & Vuex)
El urso mas avanzado para desarrolladores de Vue JS 2
Vue JS Essentials con Vuex y Vue Router
Angular
El Curso Angular Completo: De principiante a avanzado
Backend
4. Aprender Desarrollo de Backend
El backend es donde se habla con la base de datos, se maneja la lógica de negocio y se envían los datos necesarios al frontend.
Node
Node es como ejecutamos JavaScript fuera del navegador que puede ser usado para construir APIs en el servidor.
Curso completo para desarrolladores de Node.js (2ª edición)
NodeJS — La guía completa (incluye MVC, REST APIs, GraphQL)
Databases
La base de datos es el almacenamiento permanente de los datos de tu aplicación. Típicamente, el módulo de servicio hará una consulta contra la base de datos durante una llamada a la API. Hay 2 tipos de bases de datos comunes - SQL y NoSQL.
GraphQL
GraphQL no es una base de datos, sino un lenguaje de consulta encima de las bases de datos. Mucha gente cree que va a revolucionar el desarrollo de aplicaciones y cambiar totalmente la forma en que construimos las APIs. Se está adoptando rápidamente y está siendo utilizado por gigantes de la tecnología y empresas de nueva creación.
- El moderno Bootcamp de GraphQL (Advanced Node.js)
- GraphQL con React: La guía completa para desarrolladores
Python
Python es fácil para principiantes, pero también es muy utilizado por gigantes de la tecnología y startups para backends, ciencia de datos y scripts.
Python Bootcamp completo: Pasa de cero a héroe en Python 3
MongoDB
Mongo es la base de datos NoSQL más popular utilizada con Node. Almacena datos en documentos que son pares clave/valor que se asignan fácilmente a objetos JSON y JavaScript.
PostgreSQL / MySQL
Estas son dos implementaciones SQL principales y probablemente lo que verá utilizado en la mayoría de las compañías.
- El último Bootcamp de MySQL: Pasar de Principiante a Experto en SQL
- SQL & PostgreSQL para principiantes
PHP
Gran parte de Internet está construido en PHP y hay muchos sitios impulsados por él, incluyendo Facebook y todos aquellos que usan Wordpress.
Ruby on Rails
Ruby on Rails fue el lenguaje para empezar durante años. Su facilidad de uso y su lenguaje basado en convenciones facilitaron la creación rápida de productos.
JS en profundidad
5. JavaScripty programación en profundidad
Recomiendo trabajar en proyectos reales lo más rápido posible. Sin embargo, en algún momento, querrás hacer una inmersión profunda en JavaScript y aprender cómo funciona todo debajo del capó. Además, es importante tener una comprensión de las estructuras de datos, algoritmos y otros conocimientos generales de informática.
You Don’t Know JavaScript (YDKJS)— Este es simplemente el mejor libro sobre JavaScript. Si trabajas a través de esto completamente, conocerás todo el lenguaje central de JS. Léelo gratis en GitHub
TypeScript — Esto no es un requisito para principiantes (a menos que se esté usando Angular), pero la adopción de TypeScript está creciendo rápidamente. Muchos piensan que es el futuro de JavaScript.
Data Structures in JavaScript — Construye las estructuras de datos más comunes desde cero en JavaScript. Esta serie de videos es una gran extensión para construir el conocimiento que ya has adquirido y es un excelente recurso para las entrevistas también.
Eloquent JavaScript— Otro libro favorito de los ingenieros de JavaScript. Cubre una gama más amplia de temas que YDKJS, incluyendo el navegador y el Node. Leelo gratis online.
Introducción a los algoritmos — Aunque no es el libro más amigable para principiantes, es exhaustivo. Da este paso una vez que sientas que es el momento de entender los algoritmos a fondo.
Algoritmos — Este curso se imparte en Java, pero los resultados del aprendizaje siguen siendo válidos. Obtendrás un conocimiento profundo de los algoritmos más importantes de la informática. El curso es impartido por Princeton en Coursera.
Libros
6. Libros de Ingeniería de Software
Esta selección son 5 libros que te harán un mejor codificador en general o un libro esencial que necesitarás en algún momento de tu carrera, como durante las entrevistas. O bien, veas una lista completa de recomendaciones para los libros de programación.
- Clean Code by Robert C Martin
- The Pragmatic Programmer by Andrew Hunt & David Thomas
- The Effective Engineer by Edmund Lau
- Cracking the Coding Interview by Gayle Laakmann McDowell
- The Art of Computer Programming by Donald Knuth
Si estás aprendiendo a desarrollar sitios web, también hay una alta probabilidad de que te interesen las startups. Estos son algunos de los libros más importantes sobre startups y las filosofías de los que tienen éxito.
- The Lean Startup by Eric Ries
- Zero to One by Peter Thiel
- Hooked by Nir Eyal
- Traction by Gabriel Weinberg and Justin Mares
- The Hard Thing About Hard Things by Ben Horowitz
Original article here
Janeth Kent
Licenciada en Bellas Artes y programadora por pasión. Cuando tengo un rato retoco fotos, edito vídeos y diseño cosas. El resto del tiempo escribo en MA-NO WEB DESIGN AND DEVELOPMENT.
Artículos relacionados
Guía Básica: Cómo Integrar una Base de Datos ArangoDB con PHP
ArangoDB es una base de datos multi-modelo que ofrece una combinación poderosa de características de base de datos documental, de grafos y de clave-valor. Su flexibilidad y rendimiento la convierten…
Seguimiento en tiempo real de los vuelos: la API de Flight Tracker
La API de Flight Tracker brinda a los desarrolladores la capacidad de acceder al estado de los vuelos en tiempo real, lo cual resulta extremadamente útil para integrar un seguimiento…
Ejecución de funciones PHP en AWS Lambda y API Gateway
¿Qué es AWS Lambda? AWS Lambda es un servicio de procesamiento sin servidor que puede ejecutar código en respuesta a eventos o condiciones predeterminados y administrar automáticamente todos los recursos de…
Cómo enviar un correo electrónico desde un formulario de contacto HTML
En el artículo de hoy vamos a escribir sobre cómo hacer un formulario que funcione y que al pulsar ese botón de envío sea funcional y envíe el correo electrónico…
6 Formas de leer archivos en PHP, con strings, array y más
Bienvenido a un tutorial sobre cómo leer archivos en PHP. Sí, así es, ¿qué tan difícil puede ser leer archivos en PHP? Se sorprenderá... No es tan sencillo como algunos…
Comenzando con Bootstrap-Vue paso a paso
Hoy te mostraremos cómo usar BootstrapVue, describiremos el proceso de instalación y mostraremos la funcionalidad básica. El proyecto está basado en el framework CSS más popular del mundo - Bootstrap, para…
Por qué los desarrolladores de JavaScript deberían preferir Axios a Fetch
Por qué los desarrolladores de JavaScript deberían preferir Axios a Fetch En mi artículo anterior, "Usando la Api Fetch Para Hacer Llamadas Ajax", hablé de los fundamentos de la API Fetch.…
Instalar Laravel Homestead en Windows 10
Instalar Homestead Mediante Vagrant Laravel Homestead es una máquina virtual que viene ya preparada para el desarrollo de proyectos con Laravel y otras tecnologías de PHP . Al ser una máquina…
Haciendo peticiones AJAX a una REST API usando vanilla JavaScript y XHR
Imagina que acabas de construir tu primera página web estática y te gustaría añadir alguna funcionalidad para hacerla más atractiva y generalmente más utilizable. Tal vez te gustaría entretener al…
Cookies HTTP: cómo funcionan y cómo usarlas
Hoy vamos a escribir sobre la forma de almacenar datos en un navegador, por qué los sitios web utilizan cookies y cómo funcionan en detalle. Continúa leyendo para averiguar cómo implementarlas…
Como construir mejores componentes de alto nivel (Higher-order components) con el Vue 3
El Vue 3 será lanzado pronto con la introducción del API de composición (Composition API). Viene con muchos cambios y mejoras en el rendimiento. Los componentes de orden superior (HOC o…
Node.js: herramientas de código abierto para los desarrolladores
De la amplia gama de herramientas disponibles para simplificar el desarrollo de Node.js, aquí están las mejores. Una encuesta en StackOverflow afirma que el 49% de los desarrolladores usan Node.js para…