
В какой-то момент текущей реальности мы пришли к тому, что большинству IT-компаний абсолютно необходимо поддерживать свой внешний бренд через неочевидные инструменты. Многие компании находят свой путь к социальной ответственности: кто-то сажает деревья, кто-то помогает животным, и это прекрасные и нужные инициативы. Для нас, как для инженерной компании, самым органичным способом сделать мир лучше всегда было то, что мы умеем — писать код и делиться им с сообществом. Но, как говорил, один известный финно-шведско-американский великий программист: "Talk is cheap, show me the code".
И пока одни только в начале пути, мы в Postgres Professional делаем именно то, что всегда ценилось в IT больше любых слов: пишем код, делимся им со всем миром, вкладываемся в развитие людей и стараемся своим примером показывать что так можно и нужно. И вот для всего этого мы открыли новый офис в новосибирском Академгородке. Почему именно там, какие цели мы преследуем и причём тут технологии завтрашнего дня — про это следующие несколько страниц.
Open Source как образ мышления, а не маркетинговый лозунг
Давайте честно, фразы а-ля «Мы поддерживаем open source, контрибьютим в N проектов и трудоустроили Х разработчиков» сейчас уже прочно вошли в гигиенический минимум любой более-менее взрослой IT-компании. Само по себе это ни плохо, ни хорошо, это просто факт. Разные версии этой фразы легко находятся в пресс-релизах, доносятся через доклады на конференциях, обсуждаются в подкастах с представителями компаний любых размеров и так далее.
С одной стороны, это хорошо: open source стал профессиональным. Основной вклад в большие и серьёзные проекты теперь вносят программисты, сидящие на зарплате, работа которых заключается именно в развитии какого-то открытого проекта. Времена, когда балом правили не спящие по ночам люди с красными глазами под энергосами, прошли, и процесс стал более предсказуемым.
С другой стороны, громкие PR-лозунги во многих случаях так и остаются лишь громкими лозунгами. После красивой речи создаётся репозиторий, туда выкладывается код прототипа не первой свежести, а сам код или закрыт лицензией для модификации, или коммиты в него рассматриваются месяцами. Словом происходит типичная ИБД, позволяющая поставить галочку в годовом отчёте о проделанной работе, а реальный вклад в развитие значимых открытых проектов исчезающе мал.
Мы в Postgres Professional с самого основания компании поставили себе цель не использовать PostgreSQL ради решения своих задач, а развивать его. Не просто создавать middleware, какие-то свои обёртки, драйверы и плагины, а системно развивать само ядро ванильного постгреса.
Именно в этой части нам уже доказывать ничего никому не надо ибо каждый желающий может самостоятельно посмотреть количество коммитов от наших сотрудников и проблемы, которые они решают. А авторов коммитов, кстати, только для 18-й версии было более 40-а. О самых интересных мы стараемся регулярно писать здесь в хабраблоге. И само-собой, мы принимаем активное участие в обсуждении новых стандартов, мейл-листах, различных коммитетах, а наши докладчики — желанные гости на любой конференции начинающейся со слова PGConf.
Да, у нас есть и свой коммерческий форк, наработки из которого никогда не будут приняты в ванильной версии, но будем честны: вряд ли кому в международном комьюнити интересны патчи, обеспечивающие работу согласно требованиям ФСТЭК или оптимизирующие работу для использования с 1С.

Поэтому, с учётом вышеперечисленных причин, мы считаем, что у нас работают не просто разработчики баз данных, а настоящие системные программисты, разрабатывающие фундамент всей IT-индустрии, как бы пафосно это не звучало. Они пишут код ядра постгреса, отлаживают алгоритмы планировщика, шлифуют оптимизатор, систему хранения, методы репликации и прочие вещи, которые для многих классический чёрный ящик. Они просто скачивают постгрес и он просто должен работать. Прикладной разработчик совершенно не должен обладать знаниями уровня серьёзного DBA, просто чтобы использовать эту СУБД в пет-проекте.
Почему Академгородок естественный выбор и место силы
В своё время принятие решения об открытии офиса в новосибирском Академгородке не было случайностью или вопросом поиска самых дешёвых площадей в аренду. Для всех, кто там был совершенно очевидно, что это место буквально пропитано наукой: на его территории расположены десятки НИИ, Сибирское отделение РАН, включая такие махины как Институт ядерной физики, Институт катализа, Институт цитологии и генетики и так далее. Там же расположен Новосибирский национальный исследовательский государственный университет (НГУ).
Всё это создаёт атмосферу академичности, которой нет в перенасыщенной офисами IT-компаний Москве. Здесь рядом живут студенты, инженеры, доктора наук, аспиранты, исследователи и учёные. А что самое важное, они все находятся в постоянном контакте, обмениваясь знаниями и переплетаясь друг с другом мнениями. Поэтому вопросы фундаментальной разработки — такая же естественная часть местной экосистемы, как и вопросы фундаментальной физики, например.
Академгородок — это совершенно уникальное место, где классические лаборатории ядерной физики соседствуют со стильными коворкингами. Где проблема из одной научной области может быть решена благодаря исследованиям из другой, а случайная идея быстро вырасти в стартап. Здесь зародились десятки научных направлений и выросли поколения не только математиков и физиков, но и программистов. Поэтому для нас, Postgres Professional, это место оказалось естественной средой. Но уникальная среда — это в первую очередь люди. Поэтому наша главная цель в Академгородке — инвестировать в новое поколение системных программистов, тестировщиков, архитекторов и прочих специалистов заинтересованных в развитии именно фундаментальных технологий и решении их специфических проблем.
Так что открывая офис в Академгородке, мы строили не просто очередной филиал. Для нас это настоящий инженерный центр, где опытные разработчики из нашей команды будут развивать системные компоненты PostgreSQL, передавать свои знания студентам и где не надо будет объяснять зачем разбираться в алгоритме планировщика запросов, зачем понимать, как устроен WAL, и почему оптимизатор хранилища может экономить миллионы I/O-операций.
Словом, будем развивать системное программирование, проводить исследования, тестировать гипотезы масштабирования и, что самое главное, отдавать наработки в апстрим. Вернее, пытаться их отдавать. Потому что комьюнити постгреса устроено таким образом, что, прежде чем взять на себя поддержку твоего кода, ты сначала должен доказать его важность, актуальность и правильность именно твоей реализации. Что само по себе задачка со звёздочкой, о чём косвенно свидетельствует тот факт, что некоторые патчи принимаются годами.
И уже только потом громкие слова про продукт, которым пользуются миллионы разработчиков по всему миру.

Инвестиции в людей, а не только код
Мы в Postgres Pro давно пришли к пониманию, что развитие системного программирования невозможно без постоянного поддержания уровня интереса к нему среди молодых инженеров. Это довольно узкая и специфическая область знаний, поэтому всегда должен быть большой входной поток, чтобы на выходе из неё появлялись новые звёздочки. Поэтому компания год за годом последовательно развивает свои образовательные инициативы. Практически все они бесплатны, доступны всем желающим и известны в сообществе как лучшее из того, что было сделано на русском языке.
Давайте попробуем собрать примерный список этих инициатив, чтобы ничего не забыть по возможности:
Летняя школа Postgres Pro. Ежегодное мероприятие, где студенты интересующиеся системной разработкой получают возможность поработать над реальными задачами, под руководством наших менторов.
Учебно-научная лаборатория совместно с НГУ, где студенты занимаются исследовательскими проектами в качестве дипломных работ.
Исчерпывающая и постоянно поддерживаемая документация по актуальным версиям PostgreSQL
Открытая олимпиада школьников «Универсиада Алтая»
Свободно распространяемые книги, давно ставшие эталоном в индустрии СУБД, например «PostgreSQL изнутри» и «Основы языка SQL».
Несколько полноценных курсов с видеолекциями и учебными материалами, Начиная от базовой базы и заканчивая специфическими вещами для разработчиков приложений.
Целая программа для работы с вузами: от предоставления лицензий, до готовых курсов и конференции для преподавателей PGConf Academy.
Как видите, всё это можно было бы делать и в онлайне. Но офис в Академгородке даёт этим инициативам новое дыхание. Студенты НГУ, СибГУТИ, НГТУ могут прийти к нам в офис, открыть ноутбук и получить ответы на все вопросы или обсудить свои идеи с живыми людьми, а не с экраном.
От теории к практике и обратно к теории
Системное программирование — это не просто низкоуровневая разработка на малопопулярных языках (всеми силами осуждаем такие штампы, конечно). Эта область, где пересекаются наука и инженерия. Чтобы эффективно разрабатывать ядро СУБД, надо понимать устройство операционных систем, теорию построения СУБД, матаппарат, лежащий в её основе, как устроены модели консистентности данных, как работают кэши процессора и так далее.
Такие вещи невозможно уложить в вузовской программе на необходимом уровне погружения. Здесь требуется практика и, самое главное, живой опыт тех, кто пишет подобный код на постоянной основе. Поэтому наше мнение, что компаниям разделяющим схожие идеалы надо выходить за рамки классической парадигмы столичных офисов и приезжать в места подобные этому, где воздух пропитан идеями и надо помочь молодым специалистам с их реализацией.
Благодаря этому студенты Академгородка могут не просто читать статьи о постгресе или смотреть лекции, а воочию наблюдать как принимаются архитектурные решения, как пишется код для апстрима, как оформляются патчи и как проходить ревю.
Почему такие начинания важны для всей индустрии
Про необходимость развивать отечественное ПО, импортозамещение и другой цифровой суверенитет нам всем уже много раз говорили. И все уже согласились, что это крайне важно, и что давайте учить и развиваться. Но мало кто сказал важное: без фундаментальной школы системной разработки, это всё так и останется красивыми словами на бумаге.
Мы не хотим делать альтернативу ради альтернативы. Мы хотим делать продукт мирового уровня, который реально востребован и несёт в себе идеалы open source на практике, а не в теории.
Сейчас PostgreSQL — самая популярная СУБД в мире. И вклад российских программистов в её код и развитие огромен. Понятно, что все привыкли думать о международном комьюнити как о некой эфемерной сущности, которая существует сама по себе и почему-то иногда генерит какой-то код и даже выпускает релизы. Но в реальности у каждого коммита есть автор, и так уж получилось, что в истории постгресе действительно очень много наших соотечественников.
Но, как говорилось выше, системная разработка сложная область, и для многих молодых программистов она выглядит как нечто непостижимое. А ядро PostgreSQL, несмотря на всю свою открытость, — клинописью, доступной только мудрейшим седовласым старцам.
Вот с этой парадигмой мы и боремся. Сложное не значит недоступное. Сложное — это лишь повод разобраться и важно чтобы было у кого спросить совета во время этого процесса.
Поэтому новый офис — это не просто место со столами и халявным кофе. Это площадка для обмена опытом, на который у нас грандиозные планы. А Академгородок для нас видится идеальным местом для их реализации, чтобы стать частью местного культурного кода.
Вместо заключения: меньше слов, больше коммитов
В индустрии, где многие предпочитают красоту презентаций реальным делам, мы остаёмся (во всяком случае очень стараемся) адептами старой идеи: твой код говорит сам за себя. Поэтому мы открыли не ещё один филиал, а сделали новый шаг навстречу новым технологиям.