Consejos en el camino del Frontend Developer
Tags: frontend, developer, junior, tips
Published: 2021-03-01 09:51:50

El camino del Frontend Developer es largo, son muchas tecnologías las que tenemos que dominar durante toda nuestra andadura. Podemos pensar en todo momento que no somos competentes, y nos puede venir el gran temido síndrome del impostor. También podemos creer que es mucho lo que nos queda por aprender, haciendo que nos desanimemos y en ocasiones, queramos abandonar.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/so8x5jbpz31mzj4oxabw.jpeg)

En este artículo, voy a intentar daros unos consejos para el día a día, y también algunas recomendaciones para cuando comencéis en vuestro primer empleo o si sois junior sin tanta experiencia. Todo lo que escriba aquí siempre va a ser desde mi punto de vista y desde mi experiencia.

## No dudes en pedir ayuda cuando tienes problemas
Tenemos la percepción de que pedir ayuda cuando empezamos es malo, y debemos de quitarnos este pensamiento. Estamos empezando en algo que es nuevo y no tenemos experiencia en ello. Pide ayuda a cualquier persona del equipo o a alguien responsable que te pueda ayudar que tenga esos conocimientos. Te han contratado en un puesto junior, y lo normal, es que te tengan que echarte una mano.

## Pregunta todo lo que no sepas
Podemos pedir ayuda y que nos digan la solución, pero si no entiendes lo que te dicen, no vas a aprender nada. No tengas miedo en decir que no entiendes cierta cosa, hay que realizar un ejercicio de sinceridad plena, y no mentir, ya que, el día de mañana puede ser algo que vaya a ir en nuestra contra.

## Ten en mente que necesitarás más tiempo al realizar tareas
¿Te acuerdas la primera vez que te hiciste tu primer nudo en las zapatillas?, pues esa es la actitud. Al principio nos fijábamos dónde teníamos que meter el cordón, hasta que poco a poco, lo hacías más rápido, y al final, lo acabas haciendo sin mirar. 

Programando te va a pasar igual, al principio te va a costar asimilar conceptos y cómo transformarlos en código. Poco a poco tu mente, se va a adaptar a todo ello, e irás cogiendo experiencia, hasta que llegue un día que lo hagas todo más rápido.

## Equivócate mucho
Para aprender bien, vamos a tener que equivocarnos muchas veces, es la única manera en la que vamos a adquirir conocimientos. Se tiende a creer que quienes son senior nunca se han equivocado o que en ese nivel, nunca se equivocan, y no es así.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oizhtydp3u071pkwcs69.jpeg)

Un símil muy parecido para esto, sería el de montar en bicicleta, te vas a caer muchas veces y te vas a tener que levantar para volver a intentarlo. Habrá un momento que aguantarás más tiempo sin caerte, y finalmente no te caerás. Después pasará que de vez en cuando, te caerás, porque has encontrado una piedra, o el terreno en el que estabas no lo dominas. La actitud es que cuando nos caigamos, nos levantemos y aprendamos el motivo por el que nos hemos caído.

## No tengas prisa cuando empieces
Nunca debemos de tener prisa en nuestro camino, tenemos que ir paso a paso sin saltarnos pasos importantes. Es algo común ver a personas usar un framework o librería sin saber bien el lenguaje de programación. Esto nos va a crear más frustraciones y que vayamos más despacio, sin que podamos aprender bien.

Invierte tiempo en el lenguaje de programación, porque pueden haber millones de frameworks o librerías, pero al final el lenguaje va a estar ahí. Aprende bien sus peculiaridades y experimenta con él, puede ser un paso costoso y difícil, pero esto es como meterse en el mar sin saber nadar, nos podemos ahogar fácilmente.

## Lee documentación
Tendemos a menospreciar la documentación oficial, pero es nuestro manual de instrucciones para cualquier framework o librería. En la actualidad suelen tener buena documentación y por ello debemos de leerla bien, porque quienes realizaron esa tecnología saben realmente cómo utilizarla.

Siempre recomiendo leer la documentación en inglés (si no la tienen en español), para así acostumbrarnos a leer documentación técnica en este idioma. Si tienes problemas con el inglés, siempre puedes traducir la documentación con algún plugin del navegador, pero no es la mejor práctica desde mi punto de vista.

## No te agobies con los bloqueos 
Muchas veces tendremos bloqueos, y hay que saber gestionarlos en nuestros inicios. Al estar mucho tiempo bloqueadas o bloqueados, podemos entrar en visión de túnel, no encontramos la solución deseada por agotamiento y no rendimos igual.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q0yr7puj8k3lrlbxbnmm.jpeg)

A veces podremos resolver estos bloqueos, pero cuando no los podamos resolver, os pueden ayudar los siguientes consejos:

- Pregunta a alguien del equipo, a lo mejor ha pasado por lo mismo que tú y te da una solución.
- Busca por internet, intenta buscarlo en inglés, vas a encontrar muchas más soluciones que en español.
- Levántate y airéate: muchas veces por la visión de túnel no vamos a verlo todo lo bien que querríamos.
- Haz otra tarea que no tenga nada que ver y retoma la tarea del bloqueo más adelante.
- Si no encuentras la solución en ningún lado, escribe tu bloqueo en StackOverfow, red social o donde veas pertinente.

## Lee código de terceras personas
Al empezar, sólo leemos nuestro código y es un gran error, deberíamos de leer código de mucha gente. A veces ese código puede estar mal escrito, pero a base de leer mucho, vamos a saber cómo mejorar o aprender nuevas formas de realizar las cosas.

Una forma de leer código de otras personas es ver repositorios de proyectos ya maduros, así nos podemos asegurar que el código sigue unas buenas prácticas. Esto nos va a ayudar cuando estemos en un proyecto con código legacy.

## No hay que saber todo en un inicio
En nuestro sector al empezar, lo malo, es que tenemos que saber muchas cosas, y esto nos puede abrumar. Debemos de ir paso a paso, y todo lo que aprendamos, aprenderlo bien. Ya llegará el día que domines todo o que seamos especialistas en lo que sea. Mejor ser especialista en algo, que en na2da.

## No creas que hay framework bueno o malo

Otra de las preguntas que se hace al empezar es: ¿qué framework o librería es mejor?. Para esta pregunta, tenemos una respuesta rápida: según las necesidades del desarrollo.

Siempre tenemos que pensar qué diferencias tienen, y lo vamos a ver también en la curva de aprendizaje. Esto es como los coches: tenemos millones de marcas y modelos, pero el fin es siempre el mismo, conducir. Habrá coches que sean más cómodos de conducir, que consuman menos o que tenga más prestaciones. No creo que queramos un Ferrari sólo para ir a comprar el pan. Es un derroche de gasolina y de dinero, que a lo mejor cuando con un sencillo patinete nos es suficiente. En el mundo del desarrollo nos pasa lo mismo, hay que saber qué herramientas tenemos y cuáles se pueden adaptar mejor a nuestras necesidades.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sxi1tvl4vewxgyo4pce1.png)

No te dejes llevar por modas, prueba o investiga cuáles hay, y a una mala, si estás buscando empleo, busca el que estén utilizando para presentarte al puesto. A lo largo de nuestra vida como developers, vamos a tocar distintos frameworks o librerías, no te cases con ninguna tecnología, busca los beneficios y contras que tienen.

Al final, en el fondo, la manera de trabajar que tienen son lo mismo. Llegará un momento que cambiar entre tecnologías, será como cambiarte de camiseta.

## Aprende bien Git
No le damos la importancia que le deberíamos de dar a nuestro control de versiones. Es una herramienta que nos va a acompañar en nuestro día a día junto nuestro IDE de desarrollo. Vamos a tener conflictos, problemas en ramas, y mil tipos de problemas.

Un consejo que doy cuando te inicias en el mundo del control de versiones, es cogernos un papel y pintar las ramas, para hacernos un esquema visual. Esto nos va a ayudar mucho para ver qué queremos hacer, y conseguir una solución. En un futuro lo tendrás tan en mente que no necesitarás ningún papel.

Hay un recurso genial para poder aprender git haciendo katas, y es este: https://github.com/eficode-academy/git-katas

## No te comprometas a algo que sabes que no vas a poder hacer

A veces nos preguntan si podemos hacer una tarea en un lapso de tiempo. Para querer contentar decimos que sí, pero realmente en nuestro interior pensamos que no vamos a llegar, o pensamos que vamos a tener problemas por el camino. Tenemos que ser sinceras o sinceros, decir en cuánto tiempo lo podemos tener y qué problemas nos pueden surgir. 

En un futuro, si no somos sinceras o sinceros, pueden darnos tareas incluso más difíciles y no vamos a poder entregarlas a tiempo. Si no lo gestionamos bien, nos agobiaremos, acumularemos estrés y se asomará nuestro síndrome del impostor con mucha fuerza.

## Planifica las tareas con cabeza
Por experiencia propia, he podido ver que podemos tener el problema de planificar mucho una solución a una implementación, y hasta que no la vemos perfecta, no escribimos código. Puede estar bien planificar como abordar el problema, pero podemos perder mucho tiempo en no escribir código. Si empezamos a escribir código, vamos a poder ver problemas que no hemos visto en un inicio, e incluso, mejorar lo que teníamos pensado.

Mi mantra personal es: "código que no escribes, es código que no funciona".

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wh2fmeb4uttz2zmaic4h.jpeg)

## Sigue o participa en comunidades
Siempre vamos a tener comunidades donde nos pueden echar una mano, o ser partícipe de ellas. Aquí es un lugar donde vamos a poder aprender nuevas tecnologías, o adquirir nuevos conocimientos. También podemos ayudar a gente con nuestros conocimientos, realizando talleres.

## Sé autodidacta
Los cursos están bien, muchas veces son muy buenos pero, ¿pensaste alguna vez que te tienes que enfrentar a problemas tú sola o solo? En el curso siempre vas de la mano de una persona, y lo más seguro, que no vas a tener problemas. Pero cuando no tenemos a nadie apoyándonos, vamos a tener que saber realizar cosas a solas y enfrentarnos a los problemas.

Intenta hacer un proyecto similar y prueba añadirle alguna dificultad, así te pondrás a prueba, y podrás ver realmente si eres capaz de realizar dicha tarea.

## Destaca en tu portfolio
Una de las preguntas que más leo es: ¿qué puedo hacer para que mi repositorio o proyectos destaquen? Es una pregunta que a veces es difícil de responder, pero os puedo dar unos consejos para intentar que sean más vistosos.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/selkirmc9ex0bayru1ah.jpeg)

Muchas veces, los proyectos que tenemos son de cursos que realizamos, y eso no está mal, pero deberíamos hacer algo diferente, a lo que se nos pide en el curso. Imagínate que otra persona hace el curso, y tiene el mismo proyecto desde principio hasta el final, ¿qué valor puede tener esto?. Sólo vamos a tener algo idéntico y sin personalidad alguna. Intentemos siempre realizar el curso, hacer el ejemplo que nos ponen, y una vez finalizado, hacer otro desde cero, donde le demos nuestro toque personal. Nos podremos enfrentar a las dificultades (como he comentado en el punto anterior) y así resolver ciertos problemas que nos encontremos por el camino.

## No hagas un curriculum Full Stack Ultra Ninja Developer
Cuando somos juniors, lo primero que queremos al adquirir conocimientos es la siguiente recompensa: encontrar nuestro primer trabajo. A continuación os digo unos consejos para mejorar nuestra empleabilidad:

- LinkedIn es una selva de ofertas, pero es un sitio interesante donde empezar a buscar trabajo como developer.
- Lo de Full Stack suena muy bien, pero tenemos que ser realistas: no podemos abarcar todo cuando empezamos. Si se os da mejor el Front, decid que sois Frontend Developer y si es todo lo contrario, decid que sois Backend Developer. Si en un futuro queréis convertiros en un unicornio Full Stack, informad que vuestra meta va a ser ésa. Por poner Full Stack no vas a encontrar trabajo más fácilmente cuando eres junior, puede ser hasta contraproducente. 
- No pongáis en vuestro currículum millones de tecnologías que no sabéis usar, poned las justas, a veces menos es más.
- Si estáis aspirando a un puesto de Frontend Developer, no pongáis que sabéis Word o Excel, porque en el fondo, esto no va a aportar nada, sólo va a crear ruido.
- No uséis las barras o círculos de porcentajes para skills, es algo que no aporta nada y no gusta.
- Podéis complementar vuestro currículum con vuestro perfil de LinkedIn. En vuestro currículum poned con qué tecnologías trabajamos (acordaos, menos es más), y después poned los últimos empleos o proyectos, siempre indicando las tecnologías utilizadas. En LinkedIn podemos poner toda nuestra vida laboral al detalle, pero recomiendo que se ponga lo más relevante para los puestos a los que queréis ser candidatas/candidatos.
- Intenta que tu currículum destaque sobre el resto, no utilices el típico que aparece en mil webs. Siempre deja un detalle, puedes usar los colores corporativos en el diseño.
- Para acabar, el consejo más importante: sed honestas/honestos, es algo muy importante en todo este proceso.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yykjy30rrpzkpyfkz4b9.jpg)

## Aprende de las pruebas técnicas
Uno de los puntos más difíciles para encontrar empleo, son las pruebas técnicas. Vas a tener que demostrar (injustamente) tus conocimientos en un breve periodo de tiempo. Estas pruebas son de lo más variopintas, y hay muchos ejemplos por internet. 

Yo para prepararme las pruebas técnicas, siempre intento hacer katas como las que hay en CodeWars. Normalmente te van a poner un problema que vas a tener que solucionar en ese momento, o tendrás que hacer un breve desarrollo.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lvanj7xzlwrgk8p34x4a.jpeg)

Cuando te den el resultado, si es negativo, no lo veas como tal. Es siempre una mala noticia que nos rechacen para un puesto de trabajo, pero vamos a ver posiblemente nuestro puntos más fuertes y los que tenemos que mejorar. Vas a coger experiencia con las pruebas técnicas y quién sabe, en un futuro, puedes presentarte de nuevo y recibir buenas noticias.

## No pares de aprender
Por desgracia nuestro sector es un mundo muy cambiante, donde salen nuevas tecnologías, y a veces vamos a tener que renovar conocimientos. Nunca vamos a acabar de aprender todo, y vamos a tener que mejorar cada día.

## Acuérdate que fuiste Junior
Cuando ya hemos adquirido un cierto conocimiento, no debemos de olvidarnos que una vez empezamos nuestro camino sin tener alguno. En tu camino, alguien te habrá ayudado y debemos de hacer lo mismo, ayudar a quienes empiezan. Podemos ayudar en nuestro lugar de trabajo impartiendo talleres o apoyando a la gente más junior. También puedes realizar talleres, artículos o vídeos en directo o en diferido. Este material lo van a agradecer, y que en el día de mañana, esas personas podrán hacer lo mismo que estás haciendo tú ahora.

## Disfruta de lo que haces
Intenta disfrutar siempre de lo que haces, aunque estés en un proyecto que no te es interesante. Puede ser una gran oportunidad para adquirir experiencia y en un futuro, cambiar a un proyecto o empleo que nos guste más.

## Conclusión

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/39ihlhwnm4hllinldnuy.jpeg)

Espero que estos consejos os sean de utilidad, en ellos está reflejada mi experiencia y mi punto de vista en cada una de las cuestiones que os planteo.

Si os parece interesante este artículo, compartidlo y dadle difusión. Si me he olvidado de algo importante o echáis algo en falta, dejad un comentario, o buscadme en Twitter con el usuario de mrcodedev.