Восемь лет в Opera

Что это вообще было?

30 ноября 2016 мой последний день в команде Opera DevRel, в которой я проработал почти восемь лет. Такие большие жизненные этапы нужно закрывать, объяснять и закреплять в памяти.

Осторожно, сентиментально!

Смотрины

31 января 2009 года в Москве прошёл первый Яндекс.Субботник. На нём Вадим Макишвили настраивал IntelliJ IDEA‎ для вёрстки (предвосхищая WebStorm), Виталий Харисов читал сразу два доклада, а я рассказывал про укрощение Photoshop в докладе «С ножом против паровоза». Осталась запись доклада из Киева, куда мы потом в мае поехали на гастроли. На этом Субботнике, кроме обычной публики, было два подозрительных парня: Дэвид Стори и Олег Мельничук—они приехали из Осло на смотрины. Opera искала в России человека, который бы работал с местными разработчиками над совместимостью сайтов с браузерами Opera и я был одним из вероятных кандидатов.

Вадим настраивает редактор, Дэвид и Олег в четвёртом ряду справа и остальные фото Вадима Пацева с первого Субботника.

На том же субботнике меня поймал Илья Сегалович и начал расспрашивать про микроформаты, их перспективы и пользу для компании. Словом, выбор был непростой: я был очень доволен работой в Яндексе, но перспективы работы в международной браузерной компании затмили всё и я был готов уходить.

В то время я крутился в тусовке форума Webmascon. Мы тогда объявили себя российским крылом международной Web Standards Group Раса Уикли, но потом стали называться просто «Веб-стандарты». Через эту WSG нас и нашёл Дэвид Стори — нашёл и предложил вакансию Ольге Алексашенко. Оля в ужасе отказалась и спихнула всё на меня. Резюме, свёрстанное на HTML, пара телефонных собеседований и я уже лечу в Осло на последнее личное, чтобы узнать, чем же занимается команда, в которой мне предложили работу.

Команда

Проектом Open the Web в Opera занималось уже несколько человек и со временем команда росла. Всё это официально называлась Developer Relations, то есть связи с разработчиками. Суть работы казалась простой: находишь сайт, который не работает в Opera (или сайт находит тебя), связываешься с его разработчиками и убеждаешь их починить ошибку или намеренную блокировку. А ещё доклады, статьи, полный селф-менеджмент и удивительно свободное соотношение: 70% рабочего времени для веб-стандартов и открытого веба и только 30% для продвижения браузера. Меня назвали веб-евангелистом и 18 мая 2009 года взяли в команду.

Руководителем команды был Ян Стандал, но его вскоре сменил Андреас Бовенс, который все годы оставался моим бессменным начальником, но по сути—просто коллегой. Кроме Дэвида Стори, в команде было ещё пятеро британцев: двухметровый барабанщик и редактор Dev.Opera Крис Миллс, странный тип панковской наружности Брюс Лоусон, весельчак (и на самом деле немец) Патрик Лауке, занимавшаяся доступностью Хенни Свон и скорее уже японец Дэниэл Дэвис. Шветанк Диксит отвечал за Индию, Зибин Чен за Китай, а мне поручили заниматься Россией и странами СНГ. Чрезвычайно пёстрый коллектив.

Патрик, Андреас, Брюс, Крис, Зибин, Шветанк, Хенни, я, Дэвид и Дэниэл и остальные фото Патрика Лауке из той поездки.

Каждый в команде занимался своей областью, но время от времени все возвращались к проекту Open the Web, у Дэвида Стори даже должность была Web Opener—не отвертишься. А отвертеться хотелось: чем дальше, тем больше становилось понятно, что задача по исправлению веба неподъёмная. Красный график входящих ошибок в трекере давно разошёлся с зелёным графиком исправленных и им уже было не суждено пересечься.

Западные разработчики упорно не хотели считаться с независимым браузерным движком с долей 2%, и хотя в России с этим было проще, благодаря хорошей доле рынка, многие готовые западные решения, особенно банковские, были принципиально не готовы нормально работать в Opera. Чаще всего они не ломались, а просто блокировали браузер. Иногда помогал «троянский конь» browser.js, который включался на нужных страницах и всё исправлял, но это было как вычерпывать воду из тонущей лодки напёрстком.

В лучшие годы в команде работало до 13 человек: звезда веб-стандартов Молли Хольцшлаг, Тиффани Браун, Луз Кабальеро, Майк Тейлор, Карл Дюбост, Дивья Маньян и Матиас Байненс.

Команда в норвежских лесах и другие фотографии Патрика Лауке с той прогулки.

Но потом грянул 2013 год, смена движка и приоритетов — совместимость после отказа от собственного движка досталась нам просто так. Самые упорные сайты ещё боролись за право блокировать нас из-за не 100% идентичности Chromium, но потом сдались и они. От золотого состава команды осталось только пятеро: Андреас, Брюс, Шветанк, Матиас, да я. В последний год жизни команды её покинул и Брюс, переключившись на работу в отделе маркетинга как новоиспечённый заместитель технического директора.

Последний состав команды во время съезда в Осло.

Работа

Изначально вакансия была в Осло и предполагалось, что я перееду и буду удалённо следить за тем, чтобы русскоязычные разработчики вели себя хорошо. Затея мне показалась глупой (а может струсил?), поэтому я остался в Петербурге и почти всё это время работал удалённо прямо из дома. Не считая постоянных разъездов.

Неофициальный офис Opera в Петербурге.

Весной 2014 года я переехал в Осло, чтобы попробовать каково это работать из штаб-квартиры Opera. Не валил из рашки, но решил посмотреть на Европу не глазами туриста, а глазами жителя. У меня был план получше интегрироваться в компанию, поработать наконец-то с живыми людьми в опенспейсе и помочь Desktop Team, которая частично базировалась в Осло.

Это была не первая длительная поездка в Норвегию: в первый год работы я прожил месяц в Осло, чтобы получше узнать компанию, а в 2011 перезимовал там в рамках программы Bridge the World, которая позволяла сотруднику поработать в любом из офисов на выбор.

Вид на Осло с лестницы Оперного театра.

Составить представление о моей жизни в Осло можно по архиву коллективного Твиттера @jsunderhood, который я вёл в августе 2015. Особенно интересна среда, в которую я снимаю весь свой день от завтрака и видов города по дороге на работу на велике до интерьеров офиса и самого вечера.

После полутора лет в Осло я подвёл итоги: часть планов я выполнил, часть не состоялась по каким-то причинам, а часть работы, связанная с поддержанием связи с русскоязычным сообществом, и вовсе стала буксовать в силу удалённости от всех событий. Поэтому зимой 2015 года я собрал вещи и вернулся в Петербург.

Рабочее место в Осло.

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

  1. Совместимость сайтов,
  2. Поездки и выступления,
  3. Общение с разработчиками,
  4. Проекты и демки.

Главной же задачей для меня было представлять браузер для разработчиков. Чтобы у разработчиков не возникало сомнений, кому можно задать вопросы, чтобы у браузера было человеческое лицо, чтобы сообщество разработчиков знало—компания верит в открытый веб, стандарты и участвует в их развитии. Я оглядываюсь назад и с грустью понимаю, что в этом смысле у меня в России никогда не было конкурентов. Собрать на круглый стол, чтобы поговорить о браузерах на технологической конференции, всегда было не с кем.

Поездки и общение

За эти восемь лет мне удалось объездить всю Европу, Россию и немного Америки. Главным образом потому, что компания оплачивала перелёты и проживание для всех рабочих задач. А поскольку задачи я себе придумывал почти всегда сам — меня ограничивал только здравый смысл и порядочность. Для всего, что не касалось работы, у меня постоянно была норвежская виза и границы с Европой просто не существовало.

В первую же поездку в 2009 году мы отправились вместе с Ильёй Шпаньковым и Чарльзом МакКетиНевилом на корабле по Волге из Нижнего Новгорода в Казань. Кажется это был iCamp в формате баркемпа… или наоборот? В общем, было весело, но после него я надолго завязал с любыми кемпами и сосредоточился на настоящих конференциях для разработчиков.

Чарльз одним сложным утром посреди Волги.

Илья Шпаньков пришёл в Opera задолго до меня и занимался сообществом пользователей, из которого он сам и вышел. Я начал помогать Илье в корпоративном блоге Opera на Хабре (ныне закрытом) с техническими вопросами, разбавляя темы про вкладки и настройки подробностями релизов для разработчиков. Чем дальше, тем больше я занимался сообществом. После ухода Ильи я не мог просто бросить блог и долгое время постил на Хабре вещи, не имеющие никакого отношения к разработке.

Особенно жарко на Хабре было в 2013 году, когда я остался один на один с сообществом, разъярённым переменами. Золотой пост про переход на WebKit и другие анонсы, последовавшие за ним, ещё долго не давали мне спать: бесконечные комментарии, тысячи ножей и литры желчи. О переменах, но уже для разработчиков, той же весной я прочитал на РИТе в Москве доклад «Зачем Опере Вебкит». Обстановка, как вы понимаете, была гораздо более дружелюбной—разработчики только приветствовали переход на WebKit, а точнее Blink.

Выступление на РИТе в 2013 году.

После выматывающей работы с сообществом в 2013 году я стал всё меньше уделять внимания блогу на Хабре, пытаясь передать ответственность за него в более подходящие руки, чтобы освободить себя для прямых обязанностей. Но рук не нашлось и блог закрылся. Последний мой пост в августе 2015 рассказывает о новом фирменном стиле компании, которому я искренне радовался. Под этот редизайн я завёл страницу со сборником всех логотипов Opera в SVG.

Проекты и код

Переквалифицировавшись из разработчика интерфейсов в веб-евангелиста, я потерял необходимость писать код каждый день. И меня это очень расстраивало, но недолго—к счастью мне всё ещё нужно было рассказывать про технологии и показывать код. Я придумал себе такой график докладов, чтобы писать много новых демок и так подбирал темы, чтобы постоянно изучать что-то новое. Это удачно совпадало с технологиями, которые появлялись в браузерах Opera, сначала в Presto, а потом и в Blink.

Обложки презентаций про вьюпорт, флексбокс, SVG и ретину.

Веб-шрифты, SVG, префиксы, вьюпорт, ретина, <picture>, Flexbox, Grid Layout, Web Bluetooth — о многом из этого российские разработчики услышали по-русски впервые из моих докладов. Не потому, что я такой классный, а потому, что пока они работали над реальными проектами, у меня было время пробовать новые технологии и рассказывать о них.

Отдельным развлечением было интегрировать демо в слайды и показывать презентацию прямо в браузере. Эксперименты с этим обернулись движком для презентаций Shower, на который меня вдохновил встроенный в Opera режим Opera Show, который переключал медиатип на projection в полноэкранном режиме. Об этом я даже написал статью в настоящий бумажный журнал «Хакер», расшифровка есть на Хабре.

Другим прикладным направлением стали проекты команды, которые я с удовольствием разрабатывал. Одним из первых стал сборник Shiny Demos, который я нарисовал, сверстал и вместе с коллегами подготовил много демок. К сожалению, проект сейчас прилёг, но можно посмотреть всё на Гитхабе.

Сборник Shiny Demos.

Самым большим проектом для меня стал редизайн сайта Dev.Opera после закрытия проекта MyOpera, на мощностях которого работал старый сайт. У нас было несколько месяцев, чтобы куда-то экспортировать статьи и документацию и запустить новый. Мы выбрали Markdown и Jekyll, я нарисовал дизайн, сверстал всё это Mobile First и собрал вместе на шаблонах Liquid. Матиас поднял автодеплой статики на Travis CI, так что новые статьи публикуются комитом в мастер. Полюбуйтесь сами—код на Гитхабе.

Главная страница Dev.Opera.

Последний мой проект PWA.rocks начинался как безделушка на вечер: Андреас попросил собрать список сайтов, которые он мог бы показать на встрече. Простой список вырос в коллекцию, его стали упоминать на самых крупных конференциях и пришлось сделать из этого каталог с навигацией по тегам и умным перемешиванием. Всё тоже на Гитхабе.

Веб-стандарты

В 2009 году состоялось ещё одно поворотное событие, которое определило развитие сообщества «Веб-стандарты»: первый Web Standards Days в Минске. Мы вышли за пределы форума ещё раньше, на узких встречах в Москве и Петербурге, но впервые громко заявили о себе только на WSD. Название конференции и идея собраться в Минске пришла Павлу Ловцевичу, а его компания LOVATA помогла всё провести.

Мы с Павлом открываем WSD в Минске в 2009.

Но самую большую поддержку первой и всем последующим конференциям «Веб-стандартов» оказала Opera. WSD бывают очень разными: от 7 докладов для 60 слушателей в Новосибирске в 2014 до 18 докладов на два дня для 400 слушателей в Минске в 2015. Но каждую из них я подготовил, прогнал и провёл в своё рабочее время. Если бы мне не повезло оказаться веб-евангелистом с карт-бланшем от Opera, то не было бы WSD и не было бы «Веб-стандартов» в том виде, в котором мы их знаем.

Мы с Павлом открываем WSD в Минске в 2016.

Юбилейная 30-я конференция Web Standards Days тоже прошла в Минске. Уже на этой неделе будет 31-я в Киеве, потом 32-я в Москве и наверняка будут другие. Не знаю, правда, как всё пойдёт без поддержки Opera, но соскочить будет уже гораздо сложнее, чем в 2009.

Конец

30 ноября 2016 мой последний день в команде Opera DevRel. Когда и где будет мой новый первый день—пока не знаю. Браузерная компания, образование во фронтенде, организация событий? Это вы мне скажите: мой профиль на LinkedIn и CV в Google Docs.

Пока, Opera. Спасибо за всё, это было весело.