Люди WordPress: Денис Янчевский

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

Это интервью было записано в начале июня 2022 года.

Денис Янчевский - WordPress-разработчик, спикер,
организатор конференций и митапов,
автор плагинов и переводчик

Сегодня мы беседуем с Денисом Янчевским, разработчиком, организатором конференций WordCamp в России и московских митапов, переводчиком и автором обучающих видео.

— Денис, ты уже 12 лет работаешь с WordPress и половину этого времени принимаешь активное участие в жизни русскоязычного сообщества. Расскажи, как пришел и почему остался, что зацепило?

Есть такой плагин — Cyr-To-Lat, позволяющий автоматически преобразовывать русские буквы в английские в адресах страниц. В 2015 году он находился в заброшенном состоянии и имел ряд особенностей, мешающих мне в повседневной работе. Я набросал плагин на основе своих наработок, зарегистрировался на wp.org и 13 марта 2015 года представил свой первый плагин миру 🙂 Обычно, заброшенный плагин — это скорее плохо, но в данном случае он мотивировал меня разработать свое решение и вступить в сообщество.

Ну а дальше всё закрутилось как-то само собой. Клиент жалуется, что в плагине всё на английском — так надо перевести, что-то не так в ядре — надо написать патч, хочется отвлечься от рутины и встряхнуться — организуем митап и т.д. На каждом направлении я встречал интересных людей, которые расширяли кругозор и помогали двигаться дальше. Например, на протяжении 4 лет мы традиционно собираемся в Красногорском городском парке на WordPress-шашлыки (митап в формате пикника). Многие участники с нами с самого начала, с некоторыми я общаюсь за пределами WordPress-мероприятий, просто как с друзьями.

— Не стало ли скучно за это время, было ли за это время желание попробовать что-то новое?

Участие в сообществе дело добровольное, поэтому, никто не осуждает, если один из участников решает прекратить свою волонтерскую деятельность. У всех своя жизнь и свои причины участия в сообществе в текущий момент. Например, меня в сообщество привела работа, поэтому пока я разрабатываю решения на WordPress — я так или иначе буду сталкиваться с инфраструктурой этой CMS и участвовать в ее развитии 🙂 В то же время, за годы в сообществе, я познакомился с другими активными участниками русского сегмента, мы периодически обсуждаем переводы, нововведения на wordpress.org и в ядре, какие-то моменты по форуму поддержки и т.д. Общение превратилось в работу коллектива, а участие в сообществе — в образ жизни.

Но всё это не говорит о том, что нельзя параллельно пробовать что-то новое. Я как фрилансер периодически сталкиваюсь с другими CMS или самописными решениями. Да и сам WordPress вносит разнообразие. Например, после внедрения блочного редактора появилась необходимость изучать React. Чем не новое? 🙂
Но и внутри сообщества вне технической области тоже можно менять направление деятельности. На wordpress.org множество команд: маркетинг, дизайн, обучение, переводы и т.д. Всегда можно попробовать что-то другое, если текущее перестало вдохновлять.

— Какой самый интересный или необычный проект был в твоей практике?

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

Из интересных я выделю два: оптимизация сайта регионального СМИ и разработка площадки для публикации творческих проектов. Эти проекты выполнялись в разное время и тоже довольно давно, но каждый из них позволил мне научиться чему-то новому в своё время.

Оптимизация сайта дала возможность погрузиться в механизмы ядра WordPress, найти узкие места реализации ядра. WordPress — универсальная CMS, которая хорошо подходит для блога или корпоративного сайта, но начинает проседать, когда нужно делать сложные элементы под высокой нагрузкой и приходится выкручиваться, заменяя готовые решения ядра — своими. С этой задачей в своё время столкнулись разработчики WooCommerce и с того времени многое переписали в своём плагине 🙂 На одном из митапов я делал доклад по этой работе «Как сократить время до получения первого байта».

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

— Как работа и участие в жизни сообщества сочетаются с семьей и личной жизнью?

Судя по своему опыту и общению с другими людьми — баланс в жизни, в целом, штука непростая. А когда в семье есть увлечённый человек или два, так вообще труба :-D. Мне в этом плане нравится сериал Остановись и гори (в оригинале Halt and Catch Fire), там в том числе показана семейная пара и как они живут в этих постоянных «качелях».

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

Мне повезло и моя жена отчасти разделяет мою деятельность в WordPress и мою работу. Мы как-то вместе были на WordCamp в Петербурге и регулярно всей семьей выбираемся на WordPress-пикники. Этот формат мероприятий в целом получился семейный, поэтому и мы можем развеяться, и дочка поиграть с другими детьми.

В остальном, думаю, всё как у всех. Нужно определять для себя важное и следить за таймингами того, что ты делаешь. Со временем это превращается в привычку и ты уже не особо задумываешься о том как живут «обычные» люди.

Серия фотографий Дениса Янчевский с семьей и на WordPress мероприятиях с другими участниками

— Ты активно занимаешься переводами и являешься одним их трех главных редакторов переводов (GTE) русской локали. Почему именно переводы, что в них особенного?

Мне кажется, переводы — наиболее привлекательная область деятельности в сообществе из соотношения требуемых знаний, трудозатрат и видимого результата. Для начала участия необходим только базовый уровень знания английского языка и умение работать в браузере. Переходите на страницу перевода любимого плагина или темы и последовательно добавляете перевод для каждой строки с помощью веб-интерфейса. Спокойное и размеренное занятие. В любой момент можно остановиться и вернуться к переводам в удобное время. А когда закончите — достаточно будет кликнуть в админке по кнопке Обновить переводы и увидеть своё творение 🙂

Ещё одна причина — дружелюбие к новичкам. Во-первых, система сама предлагает варианты перевода на основе того, как эту строку переводили другие люди. Также, доступны дополнения для браузера, расширяющие возможности и повышающие наглядность перевода. Во-вторых, есть глоссарий терминов, руководства по работе с системой перевода в текстовом и видеоформате, рекомендации по технологии и стилю перевода. В-третьих, это наличие онлайн-переводчиков: Google Translate, Яндекс Переводчик и т.д. Редакторы не одобрят машинный перевод, но он поможет понять смысл фразы и незнакомых слов. Ну и последнее, но не по значению — это люди. Участнику доступен форум по переводам и чаты в Telegram и Slack, где всегда можно задать интересующий вопрос или посоветоваться по переводу какой-то строки. И всё это на русском языке.

— Ты один из самых активных организаторов мероприятий в России. Расскажи, какие ближайшие мероприятия нас ждут.

Сложно сказать. Пандемия Covid-19 сильно повлияла на проведение мероприятий. Например, мы успели согласовать бюджет и площадку для WordCamp Moscow 2020 до введения ограничений, но на данный момент он заморожен и перспективы не ясны. Аналогичная ситуация с митапами, нужно восстанавливать контакты со спикерами, спонсорами и площадками. Безусловно, остались виртуальные встречи с помощью Zoom и аналогичных инструментов, но такой формат не дает живого общения и, так называемого, нетворкинга.

Но так или иначе, мероприятия проходят. В апреле и марте удалось провести пару небольших митапов. В мае прошли WP-шашлыки и, возможно, получится их повторить до конца теплого сезона. В Санкт-Петербурге готовят митап 28 июля. Также, я надеюсь, что в этом году продолжат традицию праздновать WordPress Translation Day и удастся провести очередной стрим по переводу WordPress на русский язык. Все анонсы будущих мероприятий доступны в Telegram-группе WordPress Moscow. Там же можно поделиться своими идеями по мероприятиям и предложить тему для выступления.

— Меньше месяца назад вышла версия WordPress 6.0 с поддержкой полносайтового редактирования (FSE). Какие впечатления твои личные впечатления от FSE и какие настроения на русскоязычном форуме?

Действительно, шестая версия вышла сравнительно недавно и обширного опыта её использования у меня пока нет, но я успел подробно ознакомиться с FSE, когда оно только появилось в версии 5.9. Впечатления двоякие. С одной стороны понятно, что это делается для расширения аудитории, чтобы как можно больше пользователей с разным уровнем знаний могли создавать как можно более разнообразные сайты. С другой стороны, непонятно как это внедрить в промышленный процесс и надо ли это делать.

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

В то же время, мне жалко, что с приходом FSE, вероятно, будет заброшен Selective Refresh в Customizer. Он дает возможность наглядно редактировать элементы сайта — нажал карандашик у нужного элемента, вводишь новое значение и видишь как оно отображается на публичной части сайта, т.е. так как это увидит будущий посетитель. По мне — максимально интуитивно понятно. Customizer многими критикуется, но этот подход интересен как минимум тем, что не требует закладывать в бюджет работу Frontend-программиста.

И судя по перепискам в чатах, многие участники придерживаются похожего мнения о FSE — зачем нужна блочная тема, если есть блочный редактор. И это на самом деле интересный вопрос. Возможно, в будущем наработается практика и появятся показательные кейсы, но на данный момент это выглядит спорно. Мы сделали возможность разрабатывать frontend-темы, но вам по прежнему будет нужен backend-программист для плюс-минус нестандартной задачи. Мы внедрили theme.json для настройки блоков и темы (и это действительно хорошая задумка), но забыли сделать стандартизацию. И теперь получается, что в одном блоке можно изменить параметр с помощью theme.json, но тот же параметр в другом блоке — нет, потому что он реализован иначе.

— Многие разработчики высказывали озабоченность, что после запуска FSE мы все останемся без работы. Так ли это?

Учитывая, что FSE — это аналог WPBakery Page Builder, Elementor, Divi Builder и ещё множества подобных решений для визуального построения страницы, то разработчики уже давно остались без работы. Зачем нанимать программиста и писать код, если можно открыть браузер и «мышкой» сотворить сайт.

На самом деле, No-code подходу уже много лет. Это перспективный рынок на котором разработано и разрабатывается (как раз теми разработчиками, которые остались без работы 😀 ) множество решений. Например, в области интернет-маркетинга, автоматизации или как в случае с FSE – для оптимизации трудозатрат.

Значит ли это, что кто-то конкретно из-за FSE потеряет работу? Вряд ли. Понадобится ли повышать квалификацию, чтобы оставаться «в рынке»? Да, собственно, как и всегда. Нужно ли прямо сейчас бежать и окунаться в изучение FSE? Спорно. Стоит не забывать, что FSE всё ещё проходит бета-тестирование, а это не предусматривает полноценного применения этой возможности в процессе разработки сайта (хотя FSE и включено в ядро WordPress).

FSE — это очередной инструмент, призванный улучшить пользовательский опыт взаимодействия с WordPress. Решение использовать его или нет, должно зависеть от конкретной задачи и потребности клиента, а не от «моды». Но как минимум умение работать с FSE, как и с любым другим новым инструментом, может дать конкурентное преимущество на рынке веб-разработки.

— Знают ли клиенты про новое возможности Редактора блоков (Gutenberg) и легко ли обучать пользователей?

Начну со второй части вопроса. Тема обучения пользователей сводится к тому, что у представителей клиента спрашивается как им будет удобно работать с контентом и разрабатывается решение максимально близкое к их представлениям. Благо Gutenberg позволяет это делать достаточно гибко. Думаю, основные проблемы возникают при переходе с классического редактора на блочный или когда структура блоков недостаточно проработана. Перевод Gutenberg выполнен сообществом полностью и продолжает поддерживаться в актуальном состоянии, базовые блоки интуитивно понятны, а если ещё отключить неиспользуемые блоки и записать видеодемонстрацию — затруднений возникнуть не должно.

По поводу знаний о блочном редакторе. В моей практике крайне редко попадаются задачи с детализацией до уровня используемого редактора. Обычно это или технические задания, составленные другими исполнителями, или отсутствие возможности переобучать персонал. В остальных случаях Gutenberg воспринимается как данность. Только пользователи прошлых версий помнят, что существовал классический редактор. Для новых пользователей, начиная с пятой версии, не существует классического или блочного редактора — существует просто редактор контента в WordPress в том виде, в котором он представлен.

— Посоветуешь обучающие материалы для начинающих разработчиков? Возможно, какие-то советы?

По поводу обучающих материалов. Центральное скопление информации для разработчика — это Developer.WordPress.org. Здесь огромный объем информации по разработке тем и плагинов, документация по функциям ядра WordPress и блочному редактору, описание работы с REST API, WP CLI и т.д.

Также сейчас активно развивается Learn WordPress и WordPress Support (русская версия в процессе перевода).

WP Kama — это, наверное, крупнейший сайт о WordPress на русском языке. За годы существования он стал неофициальной версией русской документации WordPress.

Если больше нравятся видеоматериалы, то можно ознакомиться со множеством видеоблогов, например, YouTube WpruseRu и YouTube WPlovers.

Ну и, конечно, не стоит забывать про записи выступлений на конференциях и митапах:
WordPress TV
YouTube WordPress Moscow Videos
VK WPMeetup

Рекомендую ещё посмотреть выступление Геннадия Ковшенина к 15 летию WordPress. Видео 2019 года, поэтому многие данные устарели, но в целом даёт понимание как делаются дела в WordPress 😀

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

Практиковаться. Даже если нет коммерческого опыта разработки, всегда можно заняться своими Pet-проектами. А если вместе с друзьями — то ещё лучше.

Ну и, конечно, не бояться. Всё будет WordPress! ⭐

Вопросы и работа с изображениями: Глеклер Ольга