2 pontos por GN⁺ 2023-09-16 | 1 comentários | Compartilhar no WhatsApp
  • O autor Matt Basta compartilha sua experiência desenvolvendo uma ferramenta para a Uber, semelhante ao Excel, criada para resolver um problema específico enfrentado pelos cientistas de dados da empresa.
  • Os cientistas de dados da Uber usavam vários notebooks para executar modelos de ciência de dados durante a noite, o que era ineficiente e resultava em perda de dados e de dinheiro.
  • Basta entrou para a equipe "Crystal Ball" da Uber para automatizar esse processo com uma ferramenta chamada "R-Crusher". Como engenheiro de frontend, ele ficou encarregado de construir a interface de usuário dessa ferramenta.
  • A ferramenta foi concluída em poucas semanas usando o framework interno de frontend da Uber, "Bedrock". Depois disso, Basta montou uma equipe de 7 pessoas de frontend para adicionar recursos centrados no usuário à ferramenta.
  • O principal objetivo da ferramenta era dar suporte às operações da Uber na China. A empresa competia com o serviço local de chamada de táxis Didi. A ferramenta era usada para gerar dados previstos de corridas na China e para determinar incentivos aos motoristas.
  • No entanto, a ferramenta enfrentou o desafio de ter que reproduzir as planilhas do Excel usadas pela equipe da Uber China. Essas planilhas continham fórmulas complexas e eram usadas para definir os incentivos dos motoristas.
  • Basta decidiu construir um mecanismo de planilha baseado em navegador capaz de ler e executar fórmulas do Excel. Ele usou como ponto de partida um protótipo de uma ferramenta chamada "Box Sums", que havia desenvolvido em seu emprego anterior na Box.
  • Depois de superar vários desafios técnicos, como referências circulares do Excel, a ferramenta foi integrada com sucesso ao Wesley, frontend do R-Crusher da Uber.
  • Porém, logo após o lançamento da ferramenta, a Uber China foi vendida para a Didi, e a ferramenta deixou de ser necessária, sendo removida do Wesley.
  • Refletindo sobre essa experiência, Basta diz que todo código escrito por engenheiros acaba se tornando código legado. Ele enfatiza a importância de focar em gerar valor de negócio, em vez de se apegar à longevidade do próprio trabalho.

1 comentários

 
GN⁺ 2023-09-16
Comentários do Hacker News
  • Artigo sobre a criação de um mecanismo de planilha baseado em navegador para a Uber, de forma semelhante ao Excel, para processar dados relacionados à demanda prevista de corridas na China
  • O autor destaca a prevalência de espionagem econômica e industrial na China, citando evidências anedóticas de sua própria experiência na indústria de tecnologia
  • O autor enfatiza a importância do pragmatismo em engenharia de software, argumentando que o código deve ser tratado como "gado, não bichos de estimação", e descartado quando não for mais útil
  • Há uma discussão sobre a propriedade do código escrito para a Uber, com alguns questionando se ele é propriedade da Uber ou do empregador anterior do autor, a Box
  • Alguns comentaristas questionam a decisão de construir um mecanismo de planilha inteiro em JavaScript, sugerindo que soluções existentes como Apache POI deveriam ter sido usadas no lugar
  • A decisão do autor de disponibilizar publicamente o código no Github é elogiada, com alguns sugerindo que isso oferece uma forma de catarse, mesmo que o código não tenha acabado sendo usado pela Uber
  • Alguns comentaristas sugerem soluções alternativas para o problema enfrentado pela Uber, como conectar o Excel diretamente aos dados gerados pelo modelo
  • A visão do autor sobre o papel do engenheiro é destacada, com foco na importância de entregar resultados em vez de criar "adornos bonitos"
  • O sistema interno de aplicações da Uber é elogiado por seu design e eficiência, com um comentarista afirmando que conseguiu colocar no ar uma aplicação Hello World em um subdomínio em menos de 30 minutos
  • O artigo oferece uma perspectiva interna sobre os desafios enfrentados pela equipe de BI da Uber, incluindo os recursos significativos gastos em incentivos e a pressão para replicar ferramentas existentes como o Excel