Mi experiencia después de usar ChatGPT a diario como ayuda para desarrollar un proyecto

Como todos estoy muy impresionado con la Inteligencia Artificial y todo lo nuevo que trae, la usé para diseñar la portada de mi libro de fantasía, pero hasta hace poco no me había dado la oportunidad de usarla en mi trabajo y por lo tanto no había conocido las ventajas de hacerlo.

En resumen, mi experiencia de entusiasmo con la IA hasta el momento es así:

Hace como de un mes comencé una página web en React + NextJS con su backend en Django, tengo experiencia con Django, pero web no es mi fuerte, así que me propuse aprenderlo conforme iba construyendo la página y se me ocurrió la idea de usar ChatGPT como herramienta para aprender más rápido, como menciono arriba antes de esto no había usado mucho ChatGPT mas que para jugar a preguntarle cosas y ver qué me respondía, hace unos meses hice un proyecto y estuve moviéndole, me impresionó lo que podía lograr pero no lo usé como herramienta para aprender y desarrollar, sino que el producto lo usaba, (si quieres saber más del proyecto y por qué fracasó puse un post mortem en mi blog personal), en esta ocasión tanto la página web como yo usamos ChatGPT, entonces la experiencia es distinta.

Comencé por preguntarle cosas sencillas ¿qué es NextJS? ¿debería usar NextJS con React? ¿Debería usar el backend que proporciona NextJS o mejor usar un backend distinto como Django? en esta parte ChatGPT me ayudó un montón a entender conceptos concretos rápidamente, cuando se lee una documentación te quedas con muchas dudas concretas que la documentación pasa por alto o aborda en otro lugar, y es genial poder preguntárselas a alguien, en esto también me ayudó mucho otra IA que ya viene integrada con el navegador Arc, nada más das clic en command + f y le preguntas algo y busca dentro de la página para responder, entonces, por ejemplo si veía cómo agregar un archivo .env en NextJS le preguntaba ¿Y si quiero agregar variables de entorno en producción? me respondía como hacerlo entendiendo el contexto.

Acá me di cuenta de algo: Las IA pocas veces responden algo concreto cuando le preguntas «¿qué es mejor?», por ejemplo, si le preguntas ¿qué es mejor, usar NextJs con su backend o mejor usar otro como Django? no esperes que te conteste una o la otra, sino que te responderá algo como esto:

La decisión de utilizar el backend proporcionado por Next.js o un backend separado como Django depende de varios factores, incluyendo las necesidades específicas de tu proyecto, tu experiencia y preferencias técnicas, y la escalabilidad y complejidad esperadas de tu aplicación.

Aquí hay algunos factores a considerar:

  1. Complejidad del proyecto: Si tu aplicación es relativamente simple y no requiere una lógica de backend compleja, el backend integrado de Next.js puede ser suficiente para tus necesidades.
  2. Experiencia técnica: Si ya estás familiarizado con Django y te sientes cómodo trabajando con él, puede ser más fácil y rápido para ti construir tu backend con Django en lugar de aprender y utilizar el backend de Next.js.
  3. Escalabilidad: Si prevés que tu aplicación crecerá significativamente en términos de tráfico, usuarios y funcionalidades, es posible que desees optar por un backend más escalable y robusto como Django, que tiene una sólida comunidad de desarrollo y una gran cantidad de bibliotecas y herramientas disponibles.

En resumen, no hay una respuesta definitiva sobre si deberías usar el backend de Next.js o un backend separado como Django, ya que depende de las necesidades y circunstancias específicas de tu proyecto. Te recomendaría evaluar cuidadosamente…

Lo mismo sucede con preguntas como ¿qué es más barato, Google Cloud, Heroku o AWS? Esto me decepcionó un poco pero entiendo que siempre habrá ventajas y desventajas más que una respuesta concreta, es parte de desarrollar, pero me habría gustado que en ocasiones como esa del precio dijera «A corto plazo la opción A y a largo plazo la opción B»

Para preguntas concretas la IA no tiene comparación, por ejemplo preguntas como ¿Cómo le hago para que cuando le de clic a un texto vaya y lo busque en Google en NextJS? o ¿Cómo creo un botón con un color blue-500 y que cambie a blue-200 cuando se le dé clic con Tailwind? (Tailwind es como un CSS que se usa en NextJS), otro ejemplo genial es que por ejemplo yo no conocía mucho de NextJS pero sí conozco mucho de Android, entonces puedo hacer analogías y preguntar cosas como ¿Cuál sería la analogía de usar SharedPreferences de Android para guardar datos del usuario pero con NextJS? intenta poner esas preguntas y verás que te sorprendes, ya no necesitas buscarlo por tu cuenta, esto te ahorra un montón de tiempo.

Hubo un momento en que ya todo lo empezaba a buscar en ChatGPT y dejé de lado la búsqueda «normal» en foros, blogs o StackOverflow, mi entusiasmo estaba por las nubes, pero pronto me empecé a dar cuenta de algunas cosas en las que la IA no es tan buena, incluso te puede hacer perder más tiempo.

La IA tiene una gran desventaja, y es que es como un filósofo de esos que le dices «maestro no encuentro la respuesta a mi problema» y te contesta «Si quieres una buena respuesta, empieza por plantear la pregunta correcta», la IA te responde lo que tú le preguntas, no más, a veces intenta darte un contexto pero no va mucho más allá, entonces es muy fácil hacer una pregunta incorrecta y que te responda cosas incorrectas, luego empiezas a copiar y pegar y ves que no funcionan. Por ejemplo, en Tailwind hay una forma de manejar tamaños de pantalla usando sm, md o lg, si quieres que tu Componente tenga un background rojo en pantallas pequeñas como de un celular escribes sm:bg-red, si quieres que sea para pantallas medianas escribes md:bg-red, le pregunté a ChatGPT porque quería que algo se viera en mi celular y me señalaba eso pero no me funcionaba, después de como una hora de intentar con prompts distintos me fui a la documentación de Tailwind y en los primeros párrafos encontré el por qué.

En esta ocasión la IA me hizo perder más tiempo, me ha sucedido en varias ocasiones.

Mi conclusión es que la IA va a agilizar un montón el trabajo, después de todo creo que he hecho la página web en tiempo récord y en especial al inicio de mi aprendizaje me ayudó muchísimo, es como un maestro que tienes disponible en todo momento. Dicho esto, la IA no es la solución a todo (al menos hasta ahora), hay que tomarla con un poco de cuidado y combinarla con cómo se ha hecho hasta ahora, búsquedas en foros, webs, y sobre todo documentaciones oficiales, de hecho te recomiendo leer primero la documentación oficial si quieres aprender las cosas de raíz, porque con la IA podemos caer en el «pecado» de que nos empiece a solucionar las cosas por pedazos, lo que puede causar que terminemos con un proyecto Frankenstein lleno de parches y más importante aún, que al final no aprendamos nada, definitivamente la IA llegó para quedarse y cada vez mejorará para hacernos la vida más fácil a los programadores.

Por cierto, este es el proyecto que estoy construyendo, se llama Tesisfy.

Publicado por Jesus Almaral

Soy ingeniero en Mecatrónica con maestría en Machine Learning, tengo experiencia en lenguajes como Java, Kotlin, Matlab, Android, Python, etc. Actualmente soy desarrollador de aplicaciones móviles, me gusta la música y toco la guitarra, me gusta mucho saber cosas sobre el universo, leer y comer tacos. También me apasiona enseñar.

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.