Lo que aprendí de trabajar para Bill Gates y Steve Jobs

[Musee D'Orsay, París. Fuente: https://benfa.smugmug.com/ ]

"Cuando era un niño de catorce años, mi padre era tan ignorante que apenas soportaba tener al anciano cerca. Pero cuando llegué a los veintiún años, me sorprendió lo mucho que había aprendido en siete años. "- [Atribuido a] Mark Twain.

Advertencia: no entendí nada de esto porque estaba viviendo de eso. Usted tampoco lo hará cuando le suceda a usted.

Sería justo decir que estoy orgulloso de mi carrera de treinta y cinco años en la industria de la informática. He tenido el placer de trabajar con miles de personas brillantes y, afortunadamente, he aprendido un poco de cada uno de ellos. Una vez fui un impetuoso joven ingeniero en NeXT Computer y, muchos años después, un vicepresidente corporativo en Microsoft. En cierto sentido, aprendí de Steve Jobs y Bill Gates, dos de las lecciones más importantes que aprendí.

Yo era un estudiante de segundo año en la universidad antes de tomar mi primera clase de ciencias de la computación, por recomendación de un tío que pensó: "Este material informático va a ser grande". Estaba estudiando psicología en ese momento. No tengo ni idea de porqué. Fue lo mejor que pude pensar para un especial cuando ingresé a la universidad. Estaba listo para graduarme a los diecisiete, demasiado joven para saber qué quería hacer con mi vida.

Estaba pasando por la universidad y estaba completamente aburrido de la psicología. Parecía una masturbación mental: simplemente colocar etiquetas en las personas y en conjuntos superpuestos de síntomas vagos. El hecho de que un solo paciente mental, cuando es visitado por cinco psicólogos, se vaya con seis diagnósticos, es prueba suficiente de que la psicología es más un arte que una ciencia. En medio de todo esto, mi primera clase de informática fue una revelación.

¿Qué? ¿Quieres decir que solo hay una respuesta correcta al problema? ¿Quieres decir que la computadora hará exactamente lo que yo le digo que haga? Y si el código no funciona, ¿es probable que el problema sea mi propia maldita falla ? Joder, sí! ¡Inscríbeme!

Aquí había un mundo que era mucho más satisfactorio que el vago mundo de la psicología. Así que hice lo que harían todos los dieciséis años decentes . Declaré doble especialidad: Psicología e Informática.

"¿Qué diablos tienen que ver esos dos temas entre ellos?", Puede preguntar. Nada en realidad. ¡Por casualidad ya había tomado la mayoría de las clases necesarias para obtener una licenciatura en Psicología y no estaba dispuesto a renunciar a eso! Al final, todavía me gradué a los diecisiete años con ambos títulos e ingresé a la fuerza de trabajo.

Es bastante gracioso, ahora que he manejado a miles de personas y trabajado con decenas de miles más, me encuentro recordando muchas lecciones de esas clases de Psicología. Ahora tienen sentido, ahora que he visto docenas de ejemplos de cada síntoma . En aquel entonces, no tenía contexto. No había experimentado lo suficiente de la vida como para tener un marco de referencia. Como tal, los conceptos parecían simplemente un montón de palabras vacías.

En ese momento yo era un estudiante extranjero hambriento con una visa F-1 y, como no tenía familiares inmediatos en el país, mi único camino hacia la residencia permanente era encontrar un empleador que solicitara la residencia permanente en mi nombre. Pero hay una trampa. Como estudiante extranjero en los Estados Unidos, solo puedes trabajar durante un año después de la graduación en lo que se llama "Entrenamiento práctico". Si hace un gran trabajo durante ese año, su empleador lo solicita, obtiene una visa H-1B que luego es un camino hacia una residencia permanente, la ciudadanía y el resto del Sueño Americano. Si eso no sucede, no tienes suerte y vuelves a tu país de origen. No estaba interesado en regresar a un país que sufría por la agitación revolucionaria y una guerra sin sentido. Tenía edad para el servicio militar obligatorio y habría terminado luchando en primera línea de la guerra Irán-Iraq. ¡No, gracias!

Así que desesperadamente necesitaba un trabajo y un patrocinador. El único trabajo que pude encontrar fue en mi universidad estatal local como gerente de laboratorio de informática. Qué trabajo más extraño para alguien que trata de ingresar en la industria como desarrollador de software. Bueno, eso es lo mejor que pude hacer en ese momento. Estamos hablando de 1982, después de todo. La altura de la manía de los rehenes de Irán, la guerra Irán-Irak, la crisis del petróleo, la recesión y todo eso.

Viniendo a America
"La memoria reside no solo en el cerebro sino en cada célula". James Gleick. La información: una historia, una teoría, una inundación. medium.com

No te aburriré con los detalles. No fue una bonita imagen. Aquí estaba, recién salido de clases, programando el último modelo PDP-11 y Unix, habiendo tomado clases de Inteligencia Artificial escribiendo código en LISP y Prolog, habiendo estudiado la teórica teoría de los autómatas teóricos … ¿ y quieres que haga qué? Cargue estas bandejas de tarjetas perforadas en este lector de tarjetas perforadas IBM de la era de la década de 1960 y cambie los discos del tamaño de un lavavajillas en sistemas VAX antiguos. ¿Y esto me dará una tarjeta verde? De acuerdo, soy un juego. Que demonios.

Es solo ahora, treinta y cinco años después y a un millón de kilómetros de distancia, que estoy realmente agradecido por haber experimentado toda una generación de informática. Uno que estaba muriendo, sin duda, pero también uno que me permite contrastar el mundo de hoy aún más crudamente con el lugar donde estábamos, hace apenas unos años.

Solo piensa en ello. Cualquier niño puede recoger un teléfono inteligente o tableta hoy, escribir una pregunta, cualquier pregunta y obtener una respuesta instantánea. Guau. Solo jodido wow. Ya en mi día (¿puedes oír el violín tocar de fondo?), Todavía teníamos que ir a la biblioteca pública y usar tarjetas de índice impresas para encontrar libros de referencia. ¿Nos damos cuenta de lo lejos que ha llegado nuestro mundo en las últimas décadas? Avanzamos cincuenta años, a la velocidad exponencial que hemos estado experimentando, y verá cuán lejos llegaremos. Soy optimista sobre el futuro, aunque solo sea porque he visto cuán rápido se puede mover esta industria a largo plazo.

No me malinterpretes En el corto plazo, no es más que frustración y tedio, burocracia y peleas de gatos, arreglos de fallas y reuniones. Pero a la larga, ¡Dios mío! Solo da un paso atrás y mira cuán dramáticamente hemos cambiado la experiencia humana en los últimos diez o veinte años. Soy un niño de los años sesenta y setenta criado en parte en un país del tercer mundo. Aún recuerdo haber tenido que ir a la oficina de la compañía telefónica nacional en el centro de la ciudad y hacer cola durante una hora para hacer una llamada telefónica internacional. Hoy, cualquiera puede conectarse con cualquier otra persona en cualquier lugar del planeta de manera instantánea a través de voz, video, correo electrónico y redes sociales con un teléfono en el bolsillo. ¡Y ni siquiera necesitan arrastrar un lector de tarjetas de IBM detrás de ellos o saber Fortran para hacerlo!

¡Santo cielo! Ahora eso es progreso.

Por supuesto, no entendí nada de esto en ese momento. Estaba luchando por mantenerme al día con algunas de las mejores personas de la industria. Es solo ahora que veo la consumación de todas esas cosas en las que trabajamos durante tantos años: los estándares de redes y seguridad, las plataformas y ecosistemas de sistemas operativos, los avances en usabilidad e interoperabilidad, confiabilidad y escalabilidad.

Todavía tengo problemas para que mi iPhone funcione con Google Play cuando visito la casa de un amigo (hablar sobre el bloqueo de proveedor) pero, una vez que acordamos una plataforma, podemos elegir entre miles de películas, millones de canciones y docenas de experiencias compartidas ya sea que estemos en la misma habitación o en la otra mitad del mundo. Veinte años atrás, nada de esto existía. Ahora eso es progreso y todos tuvimos algo que ver. Es solo cuando das un gran paso atrás y ves el impacto que nuestra industria ha tenido, en su conjunto, en la humanidad, de que puedes sentirte feliz con tus contribuciones.

Regreso a la historia No hay forma de que una universidad estatal pueda legítimamente solicitar una tarjeta verde para que alguien sea gerente de laboratorio, así que me fui después de un breve período para encontrar un lugar mejor. Me tomó tres o cuatro intentos, en medio startups al horno y empresas mediocres, finalmente terminar en una empresa donde podía trabajar en algo que me apasionaba: los sistemas operativos.

Y nunca miré hacia atrás. Toda mi carrera de 35 años, antes de que finalmente me retiré el año pasado, la pasé trabajando en sistemas operativos, primero como desarrollador de kernel de Unix y luego como gerente, director, vicepresidente y eventualmente CTO.

Pasé algunos años escribiendo controladores de dispositivos en estaciones de trabajo de Sun, luego hice un montón de trabajos en el núcleo de Unix en una empresa de servidores multiproceso de gama alta. Empecé a trabajar con todas las arquitecturas, desde Motorola hasta MIPS o PowerPC, escribiendo componentes de sistemas, controladores de dispositivos, subsistemas de almacenamiento, sistemas de administración de memoria virtual, código de kernel de bajo nivel, haciendo subir el sistema, incluso soldando piezas en la fábrica cuando era necesario. Finalmente me dirigí a la costa oeste y pasé varios años en MIPS y Silicon Graphics trabajando en sistemas de servidores de alta gama. En su apogeo, trabajé en varios proyectos de supercomputación en Silicon Graphics.

Cómo construir una supercomputadora y aún así perder la guerra
La autobiografía de Ben y Bob Capítulo 13: Cómo construir una supercomputadora y aún así perder la guerra "Todos ven la … benbobsworld.blogspot.com

Cuando le digo eso a la gente, inmediatamente dicen: "¡Ah, Parque Jurásico!" Bueno, sí. SGI fue la compañía que construyó las computadoras gráficas utilizadas para representar muchas películas de Hollywood, incluido Jurassic Park. Pero también trabajamos en supercomputadoras que compitieron directamente con Cray Research por la supremacía en el (entonces altamente competitivo) mundo de la supercomputación. Esos fueron los días embriagadores cuando aprendí todo sobre la arquitectura de la computadora desde el procesador hasta los sistemas operativos y el software del sistema en general.

Parece que he trabajado en muchas arquitecturas de sistemas sin salida. Supercomputadoras, estaciones de trabajo UNIX, arquitecturas multiprocesador de memoria compartida, procesadores RISC, clústeres de servidores estrechamente acoplados: todas las arquitecturas que en su mayoría se han quedado en el camino ya que el mundo ha adoptado la informática personal, la nube y la informática distribuida. Yo solía preocuparme por esto. ¿Por qué siempre me estaba matando en estos proyectos hercúleos solo para descubrir unos años después que un competidor había repensado por completo el espacio problemático y había ideado una nueva generación de informática para abordarlo?

Solo más tarde me di cuenta: probablemente sea cierto para casi todo el mundo. Cada arquitectura muere tarde o temprano. Así es como funciona esta industria. He trabajado en muchos proyectos revolucionarios, revolucionarios cuando trabajaba en ellos, y todos, tarde o temprano, han sido retirados al basurero de la historia. Afortunadamente, con cada generación aprendemos de los errores del pasado. En el proceso, también tuve la oportunidad de trabajar con algunas de las mentes más brillantes de la industria y aprender de ellas. Las lecciones más importantes me llevó años aprender.

Un ejemplo: yo era el impetuoso joven ingeniero que abandonó NeXT Computer en 1992 cuando Steve Jobs canceló el proyecto en el que estaba trabajando: una estación de trabajo de doble procesador de próxima generación basada en PowerPC con NeXTStep. El proyecto estaba casi terminado, el sistema estaba listo para ser enviado y debía anunciarse en una conferencia de la industria la semana siguiente cuando fue cancelado. ¡Estaba tan enojado que ni siquiera me molesté en incluir la experiencia laboral en mi currículum!

Steve intentó convencerme para que me quedara en la empresa, pero estaba demasiado enojado y furioso como para darme cuenta de que había hecho la llamada correcta. Se dio cuenta de que la batalla por las arquitecturas de los procesadores había terminado e Intel había ganado. Mató por completo todos los proyectos de hardware en NeXT y le dio a la empresa un enfoque solo de software. Yo, por supuesto, salí por la puerta. ¿Cómo se atreve a cancelar mi proyecto?

Estaba demasiado ocupado mirando los árboles frente a mí para ver el bosque por todas partes. La guerra del procesador había terminado. La respuesta correcta fue subir de categoría e innovar en software, no seguir luchando contra la guerra de los procesadores por una porción cada vez menor del mercado. Por supuesto, luego regresó a Apple con el equipo NeXT intacto y el resto es historia.

A eso me refiero cuando digo que las lecciones más difíciles tardan años en internalizarse. No estaba pensando en ese nivel. Estaba demasiado emocionado por el proyecto en el que había invertido tanto tiempo y esfuerzo. No podría molestarme en dar un paso atrás y mirar la imagen más grande. Lo que aprendí de Steve más tarde, mucho más tarde, después de que me había calmado, era luchar en las batallas correctas . Seguir luchando en una batalla después de que la guerra ya se haya perdido es un ejercicio inútil.

Fui demasiado terco para entender la lección en ese momento, pero la he internalizado y la he usado muchas veces desde entonces, principalmente en escenarios que no tienen nada que ver con la arquitectura de la computadora.

"Nunca somos más (y, a veces, menos) que los coautores de nuestras propias narrativas". Alasdair MacIntyre, After Virtue: A Study of Moral Theory.

Más adelante en mi carrera, pasé una docena de años trabajando en Microsoft en varias versiones de Windows. Ahora que miras atrás, puedes ver que Windows perdió la guerra del teléfono móvil contra Apple, la guerra del servidor contra Linux y la guerra de la nube contra Amazon. En aquel entonces, estábamos muy ocupados sacando versiones de Windows para darnos cuenta de eso. Es tan difícil poner en palabras la cantidad de inercia organizacional que entra en un equipo de ingeniería responsable de que una plataforma exitosa sea utilizada por miles de millones de personas. Casi nunca ven la interrupción que viene hacia ellos. O si los líderes lo hacen, las bases no. La mayoría de ellos están demasiado ocupados empujando la roca actual en la montaña, la definición clásica de "dilema del innovador".

Esto no es una queja sobre el liderazgo de Windows o de Microsoft. Al final, fui uno de esos "líderes", finalmente responsable de todo el desarrollo central en Windows 7, posiblemente la versión más popular de Windows. Estoy orgulloso de lo que hemos logrado como equipo.

Lo que aprendí de Microsoft fue lo difícil que es construir una plataforma exitosa que sea utilizada por miles de millones de personas, millones de aplicaciones y miles de empresas. Mientras más abierto lo hagas, cuanto más programable lo hagas, cuantas más personas construyan soluciones alrededor y encima de él, más difícil será innovar en esa plataforma más adelante.

Lo que realmente sucedió con Vista: la retrospectiva de un iniciado
"La experiencia es algo que no obtienes hasta justo después de que la necesites". – Steven Wright. blog.usejournal.com

Lo que aprendí de Bill Gates durante esos años fue una asombrosa atención al detalle. El hombre podría sentarse a través de catorce horas de reuniones sin parar donde un equipo tras otro se abriría paso, cubriendo temas tan divergentes como sistemas operativos, aplicaciones de productividad, Internet, relojes, videojuegos, investigación, correo electrónico, bases de datos, navegadores. eso. Podía profundizar en los detalles con los mejores. Impresionante capacidad mental.

Una de mis frases favoritas es del autor Sam Harris: "El aburrimiento es simplemente falta de atención". Pero prefiero convertir la frase en una declaración positiva que mejor resume la lección que aprendí de Bill: si prestas suficiente atención, todo es interesante.

Lo que aprendí de Bill más tarde, a distancia, fue que también era un ser humano decente. Él podría tomar ese cerebro y aplicarlo para resolver problemas mucho más difíciles: educación, pobreza, enfermedad.

Puedo sentarme aquí y escribir sobre lo que aprendí de cada una de las otras personas inteligentes con las que he trabajado a lo largo de los años. Eso tomaría mucho más tiempo que usted o yo y tomaría más páginas de las que a ninguno de nosotros le importaría leer o escribir. Más importante aún, no significará mucho a menos que lo experimentes por ti mismo. La mayoría de las lecciones se pierden en nosotros hasta que sea demasiado tarde para que tengan un impacto. Lo que puedo decirte como un consejo profesional es solo trabajar en cosas que te apasionan.

"¿Debería quedarme o debería ir ahora?" Y otros consejos de orientación profesional
"Tu tiempo es limitado, así que no lo desperdicies viviendo la vida de otra persona". No te dejes atrapar por el dogma, que es vivir con … medium.com

Mientras estés aprendiendo, sigue así. Hay mucho que aprender y esta industria se mueve tan rápido que te retrasarás si dejas de aprender, incluso por un instante.

Mientras te muevas en la dirección correcta, solía decirle a la gente, todo está bien. No intente planear su viaje completo de Nueva York a Los Ángeles antes de comenzar. (Si hubiera hecho eso, habría vivido una vida completamente diferente, nunca antes me había apuntado para esa primera clase de informática).

En su lugar, en su camino a Los Ángeles, solo asegúrese de conducir en dirección oeste, luego continúe. Y sigue aprendiendo por el camino, corrigiendo el curso según sea necesario. Eventualmente terminarás en el lugar correcto; y te divertirás mucho en el camino. Sé que lo hice.