Nuestros cursos:

Nuestros cursos:

El rol de las ciencias sociales y la escritura en la ingeniería de software

Como se explica en el capítulo anterior, la idea central de Essence es que el desarrollo de software no es solo un proceso técnico, sino también un proceso humano. Las herramientas y frameworks evolucionan, pero la capacidad de los desarrolladores para interpretar, explicar y justificar sus decisiones sigue siendo un factor crítico para el éxito de un proyecto. Aquí es donde entran en juego las ciencias sociales y la escritura como herramientas fundamentales.

  1. Psicología y Trabajo en Equipo
    Un ingeniero de software no trabaja en aislamiento; el desarrollo de software es una actividad colectiva. Comprender cómo las personas procesan información, toman decisiones y trabajan en conjunto es esencial para construir soluciones efectivas. La escritura, en este contexto, es una herramienta de coordinación y clarificación, permitiendo que las ideas se expresen con precisión y que los equipos lleguen a acuerdos más sólidos.
  2. Lenguaje y Comunicación
    Más allá de la sintaxis de los lenguajes de programación, el verdadero desafío es comunicar lo que hace un código y cómo debe evolucionar. Esto implica escribir documentación clara, justificar decisiones arquitectónicas y debatir enfoques alternativos. La argumentación informal, una habilidad propia de las humanidades, se vuelve esencial para defender ideas y negociar soluciones en un entorno colaborativo.
  3. Pensamiento Crítico y Comparación de Código
    Un desarrollador debe ser capaz de analizar código escrito, identificar patrones, extraer su significado esencial y compararlo con otras implementaciones. Esto requiere habilidades de abstracción y explicitación de procesos, que se fortalecen mediante la escritura. Expresar verbalmente lo que hace un fragmento de código no solo facilita su comprensión, sino que también permite evaluar su eficiencia y mantenibilidad.

Escribir para pensar y construir mejor software

Si la escritura es tan buena herramienta para razonar, ¿por qué en ciertos contextos formales se escribe tan poco?

Los modelos matemáticos, por ejemplo, una ecuación diferencial que describe el comportamiento de un sistema físico, o un conjunto de axiomas que define una estructura algebraica, y los modelos diagramados de un sistema informático, como los diagramas de flujo o diagramas UML (Unified Modeling Language) que representan la arquitectura de un software, son esquemas rigurosos en los cuales cada parte —cada palabra, símbolo, letra o número— puede tener un significado preciso y relevante. Por lo tanto, una mínima diferencia en la notación o en la estructura simbólica puede alterar el sentido del modelo completo, comprometiendo su validez o funcionalidad.

En estos contextos, los docentes suelen desaconsejar la escritura “en exceso”. Cualquier elemento adicional incorporado al modelo con fines explicativos —como aclaraciones verbales, ejemplos o comentarios redundantes— puede ser percibido como una interferencia o incluso como un obstáculo para la precisión y la abstracción requeridas. Por ello, los matemáticos, por ejemplo, suelen ser especialmente austeros en el uso de nombres para variables, evitando sobrecargar el sistema simbólico con información contextual innecesaria.

Este llamado, a veces explícito, a mantener modelos “puros”, sintéticos y libres de cualquier distracción, parece entrar en tensión con la insistencia —proveniente del campo de la didáctica y la psicología cognitiva— en fomentar la escritura como herramienta para pensar, lo que se conoce como escritura epistémica. Esta tensión se vuelve aún más evidente en el caso de la programación, donde paradójicamente se recomienda que los programas estén profusamente comentados, precisamente para facilitar su comprensión, mantenimiento y reutilización.

La explicación de esta aparente contradicción fue aportada por los científicos cognitivos Linda Flower y John Hayes, quienes estudiaron los procesos de escritura en profundidad. Ellos distinguieron entre dos tipos de escritura: la escritura para uno mismo (prosa de escritor), que tiene una función heurística y favorece la elaboración del pensamiento, y la escritura para un lector externo (prosa de lector), que se pone en el lugar de quien leerá el texto, por lo cual persigue la claridad, la economía del lenguaje y la transmisión efectiva de un contenido. Esta segunda forma de escribir es la que se emplea en el diseño de modelos. La primera forma, es menos conocida practicada por los matemáticos y es más popular entre los amantes de la literatura. Aparece en contextos ficcionales, informales o reflexivos, pero sobre todo personales: en una bitácora, un diario o anotaciones en “borrador” durante la resolución de un problema. La importancia de los borradores es que son registros concretos de la metacognición que ayudan a volver sobre un pensamiento ya transcurrido, objetivarlo, cuestionarlo, mejorarlo, y eventualmente comunicarlo.

El mito de que quienes se dedican a las ciencias exactas “no escriben” es, en realidad, un malentendido que proviene de desconocer la dimensión interna y metacognitiva de sus procesos de pensamiento. Por eso, disciplinas como la psicología y la educación tienen un papel central en el análisis de esta problemática: ayudan a visibilizar que escribir también es pensar, y que promover la escritura para uno mismo puede ser una vía para profundizar la comprensión, incluso en ámbitos que tradicionalmente se asocian con la abstracción simbólica.

Pedir a los estudiantes ingresantes que desarrollen la escritura no es un capricho, sino una necesidad en la nueva ingeniería de software. La habilidad de describir en palabras lo que realiza un fragmento de código, analizarlo críticamente y argumentar sobre su diseño es tan importante como la capacidad de programarlo.

En un mundo donde la inteligencia artificial puede generar código automáticamente, la verdadera ventaja competitiva de un desarrollador radicará en su capacidad de interpretar, refinar y optimizar esos códigos. Para ello, la escritura y la argumentación serán herramientas esenciales.

La ingeniería de software del futuro no se limitará al dominio de lenguajes de programación, sino que exigirá claridad de pensamiento y la habilidad de explicitar procesos. Por esta razón, desarrollar competencias en escritura y comunicación no solo enriquece la formación académica de los estudiantes, sino que también los prepara para los desafíos reales de la industria.

Escribir para aprender

El trabajo de Paula Carlino [22], concibe la escritura no sólo como un medio de comunicación sino como herramienta para aprender. La escritura es una herramienta cognitiva que ayuda a estructurar y profundizar el pensamiento.

En el contexto de la programación, escribir sobre algoritmos (por ejemplo, explicar el enunciado del problema, desglosar a qué apunta cada parte del enunciado, escribir las soluciones en pseudocódigo, justificar decisiones de diseño o reflexionar sobre su funcionamiento) podría facilitar la comprensión y el aprendizaje de conceptos abstractos de nivel superior al de la sintaxis del código.

Por otro lado, enfatiza que leer y escribir son prácticas situadas. En su análisis sobre cómo se enseña a leer y escribir en la Universidad, Carlino destaca que estas prácticas dependen del contexto disciplinar. En programación, leer código y escribir explicaciones sobre su funcionamiento podrían ser vistas como prácticas situadas dentro de la disciplina computacional, similares a la lectura y producción de textos en otros campos.

Acerca de las dificultades para escribir, esta autora señala que muchas dificultades de los estudiantes universitarios provienen de la falta de enseñanza explícita sobre cómo leer y escribir en su disciplina. Advierte que en muchas disciplinas no se enseña explícitamente cómo leer y escribir dentro del campo específico.

En programación, esto podría traducirse en la necesidad de enseñar estrategias específicas para leer código (como identificar patrones, comprender estructuras algorítmicas) y para escribir explicaciones sobre algoritmos que ayuden a estructurar el pensamiento computacional.

Por otra parte, existen dificultades que provienen de la concepción de escritura que tienen los estudiantes en ingeniería. Según Rosso y colaboradores, en un estudio sobre percepciones de la escritura en ingeniería [23], destacan que los estudiantes de estas carreras suelen ver la escritura como algo secundario, cuando en realidad es clave para desarrollar y comunicar el conocimiento técnico.

En el marco de un estudio sobre la percepción de la escritura en estudiantes ingresantes a la carrera de Ingeniería Informática, se propuso un diseño metodológico basado en la producción de textos en dos formatos discursivos diferentes: la autobiografía y el trabajo de investigación. Ambos géneros fueron seleccionados con el propósito de contextualizar la escritura en situaciones significativas para los estudiantes y, al mismo tiempo, movilizar sus saberes previos y motivaciones.

La consigna de escritura autobiográfica se presentó al inicio del ciclo lectivo, cuando los estudiantes comienzan su trayectoria académica. Se les solicitó que narraran sus motivaciones para elegir la carrera, sus experiencias previas con la informática y la ingeniería, y su relación con la escritura en su formación escolar. El propósito de este ejercicio era explorar la concepción que los estudiantes tenían sobre la escritura y su utilidad en el ámbito de la ingeniería.

Por otro lado, la escritura del trabajo de investigación se diseñó como una actividad grupal vinculada con el Congreso Internacional de Innovación Tecnológica (CIITI) [24], en el cual los estudiantes de dicha Universidad participan cada año. Antes de asistir al evento, leyeron la agenda del congreso, seleccionaron conferencias de su interés y formularon preguntas que servirían de punto de partida para la escritura académica.

Como requisito previo para la elaboración de estas preguntas, se propuso investigar los antecedentes de los conferencistas, promoviendo el uso de herramientas como Google Académico. El congreso suele abordar temas contemporáneos como inteligencia artificial, ética, robótica y mecánicas de videojuegos, facilitando la conexión entre la escritura y los intereses de los estudiantes.

Uno de los hallazgos recurrentes en la escritura autobiográfica fue la percepción negativa de la escritura como una práctica poco útil en el ámbito de la ingeniería. Los estudiantes mencionaron dificultades asociadas a la idea de que escribir implica una producción destinada a la evaluación por parte de un lector experto, lo que generaba bloqueos y ansiedad.

En este sentido, la escritura no era concebida como una herramienta para aprender o pensar, salvo en aquellos casos en los que se hacía referencia a la escritura de comentarios en el código durante la escritura de programas. Por otro lado, los estudiantes sí mencionaron experiencias de escritura frecuentes, como conversaciones en grupos de WhatsApp o mensajes privados con compañeros.

Esta tensión entre la escritura personal, espontánea y confiada, y la escritura orientada a un lector externo fue abordada a través de la introducción de dos nociones clave: “escribir para uno mismo” (similar a escribir en un diario o a un amigo) y “escribir para ser evaluado”. Estos términos corresponden a los conceptos de prosa de escritor y prosa de lector propuestos por Flower y Hayes [25], [26].

La actividad se organizó en dos etapas:

  1. Escritura para sí mismos: los estudiantes redactaron notas personales sobre su proceso de investigación, registrando acciones como si simplemente quisieran ordenar su trabajo o explicárselo a un compañero. Ejemplos de estas notas incluyen frases como: “Tengo que investigar qué hizo este conferencista”, “Busco sus trabajos en Google Académico”, “Leo y tomo notas”, etc.
  2. Escritura para ser evaluado, A partir de estas notas, los estudiantes transformaron sus ideas en un texto académico estructurado, apoyándose en sus registros previos, información sobre el congreso, los autores, y una plantilla con el formato de un artículo académico.

Este andamiaje permitió reducir la sensación de bloqueo al momento de comenzar a escribir. Un fenómeno análogo ocurre en la programación cuando los estudiantes deben desarrollar un código desde cero.

Dos estrategias que facilitan este proceso son, en primer lugar, contar con notas previas que desglosen el enunciado del problema, los pasos para resolverlo y su representación en pseudocódigo, antes de traducirlo a un lenguaje de programación. En segundo lugar, utilizar plantillas predefinidas en entornos de programación como Visual Studio, en lugar de enfrentarse a una “página en blanco”.

Los comentarios de los estudiantes reflejaron que esta estrategia no solo facilitó el inicio de la escritura, sino que también redujo la inseguridad inicial. Además, resaltaron la importancia del trabajo en equipo en la investigación, subrayando el valor del intercambio de ideas.



Deja un comentario