2 puntos por GN⁺ 2025-05-12 | 1 comentarios | Compartir por WhatsApp
  • Renuncié tras trabajar 19 años en Google
  • Contribuí de forma central durante mucho tiempo al desarrollo del lenguaje de programación Go
  • Go llegó a usarse ampliamente y se consolidó como un lenguaje de programación principal
  • En el proyecto asumí distintos roles, como compilador, sistema de compilación e incorporación de genéricos
  • Debido a cambios en el entorno y en el proyecto, tomé la decisión de buscar un nuevo camino

El proceso de salir de Google

  • Dejé la empresa después de trabajar 19 años en Google
  • Durante la mayor parte de ese tiempo tuve la fortuna de participar en el desarrollo del lenguaje de programación Go
  • Go fue iniciado por Rob Pike, Ken Thompson y Robert Griesemer en el otoño de 2007
  • Me uní al equipo en junio de 2008 y participé en una época similar a la de Russ Cox
  • Me siento muy afortunado de haber podido trabajar con personas brillantes y en proyectos interesantes

El crecimiento de Go y resultados por encima de lo esperado

  • En los últimos años, Go logró una adopción masiva
  • Hoy se ha establecido como un “lenguaje de programación general” que cualquier programador puede elegir según sus necesidades
  • Al principio pensaba que ya sería un logro si Go solo aportaba ideas útiles para otros lenguajes y entornos
  • Que haya crecido hasta convertirse en un lenguaje de uso general es un resultado que el equipo inicial jamás había anticipado

Principales roles y contribuciones dentro del proyecto Go

  • Comencé en el proyecto Go añadiendo un frontend de Go al compilador GCC
  • En ese momento, Go ya contaba con su propio compilador basado en el compilador Inferno C
  • Tener dos compiladores distintos ayudó a asegurar la claridad de la definición del lenguaje
  • También trabajé en el sistema interno de compilación, en añadir soporte de Go a la herramienta SWIG y en funciones de gestión del equipo
  • Junto con Robert Griesemer, desarrollé propuestas de cambios al lenguaje y contribuí a la incorporación de genéricos en Go 1.18 (2022)

Forma de resolver problemas y sus límites

  • Contribuí detectando y resolviendo con rapidez problemas claros del presente y del futuro cercano
  • Sin embargo, fui más lento para abordar ideas innovadoras ligadas a problemas que la gente aún no había intentado ni experimentado directamente, como el proxy de módulos de Go o la base de datos de vulnerabilidades de Go
  • Considero que, en general, mi manera de trabajar fue beneficiosa para el éxito del proyecto

Cambios y la decisión de partir

  • Google, Go y todo el entorno de la programación informática han cambiado mucho
  • Durante el último año sentí que ya no era la persona adecuada para el proyecto Go dentro de Google
  • Reconocí la necesidad de avanzar hacia una nueva etapa

Planes a futuro y pensamientos sobre Go

  • Sigo manteniendo interés y cariño por Go
  • Ningún lenguaje de programación permanece terminado para siempre, y necesita evolucionar según cambie su entorno
  • Los lenguajes con bibliotecas estándar tan amplias como Go son especialmente sensibles a esos cambios
  • Por ahora voy a tomarme un descanso, pero espero volver a contribuir a Go en el futuro

1 comentarios

 
GN⁺ 2025-05-12
Comentarios de Hacker News
  • Cuando trabajaba en Google, Ian Lance Taylor fue uno de los revisores de código asignados al azar. Siempre fue cortés, firme y muy informativo. Me dejó una muy buena impresión sobre Taylor y sobre el proyecto; se sentía parecido a cuando YC aconseja a los fundadores que den soporte al cliente directamente. Si soy totalmente honesto, ver sus iniciales aparecer en mi revisión de código era emocionante. Gracias por todo el trabajo puesto en golang
    • Es muy bonito escuchar este tipo de elogio. Se siente refrescante que alguien recuerde a otra persona como “alguien cortés”. Yo también aprendí una lección realmente importante en la vida: vale mucho más ser visto como una persona cortés, amable y buena que tener fama de ser brillante o un ingeniero 10x
    • Como un contribuidor externo “sin mucha importancia” a Go (trabajé en unas seis propuestas y PR), puedo decir lo mismo incluso de los casos que al final no prosperaron o fueron rechazados. Fue cortés, firme, informativo y además curioso. Mi experiencia contribuyendo a este proyecto fue excelente, e Ian fue una parte importante de eso. Lograr ese tipo de experiencia en un proyecto tan grande como Go es impresionante
    • A mí también me gustó mucho el proceso de Readability de Go. Gracias a ese proceso me volví mucho mejor programador. Antes también había obtenido la aprobación de legibilidad de código de Python en Google, y ese enfoque de “hazte cargo de este cambio grande (CL) y, si mejora al final del proceso, se aprueba” no fue tan útil como el de Go. Me ayudó mucho que Go definiera y aplicara sus propias reglas (aunque claro, cuando te llamaban de madrugada, uno solo quería hacer check-in rápido de ese código y dormirse)
    • Mi experiencia fue parecida, pero en mi último cambio de legibilidad de código de c++ la persona fue Titus Winters. Incluso le di mi opinión sobre uno de sus comentarios. Fue una sensación genial que alguien tan talentoso reconociera mi trabajo
  • No se puede exagerar el servicio que Ian ha dado a la comunidad de Go y a la comunidad de programación en general. No solo creó gccgo, sino también el linker gold, escribió mucho sobre toolchains de compiladores y mantiene una parte enorme del codebase de gcc. Y seguro hay muchas más contribuciones que yo ni conozco. Tuve la oportunidad de intercambiar correos con Ian varias veces, y siempre me inspiró muchísimo. Incluso estando ocupado en Google, siempre me daba comentarios perspicaces sobre mis correos o parches. Tengo sentimientos encontrados sobre el lenguaje Go en sí, pero estoy convencido de que la salida de Ian también afectará negativamente al lenguaje. El equipo original de Go tenía una vibra de la época de Bell Labs: unas cuantas personas que entendían la computadora a fondo hicieron ensamblador, linker, dos compiladores, la especificación del lenguaje, generadores de documentación, el sistema de build y una biblioteca estándar enorme. Ahora, con la creciente importancia de Google, se siente más plano y más corporativo. Sentí ese cambio cultural en el mensaje de despedida de Ian, y me da curiosidad qué detonó eso. Ojalá descanse bien, y pienso seguir de cerca cualquier proyecto que haga después
    • Creo que es muy importante que los toolchains de compilación de go funcionen bien por razones de redundancia y validación funcional. Pero me da curiosidad si en la práctica hay personas u organizaciones que realmente usen gcc-go para algún fin específico
  • “Gooogle cambió, Go cambió y el entorno completo de la programación también cambió. En el último año se volvió claro que ya no encajo en el proyecto Go dentro de Google. Debo irme”. Esa parte me sorprendió un poco. Podría haber omitido eso o decir otra cosa, pero si decidió escribirlo así, creo que de verdad hay una razón detrás
    • En los últimos años he visto a muchos ingenieros senior irse de Google. La presión de los gerentes ha aumentado muchísimo y la confianza ha disminuido muchísimo. Los ingenieros L7 o superiores están en una situación donde, para tener “suficiente impacto”, tienen que moverse a proyectos de IA. Con más presión también aumentan las peleas internas, y ya no basta con que confíen en ti: tu nombre tiene que aparecer sí o sí al principio del documento correspondiente. Antes de 2023, cuando un ingeniero L7/L8 dejaba la empresa normalmente era por nuevas oportunidades o por retiro; ahora la mayoría se va agotada por el ambiente laboral. Es un desastre
    • Si me preguntan... la base real ya la construyeron ingenieros apasionados. Ahora Big Tech es solo un lugar para ir a ganar dinero, sin interés por una visión a largo plazo. No hay pasión ni imaginación; la gente entra memorizando cosas para entrevistas, luego cae en PIP o la despiden y va rebotando entre otras grandes empresas. Está lleno de personas así. Puede haber mejores oportunidades en startups como el Google de antes
    • En el momento en que pusieron al frente de Google a alguien tan poco destacado como Sundar Pichai, quedó claro que querían convertir a Google en una empresa enfocada solo en generar ingresos y borrar su cultura original
    • Cada vez que veo una publicación de “me voy después de 20 años en FAANG”, siento que en realidad la empresa creció decenas de veces durante ese tiempo, esa persona se hizo riquísima, y ahora simplemente tiene tanto dinero que si no quiere ir a trabajar, no va y ya
    • Se perdió el respeto por la ingeniería y por los investigadores con doctorado, y el CEO está obsesionado únicamente con utilidades, ingresos y comercialización. Como ya se mencionó, el problema ha sido la falta de visión de Sundar Pichai y su nulo interés en preservar la cultura original de Google
    • Al releerlo, me pregunto si la o extra en “Gooogle” no será menos un error y más una referencia intencional a la paginación de los antiguos resultados de búsqueda de Google, donde se iban agregando más oes
    • Me sorprende que eso te sorprenda. Entre ex-Googlers ya es muy conocido que Google cambió por completo en la época de Emerald Sea. Incluso en una organización tan grande todavía quedan buenos equipos por aquí y por allá, pero ya lleva más de 10 años en un camino de estancamiento y decadencia
    • Creo que la dirección ya empezó a meter presión de verdad. Ahora predominan los gerentes no técnicos
    • Esta historia se viene repitiendo desde hace 10 años. Después de la contratación masiva de finales de la década de 2010 y del boom de contrataciones de inicios de 2020, que diluyó a los talentos realmente excepcionales, Google ha seguido en descenso. Esta caída grave en el nivel promedio de ingeniería lleva a menor compensación, menos beneficios y, sobre todo, menos autonomía. La burocracia y las luchas políticas están por todas partes. Cuando yo me fui hace 10 años, ya era impensable siquiera creer que con tiempo de proyecto del 20% podías crear algo como Gmail. La política del 20% casi desapareció, y PM terribles mataron proyectos nuevos por pelear su territorio. Ahora Google está lleno de talento de nivel B, C y D, ya no tiene arreglo y va por el mismo camino que Intel, Cisco o IBM. Unos pocos talentos destacados se van desgastando entre empleados promedio
    • Ian salió de Yale y probablemente ya sea multimillonario; seguramente no siente ninguna compasión especial por la mayoría de la gente común. Simplemente alcanzó su meta de FatFIRE y se fue
  • Cuando trabajaba en Google en 2016, todo mi equipo usaba golang. En mi primer proyecto recibí varias veces la aprobación de legibilidad de código por parte de Ian. Un día, junto con la aprobación, me pidió algunos ajustes, pero yo no los vi y apliqué el cambio igual. Ian volvió a escribirme para avisarme que hiciera esas correcciones. Solo después supe que él era uno de los desarrolladores centrales de Golang. Fue amable conmigo aunque ni siquiera tenía obligación de serlo, y por eso se me quedó muy grabado. Me parece admirable que dedicara tanto tiempo a ver directamente cómo se usaba en la práctica y a detectar problemas centrales
  • Como desarrollador de Go, quiero expresar mi profundo agradecimiento por tu enorme contribución a este lenguaje y a su comunidad. Gracias a tu trabajo, Go se convirtió en el lenguaje productivo y agradable que es hoy, e inspiró a muchísimos ingenieros, incluido yo, a crear mejor software. Gracias por tu dedicación y por abrir nuevos caminos para la siguiente generación de desarrolladores de Go. Te deseo lo mejor en lo que venga
  • “Gooogle cambió, Go cambió y todo el entorno de la programación informática cambió. En el último año quedó claro que ya no encajo en el proyecto Go de Google. Debo irme”. Ojalá hubiera más explicación en esa parte. Parece que sí hubo un cambio real, e Ian lo notó
    • Seguro le pidieron que lo hiciera más orientado a IA. Algo como “agrega Gemini a los errores del compilador de Go o vete”
    • No sé si haga falta más explicación. Ya es un hecho bien conocido públicamente. Problemas antimonopolio, liderazgo enfocado solo en ganancias de corto plazo, una empresa que durante mucho tiempo fue líder técnica y ahora se volvió una corporación mediocre al estilo Microsoft/IBM, que ya no marca tendencias sino que solo sigue modas (incluida la IA), que también abandonó el principio de “Do no evil” al colaborar con gobiernos polémicos, y que alguien se vaya cuando vencen sus stock options por cansancio ante tanta mentira y cinismo, ya no sorprende
  • La pregunta clave aquí es si hoy en día existe una empresa parecida al Google de 2005. Me intriga si de verdad OpenAI cumple ese papel, o si simplemente ya no existe nada así. También me pregunto cuánto tiempo duró realmente aquella época que tantos ingenieros recuerdan como una edad dorada
    • Yo creo que el Google de 2005 ya nunca puede volver a existir. La tecnología base se estaba volviendo muchísimo más poderosa a gran velocidad, y las empresas que invirtieron creativamente en ese momento se hicieron absurdamente ricas. Entré a Google en 2022 y me fui poco después, pero incluso para alguien nuevo era evidente no solo que la era dorada ya había terminado, sino que incluso la era posterior ya se estaba acabando. El ambiente no era “hagamos un producto mejor”, sino más bien “no causes problemas y mejora 1-2% nada más”
    • Una empresa como Google ya no existe en esta era. Ni siquiera hay un equipo comparable, como lo fue Bell Labs en su tiempo
    • No existe. Hay oportunidad de crearla otra vez. El problema de las empresas de esta generación no es la capacidad técnica, sino la cultura
    • Desde la perspectiva de un observador, la edad dorada terminó más o menos en 2013~2014. El capitalismo impregnó demasiado la cultura de las tecnológicas como para que vuelva a surgir ese espíritu de innovación y experimentación. Ahora solo se trata de aceitar la maquinaria existente
    • Una empresa así todavía no existe / todavía no la podemos ver. Estás intentando predecir una industria que crecerá más de 1 billón de dólares, y una empresa que provea una herramienta esencial como la búsqueda (Searh)
    • Sigue siendo Google
  • Lo interesante es que en el blog casi no hay publicaciones. La que de verdad me gustaría leer es una continuación de “The 2016 Election”
  • Ver a personas clave irse de los proyectos de chrome y golang deja claro que la dirección lo está haciendo mal
    • Puede haber otros indicadores, pero que esta persona se vaya después de 19 años en la empresa tampoco se puede ignorar
    • Están apostando todo a la IA. La dirección también sabe que esto es una pelea por la supervivencia
  • No quiero inventar teorías conspirativas, pero me pregunto si esto tendrá relación con que Ian Hickson haya dejado Google/el equipo de Flutter. Hickson fue específico en sus críticas. Dijo que el problema de fondo era el liderazgo sin visión de Sundar Pichai, su falta de interés en preservar la cultura original de Google y la proliferación de mandos medios incompetentes. Por ejemplo, Jeanine Banks decía tener una estrategia, pero incluso después de oír explicaciones durante años, nunca pude entender ni una sola vez qué significaba realmente. Reemplazaba ingenieros como si fueran piezas, sin relación alguna con la experiencia del equipo, y no aceptaba ningún tipo de retroalimentación. He oído que otras organizaciones aprendieron a lidiar políticamente con Banks para evitar daños. Para quienes conocimos el mejor Google, esta nueva realidad se sentía devastadora
    • Tratan a los ingenieros de manera deshumanizada, solo como recursos, y los asignan a lugares que no corresponden con sus capacidades sin tomar en cuenta la voluntad del equipo. Y no es solo ella. Otro ejecutivo despidió a todo el equipo central de Python y lo reemplazó por un equipo de TypeScript con salarios más bajos, y luego incluso volvió a llenar ese equipo con nuevas contrataciones en ubicaciones todavía más baratas
    • Que su organización diga que tiene una “estrategia”, pero que por más explicaciones que escuches siga siendo imposible entender qué significa, coincide totalmente con mi experiencia. La comunicación en Google desde la alta gerencia intermedia hasta VP, y a veces SVP, es abrumadoramente incomprensible: parece decirlo todo y al mismo tiempo no decir nada. Hablan de grandes cambios, pero a la vez recalcan que nada cambia. En mi opinión, no es lenguaje para dar dirección, visión u objetivos, sino lenguaje de empaque para impresionar a otros gerentes. Se usa para luego atribuirse el mérito en las evaluaciones. En Google hasta había un chiste: “si no puedes responder en menos de 5 segundos a qué equipo perteneces, eres Googler”. Los ingenieros son extremadamente buenos (por eso también hay mucho síndrome del impostor falso), pero en la práctica da la impresión de que todos avanzan en direcciones distintas sin una orientación clara. No sé cómo se debe gestionar una gran empresa, pero al menos empezar explicando las cosas en lenguaje sencillo sería un buen inicio. Incluso quienes se dedican a interpretar este lenguaje corporativo parecen incapaces de construir una realidad compartida
    • La gente entra a una empresa, pero renuncia por culpa de gerentes injustos (o malos)
    • Gracias por compartir esta experiencia. Uno de mis mayores temores en esta industria es no volver a ver jamás una empresa como el Google inicial. En el momento en que Pichai pasó a ser la cara de la empresa, prácticamente ya debieron haberle cambiado el nombre. Ahora, la mayoría de la gente que “trabajó en Google” en realidad trabajó bajo una organización completamente distinta
    • Exacto, es la política de asignación que trata a las personas solo como “recursos”
    • Mi experiencia no fue en Google, sino en una empresa estadounidense de tamaño parecido. Lo de la estrategia aplica de forma demasiado exacta. La crítica a la gerencia intermedia ineficiente también es la misma. Existe un término formal dentro de la empresa para la política interna que produce este tipo de situación, pero si lo escribo aquí seguro me van a atacar. Es una estructura donde no se tiene estrategia, no se miden los resultados de los proyectos y se elimina la idea misma de rol y responsabilidad para reemplazarla por un sistema donde “todos deben meterse donde haga falta según la necesidad”