40 Years in Computer Science: Interview with Tatyana Petrushina
Today, we have an interview with a person that has been working with IT for a long, long time. Tatyana Petrushina, who is currently working as a systems analyst at Provectus, has seen the birth of the field of computer science in Russia and has worked extensively at both academia and industry.
In this interview, we talk about the history of computer science, computer science education, and her current work at Provectus.
Hi Tatyana! You have been teaching for 40 years. How did people start a career in computer science/engineering 40 years ago?
I can’t tell you how most people got a job in this sphere because I haven’t analyzed it that much.
Instead of that, I’ll tell you about myself. I graduated from school with a golden medal, being the winner of several olympiads in math, physics, and chemistry. I wanted to study exact sciences and attended Odessa I.I. Mechnikov National University, Faculty of Mathematics, Physics and Information Technologies.
During the first two years, I was seriously engaged in higher mathematics and English. It helped me a lot later!
At that time, the university had a powerful research sector, with university teachers that did solid scientific research together with scientists from large research centers from all Soviet Union. And students were actively involved in these works. So from the 3rd year, I got into the field of computer development and decided to connect my career with computer science.
What was your first real project? Which people inspired you in your first years of work?
My first research lead, Dmitry Alekseevich Ostroukhov, was at that time doing research in computability and computational complexity theory. Fun fact: while he was on a scientific internship in Holland (the largest European mathematical computing center at that time), he was working on a problem of automatic theorem proving and was faced with a lack of computing resources to solve it.
He solved this problem by developing an original efficient algorithm for finding this solution. When he was presenting this result at a scientific seminar, he was praised for his results and asked: why not solve this problem by connecting the computing power of several supercomputers.
For this project, I also developed several original heuristics, and this was my first experience in solving artificial intelligence problems.
When I entered the postgraduate school of Leningrad University (now Saint Petersburg State University), I was able to continue research in this area, working on the problem of automatic solution of astronomy problems under the guidance of Svyatoslav Sergeevich Lavrov, Corresponding Member of the USSR Academy of Sciences.
During your work years, how has teaching computer science changed?
We can say that the system of teaching computer science was built in front of my eyes.
The teachers of our faculty, D.A. Ostroukhov and N.Y. Tikhonenko, compiled the first curriculum in computer science, which was approved by the ministry as the base one for the “Applied Mathematics” specialty.
Beginning with special courses on IBM architecture and the first programming languages, the computer science teaching system developed in sync with the development of research in this area.
This was due to the fact that the scientific research and education processes at the university were closely linked, and students were involved in scientific research literally from the second year of their study program. Based on scientific research materials, special courses were formed, which later became basic courses.
At the faculty, many computer components were developed, such as: modules of operating systems, compilers of programming languages, automated control systems (now we call it computer technologies), packages of applied programs (prototypes of development platforms), and others. These developments became the basis of training courses.
In fact, the learning process was ahead of the introduction of computer technology into practice, and students completing their studies had the most advanced knowledge and skills.
Unfortunately, this picture has changed a lot since the 2000s. Scientific activity at the university lost connection with production, the funding for the research sector decreased and then dried up completely.
Today the educational process lags far behind the practice of applying modern computer technologies and approaches. Therefore, education outside the university (courses, self education, corporate education) becomes more preferable to traditional higher education.
How has the attitude towards women changed? Do you feel any positive trends in this direction?
Based on my experience, I cannot say that women in the IT sphere are treated in a specific way. Although, of course, if a woman makes a career in this area, she should be more motivated than a man. I’ve met significantly fewer women with poor professional skills compared to men in this area.
Right now, you work as a system analyst in Provectus, right? What are your main activities there?
I’m a researcher by nature. I’m attracted to solving complex problems and looking for non-standard solutions. At Provectus, I’m involved in the implementation, configuration and maintenance of delivered solutions.
A system analyst, on the one hand, must have a good understanding of the business processes that must be automated at the customer’s site. On the other hand, he must be well aware of the capabilities of the technologies that the developer offers. To find and effectively configure a solution that suits the customer and is effectively supported by the developer is exactly the problem that a system analyst must solve.
One of my last projects concerned solution migration from one platform to another. The initial option imitated existing processes via a new platform. It was a “tough” option, and the customer didn’t understand it. When we moved from a purely formal approach to a complete restructuring of the client’s processes based on the new technology, it turned out that this solution is much closer to the essence of the problems being solved. The customer was satisfied.
Let’s talk about career growth. How do developers grow from juniors to specialists in Provectus?
From my point of view: if career growth is provided by a company, then it’s a significant advantage in attracting highly qualified specialists.
Provectus offers many career opportunities for its employees. There is a variety of training courses conducted by company employees, encouragement of self-education and obtaining certificates, including from partner companies, encouragement of participation in joint competitions, hackathons, and competitions with other agencies and partners, encouragement of organization and participation in startups, and more.
The company’s arsenal includes the development of a large number of internal products at the initiative of the employees themselves, and both company employees and interns can take part in these projects. They are an excellent way to develop yourself by working with different technologies and trying yourself in different roles. Most of these projects are open-source.
For example, Swiss Army Kube (SAK) is an open source Infrastructure-as-a-Code (IaaC) service set for quickly, easily and in a controlled manner deploying EKS Kubernetes clusters on Amazon for a variety of projects. With Swiss Army Kube, cluster setup and provisioning takes only a fraction of the time that would normally be spent manually deploying using the AWS Management Console.
Another example is Kafka UI, a free open source web interface for monitoring and managing Apache Kafka clusters. This simple tool allows you to make cluster data streams observable, helps you find and fix problems faster, and provides optimal performance.
Many of these projects were originally startups and later became products of the company.
And here’s another example of effective career growth. Alexander Usov, a former lawyer with basic programming skills, decided to try himself in the field of IT development. Having successfully completed the internship, he was able to prove himself and gain a foothold in the company. He is now a lead developer and is also involved in several interesting startups and has already become an intern mentor himself.
What are the downsides of non-University education (courses, self-study, etc.) in comparison to getting a degree? What would you list as the main value of computer science education for somebody that works in software development or IT?
Traditional higher education, at least in Odessa universities, loses to education outside the university. Today, students complain that they are wasting a lot of energy and time in obtaining a traditional education, instead of taking several popular and sought-after online courses, getting certificates, and applying for a place in a good company.
And this is partially true. Most Ukrainian universities do not have sufficient funding to purchase up-to-date software, update computer equipment, attract modern highly qualified practitioners to teach, provide teachers with an opportunity to improve their qualifications in research centers that deal with relevant modern developments in the IT field.
Modern technologies develop and update so quickly that university specialists do not have time to adapt their courses to them and are poorly motivated to do so.
The orientation of the curricula of universities to skills, abilities and competencies (here it is, the Bologna system!) loses to courses outside the university in terms of relevance and accessibility.
Recently, I discovered that today’s students prefer to master knowledge through articles on the Internet instead of reading and understanding the essence of the course in basic, classical literature.
The situation is increasingly reminiscent of the plot of the novella “Profession” by Isaac Asimov. We still do not know how to inject knowledge of new computer technologies, but it is already possible to quickly master them after 10-15 online lessons.
And a newly trained specialist can already apply for a good job in a junior or even in a middle position. But the question, as in the story, is the same. What’s next? Computer technology is changing rapidly. And if the course you mastered is no longer relevant, what to do? Take a new course? In the United States, lifelong education is now gaining popularity, which proposes to master new technologies and approaches every year.
Well, if you want to grow to a leading developer and develop new technologies yourself, what courses should you take?
The solution, like that of the brilliant Azimov, is that centers of basic education are needed, where one must not only receive ready-made knowledge and template skills, but learn to develop them on the basis of already existing knowledge. I used to read a programming course based on three different languages (ALGOL, Fortran, COBOL). As a result, students got a fundamental understanding of how procedural languages work. And mastering a new programming language, even one that is not procedural, was no longer a problem.
From my point of view, universities could and should provide such a process. The university is a place where students could be taught to learn. A place where they can get a systematic education, basic knowledge. The university must teach systems thinking and systematic learning, which implies the ability to analyze and compare facts, make logical inferences and substantiate conclusions and results. Of course, the university should also provide practical skills in mastering popular technologies. But universities are unlikely to win the race with online and corporate courses.
How do you think university education will be changed in the next several years? What are the main trends?
It is difficult to say how the higher education system in Ukraine will change over the next 5 years. Judging by today’s trends, it is shrinking.
What skills will be in demand for researchers and developers in the future? How to engage people (even without technical background) in IT projects?
If we analyze forecasts of the development of the IT sphere for the near future, we can single out one of the most promising areas – the application of data mining and machine learning methods to solve a wide range of problems. The prospects of these areas could attract to the IT sphere not only IT specialists themselves, but also specialists in various subject areas.
What tips would you give to those that want to start a career in IT at this moment?
For those who today want to start building their careers in IT, I would advise, firstly, to try to master higher mathematics well, especially those sections of it that relate to discrete mathematics.
And, of course, to be motivated in this career, and not only in a mercantile sense. If you are passionate about this profession, want to participate (or initiate yourself) in some interesting project, you can achieve a lot, and your life will be richer and more interesting!
We would like to thank Tatyana for doing the interview with us!