Discussion about this post

User's avatar
Pedro's avatar

El problema de la mayor incompetencia percibida de los "nativos digitales" lo he escuchado en otro foro: un amigo, profesor universitario en una escuela de ingeniería industrial prestigiosa, me comentaba que en su asignatura de Fundamentos de SW / Programación tenía constantes interrupciones porque la gente no era capaz de localizar los corchetes o las llaves en el teclado (!!!); no entendían que el lo que escribes en el IDE tiene que ir guardado en "algún sitio", que no se queda ahí sin más; les parecía extraterrestre el hecho de que el código fuente de un programa requiriera una cierta estructura de carpetas, y que no funcionaran las cosas tirando archivos donde sea; y esto sólo para comenzar.

Como indicabas, una causa probable son las interfaces tan pulidas y sencillas con las que interaccionamos todos a diario - para "ellos" son las únicas.

Con respecto a la solución, efectivamente deben irse a los Principios, como en cualquier oficio o materia. Pero creo que la mejor forma de entenderlos (sobre todo en el ámbito del SW) es mediante Project Based Learning: que el objetivo primario sea construir una aplicación (en su acepción más general) e ir despejando las carencias de conocimiento sobre la marcha, e ir pelando la cebolla a medida que lo vayas necesitando: especialmente hoy día, el signal-to-noise es muy bajo, y acercarse al SW con una estrategia top-down en lugar de bottom-up... me parece un error - imagina que tu primera toma de contacto con sistemas distribuidos es Designing Data-Intensive Applications, de Kleppmann (un libro 10/10, por cierto) en lugar del Quickstart de BigQuery + Cloud Run de Google Cloud Platform (cierto, estoy mezclando conocimiento de materia con un producto concreto, pero con esto refuerzo el enfoque finalista).

Fíjate, que al final todo esto es culpa de una buena ejecución de los conceptos de encapsulación y abstracción. Y que es un fractal: el usuario final que solo sabe usar una touchscreen; el ingeniero que sólo usa servicios serverless y nunca ha levantado una VM; el ingeniero que sólo usa Python y nunca ha programado en C.

Ahora bien, la clave aquí es saber dónde está uno mismo, en qué nivel. Y tener la humildad y capacidad de introspección de decir que si te has parado aquí, es o porque no has tenido tiempo, o porque no lo has necesitado aún.

Fin de la brasa.

Expand full comment
1 more comment...

No posts