A propósito de Turing, o cómo afrontar grandes retos.

captura-de-pantalla-2017-02-12-a-las-15-44-16

Ayer por la noche vi en Netflix «Descifrando Enigma». La película habla de la biografía de Alan Turing, y de cómo él y su equipo consiguieron descifrar las comunicaciones del ejército nazi de la segunda guerra mundial, encriptadas con la máquina «Enigma». No es mi intención hacer una reseña de la película, ni tampoco hablar de todas las aportaciones de Turing a la historia del siglo XX y XXI, si bien os recomiendo encarecidamente tanto ver la película, como indagar más sobre este personaje histórico, sin el cual posiblemente yo no podría estar delante de un ordenador escribiendo este post ni tu leyéndolo (los abuelos de los ordenadores modernos se llamaban máquinas de Turing, y las matemáticas que subyacen bajo los circuitos de silicio de nuestras computadoras son esencialmente las mismas que Turing formuló en su juventud).

Mi objetivo en este post es reflexionar sobre una idea que se instaló en mi cabeza ayer a raíz de la película, y que es la siguiente: ¿Cuál es la mejor metodología para afrontar un problema inmenso, un reto monumental? 

Ejemplo: Descifrar un método de encriptado con 158,962,555,217,826,360,000 posibles combinaciones. Concretamente esa fue la monumental tarea que Turing afrontó (con éxito) al luchar contra «Enigma».

Antes de exponer mi punto de vista sobre este tema, quiero pedir disculpas anticipadas a todos mis amigos informáticos que puedan llegar a leer este post. Se que el problema técnico que subyace debajo de este reto tiene mucha mayor complejidad que la que yo voy a explicar, y se que la solución aportada tiene unos componentes de automatización brutales, que cuando bajamos a los circuitos tienen implicaciones físicas my interesantes, y a medida que subimos hasta la «programación» la física va dejando paso a la matemática, a la lógica, pero mi intención no es llegar a todos esos matices, sino quedarme en una idea práctica mucho más aplicable para todos los públicos.

La principal enseñanza que yo saqué de la manera de afrontar el problema por parte de Turing, es que cuando tenemos que afrontar una tarea titánica, enorme, la mejor manera de afrontarla es dividir dicha tarea en fragmentos, para así «sentir» menos pesada la carga de trabajo. En el caso de la informática, esto llega a su máxima expresión. Pensemos que todo lo que hacemos en un ordenador ¡se traduce a ceros y unos! creo que es el ejemplo máximo de cómo algo muy complejo puede reducirse a lo más simple.

Pensando en los grandes retos que he tenido que enfrentar en mi vida, creo que conseguí avanzar con mi proyecto final de carrera cuando enfoqué el problema desde la perspectiva de plantear el boceto global de lo que me quedaba por hacer, lo dividí en partes (concepto, anteproyecto, situación, plantas, alzados, paneles resumen, estructuras, instalaciones, memoria, mediciones…) y vi que ninguna de ellas tenía por qué llevar más de una semana. Antes de hacer esto me había pasado meses mirando «la gran bola» sin avanzar demasiado. Cuando me llega un encargo a la oficina, normalmente tengo experiencia previa para poder afrontarlo, pero esa «experiencia» viene de la suma de los más de 550 proyectos que hemos desarrollado en la oficina a lo largo de más de una década. Otro ejemplo es que en el pasado siempre he tenido la fantasía de escribir un libro, cosa que varias veces he comenzado a hacer pero que nunca he concluido. Esta es la primera vez que creo que tal vez consiga publicar algo a un año vista, y es gracias a que este blog me está haciendo escribir dos páginas por semana. La titánica tarea de escribir un libro, no se ve tan imposible si nos planteamos que sea un compendio de artículos con una idea de conjunto, de unos dos folios de extensión, escritos a razón de uno por semana. La idea de bajar de peso, que se me lleva resistiendo los últimos años, se me antoja menos imposible si no me planteo bajar todo el peso que me sobra de una tacada, sino medio kilo por semana, haciendo tres sesiones de deporte semanales, y cuidando en la alimentación el consumo de Alcohol y los hidratos por las noches.

Una segunda lectura de la metodología que empleó Turing para vencer a enigma, además de la de «Divide y vencerás»,  es la de la programación. Nuevamente pido disculpas a los informáticos, no voy a hablar de algoritmos, ni de automatizaciones, sino que me quedo con el concepto al que llegamos todo hijo de vecino, el de coger una agenda y decidir que todos los lunes haremos reunión de oficina para programar el trabajo, y todos los viernes a última hora de la mañana haremos reunión de supervisión para ver como se ha ejecutado el trabajo programado. Que el martes nos dedicaremos a lanzar presupuestos y a llamar a los clientes que tienen presupuestos nuestros encima de la mesa, que el miércoles nos dedicaremos a la dirección de obra y el jueves a desarrollar el concepto de esa nueva empresa que estás montando con un amigo y que te hace tanta ilusión, que el viernes a primera hora lo dedicaremos al networking, que llevaremos a nuestro hijo al colegio de lunes a jueves, que haremos deporte las tardes de lunes, miércoles y jueves, que el fin de semana escribiremos un post, iremos al cine con nuestro enano, le llevaremos a Rugby… Así dividimos en tareas pequeñas y programamos en nuestra semana tareas tan titánicas como llevar una empresa, crear otra, vender, producir, supervisar obras, escribir un libro, conocer nuevos clientes, adelgazar 50 kilos, ser buen padre.

En definitiva, la película me hizo reflexionar sobre un tema que a un teórico como yo le interesa mucho más que la teoría, y es conocer estrategias para pasar a la acción, para afrontar tareas largas, y en definitiva, para alcanzar mis metas.

¿Cómo lo hacéis vosotros?

 

 

2 comentarios en “A propósito de Turing, o cómo afrontar grandes retos.

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s