Олег Кабанов
Портфолио
LiveSwitch (Surrey, BC)
В качестве старшего разработчика программного обеспечения в LiveSwitch я был ответственен за создание и поддержку ряда микросервисов на бэкенде с использованием C#. Одним из моих первых заданий было решение проблем стабильности сервиса видеозаписи который часто сталкивался с испорченными метаданными файлов видеозаписи. Чтобы быстро решить эту проблему и ответить на жалобы клиентов, я реализовал решение которое автоматически анализировало и исправляло испорченные файлы при их поступлении в сервис видеозаписи. Это позволило нам временно решить проблему, давая время для расследования почему файлы метаданных видеозаписи были созданы как испорченные. Еще один проект над которым я работал заключался в улучшении эффективности сервиса событий который отслеживает активность видеотрансляции и выставляет счета клиентам соответственно. LiveSwitch использовал сервис Google "BigQuery" для хранения и доступа к большому количеству событий, что приводило к значительным расходам на оплату услуг BigQuery от Google. Чтобы уменьшить расходы на хранение данных в Google и повысить прибыльность LiveSwitch, я предложил и реализовал решение для выгрузки и агрегации данных на облачные сервера общего назначения, которые были значительно дешевле, чем специализированное хранилище больших данных от Google. Кроме того, я обнаружил альтернативный и значительно более дешевый метод использования Google BigQuery API, обеспечив дальнейшее сокращение затрат. В результате этих усилий LiveSwitch смог резко сократить затраты и улучшить прибыльность.
DirecTV/AT&T
Я был частью команды разрабатывающей клиентов для потоковой трансляции игр NFL на различных программируемых ТВ-платформах для DirecTV, дочерней компании AT&T. Когда я присоединился к команде, это было сразу после конференции Apple на которой было объявлено, что платформа Apple TV теперь откроется для сторонних приложений. Это давало возможность для DirecTV разработать приложение "NFL Sunday Ticket" для AppleTV, поэтому мы должны были начать разработку с нуля. Весной руководство считало что мы не сможем завершить приложение до начала следующего сезона NFL осенью того же года. Они считали что приложение будет доступно для клиентов только в следующем году NFL сезона. Однако наша команда превзошла ожидания, завершив приложение к осени того же года, открыв новый источник дохода от подписок Apple TV для DirecTV на год раньше, чем ожидалось. Кроме того, мы смогли завершить проект досрочно с оставшимся еще временем, что позволило сделать две дополнительные итерации переработки интерфейса, сделав приложение с более продуманным и красивым интерфейсом, которое получило много похвал от высшего руководства. В этом проекте было много проблем, особенно с компонентом видеотрансляции Apple TV, который имел очень ограниченные возможности настройки. Мы должны были проявлять изобретательность в поиске способа заставить компонент работать в соответствии с техническими требованиями.
Top Producer Systems/Move
Я присоединился к Top Producer Systems (бывшей дочерней компании Move) в критическое время для компании, когда она находилась в процессе планирования перехода от продажи коробочного программного обеспечения для агентов и брокеров недвижимости к полностью онлайновой, основанной на подписке системе. Я активно участвовал во всех трех этапах этого перехода. Первый этап включал в себя выпуск окончательной версии коробочного программного обеспечения, чтобы компания могла продолжать предлагать конкурентоспособный продукт во время перехода на онлайн-систему. Это был важный шаг, поскольку он дал мне обширные знания о специфических функциях программного обеспечения, которое находилось на рынке некоторое время. Я использовал эти знания в следующих этапах перехода. Второй этап заключался в разработке переходного проекта, который сохранял тот же пользовательский интерфейс Windows forms, но подключал приложение к онлайн-базам данных. Это был заказной проект для отдела недвижимости корпорации Cendant. Добавляя онлайн-поддержку к существующему оффлайн-продукту, мы могли синхронизировать данные между локальным приложением и большой облачной системой недвижимости Cendant. Чтобы это сделать, нам пришлось изучить и понять интерфейс API и внутреннюю структуру данных системы Cendant. Проект был успешно завершен. Третий этап предполагал проектирование полностью облачной онлайн-системы с нуля. Я играл ключевую роль в проектировании структуры базы данных для подсистемы потенциальных клиентов и был ключевым разработчиком для подсистемы отчетов по потенциальным клиентам. Это включало в себя проектирование базы данных OLAP и разработку инструмента ETL для загрузки и агрегирования данных из транзакционной базы данных потенциальных клиентов. Проект был успешно завершен и компания переключалась полностью на онлайн продукт.
AeroInfo/Boeing
Я был старшим членом команды iOS в AeroInfo, дочерней компании Boeing в Канаде, где мы разработали iPad-приложение для пилотов под названием ecoAFP. Приложение было разработано для беспроводной сбора бортовых сигналов, связанных с расходом топлива во время полета, создания детальных графиков различных параметров с наложенным поверх графиком расходом топлива и таким образом позволяя пилотам учиться какие стратегии приводят к наибольшей экономии топлива. Мы использовали компонент для диаграмм iOS от компании Shinobi, но из-за ограниченных их ресурсов мы столкнулись с множеством проблем при попытке интегрировать его в наше приложение. Это привело к задержкам проекта. Несмотря на то, что мы потратили несколько месяцев на решение проблем, даже прямая работа с разработчиками Shinobi не смогла решить проблему. Поскольку у нас не было доступа к исходному коду компонента, мы не могли решить проблемы без помощи Shinobi. Я предложил пересоздать компонент диаграмм Shinobi внутри компании, используя мои знания в области высокопроизводительности iOS-графики (OpenGL), которые я приобрел ранее разрабатывая игры перед тем, как присоединиться к AeroInfo. Я успешно воспроизвел функции из компонента Shinobi, которые нам нужны, и интегрировал их в наш продукт. В результате мы, наконец, смогли сдвинуть проект с мертвой точки используя компонент для диаграмм собственной разработки под полным контролем компании и с доступом к исходному коду. Это позволило нам создать приложение точно в соответствии с оригинальными спецификациями без нужды подгонять существующие функции компонента другого производителя под наши спецификации.
Netgear/Arlo (Richmond, BC)
В качестве старшего члена команды iOS в Arlo, компании, которая предлагает устройства для умного дома, такие как беспроводные камеры и домофоны, я играл ключевую роль в разработке нового продукта Arlo Pro3 Floodlight. Камера включает в себя очень яркий LED свет, питаемый батареей с минимальным снижением жизни батареи. С жестким сроком завершения реализации поддержки нового продукта на всех компонентах программного обеспечения, включая микропрограммы, бэкенд и три клиента (веб, Android и iOS), было крайне важно, чтобы мы работали быстро, чтобы добиться того чтобы программное обеспечение было готово вовремя для загрузки в первую партию камер, отправленных из Тайваня. Моя ответственность заключалась в добавлении поддержки Arlo Pro3 в iOS-клиент. Я участвовал в еженедельных встречах, в которых принимали участие представители всех компонентов программного обеспечения, чтобы обсудить выполненную работу и планировать следующие шаги, а также участвовал в совместных War Rooms для отладки проблем между компонентами. Несмотря на трудности координации нескольких команд, мы успешно завершили проект в срок без задержек.