JavaRush /Java Blog /Random EN /First interview with the creator of JavaRush

First interview with the creator of JavaRush

Published in the Random EN group
On October 18, the JavaRush project celebrated its birthday. It was on this day 9 years ago that the first release of the legendary educational service took place. Its creator, Dmitry Vezhnin, talks about how it happened. At the very beginning, the founder of our project formulated the mission of JavaRush as follows: “to retrain a million people to become Java developers.” Make learning Java possible for everyone if you have two things: a desire to learn and a computer with an Internet connection. In nine years, the number of JavaRush students has almost reached two million. In addition to training, the resource has become a platform for the largest Java community on the RuNet, and for some time now - far beyond its borders. Currently, you can learn using JavaRush services in Russian, Ukrainian, English, German, Polish, French and Chinese. We talked about the mission and evolution of our project with its ideologist and founder Dmitry Vezhnin. And at the same time, about how online learning is changing the world, and why the IT market boom cannot be stopped. "How it was?".  First interview with the creator of JavaRush - 1

About how a school hobby grew into a profession

I belong to that rare category of people who work by profession. My whole life is in one way or another connected with programming, which I became interested in at the age of 13 as a schoolboy. I had a great computer science teacher - Yuri Aleksandrovich. It was he who instilled in me, as well as hundreds of other students, a love for programming. I really like one phrase. “The disciple is not a vessel to be filled: it is a torch to be lit.” There is no need to push knowledge into the student: make him want it himself! I agree with her 200%. In the eighth grade, I went to my first school Olympiad in computer science, then I was in the 9th grade with first place in the region, and in the 10-11th grades, when I took prizes at all-Ukrainian Olympiads. After school, I entered the Donetsk National University at the Faculty of Mathematics, studied and at the same time went to student Olympiads in computer science. My personal top is first place in Ukraine at the Olympiad in the summer after my third year and a trip to the semi-finals of the Olympiad in Romania. In my final years, I transferred to Kiev Shevchenko University to the Faculty of Cybernetics and completed my master’s degree there. During the same period, I got my first full-time job as a programmer. This was my first job - C++ programmer. Then I began to become disillusioned with the Olympics. Don't get me wrong, I was very good at them for many years. I had MIT books on Computer Science at home. I really liked everything related to the theory of algorithms and found it very easy. But for working as a programmer this turned out to be completely unnecessary. By coincidence, when I was graduating from university, my friends were recruiting Java developers for another IT company. At that time there were few Javaists and many were pulled into this language from C++, so I switched to Java, with which I worked until I was 30 years old. In almost 10 years of working as a programmer, I changed 5 companies and managed to seriously master C# and Frontend. Well, the PL/SQL syntax still burns me out. I think knowledgeable people will understand me.

About the ideal course and working 100 hours a week

I like to do three things: program, teach people and write articles. By the age of thirty (as I said above), I had worked for several large outsourcing companies. Then I had a great desire to understand how the IT industry works: what skills and technology knowledge are needed to work in it, and which ones, on the contrary, are unnecessary. It was amazing. On the one hand, there are outsourcing companies that take care of almost everyone, train employees and pay high salaries. On the other hand, there are a bunch of smart people who earn 10 times less, and their main difference is simply that they do not work in IT. It all started with my younger sister, whom I persuaded to retrain as a Java developer. At first, her training progressed slowly, but after she burned bridges - she quit her current job and began to study seriously - everything went much faster. And a year and a half after starting her studies, she was already working as a Java developer with a salary 5 times higher than before starting her studies. That's why I say that working in IT is cool. And promising. My sister’s husband looked at what was happening around him and also became a Java developer. Also with good results. Then I taught a couple of groups of 2-3 people at once. This all lasted for about 5 years. Even my girlfriend, who was very far from IT, did not pass this cup: she also had to work as a Java programmer :) At the same time, I became very disappointed in university education. I myself studied at two universities and I can say with confidence that both of them had nothing useful for work. But I have a diploma with honors from the Faculty of Cybernetics of KNU and a bunch of Olympiad diplomas. In addition, I retrained people who themselves studied at different universities to become programmers, and everywhere I saw the same picture: people who studied for 5-6 years in technical specialties know nothing at all about IT. And only 3-6 months were needed to give a person the skills that would help him get a good job. On this occasion, I wrote an article on Habr about myths about higher education , where I harshly criticized modern universities. The article was stolen for quotes, which led to the writing of another article, but this time about my experience teaching people to program. The second article was a resounding success. Several dozen people wrote to me in a personal message with a request: they wanted to study with me online and asked how much it would cost. I had no idea what to answer: I was retraining my friends to become programmers for free and had no intention of teaching online lessons. Even for money. And here there is an important point. Throughout the 5 years that I was retraining my friends and acquaintances to become programmers, I was looking on the Internet for a site that would help people hone their practical skills. There were already good books, but there were not enough textbooks and practical problems. Another important point: several years before these events, I began reading books on business and marketing. And there was always one simple message conveyed: to create a business, find effective demand. If people want something, that's half the battle. They must be willing to pay money for it. That’s when strangers started writing to me asking about studying, I realized that there was some massive unrealized demand for studying online. By that time, I had formed an idea in my head of an ideal programming training course: with lectures and problems that could be automatically checked. After all, back then checking problems looked completely different: a person wrote a solution, packaged the files in a zip archive, mailed it to the teacher, and a week later the teacher sent him an answer. It was long and tedious, because the process could have been automated. As a result... I decided to create a course myself with this training format! I wrote an article on Habré on August 1, 2012, and on August 15 I announced my resignation at work and my plans to work on my own project. Although I had to work for another month, since my dismissal was quite unexpected for everyone. Finally, on September 15th, I officially quit my job and started doing JavaRush. I set myself the following goal: write lectures, create tasks with automatic verification, combine all this and launch it. Since I had already been sharing the training material with people for several years, I was able to create the first version of the course within five weeks, which I released on October 18, 2012. Only 5 weeks passed from the start of work on the project to its first release. During this time, I wrote 10 levels of lectures (120 sheets in Word), 8 levels of tasks, front-end, back-end and an automatic task verification system. There was an official release on October 18 :) All this was done so quickly because I worked 100 hours a week: from 6 am to 10 pm, 6 days a week. You can work like this only if you really want to see the result. Hunting is better than bondage :) Closer to the new year, I released the second release of JavaRush. By December 25, 20 levels of lectures, 12 levels of tasks were ready, as well as a plugin for Intellij IDEA, through which it was possible to receive and submit tasks. The concept of simplifying processes was important to me: the user should do a minimum amount of unnecessary work during training. In the end I managed to do this: that the user was able to submit a task for verification with one click and receive an answer within one second. Instead of a response taking a week, I received a response within one second. It was a revolution.

О тайной связи World of Warcraft, StarCraft и JavaRush

Initially, the mission of JavaRush sounded like this: to retrain a million people to become Java programmers. I noticed that many smart people, having graduated from universities, work in low-paid jobs, although there is an IT field nearby, where the salary is high and there are prospects. This means that, on the one hand, there are many capable people, on the other, there are a lot of IT companies where these people can get a job. We just need to help these people bridge the gap between the level of education in universities and the needs of the labor market. But how to retrain them? From my point of view, knowing how to program is a practical skill. For example, like the ability to drive a car. I believe a person needs to get a thousand hours of programming practice. If we assume that there are two thousand working hours in a year, a thousand hours is half a year with a 40-hour work week. Then I was faced with the following problem: how to make a person study while sitting at home? How can a person sitting at home alone gain that thousand hours of practical experience? In 2012, online games were gaining popularity. On the one hand, you can’t force a person to study, on the other hand, he can sit for 10-12 hours a day playing online games. I saw people doing the same thing for hours, killing monsters, and I wanted them to use this approach in their studies. I even specifically installed WoW for myself to understand how everything works there. I wasn’t able to do much, but I saw the concept of gaining experience, character levels, and task levels there. I also liked the idea of ​​a piece of armor that you have, but you can only use it when your level is high enough to do so. There is an analogy in JavaRush: you cannot solve any problem and read any lecture, your character must grow to it. In addition, JavaRush also has a connection with StarCraft, and this connection is so strong that JavaRush itself was named after it. I think you already guessed it - this is ZergRush! :) In StarCraft you can build cool, expensive units, or you can achieve victory by quickly building the simplest and cheapest ones. So I wanted to retrain people to become programmers quickly and cheaply. Exactly the minimum required for a person to find a job in the IT industry. Ten years ago, programming education was mostly in the form of brick-and-mortar courses, which resulted in high learning costs. If programmers earn well, and you ask such a programmer to become a teacher, then he will want to receive a comparable salary. Therefore, in full-time courses we have a situation where the training is good and expensive, or inexpensive and of poor quality. And JavaRush wanted to solve this problem precisely from a business point of view: to make the cost of training very low and the quality high. Therefore, the most expensive element, the teacher, was removed from the equation. All training was fully automated and we were able to sell our service for $30/month. Adding a good teacher immediately makes training much more expensive.

About the transformation of the project over 9 years

Firstly, I have changed a lot in 9 years. When I started creating JavaRush, I was a programmer by the type of thinking I had. Only after 5 years I began to think like an entrepreneur and began to think in terms of hiring people, business processes within the company. Secondly, the company itself has changed: there are significantly more people on the team. The first people joined me in 2013. When I got excited about the idea of ​​JavaRush, I began to recruit friends from my then job. I couldn't persuade any of them. Since then I have not been afraid to share ideas. If my best friends didn't believe in my idea, what chance would it be stolen? But I managed to persuade my sister, as well as my girlfriend - at that time she was engaged in marketing on social networks. Six months later, Lesha Yelenevich joined ( he is now Marketing Director - ed.). The team began to actively grow literally 2-3 years ago. Today JavaRush employs about 50 people. In recent years, we have been focusing on building business processes: providing support, improving the product. This is important for the growth of the company. Little by little it is becoming the ideal training course I dreamed of. Our current development strategy is as follows: we do not focus on increasing the amount of content (for example, more lectures or tasks), but on improving what we have. If we have three times as many lectures, they won’t become any more interesting. But we are trying a personal approach to learning: we offer different learning scenarios - for some, more dry and academic, for others, filled with game elements. This gives our course great flexibility - everyone can choose what they need. We also created CodeGym, a multilingual Java language training project. Mainly focused on the US market. It already has 640 thousand registered users from dozens of countries, most of them students from the States, Poland, Germany and China.

About the prospects for online learning

I am sure that over time, 90% of education will move to the Internet, as it is very convenient. Offline and online learning have different strengths. In offline education, you can communicate with the teacher one-on-one, clarify unclear points, get more attention, and ask to immediately check assignments. We have already made the most of offline learning. It takes about 15 years of our life, everything is already standardized in it: kindergarten and school programs, textbooks, diplomas tied to the level of education, Olympiads. The strength of online is automation. Not a single school teacher will give feedback on the problem being solved within a second. On JavaRush you can ask something on the forum at three o'clock in the morning and get an answer. With online learning, you can study in a comfortable mode, without adjusting to the rest of the group members. You can choose to study at any time of the day or night, any time of the year - you don’t have to wait until September 1st. You can learn at any speed.

About why programmers will not be left without work

I'll start with a joke. Programmers are in the business of automating other people's work. The last profession to disappear is the programmer, as more and more different professions will be replaced by services. The 20th century was the century of industrialization, then it was profitable to be an engineer. The leading industries were automotive and electronics. The 21st century is called the information century, and everything revolves around information and content. Nowadays it is promising to be a software engineer. The 5 largest companies in the world, worth more than a trillion dollars, are IT companies: Apple, Google, Microsoft, Amazon, Facebook. Facebook was founded by a student, a self-taught programmer, and is now worth a thousand billion dollars. It's good to be an IT person in the IT century. Something like this :) An important global trend is remote work. The pandemic has broken down cultural barriers in people's minds. Before the pandemic, companies preferred to have employees sit in the office because it was more efficient. And large companies had to adapt to employees working from home. In addition, the pandemic lasted long enough for remote work processes to settle down and people to get used to them. Even before the pandemic, the same US companies could employ remote employees from Ukraine, for example, with a salary of 5 thousand dollars, and employees in California with a salary of 20 thousand dollars. When, after the start of the pandemic, everyone went remote, American management began to think: we have remote employees, to whom we pay different salaries. Why pay more? Therefore, it became unprofitable for them to hire employees in the United States if they could hire a specialist for less money in another country. And Eastern Europe (Ukraine, Russia, Belarus) are precisely these “other countries”. Ukraine had its peak of growth in 2008, when there was a global financial crisis. In the United States, they began to actively cut budgets and fire people; in Ukraine, on the contrary, there was a hiring boom. That is, Western companies simply fired expensive programmers and hired equally qualified people from us. Another wave of hiring is now expected. Unless you live in the most expensive cities in the world, expect to receive more orders. Isn't this an incentive to take up Java without waiting for Monday, the first of the month or the new year?
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION