Embárquese en un viaje fascinante a través de la historia de inDrive, el servicio de transporte compartido que surgió del clima extremo de Yakutsk para convertirse en una empresa unicornio. Michil Androsov, director de tecnología de inDrive, comparte información sobre los primeros días de desarrollo, los desafíos que enfrentamos en las duras condiciones de Yakutia y el modelo de precios único que distingue a inDrive. Desde los días pioneros del desarrollo de iOS hasta la expansión más allá de Yakutsk y otras ciudades rusas, descubra los hitos clave que dieron forma a la evolución de inDrive. Estén atentos para conocer más historias sobre los desafíos técnicos y no técnicos que enfrenta inDrive en su camino hacia el éxito.
A pesar del título algo pretencioso, el propósito de este artículo no es presentar una historia de éxito ni dar algunos “consejos interesantes” basados en tópicos y perogrulladas inútiles. Sólo quiero compartir algunas historias sobre la empresa en la que he desarrollado casi toda mi carrera profesional. Sobre cómo surgió este servicio en una ciudad lejana y fría llamada Yakutsk, comparto mi perspectiva sobre inDrive desde el punto de vista de un ingeniero.
¡Hola a todos! Mi nombre es Michil Androsov y trabajo en inDrive desde hace 10 años. Me uní a la empresa cuando éramos tres personas en el equipo de desarrollo y la dejé como CTO con 500 personas bajo mi mando. A lo largo de los años, la empresa ha pasado de ser una startup local a una empresa unicornio con cientos de invertidos por los principales fondos del mundo.
inDrive (antiguo inDriver, abreviatura de “ ConductoresIndependientes ”), es un servicio de transporte privado desde (la capital de la ) con una gran diferencia respecto a todos los demás: la tarifa del viaje la fijan los propios pasajeros. .
A diferencia de sus competidores, el modelo de precios de inDrive no implica algoritmos complicados basados en cientos de criterios. Todo el sistema es lo más transparente posible, con sólo dos partes involucradas en el proceso: el conductor y el pasajero, quienes negocian las tarifas entre ellos y acuerdan un precio que funcione para ambas partes. Este es un sistema de autoequilibrio.
La República de Sajá, también conocida como Yakutia, es una república situada en el Lejano Oriente de la Federación Rusa. Habitada principalmente por los indígenas locales, los Yakuts, pero bastante multiculturalizada. La república tiene fama de tener un clima extremo y severo.
El ambiente de Yakutsk
He aquí por qué el servicio surgió precisamente en Yakutsk. En mi libro, dos razones explican esto:
Clima frío. Con temperaturas exteriores que descienden a 50 grados centígrados bajo cero, en lugar de salir a caminar por el parque o hacer una caminata por la naturaleza, la gente tiende a quedarse en casa. Tienen que encontrar formas de entretenerse y, la mayoría de las veces, pasan su tiempo frente a una computadora. Combinado con las mejores escuelas que se centran especialmente en física y matemáticas, de las cuales hay muchas en el área, existe la posibilidad de que muchos de estos niños se conviertan en programadores. Al menos así me explico a mí mismo.
Aislamiento del continente. Debido a esto, Internet era muy caro y lento. Internet funcionó con tecnología de retransmisión de radio. Y había que pagar por cada megabyte. Un par de películas descargadas de Internet podrían costar el salario de un trabajador. Así, los empleados de los proveedores de servicios de Internet descargarían algo de la Gran Internet y lo pondrían en la . Recuerdo a algunos de los chicos que incluso se dedicaban a la pesca por satélite.
Es debido a estos dos factores que Yakutsk acabó teniendo su propia"Internet", y con ella el portal de Internet (actualmente inactivo): portales web locales como yahoo o dmoz, craigslist, napster, image photo board, noticias, foros. todo en uno. Era una variedad local de Alphabet y los pocos especialistas en TI de Yakutsk querían trabajar allí. La empresa propietaria del portal se llamaba Sinet (abreviatura de Sakha Internet), empresa en la que pronto se fundó inDrive.
Vale la pena señalar aquí que, además de Sinet, había una gran empresa de desarrollo de juegos llamada en Yakutsk, que también actuaba como un imán para los informáticos locales. Esa empresa comenzó con dos hermanos del pequeño pueblo norteño de Khonuu que pidieron prestado algo de dinero a sus padres para comenzar a desarrollar su primer juego independiente. Tal como están las cosas hoy en día, inDrive y Mytona se han "mudado" fuera de Rusia.
Conductores independientes
En lo que respecta a los servicios de taxi, era difícil y caro conseguir transporte en Yakutsk antes de que inDrive apareciera en escena. Las cosas funcionaban a la antigua usanza: primero había que llamar y reservar un vehículo a través del despachador y luego esperar mucho tiempo hasta que llegara el conductor. Para empeorar las cosas, es posible que olviden su llamada y que la espera del coche supere todos los límites posibles.
Otro punto doloroso fueron las vacaciones de Año Nuevo (fiesta importante en el país, dos semanas de fiesta, nadie trabaja), cuando los servicios de taxi aumentaron sus precios varias veces, empujando así a los pasajeros al límite. En el invierno de 2012, varios tipos inteligentes crearon un grupo llamado "Comunidad de conductores independientes de Yakutsk". En él podrías indicar que necesitas ir del punto A al punto B y dejar tu número de teléfono. Entonces, un conductor atento que se dirigiera en esa dirección podría llamarlo para concertar un viaje. Al final del viaje, el pasajero debía dejar dinero al conductor para cubrir el coste de la gasolina.
Claro, muy pronto, en lugar de compensar el precio de la gasolina, la gente empezó a pagar el viaje. En poco tiempo, el grupo ganó gran popularidad y comenzó a eliminar gradualmente los servicios de taxi tradicionales.
en movimiento. Primeros días
En aquel momento, Arsen Tomsky, director de Sinet, vio en este grupo una idea prometedora para ampliar su negocio y decidió comprarlo. Básicamente, ese punto marca el comienzo de la existencia de inDrive.
En octubre de 2013, me uní a la empresa como tercer desarrollador cuando la startup cumplía su quinto mes de operaciones. En ese momento, la versión de Android de la aplicación ya estaba disponible y nuestros muchachos estaban buscando un desarrollador de iOS. Antes de unirme a la empresa, trabajé durante un año en un pequeño estudio emergente desarrollando libros interactivos en iPad para niños, primero en nuestro idioma nativo. Justo en ese momento estaba pensando en cambiar de trabajo.
Tenía una gran ventaja a mi favor: mi MacBook, que en aquella época era una rareza en Yakutsk. Pensé que esta era mi oportunidad de intentar conseguir un trabajo en Sinet. No tenía experiencia en el desarrollo de iOS, pero de alguna manera (probablemente debido a la falta de candidatos adecuados) logré conseguir un trabajo en la empresa de mis sueños.
El desarrollo de iOS fue nativo: codifiqué en Objective-C. Ahora la situación no ha cambiado mucho, la única diferencia es que ahora se usa comúnmente Swift en lugar de Objective-C. Mientras que Android estaba codificado en Java, el backend estaba escrito en PHP. Muchas de las cosas establecidas en aquel entonces siguen siendo el núcleo del código base de inDrive en la actualidad.
El equipo central de desarrollo de iOS en ese momento era solo yo. En 2015, una segunda persona se unió a mí. Una vez que contratamos a un tercero en 2016, comenzamos a crecer muy rápido. En aquel entonces no había equipos multiplataforma, solo equipos de desarrollo de backend, iOS y Android y evaluadores de control de calidad.
Me pregunto cómo aceptaba el conductor de inDrive las solicitudes de viaje en aquellos días. Se llamó un acuerdo basado en llamadas : un pasajero hace un pedido, los conductores cercanos lo ven simultáneamente en su lista de solicitudes y aquellos a quienes les gusta la oferta hacen clic en ella. ¡Lo peculiar en aquel entonces era que simplemente conectamos al conductor y al pasajero a través de la red de comunicación celular! A veces, varios conductores llamaban para solicitar el mismo viaje al mismo tiempo. Después de la llamada, le mostrábamos al pasajero una lista de todos los conductores que habían llamado para que eligiera el más adecuado. Todo el sistema parecía funcionar según el principio de "la orden llega a quien llama primero". Debido a esto, hubo quejas de atención al cliente por parte de conductores que informaron que no tuvieron tiempo suficiente para recoger el pedido.
Durante mucho tiempo existió la leyenda de que iOS tenía muchas más posibilidades de conseguir un pedido que Android. Había algo de verdad en esto, ya que la interfaz se ejecutaba más rápido en iOS. Durante mucho tiempo, no introdujimos procesos de aceptación de pedidos"sin llamadas", que eran utilizados más comúnmente por otros servicios de transporte, pensando que los pasajeros confiarían más en el conductor si tuvieran tiempo para hablar entre ellos por teléfono. el teléfono antes del viaje. Obviamente, tal estrategia tenía sus limitaciones, y además, bastante serias.
Además, la primera versión de la aplicación tenía una pestaña interesante llamada "Controladores disponibles". Al hacer clic en él, puede ir al mapa, encontrar un conductor disponible, llamarlo personalmente y concertar un viaje. Es comprensible que en aquel entonces todavía no existieran conexiones cifradas.
Además, había una tercera forma de encontrar un conductor: después de crear una solicitud de viaje (pedido), podía encontrar un conductor adecuado en el mapa y enviarle mi oferta a través de un mensaje personal. A esto se le llamó “Pedido Personalizado”.
Hoy en día, los chicos a veces extrañan los días en que todo era lo más fácil, rápido y divertido posible. No sabía qué eran los repositorios y, después del lanzamiento de cada versión, archivé la carpeta del proyecto y la guardé en mi disco duro (todavía hay cientos de archivos almacenados allí) y en Google Drive. En los primeros años, nuestro proyecto en Xcode se llamaba startPage , mientras que las tareas de nuestro producto se escribían directamente en la pizarra.
Todavía no estaba familiarizado con los patrones de programación básicos y las arquitecturas del desarrollo de iOS. El resultado final fue una pila de controladores Massive View y guiones gráficos con docenas de pantallas. Esta fue una programación genuina de StackOverflow.
Expandiéndose más allá de Yakutsk
Poco a poco, nuestro equipo de startups empezó a crecer. Se unió nueva gente y surgieron los primeros procesos simples. En 2014, la empresa ya contaba con 10 empleados. Fue en ese momento cuando volamos a Novosibirsk para participar en una conferencia. Éramos nosotros tres, todo el equipo de desarrollo. Este fue otro hito importante en la historia de la empresa, ya que en la República de Sajá uno se siente aislado del gran mundo exterior. Viajes como este fueron un acontecimiento importante para nosotros.
A finales de 2013 se nos unió Sasha Pavlov, el creador del grupo VKontakte, que fue comprado por Arsen Tomsky. Con él a bordo, iniciamos nuestros primeros intentos de lanzamiento en otras ciudades. Un día, Sasha voló a Sakhalin para hablar con los conductores. Imprimió algunos folletos promocionales y comenzó a repartirlos en el estacionamiento del centro comercial, pero la seguridad lo ahuyentó. Al final, sin embargo, tuvimos un lanzamiento exitoso en Sakhalin e inmediatamente mostró un crecimiento excelente.
Luego comenzamos a realizar lanzamientos en otras ciudades del norte y este de Rusia: Irkutsk, Tomsk, etc. Estas áreas se parecen a Yakutsk en que tienen condiciones climáticas severas similares y no hay otras aplicaciones importantes allí. En esas ciudades, la aplicación comenzó a mostrar crecimiento casi instantáneamente.
Solíamos sentarnos en nuestra pequeña oficina y soñar despiertos: "Imagínense, algún día ganaremos más que ". Nos reímos, pero en realidad ese momento llegó muy rápido.
Nuestro director general siempre quiso una historia más amplia y que no estuviera relacionada con Yakutsk. Es un emprendedor hasta la médula y siempre busca nuevos desafíos. Nos parecía obvio y lógico, por lo que nadie cuestionó por qué estábamos haciendo lo que estábamos haciendo.
Siempre fue genial descubrir hasta qué punto nosotros, algunos muchachos de Yakutsk, podíamos competir con las grandes empresas. En ese momento, nuestros principales competidores eran y . Todavía no estábamos pensando en Uber . Pero pronto tuvimos que pensar mucho en la situación, pero te contaré más sobre esto en mis próximas publicaciones si estás interesado.
PD: Esta es mi primera experiencia escribiendo un artículo y quiero escribir más sobre la historia de la evolución de inDrive, cómo me convertí en CTO y qué desafíos técnicos y no técnicos enfrentamos y tuvimos que superar. Por lo tanto, sería fantástico recibir sus comentarios sobre lo que se podría mejorar aquí y sobre lo que le interesaría leer en publicaciones futuras. ¡Compártelos en los comentarios!
PPS Los hitos de la evolución de Sinet e inDrive se describen con más detalle en el libro del director general de la empresa: