Sunteți pe pagina 1din 37

La hoja de ruta para

desarrolladores web de
Ultimate 2019

Sandeep Mehta

Seguir

7 de mayo · 6 min de lectura


Si eres como la mayoría de las personas, el mayor
obstáculo para aprender a codificar es averiguar por dónde
empezar y la dirección a seguir. Una simple búsqueda en
Google alineará una serie de opciones y ángulos para llegar a
ella, pero si eres un principiante absoluto que aún NO ha
superado el alboroto de establecer algunas líneas
funcionales de códigos, aprender a codificar puede resultar
ser mucho más difícil de lo que puedas imaginar.

Entonces, al comenzar, para proceder de la manera más


apropiada posible, siguiendo un camino científico bien
estructurado; Es crucial que siga los consejos de
profesionales reales que en algún momento estuvieron en la
misma posición que usted. Y como pronto descubrirá,
muchos de los expertos en el campo de la codificación están
de acuerdo en un camino similar. Esto se debe a que
entienden el campo con gran detalle para conocer la forma
más adecuada de acumular conocimiento y crecer desde el
programador novato que eres hasta un verdadero
profesional.
Ya sea que esté buscando ser un desarrollador front-end,
back-end o DevOps, esta publicación se centra en una hoja
de ruta probada que intenta eliminar cualquier confusión en
la que pueda incurrir mientras se embarca en su viaje de
aprendizaje.

Entonces, en lugar de alentarlo a elegir un lenguaje de


programación que sea hippy o moderno, esta hoja de ruta se
enfoca en hacer que su curva de aprendizaje sea lo más
fluida posible. Puede decidir agregarle su propio toque, pero
lo importante es que tenga una idea general del panorama
de la codificación para que pueda desarrollar una
comprensión clara de cómo se juegan los diferentes idiomas
entre sí.

Elija un camino
La hoja de ruta viene en 3 secciones, donde la primera
sección trata sobre algunas habilidades de codificación
comunes con las que cada desarrollador web necesita
familiarizarse antes de poder seguir adelante y enterrar sus
cabezas en cualquier cosa.

La segunda sección de la Hoja de ruta se centra en las


secciones frontend y backend del desarrollo web. En cuyo
caso, tiene la opción de decidir si desea ser un desarrollador
front-end o back-end, o ambos si tiene el descaro de hacerlo.
Si su plan es convertirse en un desarrollador full-stack,
entonces Es posible que desee aprender ambos. No hay
escapatoria.
Hoja de ruta para desarrolladores web 2019

Desarrollo front-end
Para el desarrollo front-end, debe comenzar aprendiendo los
conceptos básicos: HTML , CSS y JavaScript. La hoja de ruta
detalla las áreas específicas a cubrir en estos tres.

También puedes elegir el marco que te gustaría


aprender. Sus opciones incluyen Angular, Vue.js y React. Si
tiene la energía para ello, puede aprender sobre todos los
marcos, pero aún así está bien con solo aprender uno. Sin
embargo, si elige presionar por una recomendación, la gran
mayoría de los expertos en codificación le sugerirán que
pruebe Vue.js si su plan es sobresalir.

Esta hoja de ruta detalla qué aprender, pero no trata mucho


sobre cómo aprender o dónde adquirir dichas
habilidades. Entonces, en esta publicación, tratamos de
complementar este segmento de la Hoja de ruta al
proporcionar también una serie de cursos y libros que puede
usar para aprender sobre los idiomas, los marcos y algunas
de las bibliotecas mencionadas en la Hoja de ruta.

Rutas recomendadas para el desarrollo tanto front-


end como back-end
(a) Git
Git es uno de los sistemas de control de versiones más
utilizados. Como desarrollador aspirante, lo necesitará. Por
lo tanto, asegúrese de consultar los conceptos básicos de Git
antes de continuar y dar un salto en cualquier cosa.

(b) SSH
Con SSH, es posible eliminar el inicio de sesión de otro
host. Esto lo convierte en otro concepto de red popular que
sin duda no puede prescindir.

(c) HTTP / HTTPS


Comprender qué se entiende por protocolo HTTP es un
segmento esencial del desarrollo web. Son como el elemento
vital del desarrollo web y el desarrollo de una buena
comprensión de cómo los dos afectan sus operaciones web
lo colocará en el camino correcto para comprender algunos
otros conceptos de programación.

(d) Conceptos básicos de la línea de comandos de


Linux / Uso básico de la terminal
Aprender los conceptos básicos de la línea de comandos de
Linux NO solo es útil en el desarrollo web, sino también en
cualquier otro aspecto de programación, por lo que es
importante que dedique una gran cantidad de su valioso
tiempo a aprendiendo sobre ellos.

(e) Estructuras de datos y algoritmos


Estos dos son como los bloques de construcción de cualquier
programa que vea flotando. En otras palabras, los dos son
clave para el próximo trabajo de codificación que
encuentre. Así que asegúrese de conocerlos con gran
detalle.
Hablando de eso, debes comenzar eligiendo un curso que
esté en el lenguaje de programación que entiendas mejor.

(f) Codificaciones de caracteres


Si planea codificar aplicaciones globales, en las que
mostrará información en diferentes idiomas, es posible que
necesite desarrollar una buena comprensión de las
codificaciones de caracteres. Básicamente, el programa
notifica a su navegador sobre el tipo de datos que se
mostrarán cuando alguien abra la aplicación.

(g) GitHub
GitHub es simplemente un repositorio de código. Como
aspirante a programador, no hay forma de que puedas
sobrevivir sin GitHub. Aprenda todo lo que pueda sobre
GitHub y cómo aprovechar mejor la plataforma.

Hoja de ruta del desarrollador


front-end
Si está buscando ser un desarrollador front-end antes de que
finalice el año, entonces es esencial que siga la Hoja de ruta
para desarrolladores front-end provista. Concéntrese en los
cuadros amarillos, que básicamente destacan todas las cosas
que necesita seguir y aprender. Y justo debajo de la Hoja de
ruta, habrá una serie de recursos útiles, como libros y cursos
pertinentes para ayudarlo con el proceso de aprendizaje.

(a) Lo básico
Es de sentido común: para ser un desarrollador web
completo, es importante que comiences aprendiendo todos
los conceptos básicos de la web. Aprenda sobre HTTP,
aplicaciones web, hosting, CMS y desarrollo web en general
para desarrollar una comprensión aérea de cómo funciona
Internet antes de que pueda ir más allá y aprender sobre
cualquier otra cosa.

(b) HTML y CSS


HTML y CSS son como el alma de cualquier aplicación web
con la que tropieces. HTML se centra en proporcionar la
estructura muy necesaria, mientras que CSS se centra en
diseñar su aplicación web y hacer que se vea mucho mejor y
visualmente atractiva.

Si te tomas en serio convertirte en un desarrollador front-


end, entonces no hay forma de evitar cualquier cosa sin
dominar los dos idiomas.

(c) JavaScript
JavaScript es otro pilar de desarrollo web al que no puede
darse el lujo de darle la espalda Mientras que HTML y CSS
se centran en ofrecer estructura y estilo web, JavaScript es lo
que le da vida al agregar algo de interactividad.

La hoja de ruta para el desarrollo de


backend
Para ser un desarrollador de back-end en 2019, es crucial
que sigas el mapa de back-end proporcionado. Una vez más,
se recomienda comenzar siguiendo los cuadros amarillos,
que básicamente tocan todas las tecnologías clave que
deberá aprender.

Además de aprender los tres lenguajes de programación


básicos, particularmente JavaScript, puede seguir adelante y
aprender Node.Js, con el que puede desarrollar una
aplicación web completamente funcional sin incorporar
ningún otro lenguaje de programación que no sea
JavaScript.

Es una envoltura
El interno tiene todos los recursos que necesita para hacer
crecer sus habilidades de codificación, desde un novato
absoluto hasta un verdadero experto. Ya sea gratuito o de
pago, tiene todos los recursos que necesita para llevarlo a
cabo, pero si está buscando lo mejor de estos recursos,
entonces debe estar dispuesto a desembolsar un poco de su
efectivo duramente ganado por algunos de ellos.

Biografía del autor

Sandeep Mehta tiene más de 5 años de experiencia


como diseñador de sitios web en Delhi . Sus habilidades son
HTML, CSS, Javascript, PHP y otros lenguajes de
codificación. Ha desarrollado y diseñado múltiples sitios
web de nicho, tanto estáticos como dinámicos. Desarrolló
diferentes sitios web de plataformas como sitios web de
WordPress, sitios web de comercio electrónico y muchos
más. También comparte su conocimiento y experiencia con
diseñadores, desarrolladores y clientes, lo cual es muy útil.
La Hoja de ruta para desarrolladores
web de 2019: una guía visual para
convertirse en un desarrollador front-
end, back-end o DevOps

Quincy Larson
El profesor que fundó freeCodeCamp.org.
Tuitea esto a tus seguidores
Enviar esto por correo electrónico a un amigo
Comparte esto con tus amigos

Hay muchas maneras en que puede aprender a


adquirir las habilidades que necesita para
convertirse en desarrollador.
Hay planes de estudio lineales que le enseñan un poco de
todo, como el plan de estudios de desarrollo de pila
completa de freeCodeCamp.
Y luego hay listas masivas de habilidades, y a veces listas de
recursos, que puede usar para "elegir su propia aventura" a
través del proceso de aprendizaje.

Una de las mejores listas de habilidades es la Hoja de ruta


para desarrolladores de Kamran Ahmed , que actualiza
regularmente.
Esta no es una lista ordinaria de recursos. Kamran ha
trazado minuciosamente todas las habilidades que siente
que son esenciales para entrar en diferentes campos de
desarrollo.

He escrito sobre su hoja de ruta en el pasado. Y para


celebrar que todos estamos a mediados de 2019, voy a
compartir su hoja de ruta completa aquí, los tres.

Así es: tiene listas de herramientas y recursos necesarios


para las siguientes rutas:

 Desarrollo web front-end


 Desarrollo web de back end
 DevOps (también conocido como "confiabilidad del sitio",
esto es una evolución de la antigua función de
administrador del sistema)
Las habilidades que todos los desarrolladores
necesitan independientemente de su
especialización
Además de estos caminos, Kamran también recomienda que
todos los que quieran trabajar como desarrolladores
aprendan las siguientes habilidades:

Git - Control de versiones


Git es un poderoso sistema de control de versiones que a
partir de 2019 se usa casi universalmente. Si no lo sabe, sí,
está relacionado con GitHub y GitLab, y también puede
aprender a usar esas herramientas.

Uso básico de la terminal: la línea de comando Bash, SSH y otras


habilidades
Este podría ser el terminal en una Mac, un indicador de
Windows DOS o Bash / ZSH. Tenga en cuenta que
independientemente del sistema operativo que utilice,
probablemente debería aprender Linux. Incluso si no lo está
utilizando para su computadora portátil / entorno de
escritorio, es casi seguro que lo usará para servidores.

Estructuras de datos y algoritmos


El plan de estudios freeCodeCamp cubre estos en
profundidad. Probablemente quiera aprender esto
resolviendo muchos problemas de algoritmos en
freeCodeCamp, CodeWars, Project Euler u otro sitio web de
perforación. Personalmente recomiendo hacer esto en
JavaScript o Python, pero si estás preparado para un desafío
y tienes mucho tiempo libre, hacerlo en C no estaría de más.

Una comprensión de cómo funciona la web: HTTPS y API


Hay muchos otros conceptos que puedes
aprender. Recomiendo trabajar en un buen curso de
informática de nivel básico para comenzar. Aquí están todas
las conferencias del curso CS50 de Harvard sin publicidad
en el canal de YouTube freeCodeCamp .
Patrones de diseño, YAGNI, KISS, SOLID
No creo que los principiantes necesiten una comprensión
profunda de estos, pero no estaría de más.

Los patrones de diseño son básicamente formas probadas


en el tiempo para implementar diferentes tipos de sistemas
de software y estructuras de codificación. Puedes aprender
esto gradualmente a medida que progresas.

En cuanto a la sopa de letras, esto es lo que significan:

 YAGNI: Ya no lo necesitará: la filosofía de que la mayoría


del código que cree que necesitará escribir y las
características que necesitará implementar resultarán
innecesarias
 BESO - ¡Hazlo simple, tonto! - Cuanto más simple sea el
mantenimiento de sus proyectos, más fácil será su vida
cuando se trata de mantenimiento.
 SÓLIDO: es un mnemotécnico para " Responsabilidad
individual, pen Abierto-cerrado, sustitución de Liskov,
segregación de interfaz, inversión de dependencia". Sí, no
son cosas de principiantes, pero mira esto si tienes
curiosidad.
Hoja de ruta de desarrollo web front-end
La primera hoja de ruta de Kamran se centra en el
desarrollo web front-end.

Aquí está su hoja de ruta de Front End en su totalidad:


Mis pensamientos sobre la hoja de ruta de Front End
Esta es una lista sólida de habilidades fundamentales.

Como desarrollador front-end, definitivamente trabajará


con HTML, CSS y JavaScript, muchísimos JavaScript.

Las únicas cosas que creo que son innecesarias aquí:

 Preprocesadores CSS. Estos solían ser necesarios, pero el


propio CSS ha agregado muchas de las características que
hicieron que estos preprocesadores fueran tan útiles.
 Arquitectura CSS: no creo que sean necesarias a menos que
el diseño de sistemas CSS sea una gran parte de su trabajo
diario.
 Un pequeño truco: TypeScript es una forma prometedora de
reducir errores y codificar con confianza. Estamos
agregando esto a la Versión 7.0 del plan de estudios básico
freeCodeCamp . Creo que esto debería ser aún más
destacado en la hoja de ruta, pero está allí.
 Web Assembly es algo agradable en mi opinión. Los
desarrolladores están comenzando a hacer cosas
emocionantes con él, pero pasará un tiempo antes de que
esta tecnología se vuelva omnipresente.
Hoja de ruta de desarrollo web de back end
La segunda hoja de ruta de Kamran se centra en el
desarrollo web de back-end. Si combina esto con su mapa
frontal, obtendrá un camino bastante bueno para
convertirse en un desarrollador de pila completa.

Aquí está su hoja de ruta completa de back end:


Mis pensamientos sobre la hoja de ruta del back end
Estoy de acuerdo con todo lo de aquí.

Sí, debes aprender SQL y bases de datos relacionales


Quiero estar totalmente de acuerdo con su recomendación
de que aprendas una base de datos relacional.

Sí, las bases de datos como MongoDB y Neo4j pueden hacer


mucho por usted y se adaptan mejor a ciertos tipos de
aplicaciones que las bases de datos relacionales.

Pero aún debe aprender SQL y comprender cómo funcionan


las bases de datos relacionales.

Recomiendo PostgreSQL (que usamos para varios proyectos


en freeCodeCamp), pero otras bases de datos relacionales
son bastante similares.

Aquí está el curso gratuito de 4 horas de


freeCodeCamp sobre SQL , que le enseñará los conceptos
básicos.
Y si desea profundizar aún más, aquí está nuestro curso
gratuito de 8 horas sobre diseño de bases de datos
relacionales .
Cómo elegir el lenguaje de programación de desarrollo de back-
end correcto
También quiero agregar una nota sobre cómo elegir un
idioma.

Aunque hay muchos idiomas, y puede hacer prácticamente


cualquier cosa con cualquier idioma, le recomiendo que
aprenda Node.js (JavaScript) o Python como su primer
idioma.

Aquí hay una guía detallada sobre qué lenguaje de


programación debe aprender primero.
Hoja de ruta de DevOps
Finalmente, Kamran cubre cómo convertirse en DevOps o
ingeniero de confiabilidad del sitio. Esto implica trabajar
con muchos servicios en la nube y supervisar la
infraestructura.

Aquí está su hoja de ruta completa de DevOps:


Mis pensamientos sobre la hoja de ruta de DevOps
Linux, Linux, Linux.

Además, recomendaría trabajar primero como


desarrollador, luego gradualmente llegar a especializarme
en DevOps.

Aquí hay una introducción rápida de 30 minutos al campo


de DevOps que debería darle una mejor idea de si DevOps es
algo que le interesa.
Eso es todo. ¿Qué piensas? ¿Kamran omitió algunas
habilidades o tecnologías esenciales? Deja un comentario y
analicemos esto.

Además, si tiene recursos que han funcionado realmente


bien para aprender estas habilidades, compártalos a
continuación como comentario.

¡Feliz codificación!

- Quincy
La hoja de ruta de 10 minutos para
convertirse en un desarrollador web
junior Full Stack

Entonces ha comenzado su viaje al mundo del


desarrollo web. ¿Pero qué aprendes
primero? Internet está sobrecargado con una
gran cantidad de información sobre los millones
de tecnologías diferentes que un desarrollador
web puede conocer.
No es difícil ver cuán confuso y desagradable es todo. Como
ex desarrollador junior, conozco la lucha.

Esta guía ha sido elaborada en base a mi experiencia en la


industria como desarrollador junior. Esta guía también es
un resumen de las cosas que yo, como líder del equipo,
esperaría de los desarrolladores junior.
Aquí hay mucha información, ¡así que tome una copa,
póngase cómodo y comencemos!

Lo que hay que saber


Independientemente de su camino y objetivos
profesionales, hay algunas cosas que todo desarrollador
necesita saber.

 Control de Git / Source : todo buen desarrollador


necesitará saber cómo usar Git, especialmente en un
entorno de equipo. Entonces, aprenda a clonar repositorios,
realizar confirmaciones, crear ramas y fusionar código
 Depuración : frontend o backend, habrá
errores. Familiarícese con las herramientas de depuración
para su IDE. Hablando de IDE ...
 IDE : hay muchos IDE que puedes usar, así que elige uno y
conócelo. Su IDE es su mejor amigo, y conocer los accesos
directos y las herramientas lo convertirá en un mejor
desarrollador. Personalmente, recomiendo usar VS Code.
 Metodologías (Agile / SCRUM / Kanban): cuando opere
en un equipo, es probable que esté utilizando una
metodología de desarrollo de productos, así que asegúrese
de estar familiarizado con su funcionamiento

Interfaz
Un desarrollador frontend normalmente puede realizar las
siguientes tareas:

 Implemente un diseño usando HTML / CSS


 Interactúa con el DOM usando JavaScript
 Interactúa con una API usando FETCH API o similar
Vamos a sumergirnos en esto con un poco más de detalle.

HTML / CSS
Este es el pan y la mantequilla del desarrollo
frontend. HTML se usa para posicionar y colocar elementos
en una página web, mientras que CSS se usa
para diseñar esos elementos.
Se espera que un desarrollador web de front-end junior
sepa esto realmente bien. Es importante saber:

 Usando HTML para crear una página web


 Diseñar elementos usando CSS
 Diferentes formas de aplicar CSS a HTML: estilos en línea,
hojas de estilo, etc.
Una vez que tenga lo básico definido, eche un vistazo a las
funciones más avanzadas:

 CSS Grid & Flexbox para diseños y posicionamiento más


fácil de elementos
 SCSS para hacer que el CSS normal sea más manejable
mediante el uso de variables
Visite css-tricks.com para obtener una guía completa sobre
CSS. Este es uno de los mejores recursos disponibles.
SUGERENCIA ADICIONAL: cree algunos proyectos en CSS /
HTML para practicar. Todavía no se preocupe por usar
JavaScript o API, concéntrese únicamente en los elementos
CSS / HTML.
¡Nos estamos convirtiendo en expertos en CSS / HTML
ahora!

Marcos
La siguiente etapa es familiarizarse con los marcos
CSS. Estos son básicamente elementos y estilos "listos para
usar" que puede usar dentro de sus proyectos. La mayoría
de las empresas los utilizan, ya que les ahorra tiempo a sus
desarrolladores, ya que no tienen que reinventar la
rueda. Hay una gran cantidad de marcos, pero le sugiero que
elija uno y se familiarice con él. Por lo general, son bastante
similares y una vez que esté familiarizado con uno, es fácil
elegir el resto.

Oreja
Mi sugerencia personal es
aprender Bootstrap ( getbootstrap.com ). Es muy popular y
lo utilizan muchas empresas.
"Espera, ¿por qué tuve que aprender CSS / HTML desde cero
si solo puedo usar un marco?"
Buena pregunta. Sí, hay marcos, y aunque muchas empresas
los usan, a menudo tendrá que personalizar las cosas de vez
en cuando según el proyecto. Para esto, necesitará conocer
los conceptos básicos.

Diseños receptivos
En estos días es importante tener en cuenta los muchos
dispositivos móviles al crear diseños
frontend. Afortunadamente para nosotros, los marcos CSS
de los que hemos hablado hasta ahora (Bootstrap, CSS Grid,
Flexbox, etc.) hacen que la creación de diseños receptivos
sea realmente fácil.

 Preguntas de los medios. Además de saber cómo usar CSS


para crear diseños receptivos, deberá comprender cómo
usar las consultas de mediospara definir cómo deben
verse los elementos para diferentes tamaños de pantalla.
 Evite usar píxeles para los tamaños. Sugeriría
usar unidades rem sobre píxeles. Una imagen con un ancho
de 100 px siempre tendrá un ancho de 100 px
independientemente del tamaño de la pantalla. Intente usar
unidades como rem , vh y vw , para lograr diseños
receptivos
SUGERENCIA ADICIONAL : a menudo necesita desarrollar
una aplicación que utilice pantallas móviles y más
grandes. Enfóquese primero en el móvil cuando cree
diseños y luego agregue las consultas de medios para las
pantallas más grandes.
JavaScript
JavaScript es el lenguaje de programación de la web. Si
quieres ser un desarrollador frontend exitoso, necesitas
saber JavaScript. Y realmente lo sé. Sí, hay marcos, pero al
igual que aprendimos los conceptos básicos de HTML y CSS
antes de entrar en los marcos, haremos lo mismo aquí. Esto
te hará un mejor desarrollador a largo plazo. A medida que
los marcos van y vienen, los elementos centrales del
lenguaje seguirán siendo los mismos.

Como mínimo, como desarrollador junior, necesitará saber:

 Objetos, funciones, condicionales, bucles y operadores.


 Módulos
 Matrices (incluido cómo manipularlas)
 Recuperando datos de una API usando FETCH API
 Manipulando el DOM y usando Eventos
 Async / Await (más un tema avanzado opcional, pero
realmente impresionante si lo sabes)
 JSON
 ES6 +
 Pruebas (Jest, Enzyme, Chai, etc.)
No se espera que un desarrollador junior sepa todo sobre
estos temas, pero cuanto más sepa, mejor. Una vez que
pueda crear una aplicación web básica sin tutoriales,puede
estar seguro de que conoce JavaScript.
Si realmente desea convertirse en un experto en JavaScript,
comprender completamente el lenguaje y destacar entre la
multitud, algunos recursos excelentes para aprender los
temas más avanzados de JavaScript son:

eloquentjavascript.net
freeCodeCamp.org
github.com/getify/You-Dont-Know-JS
Estos recursos no solo le enseñan JavaScript, sino que
también aprenderá mucho sobre los conceptos de
programación en general. En serio, si aprendes los recursos
en los recursos anteriores, serás un desarrollador junior
realmente increíble, ¡algunos adultos mayores que quiero
decir no saben esto!
Algunas ideas de proyectos:

 Crea un juego de Super Mario (aprenderás JavaScript,


manipularás el DOM y usarás eventos)
 Cree un panel que muestre algunas estadísticas extraídas de
una API. por ejemplo, un panel de Twitter, un panel de
Github o cualquier cosa que desee (aprenderá a trabajar con
API y JSON)
 No se preocupe por cómo se ven las cosas aquí, centrándose
en aprender JavaScript, no CSS / HTML. ¡Siempre puedes
hacer que se vea bien más tarde si quieres!
Marcos
Hay muchos marcos JS, elige uno y aprende bien. Los
populares en este momento
son angularjs , React.js y Vue.js . Estas son todas opciones
sólidas y no irán a ningún lado pronto. Personalmente
recomiendo React.js, pero puedes probar los otros y ver cuál
prefieres.
Nota rápida: si ha aprendido los conceptos básicos de
JavaScript y tiene una base sólida, ¡los marcos de
aprendizaje deberían ser pan comido! Independientemente
del marco que elija, asegúrese de conocerlo bien.

No necesita conocerlos a todos, se ve más impresionante


si conoce un marco REALMENTE bien, en lugar de tener un
conocimiento menor de múltiples marcos diferentes.
Reaccionar
Tiene un gran respaldo de Facebook , una comunidad
masiva en línea y es el más popular en la industria en este
momento.
Si siguió los pasos anteriores y aprendió un poco de
JavaScript, entonces recoger un React no debería ser
demasiado difícil. Como desarrollador junior, debes
asegurarte de tener un control sobre los conceptos centrales
de React:

 Comprenda que React se basa en componentes y cómo


funcionan los componentes
 Uso de estado y accesorios dentro de sus componentes
 JSX y cómo usarlo para representar elementos HTML en una
página web
 Cómo y cuándo se vuelven a procesar los componentes
 Usando ganchos React
 NPM, Webpack y Babel
SUGERENCIA ADICIONAL  : una vez más, como
desarrollador junior, no se espera que sepas que reacciona
al revés. Entonces, para practicar las habilidades descritas
anteriormente, intente crear algunos proyectos:
 Reconstruya algunos de sus proyectos JavaScript anteriores
para usar React
 Cree una aplicación de calculadora (una buena para
practicar la administración del estado, ya que muchas
acciones del usuario necesitarán actualizar el estado.
SUGERENCIA: intente usar React Hooks)
 Cree su propio feed de Twitter , GitHub o Noticias . Use la
API pública para obtener los datos y mostrarlos en su
aplicación.
 Una vez más, no te preocupes por hacer que tu aplicación
sea perfecta o por hacer que se vea súper sexy. Concéntrese
en hacer que funcione y concéntrese en aprender los
conceptos de React.
Gestión del estado (por ejemplo, Redux)
Una vez que tenga los conceptos básicos de React
enclavados, el siguiente paso es comprender Redux . Redux
es básicamente un marco de gestión estatal, que
complementa mucho a React. Piense en ello como una base
de datos frontend que contiene el estado de su aplicación
web en un lugar fácil de administrar.
Hay muchas partes móviles en Redux, así que no se
preocupe si se siente abrumado (¡todavía estoy
aprendiendo las entradas y salidas!). Solo necesitará
conocer Redux cuando trabaje con aplicaciones web de gran
escala empresarial. Concéntrese en comprender los
fundamentos y la gestión del estado utilizando React.

Herramientas de desarrollo
Hay una serie de herramientas disponibles para ayudarlo a
depurar React / Redux (parte de la razón por la que me
encanta)

 React Dev Tools


 Redux Dev Tools
Navegadores web
Como desarrollador frontend, es importante conocer los
navegadores web. Chrome, FireFox y MS Edge son los
principales. Necesitarás tener una idea básica sobre:

 Herramientas de depuración (por ejemplo, herramientas de


desarrollo de Chrome)
 Trabajar con los métodos de almacenamiento
(almacenamiento local, almacenamiento de sesión, cookies)
 Características del navegador: el mayor problema del
desarrollo web se está desarrollando teniendo en cuenta el
soporte del navegador. Mantenga un ojo
en whatwebcando.today para asegurarse de que su código
es compatible con los navegadores necesarios.
Despliegue y Hospedaje
Un desarrollador frontend debe saber cómo implementar y
alojar una aplicación web. Esto es bueno para sus carteras,
conocimientos y, en general, para conseguir un
trabajo. Recomiendo usar un servicio administrado (es
decir, dejar que alguien más haga el trabajo pesado por
usted) como

 Páginas de GitHub
 Heruko
 Netlify
 Océano digital
 AWS
 Firebase
Personalmente recomiendo Netlify o Heroku . Hace que sea
muy fácil implementar y alojar aplicaciones a través de la
interfaz de usuario. Cada uno de estos servicios proporciona
un nivel gratuito, por lo que no debería costarle mucho
ejecutarlo. La desventaja de estos servicios es que no le
brindan el acceso más fino que necesitarían algunos
desarrolladores, como servicios de correo electrónico, SSH o
FTP. Si no sabe cuáles son, probablemente no los necesite,
por lo que el servicio simple funcionará bien.
Si decide ser súper elegante y alojar algunos de sus
proyectos en un dominio personalizado (como si estuviera
alojando su cartera en <your-name> .com),
recomiendo NameCheap para los nombres de
dominio. Nuevamente, es muy fácil de usar y los dominios
son, bueno, baratos.

Backend
En pocas palabras, aquí es donde se guardan los datos de la
interfaz. Por ejemplo, cuando un usuario crea un Tweet, este
pasa por el servidor y se guarda en la base de datos.

Un desarrollador de backend generalmente puede realizar


las siguientes tareas:

 Cree API que utilizará la interfaz de usuario (normalmente


al devolver JSON)
 Escriba la lógica de negocios y la lógica de validación.
 Integraciones con API de terceros
 Guardar y leer datos de una base de datos
Lenguajes de programación
Hay muchos lenguajes de programación entre los que puede
elegir. Como millones de ellos. Pero no te preocupes, los
principales son:

 Java
 DO#
 Pitón
 Node.js (Técnicamente no es un lenguaje, más un tiempo de
ejecución que le permite ejecutar JS en el servidor)
 Ir
 PHP (solo si estás interesado en el desarrollo de WordPress)
Nuevamente, mi consejo es elegir uno y aprenderlo
bien. Sugiero usar Node.js , ya que ya está en la mentalidad
de aprender JavaScript. Node.js hace que sea realmente fácil
crear API REST, que es una de las tareas principales que se
espera que haga un desarrollador junior.
Sea cual sea el idioma que elija, asegúrese de saber lo
siguiente;

 Crear API
 Conceptos básicos del lenguaje (creación de funciones, uso
de condicionales, operadores, variables, etc.)
 Cómo conectarse a una base de datos
 Cómo consultar una base de datos
 Gestión de paquetes
 Pruebas de escritura
Si decidió aprender Node.js, mucho de esto le resultará
familiar. ¡No intentes aprenderlos todos! Como
desarrollador junior, no necesitará hacerlo. Elija el idioma
que mejor se adapte a sus objetivos (si es el desarrollo web,
cualquiera de ellos lo hará) y concéntrese en él y aprenda
bien. Por supuesto, si tiene curiosidad sobre otros idiomas
(Node.js y Python son bastante diferentes), no dude en
satisfacer su curiosidad y jugar con ellos.
REST API y JSON
Crear una buena API REST es uno de los principales trabajos
para un desarrollador de back-end. Necesitarás saber:
 Los diferentes verbos y para qué se usan
 Cómo crear una buena respuesta
 Cómo manejar solicitudes
 Autenticando solicitudes
 Cómo documentar tu API
Las API REST son el puente entre el desarrollo de backend
y frontend, así que asegúrese de comprender cómo
funcionan.
JSON es el idioma principal utilizado para transferir datos a
través de una API REST. Los datos se representan
como objetos y matrices. Nuevamente, si ha aprendido
JavaScript o el desarrollo frontend utilizando los pasos
descritos anteriormente, esto le resultará familiar.

Bases de datos y DevOps

Esto es más o menos el lado de la infraestructura del


desarrollo web. No diría que un gran conocimiento de estas
cosas es un requisito para un desarrollador junior. Casi
sugiero lo contrario, y digo que solo necesitas saber estas
cosas en profundidad si estás buscando entrar en el campo
de DevOps. Las áreas amplias que necesita saber son:

 Cómo administrar una base de datos


 Las diferentes plataformas de alojamiento (AWS, Azure,
Google, etc.)
 CICD y herramientas como Jenkins, GitLab, etc.
 Registro y monitoreo
Dependiendo de su equipo o empresa, puede haber otros
equipos o personas para administrar esto. Todavía es un
conjunto de habilidades interesante e impresionante, por lo
que si tienes curiosidad y tienes algo de tiempo libre,
aprender algunas bases de datos y las habilidades de DevOp
te ayudarán mucho.

Temas avanzados

A continuación se presentan algunos temas avanzados que


recomiendo una vez que haya dominado lo anterior. Ya hay
mucho que aprender, así que no entraré en muchos detalles
aquí, pero siéntase libre de omitir / hojear esta sección por
ahora y volver más tarde.
Autenticación usando JWT / OAuth
Este es un enfoque común en la industria que autentica y
autoriza a los usuarios (por ejemplo, inicio de sesión).

Más información en: https://oauth.net/2/


Patrones de diseño
Los patrones de diseño son soluciones comunes a problemas
comunes . Aprender patrones de diseño facilitará la
resolución de problemas y, inevitablemente, será un mejor
desarrollador.
Más información (ejemplo de
Java): github.com/iluwatar/java-design-patterns
Más información (JavaScript): github.com/fbeline/Design-
Patterns-JS
CONSEJO ADICIONAL : hay muchos patrones de diseño, así
que no intentes aprenderlos todos a la vez. En su
lugar, familiarícese con ellos y, cuando encuentre un
problema como parte de un proyecto, vea qué patrones de
diseño están disponibles para su uso.
Aplicación web progresiva y desarrollo móvil
Las aplicaciones web progresivas son esencialmente
aplicaciones web que se ejecutan como aplicaciones nativas
en el teléfono de un usuario. Muy bien, ¿verdad? Échales un
vistazo si tienes tiempo.
Más información
en: developers.google.com/web/progressive-web-apps/
Otras opciones incluyen:

React Native : le permite escribir el código React que se


compila en Android / IOS
Flutter : similar a React Native, solo usa el lenguaje de
programación Dart
Representación del lado del servidor
Esto representa el código de la interfaz en el lado del
servidor, que se devuelve y se muestra al navegador. Un
tema avanzado, que tiene sus propios méritos, como SEO y
beneficios de velocidad.

Más información
en: medium.freecodecamp.org/demystifying-reacts-server-
side-render-de335d408fe4
Usando la línea de comando (SSH / Bash, etc.)
A veces, necesitará usar la línea de comando cuando una
GUI no esté disponible. En un nivel muy básico, necesitará
saber cómo:

 Cómo conectarse a un servidor usando SSH


 Navega usando comandos (cd, ls, etc.)
 Edite archivos usando vim (o similar. Aquí hay una hoja de
trucos vim.rtorr.com )
¡Únete a la lista de correo!
Obtenga las mejores guías, cursos y consejos para desarrolladores junior directamente en
su bandeja de entrada

Suscribir

Chris Blakely
Leer más publicaciones de este autor.
Lee mas
- chrisblakely.dev -

Publicaciones principales
 Aprenda reaccionar en 5 minutos
 Libros imperdibles para desarrolladores junior y aspirantes
 Código limpio para principiantes: una guía para desarrolladores junior
Ver las 6 publicaciones →

PUBLICACIONES PRINCIPALES
Esto es lo que hice cuando quería renunciar como
desarrollador junior
La codificación es difícil. Realmente difícil. Hay momentos en los que piensas "¡esto es
increíble! ¡Me encanta esto!" Pero también tendrás momentos no tan increíbles. Los
momentos en que estás mirando

 Chris Blakely

6 MIN DE LECTURA
Conviértete en un excelente compañero de equipo
desde el primer día como desarrollador junior.
Una de las muchas cosas que podría preguntarse al comenzar su carrera de desarrollo
de software es: "¿Cómo puedo REALMENTE contribuir a mi nuevo equipo?" Esta fue
una de las cosas

S-ar putea să vă placă și