Concurrency In Life - Practical Advice From Roman Elizarov
Java Champion, expert on concurrency and financial mathematics, member of ACM ICPC contest finals executive committee, one of Devexperts founders - these are only some of the accomplishments of Roman Elizarov, one of the most renowned members of ITMO University and the Russian IT market. Yet, such intense professional activity doesn't make the champion's life one-sided - one can say that Mr. Elizarov has achieved remarkable balance in his personal, professional and social life. In an interview to ITMO.NEWS, Roman shared about how he succeeded in making most of his life, and gave valuable advice to those who only start their professional careers
Roman became interested in exact sciences at an early age. Since childhood, he participated in numerous math contests, and when a computer class opened at his school, his life took a new turn. That was back in the late 80s, when computers were still a novelty - at that time, it was hard to imagine how dramatically computers can change our lives. Yet, Roman straightly fell in love with this device, as he intuitively understood that this is the thing he will dedicate his life to.
Thus, at the age of thirteen, he started to participate in programming contests. After taking part in many of them and graduating from school, Roman thought that he will move on to something else - yet that didn't happen.
On education: "If you go to a school focused on physics and maths, you get good engineering training which results in having a particular outlook and approach to solving different tasks. The skills you get then can be easily converted into those of programming."
In 1994, Roman enrolled at ITMO’s Computer Technology Department, and yet again began actively participating in contests. When he was third year, his team won the ACM ICPC finals. The rules of the contest forbid taking part in the finals for a second time, but its organizers asked Roman and his team to conduct the regional ACM ICPC in Russia. Thus, the rising star of IT became an organizer of programming contests.
On emigration: "Many prize winners of international contests are invited to work at foreign companies. Yet the advantages of working in the Silicon Valley, for instance, are not that obvious. As of now, the IT market in Russia has developed to a good level; surely, selling a high-technology product is easier in the USA, but who says that you have to develop it there? You can do it here as well. As for wages being higher in the USA, that's a myth: in fact, the living expenses there are so high that the difference in wages is consumed by them. Also, when working in such IT-giants as Microsoft or Apple, even an outstanding engineer will be just a cog in a collossal machine; from this point of view, working at a small company with a friendly team can be a lot more rewarding."
Roman decided to stay in Russia to develop its IT industry, as well as continue organizing programming contests. In 2013, he even became laureate of the ICPC Joseph S. Deblasi award for his contribution to the development of ACM ICPC.
On studying at a university: "The time when you study at a university is exceptional, as you can get a wide range of knowledge in different areas. That would be the main task for any student. In the future, it will really come in handy, as after graduating one will have to become a specialist in some narrow field, and in programming, trends change really fast, so you can't really tell what will be in demand in some 5 years. It's highly improbable that a programmer will work in the same field during his whole life; thus, if the field you've been specializing in "dies out", broad-based knowledge and the ability to learn fast will be what saves you. So, during your university years, try do get as many knowledge in different fields as you can."
Roman admits that several times during his career, he greatly lucked out. Right after he graduated, he started working in the newly created financial technologies field. Thus, he was one of those who became founders of this colossal industry. At a certain point, Java programming language became really popular among specialists in this field. Then, no one could imagine how great the demand for it will be in several years. This time, Roman also hit the jackpot: now, with a 15 years worth of experience in Java, he is one of its most renowned experts.
Later, Roman started to focus on concurrency. Then, there were few specialists in this field in the world, yet knowledge of it was in high demand. Without concurrency, the level of comfort we're used to would be impossible.
On concurrency: Until 2005, concurrency was of interest to only a narrow group of scientists, and was not really relevant. Yet, after 2005, the speed of processes ceased to grow. Since then, the computational capacity is being increased by adding cores. Now we have multi-core cell phones, computers and other gadgets. The existing programming languages imply working with only one core. Thus, concurrency is essential for a device to work properly.
In 2005, Roman started to study concurrency and understood that it was almost impossible to find any good literature on the topic. At the same time, though there was a high demand for specialists in concurrency, no one trained them. So, having gathered the invaluable information, Roman came to his Alma Mater to share it with its students. Nowadays, such lectures are most exclusive.
Having conquered the summit of concurrency, Roman is now studying the Kotlin programming language which is yet to earn its popularity. Knowing of Roman's professional intuition, we may well expect it to become as in-demand as Java and concurrency, and Roman will once again become ITMO's irreplaceable lecturer with a new course on Kotlin.
On personal growth: In the XXI century, one should never stop progressing. You have to bring your brain out of the comfort zone and make it adapt to something new. That can be some new scope of activity, a programming language, or a hobby. What's most important is to never stall and work with full strength."