 ¿Alguna vez te has preguntado si existe la remota posibilidad de obtener un trabajo como investigador de Microsoft Research? Ciertamente no es fácil, pero algunas personas nos muestran que puede estar más cerca de lo que creemos. Es el caso de Nicolás Bruno, un joven argentino que comenzó haciendo una pasantía durante sus estudios de la Universidad de Columbia, y hoy trabaja como investigador enfocado en Bases de datos. En esta entrevista nos cuenta cómo hizo para llegar a Microsoft Research, y cómo es su trabajo cotidiano. ¿Qué trabajo llevas a cabo en Microsoft Research? La misión de Microsoft Research es innovar y avanzar el estado del arte en ciencias de la computación. Aunque el impacto académico es muy importante en nuestro trabajo, no perdemos de vista la posibilidad de transferir nuevas ideas a distintos productos en la compañía. Específicamente, mi área de investigación es Bases de Datos. Los objetivos principales en mi trabajo son investigar y publicar resultados en conferencias, así como transferir nuevas tecnologías a productos, principalmente SQL Server. Adicionalmente, intentamos fomentar la colaboración con estudiantes y profesores de universidades, ya sea a través de eventos que patrocinamos o pasantías que ofrecemos a estudiantes de diferentes universidades dentro y fuera del país. ¿De qué forma ingresaste allí? En el año 2000, durante mi doctorado en la Universidad de Columbia, tuve la oportunidad de realizar una pasantía en el grupo de investigación al que ahora pertenezco. Fue allí donde conocí a varias personas con las que iniciamos algunos trabajos en colaboración. Volví como pasante en los años 2001 y 2002. Al final de mi tercera pasantía, mi mentor me propuso entrevistar formalmente para una posición permanente, así (según el decía), no tendría que mudarme todos los veranos de la costa este a la oeste. Luego de 15 horas de entrevistas (durante dos días) me ofrecieron una posición y acepté. Tu especialidad son las bases de datos auto-administrables. ¿Podrías desarrollar este concepto? En la actualidad hay una explosión en el número y complejidad de instalaciones que de una manera u otra, dependen de bases de datos. Debido a esta tendencia, aumenta también el costo (principalmente humano) para administrar y mantener bases de datos. Nuestra idea consiste en incorporar características auto-administrables en bases de datos, de manera que haya una mínima intervención por parte de administradores para mantener instalaciones en funcionamiento. De esta forma, los sistemas de bases de datos monitorean su propio comportamiento y reaccionan automáticamente, adaptándose a requerimientos dinámicos de aplicaciones. ¿Qué tecnologías has investigado y hoy forman parte de productos que estén en el mercado? Aunque el objetivo es a largo plazo, inicialmente nos hemos concentrado en automatizar el diseño físico de una base de datos. Esto es, dependiendo de los patrones de uso, intentamos recomendar automáticamente como reorganizar la estructura de la base de datos para optimizar su desempeño. Esta línea de investigación dio como resultado una aplicación llamada DTA (Database Tuning Advisor) que forma parte de Microsoft SQL Server. Esta aplicación produce, dado un patrón de uso representativo sobre la base de datos, una configuración compuesta de índices y vistas materializadas, que de implementarse, optimizarían el desempeño del sistema. En 2005 diste una conferencia en la Universidad de Stanford sobre bases de datos auto-administrables en relación con SQL Server. ¿Qué temas desarrollaste allí? La Universidad de Stanford ofrece cursos regularmente acerca de la teoría detrás de la implementación de bases de datos. Como parte del curso, invitan a personas de la industria para que brinden su perspectiva personal sobre el tema. Hace ya cuatro años que viajamos a Stanford para dar este tipo de charlas. El beneficio de estas actividades es mutuo. Por un lado, los estudiantes aprenden como funcionan ciertos aspectos de sus estudios en sistemas reales. Por otro lado, es una buena oportunidad para nuestro grupo de interesar tanto a profesores como a estudiantes a tomar contacto con la problemática de bases de datos auto-administrables, y posiblemente iniciar actividades conjuntas de investigación. ¿Piensas que algunas aplicaciones hoy presentes en SQL Server puedan llegar a productos dirigidos a usuarios finales? Definitivamente, creo que sí. Últimamente hay diferentes aplicaciones destinadas a usuarios finales, que de una u otra manera dependen de un motor de bases de datos. Por ejemplo, nuevos teléfonos celulares incorporan tecnología basada en SQL Server para manejar contactos. Sistemas de entretenimiento como Windows Media Center también dependen de esta tecnología para administrar audio y video. Por ultimo, innovaciones en el sistema de archivos de Windows (WinFS) incorporan un gran subconjunto de las funcionalidades de SQL Server. Creo que en todos estos casos es aun más importante la capacidad de auto-administración de estos sistemas, ya que no hay administradores sino solo usuarios finales. ¿Cómo es el intercambio cultural con gente de otras partes del mundo en el mismo equipo? Es una experiencia muy enriquecedora. Específicamente, en mi equipo hay gente de diversas partes del mundo: una gran cantidad de gente de India y en menor medida de China, Europa y América. Como somos todos bastante curiosos, intentamos conocer las costumbres e idiosincrasia de cada uno. Por eso, frecuentemente probamos comidas autóctonas, jugamos al fútbol pero también al cricket, y nos invitamos mutuamente a ver películas de nuestros países, entre otras actividades. ¿Cómo te preparó la universidad para el trabajo que hoy tienes? En Argentina estudie en FaMAF (Facultad de Matemática, Astronomía y Física) dependiente de la Universidad Nacional de Córdoba. Debido a los continuos problemas presupuestarios (yo estudie durante los años 90), no había muchas posibilidades en la universidad para trabajar con grandes sistemas. Aunque en principio esto parezca negativo, mi facultad compenso este problema con una importante base científica. En retrospectiva, creo que la universidad fue muy útil brindando una base sólida sobre la cual uno pueda seguir investigando. ¿Cuáles son las diferencias entre lo que investigas y lo que estudiaste en la universidad? La transición no fue para nada abrupta. Luego de estudiar en Argentina, hice mi doctorado en la Universidad de Columbia. Mi especialidad entonces fue también, bases de datos. Sumado a esto, durante mis estudios realice múltiples pasantías en mi actual grupo de investigación. Considero que actualmente la principal diferencia es la posibilidad de transferir ideas a productos que salgan al mercado. Esto da un incentivo adicional a la hora de elegir problemas, pero a la larga la forma de investigar y los procesos no cambiaron demasiado. ¿Piensas que podrías desarrollar estas tareas en tu país? Aunque ciertamente es posible, creo que seria mas complicado, fundamentalmente debido al carácter aplicado de mi área de investigación. Argentina tiene alta calidad de recursos humanos, pero la investigación aplicada no cuenta aun con importantes laboratorios que soporten proyectos de gran escala. Adicionalmente, un aspecto importante en mi trabajo es la constante interacción con colegas de universidades y otros laboratorios de investigación. Seria posible, aunque mas complicado, mantener una relación estrecha con este grupo de personas si la distancia que nos separa fuera mayor y el presupuesto disponible tanto menor. ¿Cómo ves tu futuro, en materia de investigación? A corto plazo, voy a seguir investigando en las mismas líneas generales de mi trabajo actual. A largo plazo, la respuesta es mucho más incierta. Aunque esto en principio parezca negativo, a mi juicio, lo mas interesante es no saber con exactitud lo que uno pueda llegar a descubrir. Raramente las mejores invenciones fueron planificadas de antemano.
|