He trabajado tanto en Apple como en Google.
Por lo que pude ver, realmente depende de qué tipo de proyectos estés trabajando. La dicotomía predominante son las herramientas internas versus los proyectos de código abierto y de producción.
La base de código de herramientas internas de Apple puede ser bastante desordenada. A menudo estaban sobredimensionados e indocumentados (la peor combinación, en mi opinión). Por otra parte, para menos herramientas “periféricas”, como el sistema de compilación, la calidad del código es excelente. Holísticamente, creo que pasan tiempo en los lugares correctos.
- ¿Qué tan importante es la matemática para una IA?
- ¿Cómo aprendo matemáticas del nivel cero? Soy un graduado en informática y bastante decente en mi función de programación. Extraño el contexto del uso de las matemáticas en la vida; No puedo visualizarlo.
- ¿Qué métodos podrían haber utilizado las agencias de inteligencia para determinar que Rusia fue la fuente de los ataques de DNC?
- ¿Cómo dibuja una línea en la pantalla un programa de gráficos por computadora? Del código de alto nivel al nivel de la tarjeta gráfica, ¿qué sucede?
- ¿Es posible detectar si un servidor está realmente inactivo, o si simplemente responde lentamente en un sistema distribuido?
Google, por otro lado, tiene una excelente calidad de código en todos los proyectos. Del estilo a la documentación. Creo que esto se debe a que tiene tantos proyectos de código abierto (¡Apple también tiene muchos! Pero mucho menos que Google). “Otras” personas tienen que leer y usar este código, por lo que es un orgullo de ingeniería. Tu nombre está en él, mejor que sea bueno.
El código de producción en estas empresas es excelente. Realmente no puedo iluminar ninguna distinción importante. El proceso de revisión es riguroso y se requiere mucha infraestructura.
Espero que ayude.