www.samag.ru
     
Поиск  
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Сетевой агент
О журнале
Журнал «БИТ»
Информация для ВАК
Звезды «СА»
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Мероприятия
Форум
Опросы
Ищу/Предлагаю работу
Спроси юриста
Игры
Контакты
   
Слайд шоу  
Представляем работы Виктора Чумачева
Виктор Чумачев – известный московский художник, который сотрудничает с «Системным администратором» уже несколько лет. Именно его забавные и воздушные, как ИТ, иллюстрации украшают многие серьезные статьи в журнале. Работы Виктора Чумачева хорошо знакомы читателям в России («Комсомольская правда», «Известия», «Московские новости», Коммерсант и др.) и за рубежом (США, Германия). Каждый раз, получая новый рисунок Виктора, мы в редакции улыбаемся. А улыбка, как известно, смягчает душу. Поэтому смотрите на его рисунки – и пусть у вас будет хорошее настроение!

  Опросы
Дискуссии  
17.09.2014г.
Просмотров: 14827
Комментарии: 3
Красть или не красть? О пиратском ПО как о российском феномене

Тема контрафактного ПО и защиты авторских прав сегодня актуальна как никогда. Мы представляем ...

 Читать далее...

03.03.2014г.
Просмотров: 18764
Комментарии: 1
Жизнь под дамокловым мечом

Политические события как катализатор возникновения уязвимости Законодательная инициатива Государственной Думы и силовых структур, ...

 Читать далее...

23.01.2014г.
Просмотров: 26805
Комментарии: 3
ИТ-специалист будущего. Кто он?

Так уж устроен человек, что взгляд его обращен чаще всего в Будущее, ...

 Читать далее...

1001 и 1 книга  
16.02.2017г.
Просмотров: 3974
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 6806
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 8910
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 10508
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 7325
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 Александр Коротков: «Open Source с хорошим сообществом, даже если это работа на энтузиазме, стоит того, чтобы инвестировать в него свое время»

Архив номеров / 2017 / Выпуск №7-8 (176-177) / Александр Коротков: «Open Source с хорошим сообществом, даже если это работа на энтузиазме, стоит того, чтобы инвестировать в него свое время»

Рубрика: Разработка /  Вектор роста

Александр Коротков:
«Open Source с хорошим сообществом, даже если это работа на энтузиазме, стоит того, чтобы инвестировать в него свое время»

Александр рассказал «Системному администратору» о том, с чего начинался его путь в PostgreSQL, какие мотивы им двигали, каким требованиям должен отвечать молодой ИТ-специалист, чем привлекательна карьера в Open Source итрудно ли совмещать ведущему разработчику профессиональную деятельность и увлечения

Александр Коротков
Александр Коротков, сооснователь и руководитель разработки компании Postgres Professional. Один из трех российских разработчиков PostgreSQL в статусе Major Contributor. Окончил МИФИ с красным дипломом, защитил кандидатскую диссертацию по алгоритмам для пространственного поиска и нечеткого поиска строк, вошедшим в состав PostgreSQL. Также является автором инфраструктуры расширяемости индексных методов доступа, многочисленных улучшений дляGiST и GIN-индексов, оптимизаций для многоядерных архитектур и многих других улучшений PostgreSQL

– Александр, каким было начало вашего пути разработчика PostgreSQL?

– Я познакомился с «Постгресом» еще в студенческие годы, тогда использовал его в учебно-исследовательских работах и для разработки веб-приложений. Уже на том этапе он мне понравился своей строгостью, следованием стандартам, расширяемостью и гибкими возможностями индексирования. Начал разрабатывать «Постгрес» я достаточно спонтанно, когда обнаружил недоработку, связанную с некорректным вычислением расстояния Левенштейна для строк вмультибайтовых кодировках. Например, в utf-8 русские символы представлены двумя байтами, и, соответственно, это расстояние уже вычислялось неправильно. В то время я учился в аспирантуре и мне были интересны различные способы нечеткого поиска строк. Я увидел, что мне вполне по силам поправить эту недоработку и сделал свой первый патч.

– Но в то время еще не было документации на русском языке по «Постгресу», не было обучающих курсов.

– Материалов по всегда было достаточно, если учитывать англоязычные ресурсы. А программисту без технического английского двигаться невозможно. Поскольку я интересовался «Постгресом», то следил за всем, что появляется винтернете на эту тему, и мое внимание привлек блог Олега Бартунова (генеральный директор Postgres Professional). Мы познакомились с ним в 2010 году, когда у меня уже были приняты первые патчи в «Постгрес».

Я с ним списался, приехал в ГАИШ (Государственный Астрономический Институт имени П.К. Штернберга), мы начали обсуждать различные интересные задачи и тогда же решили, что мне стоит участвовать в программе Google Summer of Code. Тогда же я познакомился с Федором Сигаевым (технический директор Postgres Professional Разработка). Общение с Олегом и Федором мне очень помогло, особенно на начальном этапе.

Например, что касается Google Summer of Code, именно благодаря Олегу я понял, что это вполне реально – просто подать заявку и участвовать в программе. До этого в интернете встречал упоминания о такой возможности, но это казалось чем-то недосягаемым, казалось, что этим занимаются какие-то небожители... Так что меня очень здорово подтолкнуло то, что я понял: если ты просто грамотно составляешь заявку, то вполне можешь пройти отбор.

– Расскажите подробнее про ваше участие в программе Google Summer of Code?

– Можно сказать, что это было моим первым знакомством с международным сообществом. Google Summer of Code – это замечательная программа Google, которая поддерживает развитие Open Source и вовлечение в разработку новых людей. А новых людей проще всего увлечь, пока они еще молодые, поэтому программа рассчитана на студентов.

Она проходит в несколько этапов. Вначале Open Source-проекты подают свои заявки в Google, где организаторы выбирают, какие проекты одобрить, и выделяют квоты мест – сколько студентов каждый из проектов сможет принять. Потом уже студенты присылают свои заявки, и потенциальные руководители выбирают, какие заявки студентов им понравились. Летом начинается непосредственная работа над выбранными проектами, за которую студенты получают стипендию.

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

Я принял участие в Google Summer of Code в 2011 году с проектом по реализации алгоритма ускоренного построения GiST-индексов. Для заявки на тот момент у меня уже был неплохой задел: и принятые в «Постгрес» патчи, и публикации, и награды. На Google Summer of Code моим ментором был Хейки Линнакангас – это коммитер PostgreSQL из Финляндии, очень сильный разработчик. Он мне подсказал многие вещи, общение с ним было очень продуктивным, и мы до сих пор в хороших отношениях.

– Далее вы защитили кандидатскую диссертацию?

– Да, защитил диссертацию, и ее предмет как раз связан с моим вкладом в «Постгрес». Это усовершенствования по нечеткому поиску строк и по пространственному поиску, который, в том числе, применяется в геоинформационных системах. Научным руководителем работы был Панферов Виктор Васильевич, доцент, заведующий кафедрой информационных систем и технологий МИФИ.

В 2012 году я первый раз попал на конференцию разработчиков «Постгреса» PgCon, которая проходит в Канаде, в городе Оттава. Там рассказал про свою работу, связанную с индексным поиском по регулярным выражениям. Это было довольно необычно, потому что PgCon – это чисто техническая конференция разработчиков и пользователей PostgreSQL, а я там выступил с работой, которая, помимо практической реализации, содержала научную новизну. Но сообщество отреагировало благосклонно, выступление вызвало большой интерес, было много вопросов. После окончания конференции состоялось не слишком долгое обсуждение работы в mailing list, после чего мой патч был принят.

– Во время работы были ли у вас трудности и как вы их преодолевали?

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

Так, мой первый патч, по сути, был очень маленьким, но, тем не менее, мне пришлось неожиданно много над ним потрудиться. Ревю моего патча тогда делал довольно придирчивый член сообщества – Роберт Хаас, сейчас он уже коммитер. Но я тогда даже не мог себе представить, что в отношении новых каких-то десяти строк кода можно сделать так много замечаний… Плюс потребовалось исследование производительности, чтобы исправление ошибки не приводило к ееухудшению в тех случаях, когда старый код работал корректно. Таким образом, этот патч перерабатывался множество раз.

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

– Я бы рекомендовал им участвовать в опенсорсных проектах, особенно в проектах с развитым и зрелым сообществом, таких как «Постгрес». Потому что это отличный шанс поднять свой уровень.

Мне было бы интересно заниматься с молодежью, проводить занятия с людьми, которые только открывают для себя путь разработчика. Потому что это возможность на базовом уровне заложить в них правильное понимание, верный взгляд на вещи – и это бесценно

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

А когда человек начинает участвовать в опенсорсном проекте с хорошим сообществом, то быстро понимает, чего ему не хватает, чтобы стать разработчиком на мировом уровне. И он практически сразу может начать над этим работать. Онвидит свои недостатки.

Новичок сначала не может объяснить, что он хочет сделать. Не может грамотно сформулировать свои мысли, не говоря уже о том, чтобы изложить их по-английски. Не может предложить архитектуру решения и ее обосновать, написать качественный код, в котором и с наименованием переменных, и с форматированием все будет в порядке. Потом задокументировать его, написать хорошие и понятные комментарии. Провести исследование производительности, написать автотесты. Пока студент сдает зачеты и экзамены, немного для себя программирует или подрабатывает, он не замечает в себе этих недостатков и не понимает, что ему надо над ними работать. Поэтому Open Source с хорошим сообществом, даже если это работа на энтузиазме, стоит того, чтобы инвестировать в него свое время. Такого расширения кругозора нигде больше не получить, ни в институте, ни на специальных курсах. Это приобретается с большим опытом, но в Open Source это можно сделать гораздо быстрее.

– В 2015 году вы стали сооснователем и руководителем разработки компании Postgres Professional. Над чем вы сейчас работаете?

– Так или иначе я задействован во всех проектах разработки в нашей компании. С разработчиками мы вместе обсуждаем задачи, зачастую мне необходимо обратить внимание на неочевидные вещи, от которых будет зависеть дальнейшее направление работы.

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

Также я работаю над in-memory-движком, который должен стать первым примером подключаемого хранилища для PostgreSQL. На его примере будет создано API, которое мы будем использовать при разработке других типов хранилищ.

У меня еще есть несколько сравнительно небольших патчей, которые тоже требуют моего внимания, например инкрементальная сортировка. Кроме этого, я занимаюсь ревью патчей других разработчиков и веду работу с сообществом.

– Остается ли у вас время на увлечения, например путешествия?

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

– Насколько я понимаю, вы готовы передавать свой опыт и уже три раза становились ментором в программе Google Summer of Code. А поддерживаете ли вы контакты со своей кафедрой в университете?

– С кафедрой я долгое время поддерживал отношения, вплоть до середины 2016 года преподавал как совместитель, на четверть ставки доцента. Но, когда пошел процесс реорганизации в университете, кафедра пережила слияние с другим подразделением и оттуда ушли практически все люди, которых я знал и с которыми работал. Поэтому моя привязанность к кафедре сама собой пропала, к тому же выросла нагрузка на основном месте работы, и на текущий момент я вМИФИ не работаю.

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

Подготовила Наталья Пискунова


Комментарии отсутствуют

Добавить комментарий

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

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru