{"id":323,"date":"2024-10-02T07:43:09","date_gmt":"2024-10-02T12:43:09","guid":{"rendered":"https:\/\/lafilosofiadelsoftware.com\/?p=323"},"modified":"2024-10-18T09:22:42","modified_gmt":"2024-10-18T14:22:42","slug":"inteligencia-artificial-al-servicio-de-los-programadores","status":"publish","type":"post","link":"https:\/\/lafilosofiadelsoftware.com\/index.php\/2024\/10\/02\/inteligencia-artificial-al-servicio-de-los-programadores\/","title":{"rendered":"Inteligencia artificial al servicio de los programadores"},"content":{"rendered":"\n<p>Recuerdo como si fuera ayer el 2009 en la Biblioteca de la Universidad tratando de obtener informaci\u00f3n para entender <a href=\"https:\/\/en.wikipedia.org\/wiki\/Ajax_(programming)\">AJAX<\/a> (joder que feo y dif\u00edcil era hacer front antes) y lo frustrante que era pasar p\u00e1ginas enteras sin encontrar la informaci\u00f3n necesaria o el buscar horas en internet para encontrar algo de informaci\u00f3n. Hoy 2024 esto de buscar horas para encontrar algo de informaci\u00f3n se ve impensable gracias a la proliferaci\u00f3n de la Inteligencia Artificial generativa, donde la respuesta a nuestras dudas pueden estar al alcance de nuestras manos ingresando un buen prompt.<br>Gracias a la llegada de la IA estamos viviendo en los tiempos donde los ingenieros no gastan sus esfuerzos en encontrar dudas circunstanciales y en su lugar utilizan la IA para llevar sus sistemas a un mejor nivel.<\/p>\n\n\n\n<p>Sin embargo, la llegada de la IA generativa tambi\u00e9n ha despertado un sentimiento guardado de resentimiento hacia los ingenieros de software, en donde ahora creen que ingresando un buen prompt pueden llegar a reemplazarlos o incluso promocionan demos en internet donde salen \u201cgurus\u201d diciendo \u201c<em>el trabajo de los programadores se va a terminar, miren como he hecho esta aplicaci\u00f3n con solo ingresar un prompt<\/em>\u201d. Para los que me han podido conocer y compartir conmigo sabr\u00e1n que una de mis frases favoritas es <strong>\u201cHacer software es MUY f\u00e1cil y mantenerlo es dificil\u00edsimo\u201d<\/strong> y lo que siempre he querido transmitir es el no confiarse en: \u201c\u00a1oh logre sacar esto a producci\u00f3n, soy el mejor!\u201d, esperen a que ese sistema madure y como al pasar de los meses\/ a\u00f1os y que siga siendo igual de mantenible y extensible con las nuevas funcionalidades para realmente decir que son el mejor. La IA generativa por supuesto tiene y va a seguir incrementando sus capacidades para generar c\u00f3digo e incluso para generar demos completas de un tema en espec\u00edfico, pero a\u00fan est\u00e1 a muy lejos de poder entender a los usuarios finales, de hacer preguntas para usuarios que a\u00fan no saben lo que quieren y mucho m\u00e1s lejos de poder evolucionar algo que ella misma haya construido.<\/p>\n\n\n\n<p>Nuestra carrera de ingenier\u00eda de software es aquella en la que los desarrolladores pasan m\u00e1s tiempo leyendo c\u00f3digo que escribi\u00e9ndolo, incluso est\u00e1 percepci\u00f3n est\u00e1 respaldada&nbsp; por estudios y literatura cient\u00edfica. Un trabajo clave es el de <strong>Robert C. Martin<\/strong>, un experto en ingenier\u00eda de software, quien en su libro <em>Clean Code<\/em> menciona que los desarrolladores pasan aproximadamente 10 veces m\u00e1s tiempo leyendo c\u00f3digo que escribi\u00e9ndolo. Adem\u00e1s, estudios como el de <strong>V. B. Bendifallah y W. G. Scacchi<\/strong> en su art\u00edculo <em>Understanding Software Maintenance Work<\/em> (1987) sugieren que la mayor parte del tiempo dedicado al mantenimiento del software se invierte en actividades como la comprensi\u00f3n y lectura del c\u00f3digo. Estos trabajos son un reflejo de la pr\u00e1ctica com\u00fan en la industria del software, donde el tiempo de lectura suele superar con creces el tiempo de escritura, especialmente en el contexto del mantenimiento y evoluci\u00f3n de software, tema que a\u00fan la IA esta lej\u00edsimos de lograr.<\/p>\n\n\n\n<p>Quiero que hagamos la siguiente reflexi\u00f3n: Con la llegada del tractor hace m\u00e1s de 150 a\u00f1os&nbsp; no se acab\u00f3 el trabajo para los obreros, simplemente cambio, el cambio es inevitable y es la \u00fanica constante que tenemos en nuestras vidas. Por supuesto la IA generativa cambiar\u00e1 la forma en la que trabajamos pero no significa que extinguir\u00e1 el trabajo de los programadores, m\u00e1s bien modificar\u00e1 las formas de trabajo as\u00ed como el tractor cambi\u00f3 la forma en la que se trabaja en el campo hace ya muchos a\u00f1os.<\/p>\n\n\n\n<p>Con lo anterior quiero expresar que ciertamente NO se extinguir\u00e1 el trabajo de los programadores, sin embargo, si considero que ser\u00e1 necesario menos fuerza de obra laboral debido a los incrementos de velocidad de desarrollo gracias a la IA. Lo que antes pod\u00edamos hacer con 5 ingenieros en 9 meses, estimo se pueda hacer con 3 ingenieros en 6 meses.<\/p>\n\n\n\n<p>Ser profesor universitario me ha permitido ver el lado negativo de estas herramientas de IA en la educaci\u00f3n. Lo que es una herramienta genial para algunos estudiantes que los habilita para profundizar en conocimiento tambi\u00e9n se ha vuelto en una herramienta de copiar y pegar sin entender absolutamente nada. Algunos estudiantes incluso se sienten orgullosos al decir que se hizo el trabajo sin esfuerzo (<em>Que problema van a tener en un futuro<\/em>) y otros optan por copiar y pegar cosas asi esten mal solo porque la IA dijo que era correcto. Esto ha provocado una generaci\u00f3n de futuros ingenieros que no conocen siquiera lo que es un debug y no son capaces de vaticinar el da\u00f1o que se est\u00e1n provocando al hacer los trabajos 100% con IA.<\/p>\n\n\n\n<p>Conclusiones:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>La llegada de software con IA debemos verlo como una herramienta que est\u00e1 a la disposici\u00f3n de nuestra carrera en ingenier\u00eda de software y abrazarla, hacerla parte de nuestra rutina diaria y por supuesto no temerle.<\/li>\n\n\n\n<li>Seguiremos viendo a gente que en su vida ha programado profesionalmente, diciendo que el trabajo de los programadores se va acabar.<\/li>\n\n\n\n<li>Usar herramientas de IA no es copiar y pegar, as\u00ed como nunca lo fue copiar y pegar de stackoverflow.<\/li>\n\n\n\n<li>Se debe comenzar un trabajo fuerte de concientizaci\u00f3n en la academia del uso de la IA en los estudiantes.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recuerdo como si fuera ayer el 2009 en la Biblioteca de la Universidad tratando de obtener informaci\u00f3n para entender AJAX (joder que feo y dif\u00edcil era hacer front antes) y lo frustrante que era pasar p\u00e1ginas enteras sin encontrar la informaci\u00f3n necesaria o el buscar horas en internet para encontrar algo de informaci\u00f3n. Hoy 2024 &#8230; <a title=\"Inteligencia artificial al servicio de los programadores\" class=\"read-more\" href=\"https:\/\/lafilosofiadelsoftware.com\/index.php\/2024\/10\/02\/inteligencia-artificial-al-servicio-de-los-programadores\/\" aria-label=\"Leer m\u00e1s sobre Inteligencia artificial al servicio de los programadores\">Leer m\u00e1s<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[3],"tags":[66,11,19],"class_list":["post-323","post","type-post","status-publish","format-standard","hentry","category-software-engineer","tag-ia","tag-ingeniera-de-software","tag-software-engineer"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/lafilosofiadelsoftware.com\/index.php\/wp-json\/wp\/v2\/posts\/323"}],"collection":[{"href":"https:\/\/lafilosofiadelsoftware.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lafilosofiadelsoftware.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lafilosofiadelsoftware.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lafilosofiadelsoftware.com\/index.php\/wp-json\/wp\/v2\/comments?post=323"}],"version-history":[{"count":16,"href":"https:\/\/lafilosofiadelsoftware.com\/index.php\/wp-json\/wp\/v2\/posts\/323\/revisions"}],"predecessor-version":[{"id":352,"href":"https:\/\/lafilosofiadelsoftware.com\/index.php\/wp-json\/wp\/v2\/posts\/323\/revisions\/352"}],"wp:attachment":[{"href":"https:\/\/lafilosofiadelsoftware.com\/index.php\/wp-json\/wp\/v2\/media?parent=323"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lafilosofiadelsoftware.com\/index.php\/wp-json\/wp\/v2\/categories?post=323"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lafilosofiadelsoftware.com\/index.php\/wp-json\/wp\/v2\/tags?post=323"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}