Los Errores que Cometí como Nuevo CTO
Lecciones aprendidas al unirme a GOJEK en 2014 como CTO y los errores críticos que costaron tiempo valioso en un entorno de startup de rápido crecimiento.
Sheran Gunasekera
Autor

Las cosas generalmente comienzan por una razón, que fue cómo inicié Madison Technologies. Con demasiada frecuencia, olvidamos que hay razones por las que hacemos las cosas. Disfruto aprendiendo a través del fracaso. Para fallar, tienes que ser un idealista para elegir el camino que quieres seguir. Elegí este camino debido a las lecciones que aprendí como CTO fundador de GOJEK (ahora llamado GoTo y cotizado públicamente en la Bolsa de Valores de Indonesia.)
EL VIAJE CON GOJEK EN 2014
Me uní a GOJEK en diciembre de 2014. Era el nuevo CTO y llegué justo antes del lanzamiento de la aplicación móvil. Éramos un equipo alegre de 3 ingenieros principales, y yo era la nueva incorporación. El trabajo duro para construir la aplicación ya estaba hecho, y estaba listo para tomar el timón cuando lanzamos. Mirando hacia atrás, había emoción, pero entonces estaba en apuros. Se sentía como si hubiera tanto que hacer y no había tiempo ni mano de obra para hacerlo. A pesar de todo, me puse a trabajar y dividí mi tiempo lo mejor que pude para finalmente lanzar.
Uno de nuestros primeros eventos de lanzamiento involucró reunir un pequeño grupo de periodistas en un restaurante en SCBD, Yakarta. Nadiem, nuestro CEO, dio una presentación, después de lo cual invitamos a los periodistas a descargar la aplicación y experimentar la reserva de Gojeks de primera mano. Sin embargo, durante ese tiempo, encontramos un error problemático: el servicio que mostraba el mapa con todos los conductores se bloqueaba, causando que todos los conductores desaparecieran del mapa. Esto también significaba que nadie podía reservar un viaje, y tendríamos que reiniciar el servicio.
Y luego, 5 minutos antes de que Nadiem terminara su presentación, eché un vistazo a mi teléfono y vi que el mapa de conductores estaba en blanco. Corrí a mi laptop tan rápido como mis piernas temblorosas pudieron llevarme, rezando para que la conexión 3G de mi teléfono me permitiera al menos hacer SSH al servidor para reiniciar el servicio. La suerte estuvo de mi lado ese día, y logré reiniciar el servicio justo a tiempo y me senté allí hiperventilando mientras los periodistas se emocionaban de que pudieran reservar su conductor. Aquí hay una foto de nosotros al final del evento de lanzamiento.
De izquierda a derecha: Sam, Kevin, yo, Nadiem, Mikey y Rio

LA TECNOLOGÍA ES MÁS QUE EL PRODUCTO PRINCIPAL
Hubo muchas historias como la anterior. La aplicación era nuestro enfoque principal, y en ese entonces, teníamos muchos incendios que apagar. A medida que nuestros usuarios crecían, encontramos errores y bugs que no habíamos visto antes.
Durante esta fase, asumí un papel táctico, trabajando directamente con el código e intentando depurar problemas que surgían. Una vez estaba haciendo un perfil de memoria del mismo servicio de conductores porque parecía que el recolector de basura estaba haciendo que todo el servicio (ya al 98% de uso de CPU) se colgara. Tomó tanto tiempo que decidí rendirme y reescribí la API de Java a Go, la cambié detrás de nuestro balanceador de carga y observé con asombro cómo el uso de CPU bajó al 3% para ese servidor. Se sintió genial, pero no era lo que se suponía que debía hacer.
Necesitaba más personas, y las necesitaba rápido. Debería haber prestado más atención a tantas otras áreas de la empresa que necesitaban ayuda. Por ejemplo, nuestro panel operativo, donde rastreábamos la incorporación y gestión de conductores, necesitaba urgentemente una renovación. ¿Crees que usamos Post-Its para rastrear algunos de nuestros campos de base de datos? En serio:
Y luego estaban nuestros análisis para rastrear cómo iba nuestro gasto publicitario. Usamos muchos SDKs, pero aquí hay un vistazo a un intercambio que tuve con el equipo de AppsFlyer en ese entonces:
Tantas otras áreas que necesitaban mi atención no la estaban recibiendo. Estaba atrapado en esta sequía de contratación y en una mentalidad que no me haría gastar nuestro dinero ya escaso.


QUÉ HUBIERA HECHO DIFERENTEMENTE
En primer lugar, habría pasado mucho más tiempo desarrollando una red de individuos inteligentes del espacio tecnológico. Individuos con los que podría intercambiar ideas o pedir ayuda cuando fuera necesario. Imaginé que tenía que proteger de cerca toda mi IP secreta y no hablar con nadie. Peor aún, soy introvertido, y las conversaciones no vienen naturalmente. Y como resultado, podría ser mejor manteniendo el contacto y cultivando relaciones. Si hubiera trabajado en eso a través de mi red, habría sido significativamente más fácil obtener ayuda o recomendaciones sobre contrataciones.
A continuación, habría paralelizado más. Estaba en una racha de contratación, pero llega un momento en que la contratación llega a un punto donde tienes un montón de entrevistas y candidatos potenciales, pero el progreso se estanca. Era bastante cauteloso y reacio a invertir en un equipo externalizado para trabajar en proyectos simultáneamente. Mi enfoque estaba únicamente en llenar las posiciones internas, lo que, mirando hacia atrás, resultó ser un error. Si hubiera cambiado mi mentalidad, habría dotado temporalmente mis equipos de operaciones y marketing con un equipo de ingeniería externalizado y habría permitido que esos flujos de trabajo se movieran en paralelo mientras trabajaba en problemas más desafiantes.
¿CUÁL FUE EL IMPACTO DE ESTOS ERRORES?
Mirando hacia atrás, el impacto más significativo de mis errores fue una pérdida de tiempo. Esto no es algo que puedas recuperar nunca; para una startup, el tiempo es a menudo un recurso escaso cuando intentas competir con otros en el espacio. Podríamos haber avanzado más rápido si hubiera ejecutado los flujos de trabajo para operaciones, marketing y RRHH en paralelo contratando un equipo externalizado. También habríamos tenido más datos para alimentar nuestro desarrollo de aplicaciones. Por último, podríamos haber sido aún más atractivos para los VC al recuperar ese tiempo y habríamos recaudado dinero antes. Aunque he sido parte de algunas rondas de financiación, ninguna va tan suavemente o tan rápido como esperas.
1. Identifique dónde necesita Tecnología
Aunque pueda sonar simple, es una de las lecciones más importantes que aprendí. La tecnología no es solo su producto principal. La aplicación de la tecnología se extiende más allá de la ingeniería y hacia varios otros departamentos como Operaciones, Marketing, RRHH y Finanzas. Los CTO más nuevos a veces pueden pasar por alto esta realidad y no proporcionar el apoyo necesario a estas funciones tan prontamente como se requiere. Seguro que lo hice, y en retrospectiva, mi paso inicial sería ampliar mi enfoque más allá del producto.
2. Renuncie al Control
Otro movimiento novato de mi parte fue tomar la propiedad exclusiva de todas las cosas tecnológicas. Al intentar entregar la tecnología a los otros equipos yo mismo, ralenticé a todos, incluyéndome a mí mismo. Si hubiera colocado un equipo temporal o externalizado con un buen líder técnico en esas funciones, podría haber capacitado a los propietarios de las funciones para tomar el control y desarrollar soluciones según sus requisitos. Su dependencia de mí se habría limitado a asuntos significativos como la arquitectura y la cohesión general. Me di cuenta de que al intentar controlar todo, estaba usando una mentalidad de 2x y no una de 10x. Así que renuncie al control, dé a sus co-líderes los recursos y quítese del camino.
Esto nos lleva de vuelta a por qué inicié Madison Technologies. Estamos aquí para ayudarte a mover las cosas más rápido. Estamos aquí para recoger la holgura mientras contratas tu equipo soñado. Hemos estado allí antes, y superaremos esto juntos.
Siéntete libre de contactarme a través de mi LinkedIn para una conversación más profunda. ¡Conectemos!

Acerca del Autor
Sheran Gunasekera es investigador de seguridad y desarrollador de software. Es cofundador y Director de Investigación de Madison Technologies, una empresa de desarrollo de software en Singapur, donde asesora al equipo de ingeniería interno tanto en seguridad de computadoras personales como de dispositivos móviles. La incursión de Sheran en la seguridad móvil comenzó en 2009 cuando comenzó con la investigación de seguridad de BlackBerry. Desde entonces, ha tenido roles de liderazgo tanto en ingeniería como en seguridad en varias startups en Asia, incluyendo GOJEK, la aplicación multi-servicio bajo demanda que ahora cotiza públicamente.
