Interview with Roman Novikov - CTO at TemplateMonster
TemplateMonster has been around since 2002 and is now one of the world's most famous template providers. Today we have a special guest. Meet Roman Novikov, Chief of Software Development Department and CTO at TemplateMonster.
Roman started programming at the age of 11 when his parents presented him his first computer as a New Year's gift. Since then, he hasn't stopped progressing and developing in this area.
In this interview, we ask Roman 10 questions around the topics of web performance, theme development, and more. Check out his answers below to get more insight into what his thoughts are on the subject.
Question 1: When building themes, what are some important aspects to keep in mind to ensure they are optimized for speed?
It is important not to limit yourself to only one metric or tool. Always choose several of them to rely on. And you should always remember about speed for real users, not synthetic tests. You can always check your website's speed using an online tool like Pingdom.
Question 2: In your opinion, how important is website speed performance?
There are two aspects that really matter for a website: speed and conversion. It is hard to decide between them. They are both important but in different dimensions. They both score 12 points out of 10 in the list of most essential things for a website.
Question 3: What of some use-case examples of where it might be beneficial to sacrifice a bit of speed in return for features?
As you know, a customer may go through several stages before making a purchase. Our task is to create the design and functionality that will guide the customer through this process inconspicuously making them do what the website owner wants them to do. So you can sacrifice 1-2 seconds on a checkout form where the user has already decided to buy your product. Simplifying the usability for this step is of greater importance than the speed, I think.
Question 4: Can you recommend 1 or 2 plugins that WordPress, Drupal, and Joomla users should consider installing in order to improve their website performance?
For WordPress users, I would recommend using a caching plugin such as Cache Enabler or W3 Total Cache.
Since WordPress pages are dynamic and built on the fly, using it without a caching mechanism may slow down your website when you have a lot of visitors at once. Each caching plugin has a different set of features and options. For instance, Cache Enabler is HTTP/2 focused and supports WebP images while W3TC provides an array of cache settings. We at TemplateMonster use W3 Total Cache for optimization. For Joomla, this can be LLFJ - Lazy Load for Joomla, which adds lazy load effect to your images. Image Lazyloader performs the same functions for Drupal. ScriptsDown for Joomla will move the scripts to the bottom of the page, for them not to slow down the content downloading. You can also use plugins and extensions that make the scripts on the page perform asynchronously.
Question 5: If there was only one web performance optimization tip you could focus on, what would it be?
If you are an international company and have clients worldwide, I would recommend you use CDN. If the website is local, implement HTTP 2.0. However, many CDN providers now offer HTTP/2 support as well so by implementing a CDN you end up accomplishing both of these optimization tips.
Question 6: What are some common mistakes you see people making when it comes to web performance?
The most common mistake is perhaps using only one performance tool and testing only one page of the website. You need to use several tools and test several of your web pages. Like index page, product page, landing page, search, etc. Drawing any conclusion from limited testing is fundamentally wrong.
Question 7: Do you think website owners who are still delivering their website over HTTP should move to using HTTPS? If so why?
Move ASAP and use HTTP 2.0. HTTPS without HTTP 2.0 is just security but slows down your site. HTTP 2.0 on the other hand, will add speed to your website and helps solve some performance issues without any additional actions required from the developers' side.
Question 8: What are some essential technical skills someone should know if they want to run a successful website?
Of course, basic knowledge of HTML and CSS are required. Also, a basic understanding of DNS and HTTP to use technical tools and services.
Question 9: Keeping up to date with the latest web development and performance standards is important for people in the web / tech industry. What are a few of your favorite performance and web development blogs or resources?
Yes, it is really important to keep an eye on all the technological innovations. A few of the resources I often use are High Scalability, Percona, Planet Performance, Ilya Grigorik Google Plus.
Question 10: Do you see any technical trends in template development and do you predict any changes for the upcoming 5-10 years?
First of all, the simplification of mobile app development. This is trend number one, as the popularity of handheld devices will only grow further. Video integration is also a popular trend in the last couple of years. Additionally, I think that the complexity of UI design will only increase.