Hace un tiempo, repasábamos un hecho poco conocido de la biografía de Bill Gates, ex-CEO y fundador de Microsoft: que estuvo a punto de dedicarse a las matemáticas en detrimento de la informática.
Lo revelaba en un libro publicado en 1997, 'In the Company of Giants: Candid Conversations & the Visionaries of the Digital World', que recopilaba también entrevistas con otros gigantes de Silicon Valley, como el mismísimo Steve Jobs.
En un momento dado de la entrevista, prácticamente al final, cuando ya ha abordado todos los aspectos 'de negocios' en torno a su trabajo, el entrevistador le pregunta qué recomendaría a aquellos que quieren empezar 'hoy en día' (recordemos: años 90) en la industria informática.
A hombros de gigantes
La respuesta de Gates se puede resumir en 'experiencia'… pero cuidado, no habla sólo de la experiencia propia, sino también de poder aprender de otros con más experiencia que tú mismo:
"Si realmente quieres escribir un gran software, lo mejor es ir a trabajar con un grupo de personas que son muy buenas y trabajan en una variedad de productos diferentes. Si de verdad quieres convertirte en un gran desarrollador de software, necesitas mucha experiencia".
"Pensar que vas a ser uno de los mejores desarrolladores de software del mundo sin trabajar junto a alguien con más antigüedad... Dudo que esa sea una visión muy artesanal".
Recordemos que, en la época de los gremios de artesanos, cada 'maestro' solía contar con 'aprendices' y con 'oficiales' (que previamente habían sido aprendices, y que en unos años se establecerían como 'maestros' por su cuenta).
Más adelante, vuelve a insistir:
"Ve donde están los grandes desarrolladores de software".
Si os habéis preguntado si es posible 'no tener abuela' y ser humilde al mismo tiempo, aquí Bill Gates nos demuestra cómo. Pero más allá de las flores que se echa, quedaos con el consejo que pretende transmitir:
"Yo mismo, aunque había estado estudiando y trabajando con software desde los 13 años y me convertí en un desarrollador fantástico, no dejaba de pedir a grandes desarrolladores que echaran un vistazo mi código y me mostraran dónde podía ser mejor, cómo podía ser diferente. Pasar a un nuevo nivel".
Se atribuye a Newton la frase "Pude ver más lejos porque me subí a hombros de gigantes", en referencia a los pensadores que le habían precedido. Pues bien, Gates nos anima a hacer esto mismo.
Gates también retoma de nuevo las referencias a lo artesanal para describir la particular dinámica que se vivía entre los desarrolladores de Microsoft durante los primeros pasos de la compañía, de competición intelectual basada en la camaradería:
"Cuando Microsoft comenzó, había mucha camaradería de desafiarse unos a otros: '¿Puedes mejorar este código? ¿Puedes mejorar esto?'. Fue una época de gran artesanía. Era un mundo diferente".
Si no puedes trabajar con ellos, lee su código
Pero Gates no creía que la única forma de aprender de los buenos programadores fuera trabajar en la misma empresa que ellos: otra opción era estudiar su código. Lo contaba en otro libro de entrevistas —'Programmers at Work' de Susan Lammers— publicado 11 años antes, cuando aún no lideraba la lista de los hombres más ricos del mundo:
"La mejor manera de prepararse es escribir software y estudiar buenas aplicaciones que otras personas hayan escrito. En mi caso, iba al Centro de Ciencias de la Computación y sacaba listados [de código] de su sistema operativo de los cubos de basura".
"Creo que mejoré radicalmente como programador entre 1975 y 1980. En el 75, habría dicho: 'Hey, cuidado, puedo hacer cualquier cosa'. Realmente pensé que podía, porque había leído mucho código y nunca encontré un código que no pudiera leer muy rápidamente".
"Sigo pensando que una de las mejores pruebas de capacidad de programación consiste en entregar al programador unas 30 páginas de código y ver cómo de rápido puede leerlo y comprenderlo".
Quod natura non dat, experientia non praestat
Sin embargo, también afirmaba que la experiencia te permite mejorar, pero que eso no te eximirá de tener cierto talento innato. Ante la pregunta de la entrevistadora ("¿Acumular experiencia a lo largo de los años facilita necesariamente la programación?"), su respuesta era contundente:
"No. Creo que después de los tres o cuatro primeros años, está bastante claro si eres un buen programador o no".
Según Gates, sumar más experiencia que esa puede resultar útil para aprender a gestionar grandes proyectos, pero…
"No hay nadie en Microsoft que haya sido mediocre durante un par de años y que luego, de la nada, haya empezado a optimizar todo lo que se le ponía por delante. Puedo hablar con alguien sobre un programa que ha escrito y saber enseguida si es realmente un buen programador.
Si es realmente bueno, lo tendrá todo en la punta de la lengua. […] A día de hoy, puedo ir a la pizarra y escribir enormes trozos de código fuente del BASIC de Microsoft que escribí hace diez años".
Imagen | Marcos Merino mediante IA
En Genbeta | Diez consejos para ser más productivo como desarrollador de oficina (o no)