НовостиОбзорыСобытияIT@WorkРеклама
Open Source:
Как ИЦ ТЕЛЕКОМ-СЕРВИС построил инженерную инфраструктуру для функционирования ключевых ИТ-систем и эффективной работы сотрудников новой штаб-квартиры Т-Банка в БЦ AFI Square
Залогом успешной реализации в 2023-2024 годах ИЦ ТЕЛЕКОМ-СЕРВИС одного из самых значимых проектов на строительном рынке …
Дмитрий Юдин, руководитель направления AI провайдера облачных и AI-технологий Cloud.ru
На активно развивающемся рынке ИИ важной задачей остается внедрение новых технологий, связанных …
UserGate DCFW: NGFW для защиты сетей уровня ЦОД
Компания UserGate, отвечая на запрос крупных российских компаний получить отечественный высокопроизводительный …
Руслан Заединов, Рексофт: «Экспорт услуг ЦОД не стоит ждать даже в самой отдаленной перспективе»
В декабре 2024 года многопрофильная технологическая группа Рексофт объявила о создании департамента «Облака …
Технический лидер по развитию облачных сервисов Cloud.ru Григорий Немыченков
В России публичные облака часто выбирают за их масштабируемость и возможность снизить расходы …
 

Open Source, оптимизация облачных технологий и работа в Big Tech: интервью с Senior Software Engineer Spotify

Юрий Николаев | 15.12.2023

Попасть в международную IT-компанию — мечта многих разработчиков, но путь туда непрост. Senior Software Engineer Spotify Илья Лямкин прошел его, работая в разных сферах — от health tech до ride-hailing. В интервью он рассказал, какие навыки помогают строить карьеру в глобальных компаниях, почему open source — это не только про код, но и про имидж, и как автоматизация помогает бизнесу экономить сотни тысяч долларов ежемесячно.

Илья Лямкин

Илья, для начала расскажите о старте вашей карьеры и ключевых проектах.

Я учился в университете ИТМО по специальности Computer Science and Computing Hardware. Уже во время учебы я начал самостоятельно заниматься программированием, и на третьем курсе стал брать стажировки по специальности. А уже на четвертом — работал практически full time.

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

Там я изучил инструменты, которые впоследствии стали значимыми в индустрии. Например, тогда фронтенд-фреймворк React был довольно нишевым, но я уже работал с ним в некоторых проектах и хорошо его знал. Когда популярность React стала расти, я оказался одним из немногих разработчиков, кто отлично с ним ладил — и моя ценность как специалиста была очень высокой.

Позже у меня было еще несколько значимых проектов. Из них я могу выделить стартап финской компании Meru Health Inc. — приложение, которое помогало людям с депрессией найти терапевтов. Я был одним из первых разработчиков в этой компании, создавал само приложение и платформу для терапевтов, где они могли зарегистрироваться и взять в работу клиентов.

Затем была испанская компания FREE NOW, которая разрабатывала технологию для быстрого заказа такси. На тот момент она была одним из крупнейших игроков в Германии, Испании и в Великобритании — на этих рынках мы конкурировали с Uber. После я присоединился к Spotify в Стокгольме и работал на разных проектах: от безопасности и организации доступа для разработчиков до управления затратами и сокращения костов на облачные технологии.

Насколько отличается работа в таком гиганте как Spotify от вашего предыдущего опыта, и сложно ли вообще было туда попасть?

В целом, в большие технологические компании всегда сложнее попасть. Обычно интервью состоит из 5-6 этапов, в том числе, технических тестов — и на каждом этапе что-то может пойти не так. Много внимания уделяется опыту проектирования систем — то есть не только разработке, но и тому, может ли кандидат создать систему, которая будет надежно работать под нагрузкой с большим количеством пользователей.

Сама работа отличается количеством людей — ты постоянно взаимодействуешь с большим числом специалистов. Например, я работаю в Spotify уже больше 4 лет, и каждый день встречаю новых людей. Это довольно интересно, потому что всегда можно научиться от них чему-то новому. Но с другой стороны, сложно каждый день устанавливать рабочие контакты и выстраивать отношения.

Зато, если что-то не получается в текущей команде, всегда можно поменять ее — а в небольшой компании пришлось бы менять работу. И также есть возможность постоянно работать в новых проектах.

При этом вы успели поработать в совершенно разных сферах: от health tech до ride-hailing и audio streaming. Каковы ключевые различия в подходах к разработке и технологиях в этих отраслях?

Health tech очень отличается от остальных сфер тем, что там приходится работать с конфиденциальной информацией людей. В США есть специальное соглашение HIPAA, которое регламентирует хранение частной информации — нужно использовать особые сервисы, которые имеют нужную сертификацию.

В Meru Health Inc. у нас был очень высокий уровень безопасности проектов — например, на всех аккаунтах была аутентификация с помощью ключей security key. Правила конфиденциальности во многом усложняли нам разработку, потому что мы не могли посмотреть данные самостоятельно, и если возникали ошибки, приходилось угадывать, в чем проблема. Но я считаю, что это правильный подход к безопасности личной информации, и все компании должны его применять.

В целом, отличия в разработке есть в каждой области. Например, во FREE NOW мы работали на разные европейские рынки. И для каждого из них приходилось разрабатывать свои формы для водителей — потому что во всех странах разные регуляторы. Нужно было сделать так, чтобы формы подстраивались под каждый рынок без больших изменений в коде, которые могут потребовать дополнительных ресурсов.

Какой функционал оказался самым сложным в реализации при разработке дашборда для владельцев частных автомобилей для FREE NOW?

Каждый раз, когда водитель выбирал другую страну или регион, мы автоматически перестраивали формы. Чтобы ускорить этот процесс, мы создали язык конфигурации, который потом стал open source проектом. В результате мы просто передавали конфигурацию, например, в json формате, затем она вставлялась в эту библиотеку, и сайт рендерил другой вариант формы без изменения фронтенд-кода.

Таким образом мы сократили много времени на постоянные разработки и модификации основного функционала. Например, форма для новой страны была готова за один день, а не за несколько недель. Просто нужно было написать, в каком порядке идет каждое поле.

Еще одним сложным проектом была переработка дашборда для владельцев частных автомобилей. Мы расширялись с рынка такси до частных автомобилей, наподобие Uber, чтобы водители сами могли регистрироваться и возить людей. Для этого нужно было взять громоздкий старый дашборд и переписать его на React. Это была большая система, с которой никто не хотел взаимодействовать — но мы справились.

Вы разрабатывали экосистему управления затратами, которая экономит Spotify более $500K ежемесячно. Какие технологии и методы помогли достичь такого результата?

Spotify очень много тратил и тратит на облачные технологии, и поэтому нам было интересно, как мы можем сократить эти затраты. Сначала мы определили, на какие категории ресурсов Spotify тратит больше всего денег. Затем мы подробно изучили каждую категорию и посмотрели, как мы можем сократить затраты.

Например, сервера можно было оптимизировать, в зависимости от нагрузки — если она составляла всего 5-10%, то мы смотрели, как уменьшить размер сервера. Для проверки ресурсов мы написали сервисы на Java, которые автоматически определили занятость каждого сервера и автоматически создали базу данных. Каждый месяц эта база обновляется, и мы смотрим, какие серверы еще можно уменьшить.

Также мы масштабно оптимизировали хранение данных. В базах данных были терабайты информации, которую никто не использовал — ее мы удалили. Еще настроили автоматическое удаление данных, к которым никто не обращался последние три года.

В итоге мы значительно оптимизировали ресурсы и сэкономили компании сотни тысяч долларов.

Я знаю, что вы работали и с open-source проектами, такими как Backstage.io. Как вы оцениваете их роль в современной разработке?

Да, как раз в Spotify я работал над open source порталом для разработчиков Backstage.io. Внутри него я собрал все важные инструменты для разработчиков: сервисы для управления сервисами, для документации, для автоматизации и т.д. Таким образом, разработчики могут не открывать десятки вкладок, а находиться в едином инструменте, намного ускоряя процесс разработки.

Сначала проект задумывался как внутренний, но потом мы решили поделиться им со всей индустрией. Для нас это был хороший эксперимент, потому что сейчас много компаний используют Backstage.io. Open source позволяет большим компаниям доверять этому продукту, а также мы уверены, что продукт останется на рынке в любом случае — даже если с компанией что-то случится.

Для Spotify этот проект также очень усилил бренд. Через Backstage.io разработчики узнали больше о культуре разработки в Spotify, оценили ее возможности. И теперь нам проще нанимать более квалифицированных сотрудников, которые сразу понимают, с чем они будут иметь дело. Также мы подчеркнули, что Spotify — это не только медиа, но и технологическая компания. Разработчики, которые хотят в нее устроиться, понимают, что точно будут расти, и это их мотивирует.

В целом, я думаю, что будущее за open source проектами. Над их разработкой в одно и то же время может работать много людей, а это минимизирует количество ошибок и позволяет быстрее внедрять новые функции.

С учетом большой нагрузки, остается ли у вас свободное время, и как вы его проводите?

Я провожу много времени с семьей и люблю путешествовать в другие страны. Летом занимаюсь яхтингом — в Нью-Йорке много небольших клубов, где можно выходить в залив на небольших яхтах. Иногда арендую яхту побольше — но это чаще бывает в Европе. Но в целом, свободного времени у меня не слишком много.

Другие спецпроекты
ПечатьПечать без изображений

Комментарии

Только зарегистрированные пользователи могут оставлять комментарий.

Регистрация
Авторизация

ПОДГОТОВЛЕНО ITWEEK EXPERT

 
Интересно
Четыре трансформационных ИИ-тренда в разработке ПО
В 2025 г. мы станем свидетелями значительных изменений, например, искусственный интеллект станет еще одним …
Rust — язык не новый. Почему он вдруг стал таким популярным?
Всплеск популярности Rust связан не только с безопасностью — он также вызван усталостью разработчиков …
Как повысить эффективность инфраструктуры с помощью OpenShift-V и программно-определяемой СХД
Решения с открытым исходным кодом обеспечивают более гибкую инфраструктуру, предоставляя больший контроль над развертыванием …
ИИ спамит Open Source-репозитории фейковыми запросами
По словам некоторых мейнтейнеров, искусственный интеллект используется для создания фейковых запросов в Open …
Векторные базы данных: основа инноваций в области агентного ИИ
Организациям следует уделить время и ресурсы технологиям искусственного интеллекта и векторных баз данных, пишет …