Absolutamente.
El programador más efectivo del mundo no es un programador habilidoso que aplica software a problemas informáticos, sino un programador de nivel medio a pobre que aplica software a problemas ajenos a la informática tradicional, donde el software nunca se ha aplicado. El simple hecho del asunto es que una cantidad modesta de programación, incluso si se expresa en un código mal estructurado y difícil de mantener, confiere una enorme cantidad de influencia en muchos campos.
Dos casos ilustrativos. Cuando era consultor asociado en Bain, los asociados pasaban horas trabajando en hojas de cálculo de Excel, que rellenaban tediosamente a mano de los archivos de datos proporcionados por el cliente. Estos archivos a menudo serían fácilmente analizables (por ejemplo, archivos CSV) pero sin ningún conocimiento de programación, los graduados de Ivy-league pasarían horas y horas cortando y pegando valores solo para realizar tareas dolorosamente mundanas (por ejemplo, importar datos de una gran colección de archivos, transponerlos) conjuntos de datos, eliminando datos mal formados, etc.).
Pensé que esto era una locura, así que pasé un poco de tiempo aprendiendo Visual Basic (sí, no sabía cómo programar entonces, así que me enseñé) y automaticé todo el flujo de trabajo. Cada vez que recibía un nuevo archivo de datos del cliente, lo ejecutaba a través de mi código horriblemente implementado y escupía toda la hoja de cálculo de Excel. La gente siempre se preguntaba cómo podía cambiar las cosas tan rápido.
- ¿Cómo reemplazó Canvas a Blackboard?
- ¿Cuáles son algunos ejemplos de los mejores usos de la tecnología en las escuelas?
- ¿Cuáles son algunas recomendaciones sobre qué tipo de LMS son los mejores para el aprendizaje orientado a proyectos?
- En una batalla de tanques de la Segunda Guerra Mundial que es muy superior, ¿el Sherman estadounidense o el Tigre alemán II (Panzer)?
- Mi escuela proporciona aplicaciones de Google para educación y las usa en el aula. Prefiero Office 365 y tengo la versión disponible para estudiantes. ¿Cuáles son algunas formas innovadoras y creativas en las que puedo combinar las dos para optimizar mi experiencia en el aula?
Segundo: cuando era un estudiante graduado en física aplicada, la clase más útil que tomé fue la computación numérica. No porque me enseñó algo de física, sino porque me enseñó cómo trabajar mediante programación con grandes conjuntos de datos de manera repetible. Comencé a escribir código en serio durante la escuela de posgrado para ayudarme a automatizar todo tipo de tareas rutinarias y mundanas, realizar análisis en grandes conjuntos de datos y explorar hipótesis rápidamente. Esto fue una revelación para muchos de mis colegas, en su mayoría biólogos experimentales, que trabajaban en bancos.
Cuando pienso en esa época, los estudiantes que fueron más efectivos en el laboratorio fueron los que podían escribir un script rápido de perl o python para analizar archivos, manipular datos y convertir la salida de un programa en formatos que otros programas puedan entender. En su mayor parte, sus guiones serían “triviales” para cualquier estudiante de CS, pero les ayudó a realizar las partes más tediosas de sus trabajos y a centrarse en el pensamiento.
Cada vez más, las personas de todos los campos, especialmente fuera del software y la computación tradicionales, se enfrentarán a conjuntos de datos cada vez más grandes. Las matemáticas son el lenguaje, el código es el dialecto. Para ser fluido, hablar incluso un poco de código aprovechará su pensamiento y le permitirá ser órdenes de magnitud más efectivos en lo que sea que quiera hacer.