Сначала Joomla была хобби, но потом стала основной деятельностью. Сейчас Сергей - один из модераторов чата русскоязычного Joomla-сообщества, контрибьютер ядра Joomla, разработчик более 90 расширений, из которых большая часть - бесплатные.
Давайте познакомимся. Расскажите о себе.
Я из России, из Саратова. Музыкант по образованию: за плечами теоретическое отделение музыкального училища, консерватория (закончил как композитор) и незаконченная (по ряду причин) ассистентура-стажировка. 12 лет работал педагогом в музыкальных школах, был руководителем городского методического объединения. 10 лет вёл занятия по хору в воскресной школе.
В настоящее время я пишу статьи о разработке для Joomla и перевожу статьи из журнала Joomla Community Magazine, официальной документации и статьи других Joomla-разрабтчиков на русский язык, дополняя их собственным опытом. Я являюсь одним из модераторов чата русскоязычного сообщества Joomla. Моя основная задача — обеспечить долгосрочную поддержку и развитие созданных мной сайтов и интернет-магазинов. Поэтому количество клиентов не большое, но с каждым работаем по 5-7 лет. На момент написания статьи я разрабатываю и поддерживаю более 90 бесплатных расширений для Joomla. Некоторые из них доступны в официальном маркетплейсе расширений Joomla Extensions Directory. Несколько раз мои изменения были приняты в ядро Joomla на GitHub. Стал разработчиком Joomla в 2019 году. До этого я работал с Joomla как простой вебмастер, который устанавливал и настраивал готовые расширения.
Муж, отец двух дочерей и сына, церковный певчий и звонарь. Люблю пешие прогулки по лесам и буеракам (модное слово - хайкинг).
Как появился ваш первый сайт на Joomla?
В 2007 году, в летнюю сессию второго курса консерватории, я предложил одногруппникам создать сайт, посвящённый классической музыке, музыковедению и культурным событиям Саратова. Через 2 месяца работа над сайтом оказалась нужной только мне и я вёл его около 10 лет (проект musstudent.ru
). Сначала это был простой статический HTML-сайт, который я редактировал по FTP. Именно на этом сайте я освоил всё: HTML, CSS, адаптивный дизайн, Javascript. Это было хобби, которым занимаешься по ночам, подключаясь к жутко дорогому интернету через dial-up модем. Сайт рос, и в 2008 году я начал знакомиться с CMS. Я рассматривал несколько разных движков, включая WordPress, Joomla и несколько других. Однако выбор пал на Joomla. Сначала я попробовал Joomla 1.0.12, но по-настоящему начал работать с Joomla с версии 1.5.
Почему выбор пал на Joomla?
На мой взгляд, выбор CMS зависит от определённого типа мышления. Люди со схожим образом мышления и подходом к разработке объединяются и создают продукт: CMS. CMS наследует и впитывает этот тип мышления, неся в себе черты своих создателей. Каким-то образом, интуитивно, я выбрал Joomla и работаю с ней с тех пор.
Мой первый музыкальный сайт содержал много текстов; это была небольшая библиотека, и для меня было важно иметь возможность удобно каталогизировать эти тексты. Для меня было важно создать логическую структуру, как в плане ввода, так и в более широком смысле. Помню, как я был рад, когда в Joomla появилась возможность создавать более трёх вложенных категорий!
Через некоторое время мои знакомые стали узнавать о моём хобби и начали обращаться ко мне по поводу сайтов. Чем больше я этим занимался, тем больше узнавал о Joomla и вебе в целом. Когда моё хобби стало сопоставимо по доходам с основной работой, они поменялись местами.
С какими трудностями вы столкнулись и как вы с ними справились?
CMS в целом и Joomla в частности — настоящий рай для fullstack-разработчиков. Когда вы объединяете до восьми специалистов (маркетолога, аналитика, SEO-специалиста, контент-менеджера, верстальщика, бэкенд-разработчика, фронтенд-разработчика, специалиста по рекламе и т.д.), вам нужно знать и уметь многое в каждой области, чтобы обеспечить клиенту результат. Поэтому самое главное — постоянно учиться и следить за трендами, чтобы поддерживать свои знания в актуальном состоянии. Конечно, одни области деятельности всегда основные, другие — второстепенные. Но учиться нужно как можно большему.
Самая большая сложность — понять, что именно вам нравится делать и, следовательно, что у вас получается лучше всего. Понять свои сильные стороны и развивать их, а также смежные области. Это требует много времени, нескольких лет проб и ошибок.
Приведу пример: в 2019 году я только встал на путь разработки расширений для Joomla. Я был готов прыгать от радости, когда увидел, что мой PHP-код работает как надо, не мешая при этом работе самой Joomla. Я создал несколько расширений, чтобы набить руку.
- Но что дальше? Первым делом нужно продать! Когда какой-нибудь неизвестный начинающий разработчик опубликует свой простой модуль люди тут же начнут покупать, покупать и покупать...
- Ага, конечно! 20 раз!
Я создал свой сайт для разработчиков, запустил на него рекламу... Представьте моё удивление, когда заказы не потекли рекой. Пришла пора применить к себе то, что я советовал своим клиентам: понять рынок, своё место на нём и найти путь вперёд.
Первое, что нужно было сделать, ПОМИМО изучения того, как писать хороший PHP-код для расширений Joomla, — это завоевать доверие сообщества. Хорошо, как это сделать? Понять, КТО ОНИ, понять, ЧТО им нужно и КОГДА. И чтобы это сделать, мне пришлось взглянуть себе в глаза несколько лет назад.
Я переделал сайт с нуля: все мои расширения для Joomla на тот момент стали бесплатными, независимо от того, сколько времени и усилий я в них вкладывал. Люди начали их скачивать и использовать. Пользователи начали оставлять мне отзывы. Одни просили исправить ошибки, другие – добавить функции. И на этом можно было зарабатывать.
Помимо постоянных клиентов, я начал разрабатывать свои расширения, создавать новые версии, документацию и скриншоты. Это действительно очень много работы. Сама разработка порой занимает меньше времени, чем создание скриншотов на двух языках, написание текста на двух языках и запись видео хотя бы на одном языке о том, как использовать и настраивать модуль или плагин.
Но эта работа начала приносить плоды. Прежде чем обратиться к вам, люди несколько раз заходят на ваш сайт, пробуют несколько ваших расширений, смотрят, как они работают, как они документированы, насколько всё понятно и решает ли это их проблемы. Они стали обращаться ко мне всё чаще, и я пришёл к следующей модели: разработка расширений на заказ — оплата.
Однако, если я вижу потенциал в расширении, я всегда предлагаю клиенту сделать его бесплатным и сделать доступным для всех веб-разработчиков. Я говорил клиенту, что сделаю всю работу бесплатно: документацию, видео, скриншоты. В некоторых случаях я даже предлагал скидку на разработку.
И это сработало. На моём сайте начали появляться модули и плагины, которые действительно решали проблемы и были нужны людям. Их скачивали, запрашивали изменения. Выпускались новые версии, эта работа уже была оплачена, и результаты также были доступны бесплатно всему сообществу Joomla.
Сейчас эта модель работы немного изменилась, но я по-прежнему стараюсь вносить вклад в развитие сообщества. Ведь здорово, когда твоя работа востребована и приносит пользу большому количеству людей. Это невероятно мотивирует!
Русское сообщество Joomla. Как вы в нём оказались?
Примерно в то же время, когда я начал понимать как разрабатывать, я присоединился к русскоязычному сообществу Joomla. Поначалу общение проходило через форум, но сегодня форум как средство общения скорее мёртв, чем жив. Все перешли на мессенджеры и чаты, а форум — это долгосрочная база вопросов и ответов на них.
Я зашёл в чат Joomla в Telegram, заинтересовался, задавал вопросы и получал ответы. Хочу сказать огромное спасибо сообществу, в котором столько отзывчивых людей, готовых быстро и бесплатно дать совет и помощь. Они могут сказать: «Руки оторвать за этот код! Смотри, в этом методе нужно сделать вот так...»

И это одна из лучших форм обучения! Потом я сам начал отвечать и помогать новичкам сообщества. В этом же сообществе есть информационный канал, где размещаются новости о шаблонах, расширениях Joomla и новых версиях CMS. Я начал присылать информацию о своих расширениях в этот канал и их стали публиковать.
Какой эффект произвело такое участие?
Это вызвало ещё больше откликов пользователей. Удивительно, но люди начинают задавать вам задачи, которые вам нравится решать. Поскольку результатами вашего труда пользуются так много людей, они вас уже знают. Кто-то даже подписывается на вас в социальных сетях. И общаться с ними гораздо проще, чем искать заказы на биржах фриланса. Я бы сравнил это с ведением блога. Но вместо того, чтобы публиковать ежедневные статьи о повседневной жизни, вы делитесь результатами своего труда, своим техническим творчеством. Поэтому нужно понимать, что в процессе работы вы постоянно учитесь чему-то новому. Вы можете написать плагин за 3 дня, а через полгода будете писать тот же плагин за 4 часа, да ещё и с более качественным кодом.
И вы думаете: «Этому парню руки надо было оторвать ещё полгода назад за такой код...»
Мир открытого исходного кода устроен таким образом, что, чтобы что-то получить, нужно что-то отдать взамен: своё время, свои навыки, свой опыт, свои деньги (если вы выступаете в роли заказчика). Без этой двусторонней коммуникации ничего не произойдёт. Это, пожалуй, один из самых важных выводов, которые можно сделать из вашего исследования. Думаю, вам нужно поговорить об этом со своими заказчиками и предложить им каким-то образом спонсировать развитие мира открытого исходного кода.
С какими CMS вы ещё работали?
Несколько раз я соглашался работать с другими CMS — WordPress, Modx, Bitrix, но это были разовые акции. Если мне предлагают - я отказываюсь. Работы на Joomla очень много и нет времени на то, чтобы тратить своё внимание и концентрацию на другие движки.
Насколько хороша Joomla для создания сайтов? Почему?
Joomla — это всего лишь инструмент. У любого инструмента есть спектр задач, для которых он создан. Поскольку Joomla — проект с открытым исходным кодом, я бы говорил об эволюции инструмента.
Joomla — это промежуточное звено между CMS и PHP-фреймворками для разработки, такими как Laravel, Yii и т.д. У CMS несколько иная ниша. Но в этом отношении Joomla «сидит на двух стульях». С одной стороны, это CMS, что, к сожалению, значительно снижает порог входа для «сайтов без программирования за 3 часа». С другой стороны, фреймворк, лежащий в основе, требует знания API, его преимуществ и недостатков, методов реализации и подходов, принятых в ядре, как и в случае с любым другим фреймворком. И это значительно повышает порог входа для тех, кто выходит за рамки «сайтов без кода за 3 часа». Особенно в Joomla 4 / Joomla 5 без профессиональных инструментов, таких как PHPStorm или VS Code, просто не обойтись.
К сожалению, фрилансеры в основном видят предложения работы по 3 копейки. Я бы сказал, что это в каком-то смысле «дискредитирует» репутацию хорошего инструмента.
Joomla действительно хороша для разработки. И если вы решите проблемы клиентов с помощью своих разработок, вы заработаете деньги, а Joomla и её экосистема будет развиваться.
Joomla очень хороша для разработки сайтов, иначе она бы не просуществовала так долго и не заняла бы лидирующие позиции в рейтингах. Но Joomla нужно уметь пользоваться. Одно и то же можно сделать в Joomla как используя только функционал ядро или с помощью сторонних расширений, так и гибридным способом — у каждого свой любимый метод. Но не забывайте, что, как я уже говорил выше, выбор CMS зависит скорее от образа мышления человека. Если оно совпадает с тем, что CMS унаследовала от своих создателей, то вы на верном пути и смотрите в одном направлении.
Почему Joomla - это хорошо?
Здесь можно поговорить о достоинствах самой Joomla: она быстрая, безопасная, регулярно обновляется и позволяет создавать всё: от простого пятистраничного сайта до довольно сложных систем с многочисленными интеграциями со сторонними сервисами. Joomla предлагает множество способов решения задач: уникальную систему изменения макетов страниц, дочерние шаблоны, REST API для тех, кто использует реактивный фронтенд, и большое количество расширений.
Но стоит также здраво оценивать и ваше мастерство владения этим инструментом, вашу способность заглядывать в будущее и правильно прогнозировать развитие проекта.
Не все проекты требуют сложных решений.
Не каждый сайт будет развиваться в ближайшем будущем.
А иногда клиентам вообще не нужен сайт, они просто об этом не знают.
Русскоязычное и международное Joomla-сообщества. Насколько активна ваша деятельность?
Я бы сказал, что русскоязычное сообщество Joomla оказало мне большое доверие (и Вадим Куницын в частности), предоставив возможность работать с его ресурсами. И оно стало частью моей жизни. Нас несколько человек и каждый занимается своим делом: кто-то работает над официальными новостями проекта Joomla, кто-то поддерживает сайт и форум, кто-то модерирует форум, кто-то переводит Joomla на русский. Я обычно выделяю не менее 8 часов своего рабочего времени в месяц «на открытый исходный код» — Joomla. Это включает в себя написание статьи или перевода (от 1,5 до 8 часов на создание статьи), поиск информации для новостного канала и написание статей, ответы новичкам в чате, поддержку сайта и многое другое. Нередко это занимает гораздо больше запланированного времени.
Я менее активен в международном сообществе, поскольку время ограничено. Но я стараюсь уделять часть своего внимания не только созданию контента или моим расширениям, но и ядру Joomla. Когда чувствуешь в себе силы сделать хороший инструмент ещё лучше, нужно это сделать. Как правило, это изменения, которые мешают вам выполнять свою рабочую задачу или которые помогут вам быстрее и легче решить аналогичную задачу в будущем.
Joomla имеет хорошо развитую структуру, и её работу можно сравнить со звучанием оркестра. Чем лучше звучит каждый отдельный инструмент, тем лучше, мощнее и трогательнее будет исполнение музыкального целого. Всё, что вам нужно сделать, — это присоединиться к этому оркестру.
Joomla исполнилось 20 лет.
В мире IT всё течёт и всё меняется. 20 лет - это немалый срок для программного продукта. Joomla объединяет единомышленников со всего мира, и я рад быть частью этого сообщества. Но как и в любую эпоху перемен важно быть гибким и отзывчивым и я желаю Joomla ещё много лет помогать решать задачи, предоставляя для этого необходимый инструментарий.
Людям в Joomla-сообществе я весьма благодарен за их неравнодушие и отзывчивость. Это дорогого стоит. Ну и конечно пожелаю расти и развиваться как сообществу в целом, так и каждому отдельному его участнику!
Credentials
Сайт: https://web-tolk.ru
GitHub: https://github.com/sergeytolkachyov
Статьи и посты на Хабре: https://habr.com/ru/users/sergeytolkachyov/posts/
Телеграм-канал: https://t.me/webtolkru