Introducing the third issue of the podcast about technologies, processes, infrastructure and people in IT companies. Today CTOcast is hosted by Sergey Chernyshev, one of the leaders of the Web Performance Optimization community (New York).
Listen to the podcastAbout our interlocutor:
Sergey Chernyshev graduated from Gubkin Russian State University of Oil and Gas (2000). In the first half of the 1990s, he was engaged in computer assembly, system administration, and technical support. In 1996β1998 - web developer at Unicor, in 1998β2002 - CTO in the Novikov design studio. Since 2002 lives and works in the USA. 2002β2003 - System Administrator in SelectMinds. Since 2003 he has been working at truTV (formerly Court TV), since 2012 he has been the technical director of web systems and applications.
')
Since 2009, he has been actively involved in the Web Performance Optimization community (Web Performance Optimization). Organized by the New York Web Performance Meetup Group, as well as the WebPerfDays New York Conference. He is on the board of the Web Performance Optimization Foundation.
Text version of the podcast (1st part)
About personal and a little about the history of the Russian IT industry
Alexander Astapenko: What was the IT market in the early and mid-1990s, when you were just starting your career? How did you manage to survive and what were your goals at this stage?
Sergey Chernyshev: From the very beginning, I was just looking for a job. I can not say that I immediately thought about my own business or something like that. A friend brought me to an ordinary collection company for Tower computers, and it was there that I realized that any computer can be disassembled and assembled and not be afraid of the mythical machine. Also came the realization that the business is not so terrible, and everyone can deal with them. Soon, I teamed up with a couple of my friends, and we organized a service center, where we helped people to live with computers: they collected what they needed, sold iron, and so on.
At that time it was quite a fun lesson. Several main suppliers transported iron containers to Moscow, and a bunch of small companies sold them. Naturally, about any guarantees and quality of speech could not be, every man for himself. We had to follow this very much, and the experience gained in the Tower helped to determine the quality of the components on the appearance, even without inclusion.
I remember at that time everyone used such a finger-thick catalog. In my opinion, there were all kinds of goods in it, but first of all - computer. According to that catalog you could buy anything. As a result, they did it: if there was an order, they specified what the person needed, took the money and then bought and collected the necessary equipment, delivered it. The main thing, how we differed, our strong point is the quality of services. Each printer came with a pack of paper; the person did not leave until everything worked.
Pavel Pavlov: However, at some point you started switching to web development?
Sergey Chernyshev: Yes, yes. There were several reasons for this. First, business needs to be done in a serious way, investments are needed, and our approach was rather simple, and for a long time this kind of business could not exist. In addition, my father very actively told me that a mechanic for glands is not a career, and I need to do more things in life. I probably did not listen to him, but I think that it still added serious thoughts to my head.
I started using the Internet from about 1993, or even 1992, onwards. At that time, the Web itself was not yet. There was such an Internet provider, Glasnet, one of the first in Moscow, and I actively participated in the local user community. Andrei Sebrant, a famous Russian Internet activist, was a man who showed me and my colleagues what the Web is.
I was very impressed with this issue and started my development, as they say, on my knee back in the year 1994 - when TCP / IP just started to appear, you could launch the first browser and look at something on the Internet. As I remember, one of my first sites was Zhvanetsky magazine, and it was called Zhvanetsky Shop. Of course, finding it on the Internet is no longer possible.
Alexander Astapenko: Sergey, what was the story with Andrey Sebrant?
Sergey Chernyshev: Andrey Sebrant at that time was, in my opinion, the head of the marketing department at Glasnet. Although I doubt that then there were such clear distinctions. At one party of this Internet community, we were at Andrei's house, and for the first time I saw what the Web is, what browsers are, I saw the GIF images on a page. It just struck me. I think then I realized that I would be engaged in the Web. And then Andrew showed a few tools. There was such an editor, HotDog, which allowed me to see what HTML is and how it generally works, how to start making the first pages.
Alexander Astapenko: And what was the development in the late 1990s? Who were the customers for whom you then made the sites?
Sergei Chernyshev: At first, I did this for friends and acquaintances. Then, already studying at Kerosene, I went to work as a web developer and system administrator to an Internet provider who provided the Internet for the entire building. At that time there was no separation in the professions, we all were called webmaster. The webmaster was involved in design, HTML, server coding, hosting, and everything else.
Later I went to Sergei Novikov, who was involved in design and wanted to create a web design studio, and joined him as a technical co-founder of the company. We made websites for anyone who wished. There were many companies, they often came with their own vision of what they needed. The main work was to convince them, because most of the time people had little idea what websites were. At that time, there was no such WordPress to take and build something on it, everything was written from scratch.
Alexander Astapenko: Clearly, such a wild West was then on the Web ... Around 2002, you moved to the USA. Can you say a few words about this period?
Sergey Chernyshev: Yes. Immigration is a difficult question; one cannot say that there was only one stimulus. I wanted to be rich and happy, and my glance abroad foretold similar prospects. Well, family, you had to take care.
Alexander Astapenko: And from a professional point of view?
Sergei Chernyshev: From a professional point of view, it was clear that business in Russia is very corrupt and it was hard to continue doing this. In principle, moving forward required promiscuity in how you conduct business. Many managed to do this, I - no. And in America, of course, there was a great desire to join the Internet crowd and see the vast possibilities.
Alexander Astapenko: Sergey, 2002 - the very bottom of the crisis after the collapse of the dot-coms. What then was the market for a Russian web developer, system administrator with several years of experience behind him? Was it easy to find a job?
Sergey Chernyshev: Yes, it was the very bottom in 2002, indeed. From the point of view of moving, I will say this: you are planning to move long enough and it is difficult to know that everything will be bad, about what is really going on. The car starts to move, and you move when everything has grown together. Therefore, there was not much to plan. Maybe in our time it is easier, but at that time it was so.
Arriving here, I realized that the market was bad enough, nevertheless, the work was found quickly. The first principle was that the first place is not chosen. After three or four interviews, maybe five, I already found SelectMinds. True, I just switched from the studio head in Russia to a system administrator in a small company. When moving, the working history was reset to zero, no one considered foreign experience for various reasons: the business is different, it cannot be checked and trusted, no one can check the summary. And, in general, only the skills that you could show, only they influenced.
Alexander Astapenko: After working in SelectMinds as a system administrator, you still go back to web development and go to Court TV. So?
Sergey Chernyshev: Yes. At that time, it became much easier to find a job, and Court TV interested me. The first couple of years were easy, although the traffic was significant due to the popularity of the TV channel and its website. After that, more complex projects began.
We were among the first to start broadcasting on the web. Court TV began to cover criminal stories and trials of criminals. We had several such cases like βThe Trial of Michael Jackson,β or there was such a resounding case of Scott Peterson. At the time of the announcement of the sentence, traffic on our servers increased twenty times compared with the maximum on a typical day.
And it made me take up the essential architecture for scalability, understand how to build such systems and develop development in this direction. Which, in the end, led me to web performance: because where there are problems with scalability, there will be problems with performance.
About web performance optimization
Pavel Pavlov: Could you explain for those who are not quite familiar with this topic, what is web productivity optimization (eng. Web performance optimization)? How did this movement originate? You were at the beginning, 2009 - this is the very beginning?
Sergei Chernyshev: In fact, since 2007, I began to actively engage in this. I attended the first presentation of Steve Soders (Steve Souders) - who was the founder of the WPO (web performance optimization) movement and who at that time worked at Yahoo - on the issue of web speed. At that time, the term web performance optimization did not even exist.
I think Steve opened his eyes to many. Everyone understood that the slower the speed, the worse the website. There is no need to go far. But most people have traditionally associated the speed of the site with the speed of servers. The usual task was to fight traffic: when many people come and they require a lot of server resources, scalability is a serious problem and you need to make sure that the websites continue to work. This was the focus for developers, that is, it was considered speed.
And Steve showed that speed depends more on how the web page is built and what it loads, the frontend, and not on the load on the system. A website can be slow even for a single user. Therefore, you need to look for the problem elsewhere.
And at that time, of course, there were no tools, or rather very simple tools, it was quite difficult to use them, and nobody knew about them. Therefore, this web stack opacity stopped people, they could not see the real problem. And Steve showed that if you look from the back, from the front end, at how the HTTP protocol works, you can make much more conclusions about the real speed of the website.
I have long been engaged in gzip, compression of web requests, cache control, and so on. For me it was clear what the problem was. And the first presentation that Steve Soders made at the Web 2.0 Expo in San Francisco opened my eyes, and I saw the light, as they say.
Pavel Pavlov: And you personally attended there?
Sergey Chernyshev: Yes. I came to this conference as a visitor. Steve and a colleague (Tenni Theurer) presented excellent research they did at Yahoo about statistics, analyzed what really affects the speed of sites, how the front-end part affects. The very first rules that Steve introduced to speed up websites that are independent of servers, hardware.
Pavel Pavlov: Did you manage to communicate with Steve himself?
Sergei Chernyshev: Yes, I talked to him, I met at this conference. It was very interesting. I think that he did inspire me to create a mitap. At the same conference, but already in 2009, I asked him how he felt about such an idea. Conferences were the right approach to spreading knowledge, but at the same time, being in New York, it was very hard to wait a whole year before the next conference. I was already looking for ways to create local events. Steve replied that it would be interesting to see some local community. In general, this spurred my interest in creating the first New York mitap.
Pavel Pavlov: It turns out that the mitap in New York was one of the first group mitaps in the history of web performance?
Sergey Chernyshev: He was the first literally. When I created my group, I created a Web Performance topic at meetup.com, it did not exist before. And now there are more than 100 groups on this subject from around the world.
Pavel Pavlov: Who were the first participants? And what was the reaction of people when you tried to promote all these topics, to tell?
Sergey Chernyshev: Before opening my mitap, I gave a presentation on performance at the Web Standards Meetup in New York. It was a small community; at that presentation there were 35β40 people. And people opened their eyes, just like mine, when I saw what Steve Soders was working with, his approaches. People just did not imagine how the browser loads images, scripts and CSS files. It was not obvious to them how it all happens, no one thought about it. And as soon as you visualize and show the first waterfall diagram, then people begin to understand. At that time, browsers worked quite poorly and it was easy to imagine how this waterfall looked like - everything was very slow. Therefore, it was easy to show what the problem is performance.
Maximum 20% of speed depends on the server, but in reality the figure is closer to 10% or even 5%. Everything else depends on how the web page is made, in what sequence its components are loaded. And people were really stunned by how everything happens in reality. This showed me that the question is relevant.
Pavel Pavlov: Let's go back to the roots of the WPO and to your meeting with Steve. In addition to creating the first WPO mitap in New York, he also inspired you to develop your own tools and solutions that would help you make websites faster and allow you to evaluate their speed. So?
Sergey Chernyshev: Absolutely. As I said, the problem with web performance was the lack of tools and stack opacity. Steve was one of the first developers of the Yahoo tool - YSlow, who analyzed web sites to support best practices and simply gave out some metrics, telling a person that his site is so good (from 0 to 100) and what can be done, to improve it.
The problem with this tool was that it did not give a long-term analysis of how changes occur in the development. Web performance tends to deteriorate, that is, with the development of new parts of programs, new features, the quality of programs in terms of speed only deteriorates. With a one-time static analysis it is very difficult to notice. I saw that this was a problem, so I developed the first version of Show Slow, which allowed me to collect data from the Firebug extension, YSlow. And I created a server component that just accepted this data. The program does not represent anything complicated, but it collects data and allows you to detect a trend over time.
As it turned out, it significantly helped to show how much development, taking into account speed, is important for a business. I came across this on truTV when it was very difficult to tell businesses in the abstract β both technical people and customers β what the website needs to speed up. It's easy to say, but no one believes you, it was unclear why people needed to do this, much less to do it seriously, to spend a lot of time. And Show Slow was created as the first tool that allows non-technical people to see the result without using sophisticated tools like YSlow to show the trend of how speed improves or worsens.
Naturally, in addition to tools, I also began to engage in various methods and ways to speed up websites. And the cache was the first way. The simplest method was to use the cache so that the browser did not go back to the server every time for all the pictures and so on. And I developed the Asset Manager, which, roughly speaking, used revisions from the version control system and thus manipulated the URL. After that, I created a .htaccess file, which is very easy to put in the root of the website, and it magically speeds up the entire website, which was a bit of a marketing ploy. I chose this path to convince those people who are not very technical that you can easily solve the problem of speed. And, in my opinion, many liked it. In my opinion, this is my most popular project at the moment on GitHub. People really want a quick and easy solution.
Continuation of the text version of the podcast - in the coming days.