Алексей Миловидов — разработчик и создатель технологии ClickHouse. Проект получил больше $2 млрд инвестиций. Эта распределенная аналитическая система управления базами данных с открытым исходным кодом используется компаниями со всего мира. Она столбцовая и позволяет онлайн обрабатывать аналитические запросы. Значения из разных столбцов хранятся отдельно, а данные одного столбца - вместе. За этот вклад в Open Source сообщество Алексея наградили Премией Highload++. Мы узнали у лауреата, каким был его путь, что помогло ему создать такой сложный и успешный продукт. Меня наградили премией в 2019 году. Конкурса тогда ещё не было — отмечали значимых в сообществе людей по результатам опроса. Когда узнал, что стал лауреатом, конечно, обрадовался — наша отрасль довольно большая, в ней много направлений и людей, которые занимаются интересными вещами. Одно из них — server-side разработка бэкенда, в котором, в свою очередь, есть направления ещё меньше — базы данных для аналитики. В нём я и получил признание за ClickHouse. Но, как мне кажется, у каждого человека, который занимается технологиями, всегда присутствует синдром самозванца. Я чувствую его, например, когда вижу себя в одном списке награждённых премией с Олегом Бартуновым — одним из ключевых разработчиков СУБД PostgreSQL, или с Игорем Сысоевым — разработчиком и создателем Nginx. Я думаю: «Ого, и меня туда же!». Осознание, что меня тоже признали лидером отрасли вдохновляет, но это постепенный процесс. Многие люди, которые делают классные вещи, боятся о них рассказывать. Это неудобно и трудно. У любого доклада всегда бывают и плохие отзывы, но если очень качественно сделать доклад, то получишь преимущественно позитивный фидбек.  Чтобы стать лидером в индустрии, нужно иметь фанатическое упрямство. Лидер отрасли — это человек, который планомерно занимается одним и тем же делом, потому что хочет сделать его идеально. Возможно, это даже выглядит глупо, особенно если это небольшая технология для конкретной задачи. Постепенно вокруг него появляются другие люди и технологии. А он продолжает непрестанно бить в одну точку. И что интересно, на большом интервале времени это работает. Но длинную дистанцию мало кто выдерживает. Но важна востребованность технологии. Здесь, мне кажется, никакого рецепта нет. Нужно найти свою нишу — часто, это вопрос везения и стечения обстоятельств. Внезапно может оказаться, что ты долгие годы занимался именно той сферой, где было необходимо продвинуться вперед и именно ты это сделал. Например, в большой компании есть какая-то проблема, которую можно решить. Но именно в этих условиях сделать этого никому не удавалось. Так рождаются новые технологии и решения.  По образованию я математик, но по складу ума скорее нет. Со мной учились люди, которые интуитивно понимали эту область в тысячу раз лучше. Но мне очень нравятся изящные решения, самодостаточные и минимальные алгоритмы. Поэтому разработчиком я хотел стать сколько себя помню. Наверное, потому что ничего другого, особенно, и не получается. А тут можно просто перекладывать байтики, и оказалось, что я это умею лучше всего. На последнем курсе решил отправить резюме в три компании. Одной них была «Яндекс». Там предлагали чуть меньшую зарплату, но я подумал, что можно попробовать, ведь там классная команда. Другим вариантом была компания, которая разрабатывала игры, а я всегда хотел этим заниматься. Но решил пожертвовать интересом, попробовать Яндекс и не пожалел. Сейчас занимаюсь серверной разработкой на C++ и обработкой данных, можно сказать, data intensive applications. Фанатею от баз данных и обработки данных. Но моя первая работа была в «Яндекс Метрике». Там также есть фронтенд, и находится этот сервис в предметной области веб-технологий. То есть мне нужно было разобраться с тем, как работает интернет, какие там протоколы, как идут запросы. В этом мне помог школьный опыт по изготовлению сайтов.  Идея ClickHouse пришла во время работы в «Яндекс», где я занимался продуктом под названием «Яндекс Метрика». Эта метрика измеряет клики, посещения страниц из интернета — всё, до чего можно дотянуться. Эти данные метрика обрабатывает и предоставляет подробные отчеты. Но проблема в том, что данных очень много, а отчеты надо получать быстро. Сейчас в этом нет ничего удивительного: подумаешь, быстро обрабатывать данные. Но особенность в том, что тогда никакие системы не работали именно так, как нам нужно. И сейчас ClickHouse — это лучшая система именно для таких задач. Когда у вас поступают события, логи, метрики, похожие данные, их постоянно в реальном времени нужно загружать в базу данных, там хранить триллионы этих строк и одновременно делать запросы, чтобы из этих данных получать интересные инсайты. Технологию я разрабатывал самостоятельно постепенно с конца 2008-го года. Будучи разработчиком в Метрике, мне хотелось сделать сделать в продукте какую-то новую фичу. Я постоянно проявлял инициативу, придумывал идеи. Мне захотелось сделать конструктор отчетов, где любые произвольные критерии можно выбирать для фильтрации и агрегации данных, а главное, чтобы всё это быстро работало. Думая, как это сделать, читал материалы, некоторые из которых меня зацепили и я стал пробовать что-то сделать самостоятельно. В конце концов создал прототип очень простой системы, которая решает только одну задачу, но зато быстро. Решение называлось OLAP Server. Увидев, что оно прекрасно работает, захотелось большего. Я начал искать способ обобщить систему. Это была уже не рабочая задача. В 2010-2011-х годах я попытался написать что-то похожее на реляционную базу данных, чтобы там можно было создавать таблицы, был доступен язык SQL или хотя бы похожий на него. В 2012-м мне наконец это удалось, я показал ClickHouse и мы пробно выкатили его в продакшн «Метрики» для одной задачи.   Благодаря ClickHouse в «Метрике 2.0» пользователи сайтов или сервисов могли самостоятельно конструировать свои отчеты и как угодно их модифицировать. Дальше продукт постепенно обрастал новыми функциями. Постепенно его начали использовать в «Поиске», «Маркете», рекламных технологиях и бизнес-аналитике, инфраструктурных проектах. Причём команды могли использовать продукт уже без моего участия. Проект выложили на GitHub, чтобы больше людей могли пользоваться технологией.  В 2021 году я покинул «Яндекс», чтоб развивать ClickHouse как самостоятельный продукт. В компании организовали всё для того, чтобы я мог этим заниматься. Сначала в команде компании было 15 человек, сейчас — 140.  Для меня важно продолжить развивать основной продукт — ClickHouse облако и ClickHouse в целом, чтобы он рос на рынках разных стран. Сейчас система довольно популярна в России и СНГ, в Китае, её более-менее знают в Европе, но в США — гораздо меньше. При этом перспективы для роста у проекта довольно большие. Их надо использовать по мере возможности, потому что есть и конкуренты, и много проблем в самом продукте, которые нужно решать. Но я вижу, что его можно вырастить, потому что это бесспорно лучшая технология в своей нише.  Чтобы стать лидером и добиться признания своего продукта, постарайтесь сделать что-то действительно классное — лучше, чем все возможные альтернативы. Безусловно, скептики будут говорить: «все эти технологии давным-давно придумали», Но вместо того, чтобы бросать задуманное, посмотрите на эти технологии внимательнее, сравните их и попробуйте понять, что у них внутри, как они работают.  Постарайтесь подойти творчески. Иногда нужно попробовать объединить что-то, что не сочетается или придумать какую-то хитрость. Но только так вы сможете сделать технологию, которая действительно будет использоваться всеми. Я постоянно вижу такие проекты. Например, интерфейс для отображения карт Leaflet. Таких примеров очень много: верьте в себя и делайте. В этом году Премия пройдет при поддержке VK в рамках 20-й конференции HighLoad++. Уже 27 ноября, начнется торжественная церемония награждения, на которой будут объявлены имена новых лауреатов премии. Наряду с другими победителями будет объявлено имя того, кто получит награду в специальной номинации от VK — «Развивающие проекты». Спец номинация посвящена людям и проектам, которые помогают развиваться самим разработчикам, новичкам в IT и экспертных сообществах, а также специалистам в молодых цифровых профессиях и одаренным школьникам.  редактор