Pull to refresh

Майкл Махемофф: «Вы не можете учиться, только читая или слушая»

Reading time 8 min
Views 1.3K
Original author: Martin Hassman
Майкл Махемофф — авcтралиец, закончил Мельбурнский университет, сейчас работает в лондонском офисе Гугл. По словам Майка, его дальние предки были родом из России и Польши, но родители появились на свет уже в Австралии. На недавнем GDD Майкл произвел яркое впечатление. Харизматичный и эмоциональный, он выделялся даже на фоне традиционно сильных спикеров гугловской команды. Особенно это было заметно на хакатонах, где он был самым заинтересованным и активным участником из десятка присутствовавших гуглеров. Как мне кажется, Майкл Махемофф — одна из восходящих звезд нового поколения Google inc.
Интервью записано чешским блоггером Мартином Хассманом уже после GDDru
elgephest координатор Kyiv GTUG Center (за помощь в украинском переводе спасибо @MsCentaurea)

Майкл Махемофф работает в Google в качестве Chrome Developer Advocate. Он уже много лет пишет для Ajaxian, а также в 2006 году написал книгу Ajax Design Patterns, которая вышла в издательстве O'Reilly. Он автор таких полезных инструментов как ListOfTweets.com, а также забавного проекта IE6IsOlderThanYourGrandpa.com. Он ведет блог на Softwareas.com и активен в твиттере под ником @ mahemoff.

image
Майкл Махемов на JSConf2010
Ты уже пять лет пишешь для Ajaxian, т.е. ты внимательно следишь за развитием в этой сфере. Какие, по твоему мнению, самые важные изменения в JavaScript и AJAX произошли за последние пять лет?
Произошло много изменений, как в нашем понимании JavaScript, которые постепенно совершенствовались, появились, например, библиотеки и такие инструменты как jQuery и Firebug, существенно упростившие жизнь разработчиков. Еще одним преимуществом стало значительное повышение производительности. Но, по моему мнению, переломным моментом, после Ajax, стало появление в последнее время новых возможностей браузеров. Они внедряются в жизнь благодаря HTML5, CSS3 и другим связанным с ними технологиям, таким, например, как геолокационные сервисы (все эти технологии мы можем вообще для удобства назвать «HTML5»). Ведь раньше, как бы хорошо вы ни умели работать с JavaScript, они не давали вам возможности создавать видео и богатую графику. Чтобы получить свойства, которых требовали современные приложения, мы должны были прибегнуть к использованию плагинов, хаков и воркераундов. Теперь, благодаря HTML5, мы смогли создать много прикладных программных интерфейсов / API, поддерживающих эти возможности и имеющих открытые стандарты. В отличие от предыдущих методов, они основываются на открытых стандартах и обычно являются быстрыми, безопасными, более мощными, а также простыми в работе для разработчиков.

image
Майкл и Пол Кинлан на московском хакатоне (11.11.2010, GDDru)

В дополнение к программированию, ты изучал психологию. Что общего между этими предметами?
Многое. Например — искусственный интеллект, который всегда существовал на пересечении этих сфер и остается увлекательной темой для исследований. Но в течение последнего десятилетия, Взаимодействие с пользователем вышло на передний план, покинув сугубо исследовательскую нишу и став ключевой дисциплиной или подотраслью современного программирования. Теперь мы постоянно встречаемся с отзывами на продукты, и одним из факторов который в них фигурирует, является удобство таких продуктов для пользователя; люди ожидают от программы интуитивно-понятного интерфейса. А создать такой интерфейс можно, только хорошо понимая особенности человеческой психологии. Психология не оперирует голой теорией, а является дисциплиной, основанный на фактах.

Ты написал книгу о Ajax Design Patterns. Каким образом от программирования и ведения блога ты перешел к написанию книги?
Основой для книги стали мои посты в блоге на ту же тему. Я загорелся идеей после того, как увидел, что в языке окончательно закрепился термин Ajax. Люди заинтересовались, в моем блоге речь шла о нескольких актуальных сайтах (Delicious Popular т.п.), и издательство O'Reilly обратилось ко мне с предложением написать книгу. Я продолжаю публиковать в своем блоге отрывки из материалов, вошедших в книгу, она полностью изложена в вики-стиле. Если я буду писать еще одну книгу, то, наверное, постараюсь избегать вики-стиля и больше сосредотачивать свои усилия на блоге или хотя бы вики с комментариями. Мне кажется, что это наилучший способо для получения обратной реакции от читателей, ведь люди редко редактируют длинные статьи, которые преимущественно написаны одним человеком и выражают лишь его мнение. (А если и редактируют, то в половине случаев это просто спам!)

Ты некоторое время работал над TiddlyWiki. Это немного странный проект, не так ли? Что тебе в нем нравится?
Да, я работал над TiddlyWiki в Osmosoft, инновационной группе в составе British Telecom (BT), возглавляемой основателем TiddlyWiki, Джереми Растон. Но фактически я начал работать над кодом значительно раньше, когда писал статьи для Ajax Design Patterns. Да, это очень специфический проект. Я шучу, что я — один из немногих людей в мире, кому заплатили за создание интернет-приложений, работающих с форматом URI. По своей сути TiddlyWiki является одностраничным приложением, созданным путем объединения HTML, CSS, и JavaScript в одном файле. Уже только это было инновацией, когда мы впервые создали такой файл. Но что в действительности его отличает, так это его способность сохранять данные на локальный жесткий диск, без всяких расширений браузеров, а также без использования в автономном режиме API с HTML5. Это возможно благодаря использованию ActiveX в Internet Explorer, собственным API Mozilla в Firefox, и благодаря дополнительному встроенному файлу в других браузерах. Это значит, что вы можете легко создавать устойчивые веб-приложения и даже «партизанские» многопользовательские приложения, просто изложив HTML файл на диске с общим доступом. Другой интересной функцией является система плагинов. Хотя TiddlyWiki по умолчанию имеет вид персональной страницы вики, вы можете превратить ее в блог, слайд-шоу или что-либо другое. Я записал демо, на котором показано, как создать форум за 15 минут. Для этого также использованы TiddlyWeb, таким образом форум полностью находится на сервере, хотя он и создан на основе файла URI.

image
Майкл на хакатоне Kyiv GTUG Center (Киев, 23.10.2010)

Ты любишь хакатоны. В чем, по твоему мнению, их сила?
Да, некоторые хакатоны мне действительно нравятся. Программирование, как дисциплина, имеет и сильные, и слабые стороны. Главной сильной стороной является то, что можно создать нечто совершенно потрясающее за один единственный день! Или, даже если большинство людей и не могут создать нечто законченное за один день, то что-то у них все же получится и, при этом, они многому научатся в процессе. Таким образом, хакатон является триумфом удивительного создания чего-то нового. Ведь мы можем начать день, посеяв зерно идеи, а уже вечером увидеть ее непосредственное воплощение! Такова природа программирования: непрерывный поток информации и созидания. Во всем этом есть также и социальный аспект — завести новые знакомства, поработать в команде, обменяться опытом и научиться чему-то друг у друга. И этих целей можно достичь настолько, насколько этого захотят пользователи: ведь некоторые предпочитают индивидуальную работу, и это тоже прекрасно. В любом случае важная особенность программирования состоит в том, что вы не можете научиться программировать просто читая или слушая. Мы можем спорить по поводу причин, но большинство разработчиков согласятся со мной, что вы сможете понять принципы работы, лишь закатав рукава и работая над созданием настоящего кода. Хакатоны является идеальной средой для такой работы, безопасной гаванью, где полученный результат не столь критичен, зато есть много возможностей получить помощь и обратную реакцию.

Какой из хакатонов, в котором ты участвовал, был самым длинным?
В Bт мы практиковали гибкий подход, были насыщены событиями три дня. Весь смысл заключался в том, чтобы собрать вместе всех заинтересованных в проекте и привлечь внимание пользователей, чтобы работать с ними вместе и чтобы они сразу тестировали наши новые наработки. Мы могли обсуждать наши идеи и выводить их на новый этап воплощения. Не все шло гдако. Я чувствовал, как порой нам было нужно больше разработчиков, чтобы достичь правильного баланса сил, принимая участие в таком мероприятии, ориентированном на создание реальных продуктов и презентацию этих продуктов конце каждого дня. Некоторые огорчались, что именно так ПО должно функционировать ежедневно, а не только в исключительных случаях, но я считаю, что в многоуровневой мультинациональной корпорации такие «большие взрывы» является самым лучшим и эфективным методом. Я верю, что это правильный принцип, а такие ивенты действительно полезны для компании.

Итак, в Osmosoft проводились хакатонах внутри компании? Почему, собственно, компаниям следует проводить хакатоны?
Да, они невероятно эффективны, и мы проводили их примерно раз в месяц, поскольку в Osmosoft было много внутренних клиентов и внешних партнеров. Замечательные воспоминания! Мы встречали клиентов утром, обычно приходило несколько человек. Мы согласовали сценарий проведения мероприятия, обсуждали идеи и расставляли приоритеты, а затем приступали собственно к хакатону и кодированию. Сессии программирования продолжались час или два, начиная с 10 часов утра, и продолжались до 7 вечера, когда мы представили результаты своей работы. Между сессиями мы проводили дискуссии, чтобы координировать свои действия и спланировать следующую сессию. В идеале мы постоянно заходили на GitHub или подобные сервисы, а также твитили о событии. Окончательной целью было не только представить результаты нашей работы, но и до завершения мероприятия предоставить публичный доступ к веб-приложения, которое мы разработали (хотя на практике это удавалось не всегда).
Нужно отметить два важных момента. Во-первых, мы могли работать очень быстро, таким образом часто удивляя наших клиентов. Причина в том акценте, что мы делали на повторном использовании — каждый новый проект был возможностью не только создать новое приложение, но и целый ряд новых компонентов, которые могли бы использоваться в других проектах. Не грандиозная техническая разработка, а именно такой 50-строчный плагин, как TiddlyWiki стал на сегодня чем-то действительно полезным. Это мог бы быть плагин для комментирования, графический редактор или текстовый счетчик. Во-вторых, поражала сама открытость, которая сопровождала процесс создания компанией новых продуктов. Мы могли себе это позволить, поскольку создавали оболочку, которая базировалась на плагинах. Osmosoft как компания-разработчик открытого программного обеспечения создавала компоненты с открытым кодом, а также приложения, котріе по сути являлись лишь сочетанием этих компонентов. На этом этапе BT могла использовать полученные разработки и приспособить их под собственные нужды, как и любая другая компания (как наши внешние партнеры) могла пользоваться ими. Конечно, на практике, мы были лишь частью BT и обеспечивали непосредственную поддержку в кастомизации и распространении приложений. Но мы показали, что даже крупные компании могут работать с открытым программным обеспечением, а также продемонстрировали преимущества хакатонов.

image
Киев 23.10.2010

Ты начал работать в корпорации Google весной этого года как Chrome Developer Advocate. Как ты получил эту должность? Ты сам захотел работать в Google или тебя пригласили сотрудники компании?
Кто-то из Google пригласил меня принять участие в конкурсе на эту должность, а потом я прошел через стандартную процедуру отбора.

Chome поддерживает расширения, как и многие другие браузеры. Но в каждом браузере они реализованы по-своему. Не имеет ли смысл унифицировать интерфейс, чтобы разработчики имели возможность писать расширения один раз и не приспосабливать их под каждый браузер?
Очевидно, положительным решением было бы писать расширения один раз и запускать для многих браузеров; что было бы огромным плюсом для веб-программирования вообще. Недостатком был бы риск преждевременно прекратить развитие инновационного процесса. Механизм расширений для Firefox позволил создать такие замечательные вещи как Firebug, но в то же время был сложным для повседневной работы веб-разработчиков и нуждался совершенствования, так было еще очень рано стандартизировать определенные вещи. Я надеюсь, что теперь, когда Chrome имеет расширение оболочки, удобное для веб-разработчиков, Mozilla является JetPack, а Safari и Opera также имеют определенные механизмы расширений, люди начнут рисовать диаграммы Венна и пытаться найти общее основание для работы со всеми браузерами. Но только в том случае, если это не помешает браузерам поддерживать инновации и развиваться. Недавно Chrome представил расширения, которое позволяет добавлять команды расширения в контекстное меню; это один из примеров непрерывного совершенствования, которому не должен мешать процесс стандартизации.

Как много GDD ты посетишь этом году в роли докладчика?
Я буду выступать как докладчик на трех GDD, которые пройдут в Европе (в Мюнхене, Москве и Праге), на каждом из мероприятий с двумя докладами: Расширение под Google Chrome и HTML или Native для Mobile Development. Второй доклад я буду делать вместе с Android-адвокатом Рето Мейером, поэтому, думаю, доклад будет интересным.

Ты когда-нибудь был в Праге или это твоя первая поездка? Чего ты больше всего ожидаешь?
Я не был в Праге, и эту поездку жду с нетерпением. Наиболее интересным для меня событием будет пре-GDD ивент, организованый GTUG. В Чешской Республике безусловно существует сильное сообщество девелоперов, поэтому я с нетерпением жду встречи с местными разработчиками и хочу увидеть, чем они меня удивят.

Мартин Хассман вел интервью с Майклом Махемофф перед его поездкой в Прагу

Фото с московского и киевского хакатонов.
Tags:
Hubs:
+26
Comments 27
Comments Comments 27

Articles