Новости «Excel в браузере, который никому не нужен» — откровения бывшего разработчика Uber

NewsMaker

I'm just a script
Премиум
9,492
18
8 Ноя 2022
Иногда всего один случай может полностью изменить всё, но отчаиваться не стоит.


rn303asjlqq4zzhfz6n8jupc6jd6fznv.jpg


Разработчик программного обеспечения по имени Мэтт Баста недавно опубликовал Для просмотра ссылки Войди или Зарегистрируйся о своём опыте работы в Uber , где ему поручили создать альтернативу таблицам Excel для работы с большими данными.

В 2016 году Баста присоединился в подразделение Uber под названием «Crystal Ball», где его основной задачей стала автоматизация процесса создания моделей для анализа данных. Компания в то время активно работала над завоеванием китайского рынка и для этого нужны были надёжные и удобные инструменты по работе с большими данными.

«Вся моя работа и работа команды, в конечном итоге, заключалась в поддержке Uber China. R-Crusher был инструментом, который помог нам получить данные, необходимые для конкуренции с Didi» , — вспоминает разработчик.

Некоторое время после трудоустройства Баста получил своё первое задание: создать удобный веб-интерфейс для работы с данными из R-Crusher, который внешне и функционально должен был быть похож на Microsoft Excel.

«Каждый день без этого инструмента обходился нам в миллионы долларов», — утверждали коллеги разработчика, что и побудило новоприбывшего Мэтта начать воплощать поставленную задачу в жизнь.

Первая версия графической оболочки для R-Crusher, которую окрестили «Weasley», была готова в течение нескольких недель после старта проекта, однако следующие полгода она лихорадочно допиливалась и дорабатывалась, чтобы корректно выполнять возложенные на неё задачи. В разработке принимало участие с десяток различных специалистов.

Итоговый инструмент, разработанный командой «Crystal Ball», представлял из себя клон Excel, написанный на JavaScript и работающий в браузере. В целом, он удовлетворял всем выдвинутым к нему требованиям. Однако позже, в ходе дополнительного тестирования, выяснилось, что Weasley и оригинальный Excel выдавали немного разные результаты при работе с одними и теми же данными.

После долгих копаний в коде, формулах и обсуждений с коллегами, Баста обнаружил, что при создании циклической ссылки в формулах оригинальный Excel останавливал расчёт, если разница между последними значениями ячейки падала ниже некоторого порогового значения. В результате исполнения этого алгоритма могли возникать ошибки, в результате чего Excel выводил неверное значение, но всех это, как ни странно, устраивало.

Таким образом, у «Crystal Ball» по итогу получился улучшенный аналог Excel, лишённый его технических недостатков и от этого более точный. Тем не менее, расчёты должны были полностью совпадать с Excel, в связи с чем Басте пришлось «подкрутить» работу своего алгоритма, чтобы он точно совпадал с выводом из продукта Microsoft.

Тем не менее, главное — результат, и в июле 2016 года вдохновлённая команда внедрила готовый «Excel в браузере» в эксплуатацию, который даже успел показать некоторые позитивные результаты.

Однако руководство Uber сыграло с разработчиками «Weasley» злую шутку — компания DiDi, с которой Uber так рьяно хотел конкурировать в Китае, внезапно объявила о приобретении подразделения Uber China. В связи с этим, инструмент, работа над которым велась больше полугода, был просто удалён с платформы Uber, чтобы не раскрывать китайским инвесторам внутренние алгоритмы работы американской компании.

Чтобы не терять плодов своей кропотливой работы, Баста почти сразу же Для просмотра ссылки Войди или Зарегистрируйся исходный код своего проекта на GitHub в надежде, что он ещё пригодится другим разработчикам.

Сам Баста считает свой опыт работы в Uber ценным уроком и не жалеет потерянного времени на написание и отладку кода. «Наше отношение к тому, что мы производим, является хорошим показателем зрелости. Для нас естественно хотеть, чтобы наша работа была прочной и долговечной. Но с другой стороны, отказ от вашей работы даёт возможность понять, что в ней можно было бы сделать лучше», — отметил Баста.

«У вас не будет возможности извлечь уроки из проекта, если вы расцените его закрытие как провал: зачастую нужно многое узнать о том, какие нетехнические аспекты проекта вышли из строя. Возможно, их нет, и руководство компании — просто группа дураков. Но зачастую это не так, а ваш искусно отфрезерованный винтик был вырван из цельного механизма не потому, что его неправильно поняли, а потому, что он не работал так же отлаженно как часть более крупной системы, в которую был установлен», — подытожил автор.
 
Источник новости
www.securitylab.ru

Похожие темы