Cómo ganar experiencia como developer sin tener trabajo
Tags: spanish, career, sideprojects
Published: 2021-02-01 00:24:35

---
title: Cómo ganar experiencia como developer sin tener trabajo
published: true
description: 5 razones por las cuales clonar aplicaciones es una excelente forma de ganar experiencia como developer que te ayudara a conseguir mejores oportunidades.
tags: spanish, career, sideprojects
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/21ortjgovqw3jzqd34v6.jpeg
canonical_url: https://matiasverdier.com/posts/como-ganar-experiencia-como-developer-sin-tener-trabajo
---

> Cover photo by Tudor Baciu

¿Hace un tiempo estas aprendiendo a programar y quieres conseguir tu primer trabajo? ¿Completas tutoriales o lees artículos pero no sientes que tienes la experiencia necesaria para que te tengan en cuenta en un trabajo? ¿Buscas como destacar, demostrar lo que sabes o simplemente mejorar cómo desarrollador/a? Si respondiste que **SI** a alguna de estas preguntas y quieres saber como tener mas oportunidades en el rubro del desarrollo te invito a que sigas leyendo.


> ¿Cómo obtengo experiencia si aún no tengo un trabajo donde pueda generar esa experiencia?

## Respuesta corta: Clonar aplicaciones existentes.

Como me parece sumamente importante, sobre todo para personas que recién comienzan y buscan su primer trabajo, voy a pasar rápidamente a comentarles varios puntos acerca de por que creo que clonar o replicar aplicaciones es una de las mejores (quizás la mejor) maneras de ganar experiencia.

## 1) No requiere creatividad

![Ideas](https://dev-to-uploads.s3.amazonaws.com/i/5asq4uo0vf73bx935vlh.jpeg)

> Photo by AbsolutVision

No tienes que preocuparte por pensar que quieres implementar ni que se te ocurran ideas o diseños geniales para tu app. Simplemente puedes elegir una aplicación que te guste y que creas que puede tener funcionalidades interesantes para aprender **COMO** se hacen.

No pierdas tiempo buscando ideas para proyectos, clona las paginas y aplicaciones que usas regularmente. (Ej: Twitter, Youtube, Trello, etc).


> El siguiente Párrafo fue agregado gracias al comentario de [Jorge Eψ=Ĥψ](https://dev.to/jagedn)

Esto no quiere decir que tengas que crear exactamente ese tipo de aplicaciones si sientes que aun no tienes los conocimientos necesarios, dependiendo del nivel de los mismos debes buscar aplicaciones o sitios mas sencillos para evitar la frustración que puede surgir al no saber por donde empezar. También puedes implementar partes concretas de aplicaciones grandes que puedan parecer fuera de tu alcance por el momento.

## 2) Te enfocas en aprender

![Learning](https://dev-to-uploads.s3.amazonaws.com/i/rlu7wj7ko10igs21egw9.jpeg)

> Photo by Element5 Digital

Dado que no tienes que pensar que hacer (por lo que vimos en el punto anterior), te puedes enfocar en el **COMO** y realmente aprender a construir una aplicación y cada una de sus funcionalidades.

Ademas el proceso de aprendizaje va a estar guiado por la necesidad de resolver un problema concreto, que en mi opinion, es cuando mejor aprendemos y es lo que vas a tener que hacer en un futuro trabajo, nadie te va a decir como solucionar un problema, el cliente va decirte que es lo que quiere lograr y tu, junto a ru equipo, deberán encontrar una solución.

El hecho de clonar una app o sitio también evita que quieras abarcar muchas cosas al mismo tiempo, sobre todo me refiero a lo que muchos de nosotros hemos hecho cuando empezamos, y es la idea de querer crear una app y generar ingresos a partir de la misma. Esto no es un error en sí mismo, de hecho creo que todos deberíamos intentarlo alguna vez, pero hacerlo cuando estas aprendiendo solamente agrega mas cosas que aprender y posibles fuentes de frustración cuando las cosas no salen como esperamos. 

Cuando estas aprendiendo no quieres agregar mas complejidad al proceso, no quieres tener que preocuparte por resolver una problema real de una forma novedosa, de tener que planificar, diseñar y validar una solución propia que agregue valor a los usuarios. Todo eso podría considerarse un campo entero del conocimiento y como tal, requiere que te enfoques en ello exclusivamente para aprender de forma eficiente.

En el futuro, cuando quieras crear algo de ese estilo, mi recomendación es que uses un stack que ya domines, las razones de esta recomendación son prácticamente las mismas que antes, pero en este caso en lo que quieres enfocarte es en generar algo de valor que otras personas estén dispuesto a pagar, por lo que no es bueno estar al mismo tiempo aprendiendo e incluso batallando contra la tecnología, debes enfocarte en las cosas apropiadas dependiendo del objetivo.

## 3) El camino hacia la meta es claro

![Goals](https://dev-to-uploads.s3.amazonaws.com/i/mv41ty1mqy59u24oudqi.jpeg)

> Photo by Ante Hamersmit

Si estas clonando una app que ya existe ya sabes como luce el producto final, no lo tienes que imaginar, el objetivo esta claro, ya sabe cómo se supone que debe funcionar la aplicación porque ya existe y seguramente la has usado.
Esto tiene ademas como ventaja que seguramente otras personas también hayan seguido este camino y hayan generado tutoriales u otro tipo de contenido al respecto, y el cual puedes aprovechar y usar como guía cuando sientas que no avanzas.

## 4) Puedes aportar tu toque personal

![Creatividad](https://dev-to-uploads.s3.amazonaws.com/i/gq7akmlw3k3sq5dqv3wb.jpeg)

> Photo by Dragos Gontariu

Seguramente durante el proceso de creación, hayas ido identificando cosas te gustaría cambiar, cosas que sientes que deberían ser de otra manera, esta es la verdadera oportunidad de que la creatividad surja naturalmente. Aunque no lo creas la creatividad se puede adquirir y mejorar, la practica y exposición a diferentes cosas es la manera de hacerlo.

Teniendo esto en cuenta, una vez que alcanzamos la meta y tienes una aplicación funcional y sientes que aprendiste los conceptos necesarios, puedes dar rienda suelta a la creatividad, este si es un buen momento para innovar, hasta puede que te des cuenta que hay una necesidad real que tu puedes resolver, solo que esta vez ya contaras con la experiencia y la practica necesarias y no estarás cometiendo el error mencionado en el punto #2

Estas mejoras pueden incluir cosas orientadas a la experiencia del usuario como:

- Tema (colores, fuentes, tamaños, etc)
- Layouts, como se organiza el contenido en la página.
- Interacciones, animaciones, etc.
- Que se pueda editar un tweet 😜

O también puedes ir más allá y enfocarte en la parte del backend pudiendo cambiar que base de datos que se utiliza en la app, con que servicios se comunica la API, y un largo etc.

## 5) Experiencia real

![Work](https://dev-to-uploads.s3.amazonaws.com/i/6hjjgrasaozu623r7frk.jpeg)

> Photo by Scott Graham

Como puedes ver, este tipo de enfoque nos permitirá ganar experiencia replicando aplicaciones que resuelven problemas reales, y mas importante, cuanto mas veces sigas este proceso mas fácil va a ser identificar patrones que se comparten entre ellas, explorar diferentes soluciones a un mismo problema y entender los trade-offs de cada una y por que esas soluciones fueron elegidas frente a otras posibles.

También podrás identificar mas claramente cuales son las buenas practicas y el por qué. De poco sirve adoptar alguna metodología o forma de hacer las cosas si no entiendes de dónde surge, cuál era la necesidad que se intento subsanar y cuál es la motivación detrás de esas recomendaciones. Si bien puedes leer sobre esas cosas nada te va a dar mas claridad que enfrentarte a un código que crece en complejidad, que se vuelve difícil de adaptar y mejorar, en ese momento la necesidad hace su trabajo nuevamente y te motiva a buscar la solución en el momento oportuno y no antes.


## Conclusion

Podría explayarme largamente sobre cada punto mencionado pero creo que lo más importante es que te lleves lo esencial de cada uno. Para resumir, mi recomendación es la siguiente, replica cuantas aplicaciones puedas, busca aplicaciones de distintos tipos que resuelvan una variedad de problemas para que vayas incorporando las cosas que se comparten entre ellas y notes las diferencias.

No intentes ser creativo cuando no es el momento, te aseguro que tendrás oportunidad de crear algo único en su debido tiempo. No te abrumes con todas las cosas que hay para aprender, ponte metas claras y desafíos que puedas alcanzar.

Usa estas aplicaciones para poner en practica tus conocimientos, para demostrarte a ti mismo/a lo que puedes lograr y que el hecho de no haber trabajado nunca de manera formal no sea un impedimento para avanzar en tu carrera.

Espero que este post te haya sido de utilidad, que puedas aplicar estos consejos y que te ayuden a mejorar. Si tienes dudas, comentarios o quieres saber mas puedes dejar un comentario o contactarme en [twitter](https://twitter.com/matiasvj)

### Gracias!