3 Tipos de Proyectos que te Convertirán en un Programador 🔥
Oct 06, 2023En este blog, vamos a ver tres tipos de proyectos que te convertirán en un programador.
Hola, soy ingeniero de software en Seattle, Programador X. Debes saber que existen cientos, miles, millones de proyectos que puedes hacer como programador. Pero hay una simple razón por la que no deberías hacerlos todos, la misma razón por la que no deberías aprender a programar todos los lenguajes de programación. Y esta razón es para no perder tiempo, porque cada proyecto que haces te va a tomar muchísimo tiempo. Y si inviertes tu tiempo de manera equivocada, pasarán los días, pasarán las semanas, pasarán los meses y los años, y estarás exactamente en el mismo lugar donde estabas antes, sin trabajo.
Claro que puedes pasar tres años trabajando en un proyecto de Node.js, pero en menos de lo que piensas va a llegar Bun (time) o chat GPT o alguna nueva tecnología, y todo ese tiempo que pasaste estudiando al final no te sirvió de nada. Así que en este blog vamos a ver la forma más eficiente para que hagas los mejores proyectos sin perder tiempo.
Y todos estos proyectos los puedes publicar con Hostinger. El alojamiento web puede ser un poco confuso, pero Hostinger tiene la plataforma más intuitiva que existe. Y con el plan Premium, obtendrás todas las funciones que necesitas para implementar tu sitio web en cuestión de minutos. Esto incluye un dominio gratuito, también podrás crear hasta 100 sitios web. Entonces, si estás interesado, asegúrate de visitar https://hostinger.com/programadorx y al realizar el pago, utiliza mi código "PROGRAMADORX" y obtendrás un descuento adicional del 10% en tu pedido.
Y aquí realmente podemos dividir los tipos de proyectos de muchas maneras, pero creo que lo mejor es dividirlos en tres categorías. Así que vamos viendo cada una de estas de principio a fin.
Primero, vamos a ver los proyectos simples. Estos son proyectos excelentes para crear cuando recién estás empezando a programar. Algunos ejemplos muy comunes son un ToDo List, a esta app también se la conoce como lista de objetivos. También puede ser una pequeña galería, una pequeña página que hace ciertos cálculos, por ejemplo, una conversión de un número a otro. Tal vez puede ser un reloj digital o incluso yo recuerdo uno de los primeros proyectos simples que hice fue una pequeña página que tenía un botón que dabas clic y tenías un dado que salía rotando y al azar seleccionaba un número del 1 al 6. Esto yo utilizaba con mis compañeros de trabajo cuando teníamos alguna indecisión en grupo. Podíamos lanzar el dado digital y dejábamos que el destino escogiera nuestra ruta.
Y como ves, estos ejemplos que te acabo de dar de proyectos son bastante simples. Y si podemos generalizar este tipo de proyectos, podemos decir que más o menos toman de 1 a 3 días, hacen de una a cinco cosas, y realmente la cantidad de código que necesitas para crear estos proyectos es realmente mínima, tal vez unas 200 a 300 líneas. Estos proyectos son simples, no utilizan bibliotecas, no utilizan frameworks. Tal vez puedes experimentar con una técnica especial.
También recuerdo otro de mis primeros proyectos de este tipo era una página web que realizaba el efecto parallax. Este efecto es interesante porque puedes poner diferentes elementos y simula cierta profundidad. Y cuando haces scroll, cada uno se mueve a diferente velocidad. Entonces da la sensación de que la capa del fondo está súper lejos y la capa del frente está al frente nuestro, es bastante 3D.
Y esto creo que me tomó un día y fue más para experimentar. Y aquí te puedes dar cuenta que el objetivo de estos proyectos es tal vez solucionar un problema simple o practicar cierto tipo de tecnología que no conocías. Estos proyectos no tienen que verse para nada profesionales porque no van a terminar en las manos de tu cliente, no van a terminar en las manos de tu jefe, simplemente son proyectos para ti, para practicar. Y además, son proyectos que puedes poner inmediatamente en tu portafolio. Yo conozco personas que hacen blogs y hacen uno de estos proyectos por blog, y tienen cientos de estos pequeños ejercicios, y se ven súper bien en sus portafolios. Te muestran diversidad y demuestran en general cierto nivel de creatividad.
Otro proyecto simple que yo hice en mis primeros días como programador era una pequeña página web que me preguntaba de una base de preguntas que yo tenía en un archivo JSON. Y estas eran seleccionadas al azar, y así yo podía practicar un poco de CSS respondiendo. Pero el objetivo de estos proyectos no es encontrarte un trabajo necesariamente. Es más, honestamente te digo que va a ser muy difícil que alguien te contrate si solo tienes este tipo de proyectos. Así que veamos el siguiente tipo de proyectos.
Por supuesto, antes te invito a suscribirte a nuestro NewsLetter en aparte inferior para que no te pierdas ninguno de mis próximos blogs, ya que se vienen bastantes tutoriales. Ahora, entre proyectos de tipo intermedio, por lo general son proyectos un poco más avanzados. Algunos ejemplos de estos son juegos, por ejemplo, cómo crear el juego Busca Minas, cómo crear el juego Snake, cómo crear una pequeña tabla de Sudoku.
Y uno de los primeros proyectos que yo hice de este tipo era un juego que se llamaba Car Crash. Este juego lo hice utilizando la biblioteca Phaser. Y como ves, este tipo de proyectos suelen requerir bibliotecas. Esta biblioteca es bastante compleja y me tomó varios días entenderla hasta que creé este pequeño juego en el que tenía un carro y venían diferentes tractores y venían los camiones en diferentes direcciones, y tu trabajo era moverte tratando de esquivar a los camiones, porque una vez que te chocabas con el camión, el carro explotaba. Y "Car Crash" en español significa choque de autos, y realmente fue un juego súper divertido. Creé como 1000 niveles para este juego y los niveles eran simplemente aumentaba un poco la dificultad, la velocidad del juego aumentaba y los fondos del juego cambiaban a diferentes imágenes. Empezaba en un bosque, después era en un desierto, después en el mar, y después en la nieve. Y hacer ese juego fue súper divertido, porque yo llevaba ese juego a mi trabajo y les hacía a mis compañeros jugar, y realmente sufrían bastante, porque yo ya había practicado, yo ya había sido bueno, y ellos no
podían pasar ese juego. Espero en algún momento revivirlo y publicarlo para que veas más o menos cómo es.
Pero este es un proyecto de tipo intermedio y me tomó más de un par de semanas crearlo. Otro ejemplo de proyectos intermedios es, por ejemplo, una calculadora. De hecho, en este momento estoy justo creando una calculadora para mis estudiantes en Academia X. Otro proyecto de este tipo es un escrapeador de sitios. Este también fue uno de mis primeros proyectos, es más, cuando trabajé en un proyecto para Google, yo utilizaba una aplicación que se llama FME, que me permitía escrapear otros sitios web. Pero tenía una pequeña zona donde podía hacer cambios de código, y en ese rol yo no era un programador, pero yo aprendí ciertas cosas básicas para hacer cambios de código en mi trabajo. Claro, después aprendí a programar, y ahí sí creé un escrapeador de más alta calidad con Selenium.
Y con esto, ya tienes una idea general de cómo son este tipo de proyectos. Como ves, este tipo de proyectos requieren un poco más de funcionalidades que los proyectos anteriores, requieren tal vez unas cinco funcionalidades principales. Por ejemplo, si estás creando una calculadora, vas a tener la funcionalidad principal de mostrar el número. También vas a tener los botones de números que se van a reflejar en la pantalla, y también tienes los botones de operaciones, que cada uno tiene una funcionalidad distinta. Así que, como te puedes imaginar, detrás de escena, crear una calculadora no es tan simple. Cada botón tiene una funcionalidad específica. Y también se puede decir que estos proyectos tienen de unas 400 a unas 600 líneas de código, usan bibliotecas o frameworks.
Y cuándo deberías hacer estos proyectos. Yo te recomiendo hacer este tipo de proyectos después de haber realizado al menos unos 5 a 10 proyectos simples. Y esto es porque estos proyectos te van a tomar más tiempo. Si es que vas a poner este proyecto en tu portafolio, te recomiendo hacer de unos tres a unos cinco de estos proyectos. Solo eso te va a tomar unos dos meses. Pero esto, además de elevar tu nivel como programador, porque realmente estás elevando la complejidad, es un indicador muy bueno para tus contratadores cuando vean tu portafolio. Y en este tipo de proyectos, al iniciar, es donde vas a adquirir la mayor cantidad de experiencia.
Ahora subamos un poco la complejidad y vamos a ver el tercer tipo de proyecto. Y estos ya son proyectos más difíciles. Es más, este tipo de proyectos que vamos a ver son proyectos más de nivel de tesis, si es que estás en una universidad, o son proyectos de finalización de un bootcamp. Algunos ejemplos de estos proyectos son crear un clon de Netflix, crear tal vez un clon de Twitter, o X como se llama hoy en día, crear un clon de Facebook, crear un clon de Instagram, crear un clon de LinkedIn, crear un clon de Twitch, un clon de Discord. Como puedes imaginar, crear un proyecto de estos te va a tomar al menos un mes. Así que vas a tener que ser bastante estratégico al decidir en qué tipo de proyectos vas a trabajar si estás iniciando, porque embarcarte en hacer uno de estos proyectos de tesis realmente va a terminar un año frente a tus ojos. Probablemente vas a terminar unos cuatro o cinco de estos proyectos.
Pero ¿qué sucede durante ese tiempo? Si vas a adquirir bastante experiencia, pero dedicar tanto tiempo a estos proyectos complejos no es para nada eficiente. Como ves, cada uno de estos proyectos tiene al menos unas 10 funcionalidades como mínimo. Imagina Netflix, tienes la autenticación, tienes el inicio de cuenta, después tienes la navegación de diferentes secciones, tienes las imágenes, y tienes el scroll horizontal, tienes que dar clic en un vídeo y se abre uno nuevo, podrías tener un formulario de contacto, también podrías implementar autorización para ver solo los vídeos autorizados en tu país. Si estás en el área full stack, vas a tener que implementar el backend, vas a tener que almacenar las imágenes, tener una base de datos. Como ves, ahí ya está bastante complejo este proyecto. Y el ejemplo de Netflix tal vez es uno de los más simples de este tipo, con otros como Instagram, tienes incluso más funcionalidades, como subir imágenes, subir videos, dar likes, mensajería entre personas. Así que si lo piensas bien, un proyecto grande de este tipo es básicamente como una colección de proyectos pequeños.
Este tipo de proyectos definitivamente van a tener unas mil líneas de código como mínimo. Vas a utilizar bibliotecas, vas a tener que realizar interacciones con APIs. Y no son eficientes para encontrar trabajo. Yo conozco a muchas personas que han conseguido trabajo solo realizando uno o dos de estos proyectos, y muchas veces ni siquiera tienes que realizar este tipo de proyectos para tu primer trabajo. Con esto, también te puedo decir que tal vez uno de los proyectos más complejos cuando yo empecé a programar realmente fue mi primer trabajo, que fue un proyecto que hice para la peluquería de la esposa de mi amigo, en el que tenía un amigo que era diseñador, él diseño la página web, yo la implementé completamente. Y era más o menos tres páginas web bastante complejas con algunas animaciones, pero se veía súper bien. Y tal vez ese proyecto me tomó más o menos una semana. Así que ni siquiera era un proyecto tan complejo como una aplicación.
Con esto ya Fue suficiente para que me contraten en una consultoría en la que terminé trabajando. Obviamente han pasado muchos años de eso, los requerimientos son bastante altos hoy en día, al menos si quieres trabajar en compañías grandes. Pero no hay mejor que la preparación, y por eso te sugiero que al menos hagas uno o dos proyectos de tesis de estos muy complejos, mientras ya tienes los otros proyectos y estás aplicando a trabajos. Así que si quieres ser eficiente, te recomiendo que crees proyectos casi en forma de una pirámide, en donde creas uno o dos proyectos de este tipo, creas unos cinco proyectos de tipo medio, y tal vez unos 10 proyectos bastante simples. Con esto, ya vas a tener un portafolio más que lleno, que se va a ver muy bien. Y asegúrate de poner estos proyectos más complejos primero en tu portafolio, porque eso es lo primero que va a revisar cualquier persona que te contrate.
Recuerda que la idea aquí para convertirte en programador profesional es, por un lado, que aprendas, y por otro lado, que encuentres trabajo. Y si pasas muchísimo tiempo practicando, solo estás aprendiendo, pero no estás consiguiendo trabajo. De igual manera, si no tienes buenos
proyectos, nadie te va a contratar. Así que tienes que buscar ese punto especial en donde hagas suficientes proyectos para que puedas practicar y para que te puedan contratar. Algo que yo les digo a todos mis estudiantes es que prioricen encontrar un trabajo, porque una vez que estás trabajando en la industria, ya estás practicando mientras te pagan. Y eso es mucho más eficiente en lugar de pasar meses tratando de perfeccionar tus proyectos. Va a ser bonito, vas a tener una linda galería de proyectos, pero lamentablemente no vas a estar trabajando.
Y las personas más eficientes son las personas que pueden hacer muchas cosas a la vez y sacar mayor provecho a esas oportunidades. Con esto, estoy seguro de que lograrás cumplir los dos propósitos de aprender y de encontrar trabajo. Espero que este blog te sirva bastante. Y si quieres aprender todas las tecnologías que necesitas, además de muchos consejos y estrategias para entrar a la industria, te invito a que estudies conmigo en Academia X, en academia-x.com. Te enseño a crear páginas web estáticas, te enseño a crear aplicaciones, te entreno para entrevistas con mis cursos de entrevistas, algoritmos y diseños de sistemas. Y puedes elegir entre dos sabores de bootcamps que tengo, uno de JavaScript y Node.js, para que hagas todo en un solo lenguaje, y otro un poco más complejo, enfocado en Python y Django, que es un poco más difícil que el de JavaScript, pero te puede abrir más oportunidades.
Si quieres leer más blogs como este, suscríbete a nuestro NewsLetter.Te deseo lo mejor en la industria de la tecnología!
¡Suscríbete a nuestro NewsLetter!
No te enviaremos SPAM. Nunca venderemos su información, por ningún motivo.