En 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!