WhatsApp (ahora propiedad de Facebook) es un ejemplo de una aplicación que, a todos los efectos prácticos, está libre de errores, tanto en Android como en iOS.
Más allá de estar libre de errores, el enfoque de WhatsApp para diseñar su producto es radicalmente diferente de Facebook y Google, y de eso habla esta respuesta. WhatsApp tenía un equipo de 62 personas cuando llegaron a mil millones de usuarios. La efectividad del equipo de ingeniería de WhatsApp es de lo que están hechas las leyendas de Silicon Valley.
Un ejemplo de la efectividad del equipo de ingeniería de WhatsApp: antes de que Facebook adquiriera WhatsApp, el equipo de ingeniería de Facebook intentó durante meses reducir la latencia de Facebook Messenger (es decir, tiempo para entregar mensajes) a los niveles de WhatsApp o mejor, y finalmente se rindió, porque no pudieron vencer o mejorar a WhatsApp niveles de latencia Después de eso, Facebook disolvió ese equipo y se rumorea que las cabezas rodaron debido a su incapacidad para igualar o mejorar WhatsApp. Hay respuestas anónimas en Quora de personas de los equipos de ingeniería de WhatsApp y Facebook que comparten sus experiencias y puntos de vista (incluidos algunos que he vinculado a continuación).
- ¿Qué aplicación se puede usar para descargar videos en iPad o iPhone?
- Además de los trucos, ¿hay alguna característica realmente útil en el iPhone X?
- ¿Qué es una aplicación de iOS para videos divertidos que se pueden descargar y ver, incluso sin conexión?
- Estoy buscando contratar desarrolladores de iPhone inteligentes. ¿Cuáles son las mejores empresas de desarrollo de iPhone en la India?
- ¿Tengo razón al decir que el iPhone 5 es el mejor iPhone diseñado ergonómicamente?
Algunos antecedentes: escribo esta respuesta y comparto referencias, de años de experiencia personal usando, estudiando y entendiendo WhatsApp desde años antes de su lanzamiento en Android, cuando solo existía en el sistema operativo Symbian de Nokia, que en ese momento era el sistema operativo móvil más popular del mundo plataforma.
La primera vez que utilicé WhatsApp en mi Nokia E61 en el sistema operativo Symbian fue cuando se lanzó en 2009, cuando estaba prácticamente libre de errores: todavía había fallas menores no en las características sino en aspectos subyacentes no funcionales como la administración de memoria, donde uno se preguntaría si a veces WhatsApp consume mucha memoria y reinicia el teléfono.
Posteriormente, he estado usando WhatsApp en Android desde 2012 (en mi Galaxy Note-1); y en iOS desde 2015, y hasta ahora no he encontrado ni un error significativo o notable.
¿Qué hace que WhatsApp esté libre de errores y sea tan increíble con un equipo tan pequeño?
WhatsApp para iOS
WhatsApp para Android
Creo que la falta de errores de WhatsApp es el resultado de:
(a) una cultura de ingeniería dedicada a la perfección del producto
(b) así como una base de usuarios instalada tan grande que los errores se eliminan muy pronto después de ser detectados, mucho antes de que el error sea visible para usuarios como yo.
Esto último también ocurre porque con productos como WhatsApp, por lo general, la aplicación se implementa como una implementación por etapas, que no impulsa la actualización a todos los usuarios a la vez, sino primero a una pequeña fracción de usuarios posiblemente elegida al azar y luego a más usuarios. finalmente, la actualización se envía a todos los usuarios en todo el mundo al solicitarles que actualicen el producto antes de una fecha límite específica o que experimenten un producto bloqueado que no funciona hasta que una persona se actualice.
Aquí hay un poco más sobre la cultura de ingeniería de WhatsApp y
(1) Cómo el enfoque de WhatApp para el producto es diferente de Google y Facebook.
Cuando WhatsApp fue adquirida por Facebook por $ 19 mil millones, la popular aplicación de mensajería tenía unos 35 ingenieros y 450 millones de usuarios.
Dos años después, WhatsApp cuenta con más de 900 millones de usuarios, con 42 mil millones de mensajes enviados cada día, lo que equivale a aproximadamente un millón de mensajes cada dos segundos.
Pero a diferencia de los titanes tecnológicos como Google, Amazon o incluso el propio Facebook, WhatsApp todavía se comporta como una pequeña y pequeña startup.
A pesar de su éxito masivo y la financiación de Facebook, WhatsApp ahora tiene 57 ingenieros, en total. Ese pequeño tamaño ayuda a la organización a mantenerse ágil, pero también requiere que todo el equipo esté en la misma página, explicó el ingeniero de software de WhatsApp, Rick Reed, en la conferencia F8 de hoy.
“La cultura realmente tiene mucho que ver con nuestra capacidad de escalar”, dice Reed.
Por encima de todo, dice Reed, WhatsApp se basa en el “enfoque”, que en broma llama “la otra palabra f”. Deja que Messenger, Google Hangouts y similares creen aplicaciones complejas, dice, pero WhatsApp se enfoca en hacer la aplicación de chat más simple y confiable.
“Nuestra misión es proporcionar una herramienta de comunicación simple, rápida y confiable sin muchas campanas y silbatos adicionales”, dice Reed.
Reed lo llama “solo ingeniería suficiente”, como en el caso de que la compañía realiza el esfuerzo y los recursos suficientes para mantenerse fiel a ese enfoque, y es una filosofía que guía a toda la compañía.
‘Cultura sin reunión’
Reed elogia la “cultura de no reunión” interna de WhatsApp, que se esfuerza (pero no siempre logra, admite) eliminar las reuniones por completo. En cambio, los empleados de WhatsApp preferirían usar “varios programas de chat” para hablar entre ellos constantemente, dentro de pequeños grupos de proyectos.
“Realmente nos permite mantenernos enfocados en lo que estamos haciendo y realmente contribuye a una oficina muy tranquila”, dice Reed.
De hecho, cuando solo tienes 57 ingenieros, significa que no puedes simplemente arrojar cuerpos a un problema como podría ser la nave nodriza de Facebook, explica Reed. Requiere una planificación cuidadosa y la asignación de recursos y tiempo de ingeniería, dice, pero el resultado final es un equipo que se adapta a la tarea en cuestión.
“Trabajamos muy duro para lograr que las personas adecuadas lleguen a los puestos correctos”, dice Reed.
‘No estoy aquí ahora’
Otra compensación viene bajo el capó. Empresas como Google han visto crecer su infraestructura informática a lo largo de los años para acomodar nuevas funciones y cantidades masivas de datos, hasta el punto en que tuvieron que invertir millones en la automatización de grandes porciones de ella, solo para mantener el ritmo.
Mientras tanto, WhatsApp prefiere mantener su infraestructura lo más pequeña posible. Con tan pocos ingenieros disponibles, una huella más pequeña simplemente significa menos cosas que pueden salir mal. Tal vez requiera más intervención humana, pero también significa mayor confiabilidad y una respuesta más rápida para agregar o corregir su código.
“No invertimos mucho en automatización, excepto en aquellos lugares donde es totalmente necesario”, dice Reed. “Realmente nos gusta tener al humano al tanto”.
Otra clave importante para mantenerse enfocado, dice Reed, es no gastar mucho tiempo en marketing, prensa o hablar en conferencias de desarrolladores. WhatsApp “evitó la mayor atención posible” antes y desde la adquisición de Facebook, señaló.
(2) Aquí hay otra pieza, desde hace casi 5 años, sobre cómo el equipo de WhatsApp logró escalar su arquitectura a millones de conexiones simultáneas:
(3) Una respuesta de Quora sobre las fortalezas del equipo de ingeniería de WhatsApp.
¿Qué tan fuerte es el equipo de ingeniería en WhatsApp?
(4) La arquitectura de WhatsApp que Facebook compró por $ 19 mil millones – Alta escalabilidad –
(5) Facebook para desarrolladores: una mirada a WhatsApp: Ingeniería para el éxito a escala
Referencias
(1) WhatsApp de Facebook hace algo muy diferente a Google