jueves, 22 de enero de 2015

Por qué creo que el colegio debería enseñar computación

Hace unos días tuve una conversación en familia sobre la enseñanza de computación en el colegio versus enseñanza de terceros idiomas. La discusión fue entretenida, pese a que me sentí solo en mis tesis frente al resto. Pero fue bastante instructiva y en todo momento emocionante. Como suele pasar, tras tener la conversación aún le das ciertas vueltas, especialmente si sientes que no has logrado hacer llegar tus ideas a los demás. No digo que les hayas convencido o no, sino que, realmente, no has logrado transmitir bien las cosas.

Además, recientemente vi un vídeo de Computerphile titulado should everybody learn to code? donde se pregunta a Tom Rodden, profesor de Ciencias de la Computación de la Universidad de Nottingham, si todos los jóvenes deberían aprender a programar en el colegio. El vídeo es interesante.

En general, hay dos puntos aquí: Primero, si programar es una habilidad útil. Segundo, si es más útil que alguna otra que haya en el currículo escolar, para quitarla y poner programación en su lugar.

¿Es programar una habilidad útil para todos?

En las diversas discusiones, debates y vídeos que he visto, el problema se enfoca desde la probabilidad de que una persona vaya a programar en su vida. Tom Rodden, sin embargo, busca la respuesta desde un punto con el que yo estoy más de acuerdo gracias a mi experiencia profesional. El problema no es si la gente necesitará programar, sino si la gente deberá interactuar con ordenadores. Entender los ordenadores es importante, porque te permite saber qué pueden hacer y qué no y comprender mejor los problemas derivados de su uso y cómo hacerles frente. Si se sabe programar lo básico, los ordenadores dejan de ser ese "aparato mágico que hace cosas no sé cómo".

En mi trabajo actual debo enfrentarme al hecho de que, siendo una empresa de servicios 100% online, la gente de marketing y operaciones no tiene ni idea de lo implica hacer cambios, lo que hace que un alto porcentaje de la comunicación entre ellos y nosotros sea del tipo "¿se puede hacer esto?" y "¿cuánto llevaría?".

Peor aún, esa gente no tiene ni idea de lo que la tecnología puede hacer por ellos. Mi trabajo consiste en parte en darles soluciones a sus problemas, porque son incapaces de imaginarlas. No es que no conozcan los detalles técnicos, sino que ni siquiera son capaces de llegar a plantearse lo que la tecnología es capaz de hacer por ellos, porque no pueden alcanzar una imagen ni medianamente cercana de las posibilidades que la tecnología les ofrece. Eso les limita y, con ello, limita a toda la compañía.

Imaginen la Edad Media. Nadie sabe leer ni escribir. El hijo de un campesino le dice a su padre que le gustaría aprender a leer. ¿Qué haría su padre? En el 99% de los casos le daría una colleja y le mandaría al campo al grito de "¡para qué querrás tú eso!" En parte es cierto, porque en la Edad Media (al contrario de lo que vemos en las películas), ni había carteles ni nada. ¿Para qué? Además, tampoco había acceso a libros. Pero imaginen el poder de un grupo de chavales que supiesen leer y escribir. Podrían dejar historias por escrito, transmitirse conocimiento entre ellos, ¡poner carteles y usarlos!

Y es que hay ocasiones en que saber algo abre la puerta a una forma de pensamiento diferente, cuyo poder solo podemos imaginar una vez lo tenemos. La programación es una de esas disciplinas. No se trata de programar: se trata de entender. Entender la tecnología que nos rodea. Se trata de entender qué pasa cuando meto una tarjeta de crédito en un cajero, por qué ciertas transacciones son seguras y otras no, diferenciar una web donde es seguro comprar de una que no lo es, saber por qué narices el nombre de mi hijo no es una contraseña segura. Se trata de saber en el trabajo que esto o lo otro podría hacerse más fácilmente lanzando una simple query a una base de datos, generando un proceso de tal tipo o haciendo una sencilla aplicación. No se trata de hacerlo nosotros, sino de saber que lo podemos pedir porque puede hacerse y el impacto en nuestra productividad es muy grande. Entender la tecnología es entender el mundo en que nos movemos, porque ese mundo, hoy (y más mañana, cuando esos chavales dejen el colegio), está lleno de ordenadores.

¿Y es más importante que otras disciplinas que se enseñan actualmente?

Yo creo que sí. Concretamente, y eso es lo que dio pie a la discusión familiar, creo que es más importante que terceros idiomas. También creo que se podría unir a la enseñanza de algunas ciencias, como matemáticas y, sobre todo, física.

No digo que los terceros idiomas no sean importantes o que no tengan utilidad, cuidado. Digo que la programación tiene más utilidad, y más de cara al futuro. Encima, puede ayudar a reforzar mucho otras disciplinas consideradas "huesos" para muchos, como son las matemáticas y la física.

Los idiomas enseñan métodos de comunicación diferentes, que nos permiten abrir nuestra mente y comunicarnos de formas nuevas. Además, fomentan que los chavales viajen y se muevan por el mundo, haciendo que su mente sea mucho más abierta y cosmopolita. Todo eso es bueno. Pero seamos realistas: hablamos de terceros idiomas. Nosotros hablamos español de forma nativa. Además, en el colegio debería enseñarse el inglés y, si está bien enseñado, el nivel final de los alumnos debería ser muy bueno. Partiendo de esa base, cualquier chaval sería capaz de comunicarse con casi 1500 millones de personas en el mundo, y casi todas las del mundo desarrollado.

El gran argumento usado en esa discusión era que de la gente que tiene gran éxito profesional (habría que ver a qué se refieren con eso, porque sospecho que se trata de gente que gana pasta gansa), la mayor parte habla más de dos idiomas. Independientemente de que esa estadística es dudosa (se basa en una cena de antiguos alumnos de una titulación sobre negocios), y que, como digo, habría que ver qué se considera "éxito", ocurren dos cosas: Primero, que esa condición puede ser consecuencia de su "éxito", no la fuente del mismo. Segundo, que no se preguntó cuántos de ellos sabían programar.

Hay mucha gente en el mundo que yo mejor conozco, como es el de los videojuegos y el software, que son personas de éxito, residentes en Estados Unidos, que con suerte chapurrearán algo que recuerden del francés que aprendieron en el colegio. Hablamos de grandes nombres de la industria. Pongamos un ejemplo: Mark Zuckerberg, fundador de Facebook. No habla español. Aprendería algo de francés en el colegio, claro, que hasta hace poco era la lengua más enseñada como segundo idioma en Estados Unidos. Aparte de eso, en 2010 (siendo ya multimillonario), se puso a aprender chino mandarín. ¡Caray, habla chino! Sí, vale, pero eso ha sido tras su éxito. Su éxito proviene de la programación. ¿El creador de Minecraft? ¿Los dueños de Valve? ¿Los fundadores de Google? ¿Bill Gates? Seguro que algunos de ellos hablan idiomas, pero apuesto a que, los que lo hagan, los han aprendido después de su éxito inicial, que es 100% tecnológico.

En el mundo de los negocios es mucho más común el viajar y tratar con otras culturas. Pero en muchos otros campos, eso no es tan habitual. La gente que hace un master de negocios en Estados Unidos y viene de otra parte del mundo probablemente acabe en una buena firma multinacional, aproveche para viajar cuando es relativamente joven y aprenda idiomas. Parte de su éxito, basado en relaciones, se refuerza si sabe hablar bien otros idiomas. Pero eso, insisto, no es lo habitual.

Lo segundo que comentaba es que no se preguntó a los comensales de la cena cuántos sabían programar. Insisto: no se trata de ser programador, sino de entender cómo funcionan los ordenadores. Y para eso lo mejor es saber fundamentos de programación. Muchas personas de esas que solemos llamar "de éxito" son ingenieros, arquitectos o técnicos que tienen algún conocimiento de programación. Entienden lo que un ordenador puede hacer. Entienden, al menos por encima, cómo funcionan las comunicaciones, sistemas de almacenamiento de datos, etcétera.

El tiempo en el colegio para muchos no es suficiente. Freímos a nuestros hijos a extraescolares: danza, música, ajedrez, terceros idiomas, fútbol... Se suele considerar gente de éxito a esas personas que tienen pasta y puestazos. Aparte de que creo que es un error, me parece que la real fuente de ese tipo de éxito suele radicar en la capacidad de trabajo. Suele pasar, que niños que hacen muchas cosas, llámese extraescolares, suelen adquirir una gran capacidad de trabajo, precisamente porque trabajan mucho. Eso no les hace más creativos, por ejemplo, que un niño que juega libremente. Ni más felices (lo que para mí define el éxito), pero sí les da mayor capacidad de trabajo. Podrán sacar mejores notas con menor esfuerzo, acceder a carreras que requieran mayor nota y, con ello, tener una mayor probabilidad de alcanzar puestos de trabajo de más alto nivel.

Pero, aparte de que no creo que eso sea el éxito, muchos de los que ahora lo tienen fueron a extraescolares de idiomas. A veces se trataba de que, con su tiempo extra y no siendo propensos al juego, se plantearon qué actividad coger y los idiomas eran una perfecta opción. La mejor, considerando que hasta hace poco no había extraescolares de programación. Pero hoy día está disponible: hay muchas empresas que ofertan actividades de programación o robótica. Y es una actividad que aporta mucho más que un tercer idioma.

Habiendo, como hay, en el colegio horas para ese tercer idioma (en España suelen ser francés o alemán), creo sinceramente que la programación es mejor alternativa. Mucho mejor.

No hay comentarios:

Publicar un comentario