Интервью со мной опубликовано в официальном журнале международного Joomla сообщества - Joomla Community Magazine, выпуск за май 2024 года. Через некоторое время переведу текст на русский. Пока только английский текст.
Sergey Tolkachyov devotes his work and free time to Joomla. What was once a hobby has become his profession, and you can tell he loves Joomla.
He shares his knowledge with the Russian-speaking community and beyond, and today he shares with us what it feels like to be a Joomla developer.
Could you tell us a little about yourself?
I come from Russia, Saratov. I became a Joomla developer in 2019. Before that I worked with Joomla as a simple webmaster who could install and configure pre-built extensions.
Nowadays I write articles about development for Joomla and translate articles from the Joomla Community Magazine, official documentation, and articles by other Joomlers into Russian, supplementing them with my own experience. I am one of the chat moderators of the Russian-speaking Joomla community. My main job is to ensure the long-term support and development of the websites and online shops I have created. At the time of the interview, I am developing and maintaining over 70 free extensions for Joomla. Some of these are available in the Joomla extensions directory. I am a husband, father of two daughters and a son.
How did you get into web development?
It started out as a hobby, but then became my main job.
Can you describe the process of creating your first Joomla site?
My initial training was as a musician, musicologist and composer. I worked as a music school teacher for 12 years. In 2007, when I was a second-year student, I started to create a website dedicated to music and music education. I ran it for about 10 years. At first it was a simple static HTML site that I edited using FTP. It was on this site that I learnt everything: HTML, CSS, responsive design, Javascript. It was a hobby we pursued at night, connecting to the internet via a dial-up modem. The site grew and, in 2008, I started to familiarize myself with CMS. I looked at several different engines, including WordPress, Joomla and several others. However, the choice fell on Joomla. I first tried using Joomla 1.0.12, but I really started working with Joomla from version 1.5.
What made you choose Joomla?
In my opinion, the choice of a CMS comes down to a certain type of human thinking. People with a similar way of thinking and approach to development get together and create a product: the CMS. The CMS inherits and absorbs this type of thinking, carrying with it the characteristics of its creators. Somehow, intuitively, I chose Joomla and I've been working with it ever since.
My first music website contained a lot of texts; it was a small library and the ability to catalogue these texts conveniently was important to me. What was important to me was the ability to create a logical structure, both in the input and in a wider sense. I remember how excited I was when Joomla introduced the ability to create more than 3 nested categories!
After a while, my friends became aware of my hobby and started contacting me about websites. The more I did, the more I learned about Joomla and the web in general. When my hobby became comparable to my main job, they switched places.
What challenges did you face and how did you solve them?
CMS in general and Joomla in particular are a paradise for multi-skilled developers. When you combine up to 8 specialists (marketer, analyst, SEO specialist, content manager, layout designer, backend developer, frontend developer, advertising specialist, etc.), you need to know and be able to do a lot in each area in order to deliver results to the client. Therefore, the most important thing is to constantly learn and follow trends, in order to keep your knowledge up to date. Of course, some areas of activity are always primary, others secondary. But you should learn as much as you can.
The biggest challenge is to understand exactly what you like to do and therefore what you do best. Understand what your strengths are and develop them, as well as related areas. This takes a lot of time, several years of trial and error.
Let me give you an example: in 2019, I had just embarked on the path of developing extensions for Joomla. I was ready to jump for joy when I saw that my PHP code worked as it should while not interfering with the work of Joomla itself. I created a few extensions for training to improve myself and my skills.
But what next? The first thing to do is sell! Of course, an unknown novice developer will publish his simple module and people will immediately start buying, buying and buying... I created my own developer website, advertised on it… imagine my surprise when the orders didn't flow in like a river. It's time to apply to yourself what I advise my clients to do: understand the market, your place in it and find a way forward.
The first thing to do, EXCEPT learn how to write functional PHP code for Joomla extensions, was to gain the public's trust. OK, how do you do that? See WHO THEY ARE, understand WHAT they need and WHEN. And to do that, I had to look myself in the eye a few years ago.
I rebuilt the site from scratch: all my Joomla extensions at the time became free, no matter how much time and effort I put into them. People started downloading them and using them. Users started giving me feedback. Some asked me to fix bugs, others to add features. And from there it was possible to make money with it.
In addition to my regular customers, I've started developing my extensions, designing new versions, documentation and screenshots. It's actually a lot of work. Development itself sometimes takes less time than taking screenshots in two languages, writing a text in two languages and recording a video in at least one language on how to use and configure a module or plugin.
But this work has begun to bear fruit. Before contacting you, people visit your site several times, try out several of your extensions, see how they work, how they're documented, how clear and understandable everything is and whether it solves their problems. They started contacting me more and more often and I came to the following model: custom extension development - paid. However, if I see potential in an extension, I always suggest to the client that they make it free and make it available to the public so that web developers can use it. I tell the client that I'll do all the work for free: documentation, videos, screenshots. In some cases, I've even offered a discount on the cost of development. And it worked. Modules and plugins started piling up on my website that actually solved problems and that people needed. They were downloaded and changes were requested. New versions were released, this work was already paid for and the results were also available for free to the whole Joomla community.
It's great when your work is in demand and benefits a large number of people. It's incredibly motivating!
How did you get involved in the Russian community?
Around the same time, when I started to understand how to develop, I joined the Russian-speaking Joomla community. In the beginning, the community communicated via the forum, but today the forum as a means of communication is more dead than alive. Everyone has moved on to instant messaging and chat, and the forum is a long-term database of questions and answers to those questions.
I arrived on Joomla chat and became interested, asked questions and received answers. I have to say a big thank you to the community, which contains such responsive people, ready to give quick and free advice and help. They might say: "You must have your hands torn off for this code! Look, in this method, you have to do this like..." And that's one of the best forms of learning! Then I myself started responding and helping newcomers to the community. In this same community, there's an information channel where news about templates, Joomla extensions and new versions of the CMS are published. I started submitting information about my extensions to this channel and they started to be published.
What effect did this involvement have?
This has generated even more reactions from users. Surprisingly, people are starting to ask you problems that you enjoy solving. Since so many people use the results of your work, they already know you. Someone even starts following you on social networks. And it's much easier to communicate with them than when you're looking for orders on freelance exchanges. I'd compare it to blogging. But instead of publishing daily articles about everyday life, you share the results of your work, your technical creativity. So you have to understand that in the process of working, you're constantly learning something new. You can write a plugin in 3 days, and six months later you'll be writing the same plugin in 4 hours and with better quality code. And you think, "That guy should have had his hands torn off six months ago for code like that..."
The open source world is designed in such a way that to get something out of it, you have to give something back: your time, your skills, your experience, your money (if you're acting as a customer). Without this two-way communication, nothing will progress. This is perhaps one of the most important conclusions to draw from your research. I think you need to talk to your customers about this and invite them to sponsor the development of the open source world in some way.
What other content management systems have you worked with?
In the past, I sometimes agreed to work with other CMS - WordPress, Modx, Bitrix, but now I'm starting to refuse. There's a lot of work on Joomla and there's no time to waste in terms of attention and concentration.
I understand you're an extension developer but also a web designer. Would you say Joomla is a good CMS when it comes to designing websites? Why?
I don't do design specifically, but sometimes I make layout for Joomla. Joomla is only a tool. Any tool has a range of tasks for which it was created. Since Joomla is open source, I would not talk about purposeful creation, but about evolution.
Joomla is an intermediary link between the CMS and the PHP framework for development such as Laravel, Yii etc. The CMS has a slightly different niche. But Joomla is "sitting between two chairs" in this respect. On the one hand, it's a CMS, which lowers the entry threshold for "no code in 3 hours" sites considerably, unfortunately. On the other hand, the framework under the bonnet requires knowledge of the API, the advantages and disadvantages, the implementation methods and the approaches adopted for the core, as with all other frameworks. And this considerably raises the entry threshold for those who go beyond the "no code in 3 hours" site level. Especially in Joomla 4 / Joomla 5, there's nothing you can do without professional tools like PHPStorm or VS Code.
And freelancers mainly see job offers at 3 kopecks. I would say that, in a way, this "discredits" the reputation of a good tool ?
Joomla is really good for development. And if you solve your customers' problems with your development, you'll earn money and Joomla will grow.
Joomla is very good for website development, otherwise it wouldn't have existed for so long and wouldn't have taken second place in the statistics, but you have to know how to use Joomla. You can do the same thing in Joomla using just the core, or using third-party extensions, or in a hybrid way and everyone has their own preferred method. But don't forget that I said above that choosing a CMS depends more on a person's type of thinking. If this coincides with what the CMS has inherited from its creators, then you're in the right campaign and you'll be looking in the same direction together.
Why is it good?
We can talk here about the qualities of Joomla itself: it's fast, secure, receives regular updates, just like the big companies, and allows you to create everything from a simple 5-page website to fairly complex systems with multiple integrations with third-party services. Joomla offers many ways of solving problems: a unique system for modifying page layouts, child templates, a REST API for those using the JS interface, and a large number of extensions. But we also need to talk about your mastery of this tool, your ability to project yourself into the future and correctly forecast the evolution of your project. Not all projects require complex solutions. Not every website will be developed in the near future. And sometimes customers don't even need a website, they just don't know it.
You are known in the Russian speaking and international community, how deep is your involvement?
I'd say that the Russian-speaking Joomla community has shown me a great deal of confidence by giving me the opportunity to work with its resources. And it's become part of my life. There are several of us, each of us involved in our own area: some of us work on the official Joomla project news, others support the website and forum, others moderate the forum, still others translate Joomla into Russian. I allocate at least 8 hours of my working time per month "to open source" - to Joomla. This includes writing an article or translation (1.5 to 8 hours to create an article), researching information for a news channel and writing articles, responding to newcomers in chat, supporting the site, and much more. But it usually takes much longer ?
I'm less active in the international community, because time is not unlimited. But I try to give some of my attention not only to content creation or my extensions, but also to the core of Joomla. When you feel the strength to make a good tool even better, you have to make it happen. As a general rule, these are changes that prevent you from completing your task at work or that will help you solve a similar task more quickly and easily in the future. Joomla has a well-developed structure and its work can be compared to the sound of an orchestra. The better each individual instrument sounds, the better, more powerful and more moving the performance of the musical whole will be. All you have to do is join this orchestra.
If there was one sentence to sum up your relationship with Joomla / Joomlers, what would it be?
Joomla brings together like-minded people from all over the world and I'm delighted to be part of this community.