¿Funciona o no el código?

Foto Alex Padurariu en Sin estelares

Escribí un Reflexión de mitad de año sobre desarrollos de IAdurante el cual mencioné el impacto reportado de la IA en la tasa de desempleo para los graduados recientes, haciendo referencia Un artículo de New York Times (NYT). Y, dado que leí el artículo, independientemente del punto bien tomado, había una oración que me quedó:

“¿Funciona o no el código?”

Para evitar sacar la oración fuera de contexto, permítanme compartir los antecedentes sobre cómo llegó el autor.

La historia oportuna de NYT comienza discutiendo la IA desplazando la necesidad de profesionales de nivel de entrada, donde el autor señala que automatizar el trabajo de cuello blanco ha sido una ambición de larga data para muchos ejecutivos. Sin embargo, la tecnología en sí no era lo suficientemente madura como para gestionar los aspectos más complejos y técnicos de muchos trabajos. Al menos, no hasta los recientes avances de IA, lo que lo llevó a escribir:

Que está empezando a cambiar, especialmente en campos como ingeniería de softwaredonde hay marcadores claros de éxito y falla. (Como: ¿Funciona o no el código?)

En defensa del periodista, probablemente existan pautas y principios que no entendemos, lo que resulta en una restricción y un “espacio limitado” para explicar el “”código trabajar/no trabajar“Parte mejor. Dicho eso, no hay resentimientos sobre mi llamada aquí. Sin embargo, para todas las personas que no son de tecnología, siento la necesidad de elaborar un error común: no todo lo que nosotros (personas tecnológicas) es medible en ‘1s’ o ‘0s’. 🙂 🙂 🙂 🙂 🙂 🙂 🙂

Antes de profundizar mi explicación, permítanme compartir una historia que ha estado en mi mente mucho últimamente.

Hace más de 14 años, estaba haciendo una pasantía en un proyecto de construcción de laboratorio de alto voltaje en una empresa de transformadores. Ser parte de la llamada Steerco, Es decir, comité directivo, mis tareas fueron impulsar el proyecto hacia adelante resolviendo hipo legal y presupuestario. Como suele ser el caso en los proyectos de construcción, los problemas presupuestarios y legales no son tan inusuales cuando tiene diferentes profesiones que se unen (arquitectos, ingenieros civiles, ingenieros eléctricos y mecánicos) para construir una planta de fabricación especializada con un Jaula de faraday.

Entonces, cinco meses después del proyecto, y solo siete meses de la universidad, los patrocinadores del proyecto (CEO), que eran ingenieros por profesión, notaron que el costo real de la fachada estaba por encima del presupuesto estimado. El costo de los materiales enumerados en el presupuesto preliminar, que impactó significativamente el costo general del proyecto, estaba divergiendo por (Si recuerdo correctamente) 40%.

Debido a esto, los CEO me dieron instrucciones a mi colega y a mí para informar al arquitecto, que tenía más de 20 años de experiencia, que los costos eran inaceptables y que se esperaba que un cambio en los materiales se ajustara al presupuesto del proyecto.

Puedes imaginar lo que pasó después: Me derribaron en un segundo.

Nunca olvidaré que dice:

No estamos en un bazar aquí; Hay una razón por la cual se eligieron materiales específicos para la fachada. El hecho de que todos hoy hayan construido su propia unidad de almacenamiento en casa, no significa que sean un arquitecto que sabe cómo diseñar un edificio especializado de acuerdo con los estándares relevantes.

Entonces ella agregó “…aislamientoalgo, Física de edificiosalgo, subsuperficiealgo, Diseño preliminar vs. principalalgo, algo … “

Por supuesto, devolví este mensaje, con “algo, algo“, Para los CEO, y lo que sucedió más fue que me derribaron dos veces en un día con la contratación:

Es cierto que no estamos en un bazar, pero no necesitamos pagar el precio por el error de otra persona. La parte responsable debe asumir la responsabilidad y encontrar una solución que se ajuste a nuestro presupuesto.

[So much about “don’t kill the messenger”, ha? ;)]

Ves a dónde voy con esta historia. En la era generativa de la IA, todos han logrado experimentar lo que significa ser un “codificador”. Sin embargo, no todos son ingenieros de software, ni están dispuestos a pagar el salario de uno si la vida es igual de buena con una “unidad de almacenamiento de bricolaje subóptimo que solo usted y los miembros de su familia usarán”. 😉

Volviendo al artículo de NYT, ahora puede entender por qué la oración “,”¿Funciona o no el código?“Se quedó conmigo. En mi cabeza, esta oración sonaba como si la tarea de codificación pudiera simplificarse principalmente para:”Si se compila (entre otros resultados sencillos y binarios), puede enviarlo.

Una vez más, si bien esto fue solo un ejemplo (y no falso), se debe hacer al menos una docena más de preguntas que obtuvieran una imagen más completa y lleguen a un verdadero “estado de trabajo” para cualquier cambio de código o implementación, como:

… ¿La arquitectura actual (datos) es compatible con este cambio?
… ¿El cambio está aprobado por el equipo legal y de seguridad?
… ¿El código se implementa de acuerdo con las prácticas de desarrollo?
… ¿Es el cambio de cambio?
… ¿se prueba de extremo a extremo?
… ¿Está el proceso CI/CD en su lugar?
… ¿El cambio está afectando a otras características?
… ¿Se informa el equipo comercial afectado de los cambios?
… ¿El cambio está causando mayores costos?
… ¿El cambio aporta valor?

Si proporcionamos respuestas a todas las preguntas anteriores, aún hay más consultas a considerar antes de que podamos concluir “el código funciona”. Por ejemplo:

  • ¿Se aprobó el presupuesto del proyecto para este desarrollo?
  • Quien actuará como un Spoc para este desarrollo?
  • ¿Cuál es el equilibrio óptimo entre la integridad de las características y el tiempo de mercado?
  • ¿Cómo impacta esto las responsabilidades de guardia?
  • ¿Qué tan desafiante será retirar este desarrollo?
  • ¿En qué medida se escala esta solución (con datos en crecimiento o usuarios)?
  • ¿Cuál es la estrategia de reversión si surgen problemas?
  • ¿Qué documentación y transferencia de conocimiento se necesita?
  • … y muchos más …

Es por eso que a menudo verá a la gente tecnológica publicando o volver a compartir apasionadamente como “La codificación nunca fue el problema.“Realmente nunca lo fue, y los verdaderos problemas nunca tienen respuestas binarias.

En otras palabras, los desafíos que he visto y enfrentado implicaron heredar de 10 a 20 años de deuda técnica acumulada, lo que resultó en dedicar meses, a veces años, de recursos humanos para mantener sistemas heredados frágiles, todo mientras intentaba modernizar los procesos comerciales que dependían de la tecnología obsoleta profundamente arraigada en la toma de decisiones organizacionales.

Volviendo a los arquitectos, tengo una historia más para compartir al final, y se refiere a una conversación reciente que tuve con mi compañero de cuarto uni, que es, lo adivinaste, un arquitecto.

Los dos estábamos hablando de su experiencia con la IA generativa, donde explicó cómo subió los planes de paquetes y llevó a un LLM a entregar un proyecto de vivienda inicial con el presupuesto “famoso”. Su observación era que, si bien la salida de IA se veía “hermosa”, estaba completamente defectuosa en el lado técnico, y solo sirvió para generar un par de ideas de diseño. Entonces ella mencionó algo interesante:

Verá, esto fue útil para mí, pero si mi inversor tomó la misma herramienta de IA y ejecutó el mismo plan con el mismo aviso, nunca podría entregar un edificio de pie.

Sonreí a su declaración porque es exactamente lo que pienso por ahora Acerca de la IA entregando software completo. Puede y obtendrá el código que “funcione”, pero sin una supervisión de datos con experiencia y/o conocedora de datos/software y soluciones de expertos, está en gran medida arriesgando la acumulación de deuda técnica futura.

Los principios de escalabilidad, seguridad y mantenimiento, o la “física de construcción” del software, no lo son (todavía) manejable aprovechando (solo) Ai, y aquí es donde se encuentra el papel de los expertos técnicos.

No hay duda de que la IA generativa es una forma poderosa de llevar el código a un estado de “trabajo”, y todos deberíamos usarlo. Pero ahí no es donde el valor real radica en el proceso de desarrollo. El valor real está en el proceso de asegurarse de que el código de “trabajar” esté haciendo lo que se supone que debe hacer, y tiene procesos existentes a su alrededor para evitar problemas en el dedicado (datos) plataformas.

Con esto en mente, solo puedo concluir que un “sí, pero“Por lo general, proporcionará una respuesta a” trabajar/no trabajar “.en cualquier dominio) .👇🏼

Captura de pantalla de la descripción general de la IA de búsqueda de Google cuando se le solicita “¿Funciona o no el código?”

¡Gracias por leer!

Si encontró esta publicación valiosa, no dude en compartirla con su red. 👏

Mantente conectado para más historias en Medio ✍️ y LinkedIn 🖇️.


Si está interesado en aprender más sobre cómo va un proceso de desarrollo de ciencias o análisis de datos, lea mi publicación en: