Люди WordPress: Михаил Кобзарёв

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

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

— Более 13 лет ты совмещаешь веб-разработку с личным блогом, а последние 5 лет еще и WordPress Digest ведешь. Как удается все совмещать и не разбрасываться, что тебя вдохновляет и чему научился за это время? 

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

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

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

В третьих, необходимо соблюдать режим дня (который у меня последнее время немного сбился). Исторически сложилось, что мой рабочий день вот уже много лет начинается в 11 и заканчивается в 19 часов по московскому времени. В Москве это самые удобные часы, чтобы добраться до работы и безболезненно уехать домой, а утром всегда есть время на семью: походы по магазинам или поездка в поликлинику с ребенком.

Свой блог я начал вести еще когда учился в университете на радиотехника в Туле, он задумывался именно как дневник/записная книжка для себя и одногруппников, где я делился своими открытиями в чудесном мире разработки на РНР, верстки под IE6, Netscape 4 и Opera 6.

Я очень много поглощаю информации из интернета за день (в основном через RSS как старый добрый олдфаг), особо интересные заметки кладу в закладки для чтения позже. И есть огромное желание делиться этими знаниями с людьми (я помню то время, когда не было интернета и всю информацию мы получали из книг, журналов и энциклопедий), поэтому с появлением Твиттера я стал постить много контента туда, так как под содержимое моего блога.

Со временем русскоязычный Твиттер стал превращаться в помойку и одновременно с этим появился Телеграм, в котором я был одним из первых бета-тестеров. Мы стали переводить рабочие чаты туда, создавать каналы для своих, так появились сначала закрытые, а потом уже и открытые публично чаты и каналы: WordPress Digest (сюда мы постим новости по WordPress), WordPress Jobs (работа вокруг WordPress), Elementor (чат по конструктору страниц Elementor) и многие другие. Основные можно поглядеть у меня в блоге.

Вдохновляет меня на все эти подвиги моя семья и мои родители, я им искренне благодарен за знания, которые они в меня вложили в детстве и научили самостоятельности, благодаря которой я много лет занимаюсь самообразованием и стараюсь помогать другим. А вот опыт больших компаний (Apple, Microsoft, Tesla) меня не вдохновляет, так как они всего лишь попали в нужное место в нужное время. Каждый должен наступить на свои грабли, ведь человек не учится на чужих ошибках.

— Почему WordPress? Всегда ли сложный проект значит «интересный» для тебя как разработчика?

За эти 19 лет я набрался огромного опыта почти во всех сферах необъятного веба: фронтенд, бэкенд, seo и даже дизайн, перепробовал кучу языков программирования, прошел десятки курсов и прочитал сотни книг, поработал в нескольких крупных компаниях и мелких веб-студий и могу сказать однозначно: WordPress — сила.

К WordPress я пришел не сразу. Это был долгий тернистый путь. Все начиналось с написания своей CMS в компании Ingate (которая была блочная как текущий Gutenberg и использовала ныне непопулярный XML/XSLT).

Потом была своя CMS в студии Imagos на чистом РНР4 без фреймворков, которую можно до сих пор встретить на некоторых сайтах.

А после переезда из Тулы в Москву я попал в информационное агентство, где мы делали сайты для МИД, дипломатов, РАН, поднимали свои информационные, новостные порталы, здесь мне пригодился опыт написания своих CMS под нужды заказчиков и мы с коллегами запилили не просто новую CMS, а целую платформу, на которой сейчас крутится около 12к сайтов для сельских газет, они им достались совершенно бесплатно.

И тут случился кризис в стране и нам пришлось всем временно уйти на удаленку, так как ЗП платить нам перестали, а на дорогу и покушать в Москве нужно было много денег, плюс съемная квартира и маленький ребенок.

В это время, чтобы прокормить семью, пришлось работать с разными CMS (Joomla, Drupal, ModX) и фреймворками (Zend, Symfony, Laravel, Yii).

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

Работая с Битрикс, я испытал много боли и унижения. В итоге мы уперлись в потолок его кастомизации и решили попробовать WordPress, у меня был небольшой опыт работы с ним в то время. Максимум, что я тогда сделал — развернул свой блог на нем и перенес туда все свои заметки за много лет. Так начался мой путь в WordPress.

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

И вот уже 10 лет я делаю сайты на WordPress, разрабатываю бэкенд для мобильных приложений на WordPress REST API или использую «безголовый» (headless) WordPress для сайтов на React/Vue.

Это не всегда интересные проекты, но всегда достаточно сложные, высоконагруженные и объемные с большим количеством кастомного кода на бэкенде. Я стараюсь не брать (но в качестве исключения иногда беру) совсем простые проекты и не заниматься доработками чужих, предпочитаю стартапы — там всегда можно найти для себя что-то интересное и ограничивает тебя лишь полет фантазии ))

— Ты родом из маленького села в Магаданской области и сейчас предпочитаешь сельскую местность мегаполисам. Давно ли ты работаешь удаленно, легко ли это и почему выбрал жизнь вне города?

Родился я в поселке Сеймчан («Солнечная долина» по-эвенски) Магаданской области, после окончания школы поступил в ТулГУ в городе Тула на радиотехника и мечтал ремонтировать телевизоры и видеомагнитофоны, но судьба распорядилась иначе и я открыл для себя бесплатный кабинет интернета в Политехе, который меня заворожил, а после того как я случайно нажал CTRL+U на странице ya.ru и увидел разноцветные строки кода — «поплыл» и не могу остановиться до сих пор.

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

Фотографии Михаила Кобзарева на отдыхе с сыном
Михаил на отдыхе с сыном

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

— Сейчас в профессиональных чатах активно обсуждается тема трудоустройства и возникает ощущение, что работодатели и кандидаты не могут друг друга найти. Ты размещаешь в Дайджесте вакансии и общаешься и с теми, и с другими. Действительно ли существует проблема и что нужно делать, чтобы найти работу или нанять подходящего специалиста?

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

Мы с ребятами-волонтерами на нашем проекте WordPress Jobs стараемся помогать обеим сторонам, чтобы компании находили достойных специалистов, а соискатели — работу мечты.

Сейчас не достаточно просто разместить резюме на сайте HH.ru. Многие компании ушли с рынка и сейчас практически некому заниматься обучением джунов (за исключением таких компаний как Сбер, Яндекс, Тинькофф), все хотят минимум мидлов, которых осталось тоже не так много, поэтому необходимо помимо резюме иметь открытый живой GitHub аккаунт, где рекрутеры смогут увидеть ваши скилы. Желательно крутиться в тематических чатах, куда HR-ы тоже часто заглядывают дабы схантить новых кандидатов. Не стоит забывать про личные блоги (с моего блога на меня приходит 30% заказов) и LinkedIn (правда придется заморочиться с VPN).

А для компаний один совет — пишите про себя больше и исключительно правду, сейчас всю информацию очень легко проверить, а если работодателя уличат во лжи — доверия от соискателей ждать не стоит. У нас были случаи, когда мы отказывали в размещении вакансий, так как я стараюсь сам лично проверять каждое объявление, «пробивать» компании по открытым базам, общаться с ними лично. Это долго, но снижает процент мошенничества с обеих сторон.

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

— Порталы по поиску работы рекомендуют делать отдельные резюме точно подходящие под названия вакансий и писать сопроводительное письмо индивидуально каждому работодателю, это весьма трудоемко и поиск работы может растянуться на месяца. Существует другой подход, аналогичный «воронке продаж»  — откликнуться на 1000 вакансий и рассчитывать, что после прохождения 30 собеседований получишь 2-3 предложения о работе. Из-за этого HR специалисты тонут под грудами резюме и подходящие кандидаты, не указавшие в своем резюме все нужные ключевые слова теряются в этом потоке. Есть ли выход из сложившийся практики?

Оба подхода имеют место быть, в каждом из них есть свои плюсы и минусы.

Первый подход со стороны соискателя позволяет более точечно подстраиваться под вакансии с определенным набором ключевых слов, но на создание такого количества резюме нужно очень много времени и велик шанс ошибиться лишь в одном месте, наплодив ошибку повсеместно, что может негативно сказаться на вас в дальнейшем. Рекрутерам и компаниям здесь проще в поиске соискателя, но не всем нравится копаться в груде одинаковых резюме, где отличается пара абзацев или список скиллов. С их точки зрения это похоже на переспам и плюсов вам особо не добавит. Это больше моё личное мнение и доверять ему на 100% не нужно.

Второй подход я считаю более надежным и проверенным годами, сам им часто пользуюсь. Соискателю достаточно создать резюме на любой площадке или в своём блоге или на GitHub и откликнуться хоть на 100500 вакансий и вы с уверенностью в 99% получите пару-тройку офферов. HR, конечно, закопаются в огромном количестве откликов, но такая у них работа.

Тут самое главное найти золотую середину в обоих подходах и составить детализированное резюме. Постараться указать развернуто должность, на которую вы претендуете, все свои hard и soft skills, опыт работы в хронологическом порядке, занимаемую должность, выполняемые обязанности и ваши достижения в каждой из компаний, где вы когда-либо работали.

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

Обязательно укажите контакты, по которым с вами можно связаться в реальном времени. Если есть какие-то рекомендательные или сопроводительные письма — тоже добавьте их к вашему резюме.

Не стоит указывать ничего лишнего.

Если вы устраиваетесь не в русскоязычную компанию, то сделайте копию вашего резюме на английском языке.

— Для WordPress существует огромное количество плагинов и тем, создать сайт можно в считанные минуты, и многие разработчики специализируются на «сборке» сайтов и у них даже не возникает необходимости «заглядывать под капот». В результате работодатели не знают с каким стеком технологий разработчик им нужен, а кандидаты претендуют на работу, которая им не подходит. Можно ли кардинально изменить ситуацию?

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

Ну и стоит справедливо заметить, что существует огромное количество проектов, где технические навыки для соискателя вообще не нужны. Нет необходимости знать PHP, JavaScript, HTML, SQL, чтобы поставить пачку плагинов, потыкать пару кнопок в админке и запустить сайт для проверки какой-то гипотезы или прощупывания ниши. Мы таких специалистов в своём сообществе называем «Модератор админки».

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

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

— Опытные разработчики часто находятся в латентном поиске, то есть сидят и ждут, когда работодатель придет и предложит. Это работает? Что делать работодателю, которому нужен специалист на сложный высоконагруженный проект? Есть ли они вообще такие?

Я сам постоянно нахожусь в латентном поиске и жду «работу мечты», где мне будет интересно и за это будут соответствующе платить. Это работает, работало и будет работать. И таких специалистов в режиме ожидания достаточно много, обычно они собираются в сообществах в социальных сетях и прекрасно знают друг друга.

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

— Что ты посоветуешь тем, кто хочет начать свою карьеру как WordPress-разработчик? Многие курсы предлагают трудоустройство после обучения. Насколько это реально?

Посоветую только одно — не бояться. WordPress не страшный и не монструозный как его обычно описывают поклонники классического ООП и любители фреймворков типа Symfony и Laravel. У него есть EAV (Entity Attribute Value) вместо ORM и EDA (Event Driven Architecture) вместо MVC. Именно из-за этих отличий у многих разработчиков возникает нелюбовь к WordPress — они не понимают архитектуру и не допускают мысли, что почерпнутые в книгах по ООП подходы не являются единственно правильными. Никто не запрещает использовать ООП, PSR.

WordPress уже давно не простенькая CMS для создания бложиков. У нее под капотом более десятка различных API для разработчика, весь код покрыт юнит-тестами, соответствует стандартам WPCS (WordPress Coding Standards для PHP_CodeSniffer), простой интерфейс для создания CRUD постепенно внедряется так любимое многими разработчиками ООП. На этом движке можно построить проект любой сложности, главное делать это с головой (MVC, headless, CMF).

Не просто так же WordPress уже занял 43% всемирного рынка сайтов в вебе.

Единственное чего пока лично мне не хватает — это удобного интерфейса для работы с кастомными таблицами и поддержки composer для пакетов. Но мы справляемся при помощи WP_List_Table (базовый класс для создания таблиц со списком чего угодно в WordPress. Таблицы поддерживают технологию AJAX. На базе этого класса выводится все виды таблиц в админ-панели WordPress).

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

Если вы думаете, что на WordPress нельзя заработать более 60.000 рублей в месяц, то вы ошибаетесь, рынок труда просто огромен, количество проектов еще больше и ценником в 300.000 рублей в месяц уже никого не удивишь.

Читайте книги, гуглите Яндексом и почаще посещайте ВП-Каму. Подписывайтесь на WordPress Digest.

Дерзайте! Всё будет WordPress!

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