Apesar do título um tanto pretensioso, o objetivo deste artigo não é apresentar uma história de sucesso ou dar algumas “dicas quentes” baseadas em banalidades e truísmos inúteis. Quero apenas compartilhar algumas histórias sobre a empresa na qual passei quase toda a minha carreira profissional. Sobre como esse serviço ganhou vida em uma cidade distante e fria chamada Yakutsk, compartilho minha perspectiva sobre o inDrive do ponto de vista de um engenheiro.
Oi pessoal! Meu nome é Michil Androsov e estou na inDrive há 10 anos. Entrei na empresa quando havia três pessoas na equipe de desenvolvimento e saí como CTO com 500 pessoas sob meu comando. Ao longo dos anos, a empresa passou de uma startup local a uma empresa unicórnio com centenas de milhões de dólares investidos pelos principais fundos do mundo.
inDrive (antigo inDriver, abreviação de “ Independent Drivers ”), é um serviço de carona de Yakutsk (capital da República Sakha ) com uma grande diferença de todos os outros: a tarifa da viagem é definida pelos próprios passageiros .
Ao contrário dos seus concorrentes, o modelo de preços do inDrive não envolve algoritmos complicados baseados em centenas de critérios. Todo o sistema é tão transparente quanto possível, com apenas duas partes envolvidas no processo: o motorista e o passageiro que negociam as tarifas entre si e acordam um preço que funcione para ambas as partes. Este é um sistema de auto-equilíbrio.
A República Sakha, também conhecida como Yakutia, é uma república localizada no Extremo Oriente da Federação Russa. Habitada principalmente pelos povos indígenas locais, os Yakuts, mas bastante multiculturalizada. A república tem a reputação de ter um clima extremo e severo.
É por isso que o serviço surgiu em Yakutsk, entre todos os lugares. No meu livro, duas razões explicam isso:
Clima frio. Com as temperaturas externas caindo para 50 graus Celsius abaixo de zero, em vez de dar um passeio no parque ou fazer uma caminhada pela natureza, as pessoas tendem a ficar em casa. Eles precisam encontrar maneiras de se divertir e, na maioria das vezes, passam o tempo na frente do computador. Combinado com as melhores escolas que dão ênfase especial à física e à matemática, que são muitas na área, há uma chance de que muitas dessas crianças se tornem programadoras. Pelo menos é assim que explico isso para mim mesmo.
Isolamento do continente. Por causa disso, a Internet era muito cara e lenta. A Internet funcionou com tecnologia de retransmissão de rádio. E você tinha que pagar por cada megabyte. Alguns filmes baixados da internet podem custar o salário de um trabalhador. Assim, os funcionários dos provedores de serviços de Internet baixavam algo da Grande Internet e colocavam na intranet . Lembro-me de alguns caras que até praticavam pesca por satélite.
É devido a esses dois fatores que Yakutsk acabou tendo sua própria "Internet", e com ela o portal de Internet Ykt.ru (atualmente fora do ar) - portais locais como yahoo ou dmoz, craigslist, napster, quadro de fotos de imagens, notícias, fóruns tudo em um. Era uma variedade local do Alphabet, e todos os poucos especialistas em TI em Yakutsk queriam conseguir um emprego lá. A empresa proprietária do portal chamava-se Sinet (abreviação de Sakha Internet) — empresa dentro da qual o inDrive logo foi estabelecido.
Vale ressaltar aqui que, além da Sinet, havia uma grande empresa de desenvolvimento de jogos chamada Mytona em Yakutsk, que também funcionava como um ímã para o pessoal local de TI. Essa empresa começou com dois irmãos da pequena vila de Khonuu, no norte, que pediram dinheiro emprestado aos pais para começar a desenvolver seu primeiro jogo independente. Do jeito que as coisas estão hoje, inDrive e Mytona "se mudaram" da Rússia.
No que diz respeito aos serviços de táxi, era difícil e caro conseguir uma carona em Yakutsk antes do inDrive aparecer em cena. As coisas funcionavam à moda antiga, e você tinha que ligar primeiro e reservar um veículo através do despachante e depois esperar muito tempo até que o motorista chegasse. Para piorar a situação, sua ligação pode ser esquecida e a espera pelo carro ultrapassar todos os limites possíveis.
Outro ponto problemático foram os feriados de Ano Novo (feriado importante no país, duas semanas de festa, ninguém trabalha), quando os serviços de táxi aumentaram seus preços várias vezes, levando os passageiros ao limite. No inverno de 2012, vários caras espertos criaram um grupo Vkontakte chamado "Comunidade de Motoristas Independentes de Yakutsk". Nele você poderia indicar que precisava ir do ponto A ao ponto B e deixar seu número de telefone. Então, um motorista atencioso que por acaso estava indo naquela direção pode ligar para você para combinar uma carona. Ao final da viagem, o passageiro teve que deixar dinheiro com o motorista para cobrir o custo da gasolina.
Claro, muito em breve, em vez de compensar o preço da gasolina, as pessoas começaram a pagar pela viagem. Em pouco tempo, o grupo ganhou enorme popularidade e começou a eliminar gradualmente os serviços tradicionais de táxi.
Naquela época, Arsen Tomsky, diretor da Sinet, viu nesse grupo uma ideia promissora para expandir seus negócios e decidiu comprá-lo. Essencialmente, esse ponto marca o início da existência do inDrive.
Em outubro de 2013, entrei na empresa como terceiro desenvolvedor quando a startup estava no quinto mês de operação. Naquela época, a versão Android do aplicativo já estava disponível e nossa galera procurava um desenvolvedor iOS. Antes de ingressar na empresa, trabalhei por um ano em um pequeno estúdio iniciante desenvolvendo livros interativos no iPad para crianças, primeiro em nosso idioma nativo. Naquele momento, eu estava pensando em mudar de emprego.
Eu tinha uma grande vantagem a meu favor: meu MacBook, que era uma raridade em Yakutsk na época. Achei que essa era minha chance de tentar conseguir um emprego na Sinet. Eu não tinha experiência em desenvolvimento iOS, mas de alguma forma (provavelmente devido à falta de candidatos adequados) consegui um emprego na empresa dos meus sonhos.
O desenvolvimento para iOS foi nativo: codifiquei em Objective-C. Agora a situação não mudou muito, a única diferença é que o Swift agora é comumente usado em vez do Objective-C. Enquanto o Android foi codificado em Java, o backend foi escrito em PHP. Muitas das coisas estabelecidas naquela época permanecem no centro da base de código do inDrive hoje.
A principal equipe de desenvolvimento do iOS naquela época era apenas eu. Em 2015, uma segunda pessoa veio juntar-se a mim. Com a contratação de um terceiro em 2016, começamos a crescer muito rápido. Naquela época não havia equipes multiplataforma – apenas equipes de desenvolvimento de iOS, Android, back-end e testadores de controle de qualidade.
Isso me faz pensar como o motorista do inDrive aceitava solicitações de viagem naquela época. Foi chamado de acordo baseado em chamada : um passageiro faz um pedido, os motoristas próximos o veem simultaneamente em sua lista de pedidos e aqueles que gostam da oferta clicam nele. O peculiar naquela época era que apenas conectávamos um motorista e um passageiro através da rede de comunicação celular! Às vezes, vários motoristas ligavam para a mesma solicitação de viagem ao mesmo tempo. Após a ligação, mostraríamos ao passageiro uma lista de todos os motoristas que haviam telefonado para que ele escolhesse o mais adequado. Toda a configuração parecia funcionar com base no princípio de “a ordem vai para quem ligar primeiro”. Por causa disso, houve reclamações de motoristas no suporte ao cliente relatando que não tiveram tempo suficiente para retirar o pedido.
Por muito tempo, existiu a lenda de que o iOS tinha uma chance muito maior de garantir um pedido do que o Android. Havia alguma verdade nisso, já que a interface realmente funcionava mais rápido no iOS. Durante muito tempo, não introduzimos processos de aceitação de pedidos "sem chamada", que eram mais comumente usados por outros serviços de carona, pensando que os passageiros confiariam mais no motorista se tivessem tempo para conversar entre si no o telefone antes do passeio. Obviamente, tal estratégia tinha as suas limitações, e bastante sérias.
Além disso, a primeira versão do aplicativo tinha uma aba interessante chamada “Drivers Disponíveis”. Ao clicar nele, você pode acessar o mapa, encontrar um motorista disponível, ligar pessoalmente e marcar uma carona. Compreensivelmente, naquela época ainda não existiam conexões criptografadas.
Além disso, havia uma terceira forma de encontrar um motorista: após criar uma solicitação (pedido) de viagem, eu poderia encontrar um motorista adequado no mapa e enviar-lhe minha oferta por meio de uma mensagem pessoal. Isso foi chamado de “Pedido Personalizado”.
Hoje em dia a galera às vezes sente falta dos tempos em que tudo era tão fácil, rápido e divertido quanto possível. Eu não sabia o que eram repositórios e, após o lançamento de cada versão, arquivei a pasta do projeto e salvei no meu disco rígido (centenas de arquivos ainda estão armazenados lá) e no Google Drive. Nos primeiros anos, nosso projeto no Xcode se chamava startPage , enquanto nossas tarefas de produto eram escritas diretamente no quadro branco.
Eu ainda não estava familiarizado com os padrões básicos de programação e arquiteturas de desenvolvimento iOS. O resultado final foi uma pilha de controladores Massive View e storyboards com dezenas de telas. Esta foi uma programação StackOverflow genuína.
Gradualmente, nossa equipe de startups começou a crescer. Novas pessoas aderiram e surgiram os primeiros processos simples. Em 2014, a empresa já contava com 10 funcionários. Foi nessa altura que voámos para Novosibirsk para participar numa conferência. Éramos nós três, toda a equipe de desenvolvimento. Este foi outro marco significativo na história da empresa, pois na República Sakha você se sente isolado do grande mundo exterior. Viagens como essa foram um grande acontecimento para nós.
No final de 2013, Sasha Pavlov, o criador do grupo VKontakte, que foi comprado por Arsen Tomsky, juntou-se a nós. Com ele a bordo, iniciamos as primeiras tentativas de lançamento em outras cidades. Um dia, Sasha voou para Sakhalin para conversar com os motoristas. Ele imprimiu alguns panfletos promocionais e começou a distribuí-los no estacionamento do shopping, mas foi afugentado pelos seguranças. Eventualmente, porém, tivemos um lançamento bem sucedido em Sakhalin e imediatamente mostrou um excelente crescimento.
Em seguida, começamos a lançar em outras cidades do norte e do leste da Rússia: Irkutsk, Tomsk, etc. Essas áreas se assemelham a Yakutsk, pois têm condições climáticas severas semelhantes e não há outros aplicativos importantes lá. Nessas cidades, o aplicativo começou a apresentar crescimento quase que instantaneamente.
Costumávamos sentar em nosso pequeno escritório e sonhar acordado: "Imagine, um dia ganharemos mais do que Ykt.ru. " Rimos, mas na verdade esse momento chegou muito rápido.
Nosso CEO sempre quis uma história maior, e não relacionada a Yakutsk. Ele é um empreendedor por excelência e está sempre em busca de novos desafios. Parecia óbvio e lógico para nós, então ninguém questionou por que estávamos fazendo o que estávamos fazendo.
Sempre foi legal descobrir o quanto nós, alguns caras de Yakutsk, poderíamos competir com as grandes empresas. Naquela época, nossos principais concorrentes eram Taxi Maxim e Yandex Taxi . Ainda não estávamos pensando no Uber . Mas logo tivemos que pensar bastante sobre a situação, mas contarei mais sobre isso em meus próximos posts, se você estiver interessado.
PS Esta é minha primeira experiência escrevendo um artigo e quero escrever mais sobre a história da evolução do inDrive, como me tornei CTO e quais desafios técnicos e não técnicos enfrentamos e tivemos que superar. Portanto, seria incrível receber seus comentários sobre o que poderia ser melhorado aqui e o que você teria interesse em ler em postagens futuras. Compartilhe-os nos comentários!
PPS Os marcos da evolução da Sinet e do inDrive são descritos com mais detalhes no livro do CEO da empresa: “inDriver: From Yakutsk to Silicon Valley”.