Si te gustaría empezar a programar pero tienes miedo de que la IA y ChatGPT te robe el trabajo, entonces este artículo es definitivamente para ti. Especialmente si estás pensando en cambiar de carrera para convertirte en un Ingeniero de Software o un Profesional de Datos, realmente siento lo incómodo que estás ahora mismo.
Empecé a programar hace unos 3 años cuando tenía 30 sin experiencia previa, y esto me ayudó a encontrar mi primer trabajo remoto en IT.
Ahora, hace 3 años ChatGPT no existía y sé que estás atormentado con preguntas como: «¿Qué pasa si invierto meses aprendiendo y practicando a programar y luego no encuentro un trabajo real por culpa de la IA?».
Bueno, déjame decirte una cosa: no te asustes por los recientes despidos en las grandes tecnológicas: no están directamente relacionados con el aumento de la IA. Además, nadie sabe realmente si la IA sustituirá a los desarrolladores dentro de 5 años, así que esta es mi opinión: La IA sustituirá a los desarrolladores que no sepan programar. Por lo tanto, si aprendes a programar, la IA será una herramienta que te ayudará a agilizar tus tareas diarias, no un enemigo que te sustituirá.
Por lo tanto, en este artículo, vamos a ver cómo ChatGPT en realidad puede ser un valor añadido para ti si estás pensando en empezar a programar hoy, independientemente de la edad que tengas y lo que es tu estado actual de la carrera.
Tabla de contenidos
Regla número 1: cómo formular correctamente las preguntas a ChatGPT
Lo primero que hay que aprender es cómo hacer correctamente las preguntas adecuadas a ChatGPT.
Cuando empecé a aprender a programar pensaba que los desarrolladores eran unos empollones que empezaban a programar a los 5 años y tenían unos conocimientos enormes de programación, teniendo en mente todo el código que necesitaban.
¿Y sabes qué? No podía estar más equivocado. He aquí una cruda verdad:
- Muchos desarrolladores empezaron a aprender a programar entre los 20 y los 30 años.
- La mayoría de los desarrolladores trabajan buscando cosas en Google y StackOverflow (y hoy en día, hacen preguntas a ChatGPT).
Así que, en primer lugar, si estás empezando a programar ahora mismo no te avergüences de pasar mucho tiempo en Google, StackOverflow o ChatGPT. Es completamente normal. Sólo necesitas saber cómo hacerlo correctamente porque nunca tendrás en mente todo el código que necesitas (tendrás en mente sólo los métodos y funciones que más utilices, por supuesto).
De todos modos, la diferencia entre hoy y los 90 es que en los 90 apenas existía Internet, por lo que los desarrolladores no tenían todo el apoyo que tienen hoy gracias a las comunidades globales, los foros, los sitios web y la IA.
Esto llevó a los desarrolladores a aprender a programar por las malas, no pocas veces pasando días para resolver un problema (encontrar un bug o dar con el trozo de código adecuado).
Hoy en día, tienes una gran oportunidad: tienes un desarrollador senior disponible 24/7 y esto es ChatGPT, pero tienes que tratarlo como tal, no como un oráculo.
Así que aquí tienes algunas pautas sobre cómo deberías consultar correctamente ChatGPT si estás empezando a programar hoy:
- Aprende primero lo básico. Antes de usar ChatGPT, mi consejo es que primero aprendas lo básico por una sencilla razón: ChatGPT a menudo te da código que necesitas refactorizar, por cualquier razón. Esto significa que necesitas tener conocimientos previos de codificación: no puedes simplemente pedirle a ChatGPT que te cree un código para resolver un problema real. El tipo de desarrolladores que serán sustituidos por la IA son propiamente los que hacen preguntas a ChatGPT sin conocimientos previos (o con escasos conocimientos) de codificación. Así que, antes de preguntar, consigue un curso y empieza a practicar.
- Haz preguntas y luego aprende. Cuando somos niños somos muy curiosos y nuestras preguntas nos hacen crecer porque estamos genuinamente interesados en las respuestas. Este es el estado mental que deberíamos tener siempre como profesionales del software: tener una respuesta y simplemente copiarla y pegarla no nos hará aprender a programar. Si el código que obtenemos de ChatGPT funciona deberías, al menos, pedirle que te explique el código que ha utilizado y por qué lo ha utilizado. Como principiante, de hecho, tu papel es aprender para que en el futuro puedas usar menos ChatGPT y ser más independiente: por eso siempre debes pedir explicaciones del código.
- Resuelve problemas reales. Cuando programamos, podemos resolver el mismo problema con diferentes métodos: por eso no tiene sentido pedirle a ChatGPT que genere un código aleatorio. Es absolutamente necesario pedirle algo relacionado con un proyecto que estamos haciendo o un problema que necesitamos resolver.
- No confíes ciegamente en él. Como sistema de IA generativa, ChatGPT es propenso a errores. Aunque hoy en día con los modelos GTP-4 hemos visto muy buenas mejoras, sigue habiendo errores en el código. Además, los errores suelen deberse a que las indicaciones pueden estar incompletas o ser de algún modo engañosas. Por eso, aunque el código funcione, no puedes fiarte ciegamente de las respuestas y necesitas entender a fondo el código que obtienes.
Regla número 2: consulta siempre la documentación
Creé la imagen de arriba para un contenido que escribí en Linkedin hace unos meses (oh, y por cierto: aquí está mi perfil si quieres ponerte en contacto).
Esta es la moraleja de la historia: independientemente de dónde busques la información que necesitas para resolver tu problema de codificación, siempre tienes que leer la documentación. Siempre. Este es el evangelio para nosotros, los desarrolladores y profesionales de datos. Siempre tenemos que leer la documentación.
De hecho, si encontramos un fragmento de código que puede resolver un problema al que nos enfrentamos, si no entendemos el código no seremos capaces de generalizar el código que estamos utilizando. Esto significa que en el futuro no podremos resolver un problema similar porque no hemos aprendido nada: nos hemos limitado a copiar y pegar el código.
Y esto es particularmente cierto con ChatGPT, sobre todo porque a veces inventa bibliotecas que no existen. Sí, has leído bien: a veces ChatGPT inventa bibliotecas.
Hay que decir que, gracias a GPT-4, OpenAI hizo muchas mejoras. Pero en los últimos meses, me ha pasado al menos un par de veces que ChatGPT se ha inventado algunas librerías inexistentes.
¿Y sabes cómo podemos ver si una librería no existe? Hay algunas posibilidades:
- Tú sabes lo que estás haciendo y pidiendo a ChatGPT. Pero esto ocurrirá después de meses de práctica, cuando hayas adquirido algo de experiencia.
- Obtienes el código de ChatGPT, lo lees, intentas entenderlo, le pides a ChatGPT alguna explicación sobre el uso, vas a Internet para leer la documentación y no encuentras ninguna referencia.
- Pruebas el código y obtienes un error, y aprendes la lección por las malas. Pero no te avergüences de ello: me ha pasado incluso a mí.
Recuerda: no hay nada malo en la urgencia por resolver un problema lo antes posible. Incluso puedes probar el código y obtener un error. Bueno, la verdad es que el error puede deberse incluso a una mala indicación, y esto ocurre con mucha frecuencia.
De todas formas, recuerda: si tu trabajo está hecho porque has resuelto el problema real, entonces, por favor: ve a leer la documentación para entenderlo mejor. También puedes descubrir que tu problema se puede resolver con menos código.
Regla número 3: solución de problemas y depuración
ChatGPT es una gran herramienta incluso para solucionar problemas y depurar tu código. Sin embargo, incluso en este caso, debes aprender a usarlo correctamente, si estás empezando tu camino de aprender a codificar.
En primer lugar, si estás utilizando un IDE como VS CODE o PYCHARM para programar, utiliza sus funciones de depuración. Tienen funciones de depuración integradas gracias a las cuales puedes simplemente pulsar un botón, y depuran tu código, mostrándote (eventuales) problemas en tu código.
En esta etapa, pero incluso más tarde (todavía estoy usando este método), la mejor idea es seguir este camino:
- Escribe tu programa.
- Depura tu código en el IDE.
- Lee las eventuales advertencias que recibas del depurador si algo no funciona.
- Pega las advertencias en Google si no sabes cómo resolverlas.
- Pega las advertencias en ChatGPT si Google no resuelve tu problema.
- Pega todo el código en ChatGPT si aún no has resuelto tu problema.
- Ve a leer la documentación si el punto anterior solucionó tu problema.
Nunca me cansaré de repetirlo: siempre necesitamos consultar la documentación cuando Google o ChatGPT resuelven un problema que tenemos con nuestro código.
Así que, por favor: no pegues ciegamente el código en ChatGPT pidiendo que busque problemas en tu código: primero, esfuérzate por encontrarlos por tu cuenta de la forma más difícil, porque sólo así aprenderás cosas. No hay otra forma de aprender cosas, y sé que lo sabes.
Por último, una nota importante: recuerda que ChatGPT trabaja en la nube y, además, puede usar tus indicaciones para entrenar sus algoritmos (con los recientes cambios en el uso de la privacidad de datos deberías poder cambiar la configuración, y elegir no dar consentimiento a OpenAI para que entrene sus algoritmos con tus indicaciones).
Sin embargo, una cosa importante a tener en cuenta es no pegar en el código de ChatGPT para depurar con información sensible: debido a las violaciones de datos y otros problemas de seguridad relacionados, es mejor mantenerse a salvo.
Ejemplos en Python
Ahora, veamos algunos ejemplos de preguntas que deberíamos escribir en ChatGPT para aprender a codificar.
He preguntado a ChatGPT lo siguiente: «¿Cómo podemos imprimir en Python?»
He aquí la respuesta:
En Python, puedes utilizar la función print() para mostrar la salida en la consola o terminal. La función print() toma uno o más argumentos y los imprime como texto.
He aquí algunos ejemplos de uso de la función print():
- Impresión de una cadena simple:
print("Hello, world!") >>> Hello, world!
2. Variables de impresión:
name = "Alice" age = 25 print("My name is", name, "and I am", age, "years old.") >>> My name is Alice and I am 25 years old.
3. Impresión de varios argumentos separados por un carácter específico:
print("One", "Two", "Three", sep="-") >>> One-Two-Three
4. Impresión de salida formateada utilizando cadenas f (Python 3.6 y superiores):
name = "Bob" age = 30 print(f"My name is {name} and I am {age} years old.") >>> My name is Bob and I am 30 years old.
My name is Bob and I am 30 years old.:paragraph –>Estos son sólo algunos ejemplos para demostrar el uso de la función print(). Puedes pasar varios tipos de objetos como argumentos a la función print(), y ésta los convertirá automáticamente en una representación de cadena antes de imprimirlos.
Ahora, una pregunta: ¿qué método utilizarías?
Exacto, ¡aquí está el problema! La pregunta que hicimos era demasiado genérica, así que ChatGPT nos dio una respuesta genérica.
Otra lección: las instrucciones deben ser muy específicas. Una podría ser: «Tengo una lista con algunas cadenas en Python: ¿cómo puedo imprimirlas eficientemente?»
Estos son sólo algunos ejemplos para demostrar el uso de la función print(). Puede pasar varios tipos de objetos como argumentos a la función print(), y ésta los convertirá automáticamente en una representación de cadena antes de imprimirlos.
my_list = ['Hello', 'World', 'Python'] # Using join() to concatenate the strings in the list with a space separator result = ' '.join(my_list) # Printing the result print(result) >>> Hello World Python
En el ejemplo anterior, el método join() une las cadenas de mi_lista utilizando un espacio ‘ ‘ como separador. A continuación, se utiliza la función print() para mostrar la cadena concatenada.
Al utilizar el método join(), se evita la sobrecarga de múltiples llamadas a la función print(), lo que resulta en una concatenación de cadenas y una impresión más eficientes.
Y aquí estamos: con una pregunta específica obtuvimos una respuesta específica.
Y ahora, ¿sabes lo que tenemos que hacer? Sí, ya sabes: si no sabemos cómo funciona, tenemos que pedir a ChatGPT más explicaciones sobre el método join(). Podemos hacerlo en el mismo chat de esta manera «¿Qué es el método ‘join()‘ y cómo funciona?»
Y aquí está la respuesta:
El método join() es un método de cadena en Python que concatena los elementos de un iterable (como una lista, tupla o conjunto) en una sola cadena usando un separador especificado. Devuelve una nueva cadena que contiene todos los elementos unidos.
La sintaxis para utilizar el método join() es la siguiente:
separator.join(iterable)
Aquí, separator es la cadena que se utilizará para unir los elementos, e iterable es la colección de elementos a unir.
Cuando se llama a join() con una cadena separadora, itera sobre los elementos del iterable y los concatena, insertando la cadena separadora entre cada par de elementos. El separador no se añade ni al principio ni al final de la cadena resultante.
He aquí un ejemplo para ilustrar cómo funciona el método join():
my_list = ['Hello', 'World', 'Python'] # Using join() to concatenate the strings in the list with a space separator result = ' '.join(my_list) print(result) >>> Hello World Python
En el ejemplo anterior, se llama al método join() sobre la cadena separadora ‘ ‘. Recorre los elementos de mi_lista y los concatena, insertando un espacio entre cada par de elementos. La cadena resultante «Hola Mundo Python» se imprime.
Vale la pena señalar que el método join() es una forma más eficiente de concatenar múltiples cadenas en comparación con el uso del operador + en un bucle. Esto se debe a que join() optimiza internamente el proceso de concatenación, resultando en un mejor rendimiento, especialmente cuando se trata de un gran número de cadenas.
Ahora, en este punto, deberías hacer otras dos cosas:
Buscar «join() Python» en Google y ver algunos otros ejemplos y leer la documentación.
Como podemos ver, ChatGPT nos dice que este método es más eficiente que utilizar el operador + con un bucle para resolver este problema. Deberías continuar el chat y pedir un ejemplo (entonces, lee la documentación que puede venir con los siguientes ejemplos).
Conclusiones
Espero que encuentres útil este artículo sobre cómo empezar tu viaje de programación con la ayuda de ChatGPT.
Recuerda: no des nada por sentado. Úsalo para aprender, no como un oráculo. Y después de resolver tu problema, escribe un prompt específico, lee la documentación, aprende el código y, si es posible, haz prácticas con el código que obtengas como respuesta.