Petr Mitrichev, de Google, es el campeón de todos los tiempos en programación de alto nivel, un deporte poco conocido al que acuden los cazatalentos de tecnología.
Si Vladimir Putin mirase por la ventana del Kremlin en el momento justo, podría vislumbrar al mejor informático del mundo en la oficina de Google en Moscú al otro lado del río.
Se trata de Petr Mitrichev, un ruso de 27 años de edad que trabaja en el motor de búsqueda de Google y que ha logrado ser campeón en programación competitiva, un deporte donde los hackers escriben código en busca de premios en efectivo, oportunidades de viajes y una profunda satisfacción inalcanzable en cualquier otro lugar.
"Tienes un sentimiento de satisfacción al resolver un problema en el concurso", afirma Mitrichev. Afable y un poco pálido, viste una camiseta de Google durante una entrevista en el jardín de la sede de la compañía en Mountain View, California (EE.UU.).
Desde el año 2005, Mitrichev, graduado de la Universidad Estatal de Moscú, ha sido el líder dentro del mundo de la programación algorítmica. Ese es el Gran Premio de las categorías de codificación, en las que los enigmas en los que aparecen tableros de juego infinitos o el nivel de decibelios de n+1 vacas mugiendo requieren conocimientos matemáticos instantáneos y dedos rápidos sobre el teclado. Mitrichev es conocido por su "pequeña pausa", es decir, por su capacidad para empezar a responder a las preguntas casi tan pronto como las ve.
Para Mitrichev, la programación de alto nivel ofrece una rara isla de conceptos absolutos en un mundo subjetivo. "Lo hermoso es que es totalmente automático y que no hay ningún tipo de juicio humano involucrado", afirma. "Es una de las competiciones más justas que he visto nunca".
No solo los artesanos del algoritmo como Mitrichev ven la belleza del asunto. Las empresas de tecnología utilizan la programación deportiva para descubrir a los codificadores más inteligentes y más rápidos del mundo. Gigantes como Facebook y Google patrocinan las competiciones de mayor nivel, pegando sus logotipos en salones de eventos como Rolex en Wimbledon.
El ascenso de Mitrichev comenzó cuando tenía 10 años, después de leer un libro de su hermano mayor sobre el lenguaje de programación Pascal. Aunque no tenían ordenador en su casa de Moscú, al año siguiente quedó en el puesto 60 de 100 en la competición de programación nacional de Rusia para estudiantes de secundaria. Puesto que solo tenía 11 años, los jueces le dieron al joven un ordenador. A los 15 años ganó la competición. Poco después ya estaba en el circuito internacional y debutó en la Olimpiada Internacional de Informática en Beijing (China).
Mitrichev obtuvo su clasificación mundial actual solo después de unirse a las ligas de primera división de la programación de alto nivel, una serie de concursos semanales y anuales a cargo de la empresa de Connecticut TopCoder que atraen a más de 400.000 programadores de todo el mundo. Tras pasar del lenguaje Pascal a C# subió en la clasificación hasta alcanzar el primer lugar en 2005, una posición que sigue ocupando hoy día.
Ese dominio y su comportamiento deportivo han hecho de Mitrichev un héroe entre los geeks. Se disecciona cada uno de sus resultados, que él publica como vídeos en Internet, a través de mensajes en foros. En el concurso anual más grande, que convoca a cientos de programadores en un salón de hotel, grandes pantallas retransmiten los monitores de los competidores. Las sillas se suelen colocar 20 minutos antes para tener una buena visión del trabajo de Mitrichev.
"La gente murmura en la sala cuando ve que comete un error, y una vez más cuando lo arregla", afirma Mike Lydon, director de tecnología de TopCoder. "Una persona corriente no estaría interesada. Sin embargo, para estos chicos es fascinante".
Los problemas en estas competiciones a menudo describen situaciones físicas que deben ser descritas matemáticamente. Hacerlo requiere escribir un algoritmo, una secuencia de operaciones que será realizada con una serie de datos. Uno de los problemas en la competición más reciente de Mitrichev, el 21 de julio, era predecir la posición de las piezas en un juego de damas sobre un tablero infinito. Los participantes ganan puntos cuando sus programas manejan correctamente los datos de prueba. Algunos concursos incluyen una fase de desafío, donde el objetivo es presentar datos que interfieran con el programa de un competidor.
Hay una cantidad significativa de dinero en juego en este deporte. Los premios principales pueden tener un valor de 25.000 dólares (20.100 euros) y Mitrichev ha ganado varios. Además, puesto que los algoritmos son la base de lucrativos negocios en Silicon Valley y en Wall Street, muchos de los mejores programadores son reclutados en empleos bien remunerados. (Un representante de relaciones públicas de Google no permitió que Mitrichev hablara de su compensación).
Mitrichev resulta inusual porque no ha dejado de competir y de ganar incluso después de conseguir un trabajo: comenzó a trabajar en Google en 2007. Señala que sigue compitiendo porque escribir código lo relaja. Los concursos semanales en línea de TopCoder duran unos 90 minutos. "Puedes ver un programa de televisión o puedes participar", afirma.
Incluso cuando está ocioso, Mitrichev es una fuerza a tener en cuenta. En 2011 ganó el primer concurso de programación de Facebook, la Copa Hacker, que ahora es anual. Llegó a la final en la sede de Facebook y recogió su trofeo con su credencial de empleado de Google puesta en los vaqueros. Algunos lo vieron como una burla descarada en la rivalidad de las empresas por la supremacía como hackers cibernéticos. "Lo que pasó es que me la había dejado puesta del día anterior", asegura Mitrichev. "Yo no estaba tratando de decir nada".
El trabajo de Mitrichev en Google es mejorar su herramienta de búsqueda, que tal vez sea el algoritmo más afinado y valioso de la historia, y que registra casi cinco mil millones de peticiones al día. Eso resulta difícil, afirma, porque la mayoría de las técnicas fáciles ya se han aplicado, en particular en PageRank, el icónico algoritmo escrito originalmente por los fundadores de Google. Mejorar los resultados de búsqueda en la actualidad supone hacer ajustes más sutiles, como la búsqueda de sinónimos u otros trucos idiomáticos para ayudar a extraer el significado adicional de los términos de búsqueda del usuario.
"Cuando tienes una idea la pones en práctica como algoritmo y después ejecutas un experimento", explica. Si los rankings de búsqueda salen mejor, si la gente hace clic en los primeros resultados con más frecuencia en las pruebas en directo, el nuevo algoritmo se queda.
La próxima vez que una búsqueda en Google te devuelva exactamente el resultado que querías, podrás juzgarlo por ti mismo.