Олег Бартунов — научный сотрудник Московского государственного университета, генеральный директор компании Postgres Professional, Major contributor Postgres SQL и один из его создателей. А ещё он — лауреат первой Премии Highload++, существует с 2018 года. Мы расспросили Олега о том, каково быть лидером мнений в индустрии и что нужно делать, чтобы этого добиться.
Меня наградили самым первым
Необходимость Премии Highload++, назрела давно. Ведь у нас в России большое сообщество, и как любое другое, оно должно развиваться. Олег Бунин взялся за эту задачу и начал награждать людей, чтобы сообщество на них равнялось. Задача лауреатов — подавать пример, показывать, что нужно делать для сообщества и какое вознаграждение за это может быть.
Мне подавать заявку на Премию Highload++ не пришлось. Тогда организаторы и сообщество сами выбирали наиболее влиятельных в сообществе людей. Мне просто сообщили, что наградят и позвали на церемонию.
Я получил премию не только за вклад в Open Source в Postgres, но и за активное продвижение его в России. Практически на всех конференциях Highload я рассказывал о нём, чтобы донести до людей, что Postgres — это круто, делился новыми разработками и планами на будущее.
Я горжусь тем, что у нас в России очень хорошее Postgres сообщество, и что сам активно участвовал в его создании. Люди это отметили и это очень приятно.
Я получил премию в числе первых на премьере этого конкурса, наверное потому что моя фамилия на букву «Б», но мне все равно приятно :) Это здорово: много лет работаешь, а потом оказывается, что ты заслужил награду. Это ведь не государственная премия, где кандидатов выдвигают какие-то начальники. Выбирают люди, это народное признание. А значит ты свою жизнь прожил уже не зря. Можно говорить детям, что папа получил такой красивый почетный знак.
С каждым годом количество известных номинантов становится меньше, ведь премию вручают единожды.
Ощущаю не лидерство, но ответственность
Я не ощущаю себя лидером мнений, но осознаю свой опыт. Просто занимаюсь своим любимым делом, как и раньше. В нашей отрасли лидерство можно заработать только знаниями, опытом, работой в сообществе. Сообщество — самое главное в нашей жизни. Выступать на конференциях — это работа, важно делиться знаниями. Лидерство обязывает всё время доказывать, что ты чего-то стоишь. Сделать это можно только постоянной работой с комьюнити.
Некоторые считают, что выступая столько лет, каждый новый доклад для тебя ничего не стоит, но это неправда. Планка уже высока. Тысячи человек приходят послушать тебя и подвести их нельзя. Нужно тщательно готовиться, придумывать, что новое и полезное рассказать.
Я, например, не люблю говорить на темы, которые уже звучали, или объяснять туториалы. Я люблю рассказывать о том, что сделал лично, про своё участие — поэтому, наверное, на мои лекции и ходят. Промахнуться нельзя. Важно, чтобы люди узнали что-то новое от меня или разобрались в сложном вопросе.
Людей нужно вдохновлять
Если вы хотите стать лидерами в комьюнити, важна прежде всего открытость. Выступая, важно не цедить информацию. Людей нужно вдохновлять, давать какие-то инсайты. Не менее важно, чтобы у них осталось хорошее настроение, нести позитив. Не стоять как умный «душнила», если говорить современным языком, не смотреть на всех свысока. Ты делишься с такими же людьми, как и ты, отвечаешь на вопросы. А закончив доклад, всегда готов поговорить с аудиторией в кулуарах.
Важное качество — слушать людей. Ведь наша работа заключается в том, чтобы всем стало лучше, поэтому нужно постоянно получать обратную связь. В конце концов, мы занимаемся базами данных и, нам важны мнения.
Всегда приятно помогать — когда в глазах возникает понимание, ясность. Больше 20 лет занимаясь базами данных, живёшь в каком-то другом мире. Тебе всё понятно, многие вещи кристально ясны. Но нужно уметь спуститься к людям, у которых нет такого уровня экспертизы, знаний, опыта. Нельзя советовать прочитать книжку или документацию. Если спрашивают — отвечай.
Если узнали меня на улице — не стесняйтесь подойти
Мне задают много вопросов в переписке. У меня открыты все контакты и, наверное, запоминающаяся внешность. Даже на улице люди подходят, здороваются, говорят «спасибо», спрашивают что-то, фотографируются.
Это особенно греет, когда я гуляю с маленькими дочками. Дети видят, что чужие люди подходят, благодарят меня, и понимают, что их папа сделал что-то интересное, что-то важное. Поэтому я всегда говорю: увидели меня, подойдите, скажите спасибо, мне будет приятно.
Для детей важен пример. Важно, как живут родители, как к ним относятся. Например, старшая дочь узнала, что в Википедии есть про меня статья и очень этим гордится. Мне приятно, что дети понимают, что их папа работает не просто за деньги, за славу, а действительно делает что-то полезное людям.
Гамбургский счёт помогает разобраться кто есть кто в сообществе
Я по профессии астроном, а это наука о данных. Причем данных у нас было много ещё 40 лет назад. Тогда я задумывался, как с этими данными работать не на карточках, на которых делали записи, а в электронном виде.
Сначала перешли на перфокарты, перфоленты, магнитные ленты, потом появились магнитные диски. Я писал свои маленькие базы данных пока не попал в Америку и не узнал, что существуют специальные системы управления базами данных, которые позволяют работать с данными, а не писать для этого программы.
Я сразу начал работать с Open Source и увидел проблему — Postgres не работал с русскими буквами, был рассчитан на ASCII кодировку в 7 бит. И совершенно не был рассчитан на 8 бит. По принципу Open Source я взял и исправил это. Через какое-то время мне пришло в голову, что надо поделиться этим с людьми. В 97-м году я послал патч в сообщество и его приняли.
Наше сообщество очень консервативное. Патчи посылали в список рассылки. И сейчас делаем также. GitHub в нашем сообществе используется как зеркало. Раньше был CVS, а сейчас Git. Сообщество уникально тем, что не принадлежит никакой компании. Из-за этого его трудно купить, закрыть и так далее. И поэтому даже несмотря на то, что сейчас Россия находится в изоляции, наши патчи принимаются, обсуждаются, выносятся благодарности и так далее. Мы разделяем принципы опенсорсного сообщества и продолжаем работать с ним.
Единственная проблема: сейчас сложнее ездить на конференции. Раньше я всё время перемещался по миру и выступал. Но стало труднее, изоляция есть, но мы работаем и получаем каждый год медали за релизы. Последние пять лет их выдают людям, которые отличились. У меня таких четыре. У нас в компании есть люди, у которых их пять — полные кавалеры (смеётся). И это доказывает, что мы полноценные участники оперсорсного сообщества, а не просто зарабатываем деньги.
Мы можем выстроить наших ребят и все покажут свои медали. А можем попросить другую компанию показать их, и у неё не будет ни одной. Это называется гамбургский счет. Наверху, перед профильными министерствами люди могут пыжиться, говорить: мы самые лучшие контрибьюторы в Postgres, мы самые крутые. Но чаще всего это говорят продавцы: врут и не краснеют. А среди нас, разработчиков, есть гамбургский счет, количество коммитов, медали, чтобы понять кто есть кто.
Премия HighLoad++ тоже в своём роде гамбургский счет для разработчиков в широком смысле. Ведь это люди, которые не просто разрабатывают софт, а делают свои важные проекты. Мне хочется пожелать, чтобы дух этой премии не менялся, чтобы люди понимали, что если человек получил премию на HighLoad++, то это не за то, что он где-то щеки надувал, а за реальные достижения. Ведь довольно трудно измерить, насколько ты хорош. А народное признание помогает в этом разобраться.
Мой первый патч — самый важный
Я много лет не понимал, что мой самый первый патч, который позволил пользоваться продуктом людям из других стран, — самый важный. Ведь с его помощью Postgres стал международным, стали возможны другие языки и продукт. Этот патч открыл мне дорогу в сообщество.
Вместе с коллегами и друзьями я создавал инструменты, которых не хватало. Придерживался принципа: делай и делись. Это и есть Open Source. Оказалось, что сделанное для себя, интересно и другим.
Чем глубже погружался в Postgres, тем больше мне нравилось то, как он устроен, воплощённые в нём научные идеи и концепции. Я всю жизнь занимался наукой и взялся их развивать.
Например, концепция расширяемости: когда развиваешь ядро, чтобы позволить другим людям писать свои расширения, необходимые им для выполнения задач. Для этого им больше не нужно лезть в ядро, быть ядерным специалистом. API позволяет писать программки на C. Благодаря этому человек получает свободу.
Мне всегда нравилось делать что-то, что быстрее в 10 раз, 100 раз и так далее, и я много работал с индексами, осуществлял полнотекстовый поиск. Сейчас меня интересуют ещё и неструктурированные данные. Для этого мы сделали расширение Hstore, JSON. Несколько лет назад один разработчик из Cloudflare признался, что весь их проект начался с того, что они использовали наш Hstore.
У меня много планов на будущее. Прежде всего, я мечтаю написать свою базу данных. В нашей компании есть свой форк Postgres, который мы развиваем по принципу Open Source: пилим новые фичи для клиентов, какие-то из них потом отдаём сообществу.
Несмотря на то, что мы состоим в международном Open Source сообществе, мы — коммерческая компания, которая зарабатывает деньги на своих форках и фичах. То есть мы — прокси между большими клиентами и международным сообществом. Ведь Enterprise не может работать с сообществом. Он должен работать с некой компанией, которая удовлетворяет его интересы, осуществляет поддержку и так далее.
В этом году мы выпускаем неубиваемый кластер на Postgres, которому не нужны никакие дополнительные компоненты. Мы работаем над шардингом, встроенным в Postgres, чтобы он мог горизонтально масштабироваться.
У нас большая компания. Я концентрируюсь на том, чтобы у нас появилась отрасль СУБД-строения. Плохо, когда отрасль фактически зависит от одной компании. Есть, конечно, еще десяток российских Postgres. Это сейчас так модно: взял, скопировал Postgres, назвал его российским, зарегистрировался и пытаешься продавать. Это тоже хорошо. Конкуренты нас подстегивают. Но лучше, конечно, когда кодекс опенсорсной компании всё-таки соблюдают. Не просто объявляют себя кем-то, но и делятся своими разработками с сообществом. Пока что это делает только наша компания. В каждом релизе можно найти десятки фамилий наших разработчиков.
Нам нужны джедаи программирования
Меня серьёзно заботит развитие отрасли: хочется развивать научные школы. Мы хотим, чтобы у нас были университетские курсы. И не просто учили пользоваться базами данных, но и писать их. Чтобы появлялись компании, команды, которые могли бы писать свои базы данных.
Одна из моих мечт — создание школы системного программирования. Мы сейчас пытаемся открыть новую школу системного программирования в Московском государственном университете. Её цель — к традиционному фундаментальному образованию добавить фундаментальные понятия из айти, приложить практические задачи системной разработки, которые решаются прямо сейчас на переднем краю развития IT.
То есть чтобы студент выпускался с опытом реального программирования, уже зная индустрию, отрасль, какие задачи она решает. Например, если это системное программирование, то он должен знать, конечно, как программировать в ядро Unix, как работать с памятью, конкурентными процессами, сетью, дисками, понимать про виртуализацию и безопасность.
Таких людей у нас в стране очень и очень не хватает. У нас много PHP-шников, много питонистов, дата-сайентистов. Но людей, которые находятся в самом низу архитектурного стека, очень мало. А именно от них зависит вся технологическая состоятельность любой страны.
Я всегда говорю, что нас не видно, но мы в тельняшках, мы джедаи программирования, элита. Эту элиту и надо воспитывать. Таких людей не может быть много, но нам нужно сделать систему для поиска и обучения людей с подходящим устройством мышления.
Но мы пытаемся сделать школу, которая выпускала бы хотя бы 5-10 человек каждый год. Это будут люди, которые способны на что-то большое. Я призываю всех, кто считает, что они способны помочь, присоединиться к этому проекту. Это не проект нашей компании, это общий проект, важный для индустрии.
Нам нужны преподаватели, которые будут работать с этими школьниками, студентами. На текущий момент образование у нас зачастую поверхностное. В школе информатика даётся слабо. Хотя начиная с 9 класса бывают очень сильные ребята и их нужно поддержать, чтобы они потом шли прямо в нашу школу и осуществляли свою мечту. Становились людьми, которые могут сделать что-то системное.
Мы должны дать им такой курс информатики, в котором бы они уже получили фундамент. Системной разработкой трудно заниматься с поверхностными знаниями. Нужно знать фундаментальные работы Шеннона, фон Неймана, Тьюринга. Нужно понимать, как работает процессор на нижнем уровне.
Если вы спросите кого-нибудь на конференции, что происходит в операционной системе, когда запускаете программу, практически никто не ответит. Потому что все привыкли просто запускать. А человек должен знать, что происходит, когда компилирует программу, линкует, когда её запускает. Что происходит в системе? Как процессор вдруг понимает, что ему нужно выполнять какие-то инструкции?
Если ты не знаешь этого или не задумывался об этом, тебя не волновало это, то, наверное, тебе не надо в нашу школу. А меня, например, это грызет. Я сам, собственно, не очень-то хорошо знаю. Но мне всегда интересно разобраться.
Программирование для меня — это волшебство
Я начинал программировать еще тогда, когда вообще ничего не было. Я помню эти компьютеры, большие гигантские шкафы с памятью. В некотором смысле мне повезло: застал практически всю линейку. На моей жизни прошло развитие IT. И мне удалось усидеть в этой лодке, не выплеснуться.
Мне всегда хотелось программировать. Мы писали первые программы 40 лет назад и делились между собой. Я отношусь к программированию не как средству для зарабатывания. Это, конечно, тоже важно. Но я отношусь к нему как к романтическому занятию между тобой и.. чем-то волшебным, вечным. Ты сидишь, пишешь программу. У тебя есть, например, система, компилятор — всё, больше тебе вообще ничего не нужно. Ты можешь написать что-то такое, что сделает тебя волшебником.
Люди, которые не знают, что такое программирование, смотрят на тебя как на мага. Ты на клавиатуре что-то нажал, а потом раз — с одной стороны, денежки какие-то пошли за это, а с другой стороны, что-то работает. То, что сейчас есть в индустрии, сделали такие люди, как я.
Новым номинантам на Премию Highload++ советую просто контрибьютить, работать и не думать специально про премию. От них ничего не зависит. Всё зависит от людей. Бесполезно бегать и просить проголосовать за тебя. Всё должно идти так, как идёт. Люди должны голосовать. А ты — гордиться тем, что попал хотя бы в номинанты.
В этом году Премия пройдет при поддержке VK в рамках 20-й конференции HighLoad++. Уже 27 ноября, начнется торжественная церемония награждения, на которой будут объявлены имена новых лауреатов премии. Наряду с другими победителями будет объявлено имя того, кто получит награду в специальной номинации от VK — «Развивающие проекты». Спец номинация посвящена людям и проектам, которые помогают развиваться самим разработчикам, новичкам в IT и экспертных сообществах, а также специалистам в молодых цифровых профессиях и одаренным школьникам.
Комментарии (7)
JordanCpp
31.10.2023 10:26+10Мне всегда нравилось делать что-то, что быстрее в 10 раз, 100 раз и так далее
Насколько же редко, но и радостно услышать такие слова. Что хоть кто-то где то, ускоряет код.
napolskih
31.10.2023 10:26+1Олег реально вдохновляет! Счастлив что удалось пообщаться пару раз лично.
khatangatao
31.10.2023 10:26+1С удовольствием прочитал статью. Такие люди очень мотивируют, вдохновляют.
igorts
Как человек очень долго работавший с Oracle скажу, что Postgres во многом его обыгрывает!
На сегодняшний день в качестве реляционной СУБД не задумываясь выбираю и рекомендую заказчикам только Postgres!
insighter
Читал как Яндекс переходил с Оракла на Постгрес, сложилось впечатление, что с Ораклом только одна проблема - деньги и очень большие. В остальном либо на равных либо Оракл лучше
Если не ошибаюсь у них после перехода стало в два раза больше железа, но это "ничто по сравнению со стоимостью лицензий Oracle"
lazy_val
в три раза больше если быть точным
igorts
ну если чуток погрузиться в детали, то там читаем, что железо под Oracle было загружено под 100%, что из-за стоимости лицензий (а ценник нехилый и стоимость по количеству ядер), приходилось ограничивать количество железок и тд
по сути они не просто сменили субд но и поменяли техническую архитектуру