Larisa Safina, Universities of Southern Denmark and Innopolis - on unkillable stereotypes and functional programming languages

Larisa Safina— senior lecturer at Innopolis University, currently receiving a PhD at the University of South

Denmark. She worked as a software tester at Fujitsu, working primarily on retail projects. She also worked as a test lead at Fix on various projects.

Studies programming languages ​​such as Haskell, Kotlin and others.

Haskelist, functional programming and popular languages

- What exactly did you do in the magistracy in software at the University of Innopolis?

- It was a program purchased from a universityCarnegie Mellon. It has been well formed over time, it includes courses on software analysis, architecture and methods. The most important and interesting part begins with the second semester - students are divided into teams and they work on real projects. Finally, our effectiveness was assessed by how we coped with this project.

— What was your project?

— We worked for Rusnano, and our project wasremote control of lighting in some cities - turning on the lighting according to a schedule. They had an old solution, but wanted to switch to a new one.

On this project, everyone did everything, it was important thateveryone tried some role. Of course, some people have a tendency to one, others have another. But in our project, we all managed to pee code, work with requirements, testing, and even architecture. This is the main goal of such projects.

- It became interesting what languages ​​you work with.

— During my studies and work, I had towork with multiple languages. At the moment, for example, I am writing in Kotlin. I like him the most. But we wrote the project with Rusnano mainly in C#. Quite often I have to deal with Java, being a tester, I wrote tests in Python, Java, C#. For my own pleasure, I often study functional programming languages, for example, Haskell, and formal languages, for example, for proving theorems - Coq.

Functional programmingis a programming paradigm in which the processcalculations are interpreted as calculating the values ​​of functions in the mathematical sense of the latter (as opposed to functions as subroutines in procedural programming).

Haskell- standardized pure functional languagegeneral purpose programming. It is one of the most common programming languages ​​with support for lazy computing. Since the language is functional, the main control structure is a function.

Coq- interactive software toolTheorem proofs using our own functional programming language (Gallina) with dependent types. Allows you to write down mathematical theorems and their proofs, conveniently modify them, and check them for correctness. Coq is used for program verification.

Formal language— in mathematical logic and computer science —a set of finite words (strings, chains) over a finite alphabet. The concept of language is most often used in automata theory, computability theory, and algorithm theory. The scientific theory that deals with this object is called the theory of formal languages.

— This all sounds great, but these languages ​​are not currently used in real projects; Haskell, for example, is rarely used, although I can’t remember a single project using it.

- I probably don’t agree with you.For example, Haskell is used in production. Yes, not often, but not because it is a bad language, rather because it is quite difficult to assemble a team of Haskellists. However, I know people who work with Haskell in production. I'm just doing it for my own pleasure. I haven’t seen other functional languages ​​in production, but it’s good to understand them for general development. As for languages ​​for proving theorems, in academia, if you are in this particular topic, they are used quite often.

- But they are used specifically for mathematicalmodeling and proving theorems - for scientific purposes, in other words. If you look at vacancies, Haskellists are practically not required anywhere; everyone wants C+, Java, Python, Ruby, Go, or even goes to the front end, respectively - JavaScript. But meeting the Haskellists is a truly amazing story.

— Let's just say they help formalizesome things that can be seen in reality. From theorem-proving languages ​​to Haskell, in principle, it’s not far, and from Haskell to industry it’s also a stone’s throw. That is, not everything is so bad and useless.

This probably all has to do with the environment where I am. And this doesn’t seem very unusual to me.

Denmark, PhD and microservices

— Why then are such languages ​​not popular in the rest of the world? And why are they interesting to you?

- Basically, because there is no urgent needuse them. If it is possible to solve a problem in a simpler way, if it is not super critical, and if it is not some kind of Boeing system, and you can get by with smaller weapons, then other languages ​​are chosen. Why do I like them? Don't know. Do you like something - flowers, books, cats? Why do you like cats?

- Seals all like. I like what you get in Denmark PhD. How did you get after Innopolis?

- When I studied in a magistracy, except the maincourses we had to take elektivy. And one of the electives that I took was related to the topic of microservices, or more precisely with the microservice programming language - Jolie. Its author is currently working in Denmark. My task was to make changes to it - refinement, to implement one of the possible operators.

Sidebar

When I got a job at Innopolis University I was alreadyjob, the boss asked what I wanted to do, my answer was to get a PhD. At this time, the opportunity arose to become a candidate for an academic degree from that professor from Denmark, the inventor of the Jolie language. Thus, we organized a joint PhD between Innopolis University and a Danish university, the University of Southern Denmark.

- What exactly are you researching in Denmark?

- In Denmark, we are working on one project, heslightly associated with microservices and, in principle, with the interaction of elements within distributed systems. My scientific leaders proposed formalization — a global specification for microservices. They showed that you can display a specification for each item.

We can use it if we have itsome kind of system of interacting elements. If we can derive a general specification of the behavior of all elements without an orchestrator - without some node that controls all the others - then we can then derive a specification for each node from it, and vice versa. In this way, we protect ourselves from errors, because if we made a specification for each node separately, we could later encounter problems with their interaction.

University of Southern Denmark. Photo: ricochet64/Shutterstock

Imagine the scenario:you want to send money to one bank, which must transfer it to another. And you wrote a specification for one bank that it transfers them to the second bank, and in the second you forgot to say that it should receive something. And therefore your transfer will never reach the recipient. Once you have a global description of this system, specifying all the roles and actions that each of the participants must take, you can derive a specification of the behavior of each of the participants, and thus protect yourself from such a problem.

My supervisors formalized this,by writing two theoretical languages ​​to describe the global model of nodes and the behavior of a specific node. My task is to implement and test, to show how effective their proposed model is compared to others.

Why grants for women - it's a shame

— When I wrote that I wanted to talk to you about IT and women, you said that it would not be very easy to talk about it, but you were ready to voice it. Why do you have this opinion?

— I think this is a rather sensitive topic.And I wondered if it was worth talking about this and stirring up the hornet’s nest. Because, really, it's like walking through a minefield. No matter what you say, someone will be offended, and some will think that you are talking about some kind of wild heresy.

- Why do you think so?

— In principle, I often see different reactions of people to these questions. Such topics are often discussed. And I see a diversity of opinions.

— When you went to Kazan University to study the men’s specialty, was it no longer considered a men’s specialty?

- Yes, I do not understand where the opinion came from, that this is a male specialty. We had about 50% of girls at the VIC (at Kazan University - “High-tech”).

- And when you left, was there a difference in attitude towards what you are doing in Denmark and in Russia?

- I have never experienced beingsomehow belittled based on gender. If you mean, has anyone here in Denmark told me that I am a male specialist, then no. But the difference is that here they really want there to be more women in both IT and academia. And they don’t just want to, they take some measures, and sometimes, from my point of view, they do even more than is necessary and worth it.

- And what measures are taken?

- Well, from what is, for example, these areprogramming for women only. One colleague said that this is heresy and this just creates segregation between male and female programmers. I agreed with this approach, but the course organizer was somewhat surprised. And after a while I asked how these courses went. And it turned out that a lot of girls came there, for many girls there was a difference - to go only in a female company or in a mixed one. Many wanted to go purely in the female, the difference was visually noticeable - it was not an accident. And I realized that if I didn’t see this problem, being in my ivory tower, I didn’t notice that girls might be embarrassed or for some reason not want to work with young people, this does not mean that there is no problem.

Sidebar

And as for other things that are different inIn Europe and Russia, in terms of diligently attracting women, there is such a thing as a quota. Places, for example grants, may be reserved specifically for women. And this, from my point of view, creates a not very good trend, because often women who get these places don’t always know whether they got them because they themselves are cool, did something very cool, or they got them , because someone decided that there were not enough women in this area. This is the other side of the coin. There is a positive effect - you received a grant, and a negative effect - the reason why you received it.

— Would you like to receive a grant someday because you are a woman?

“In general, I think it’s quite offensive.” (Laughs)

— Is it a shame to receive a grant because you are a woman, and not because you are a cool specialist?

- Yes, because this suggests that it was not my work that was evaluated, but my gender.

— Do you think your work has ever, in Russia or Denmark, been evaluated precisely because you are a woman, or has the assessment of your work by people around you changed because you are a woman?

- You know, I somehow, as I recall, did not have to deal with this. Maybe I'm naive and just do not know that this was happening, but nobody told me: "This is good for a girl."

Positive discrimination, decree for men and non-killing stereotypes

— How did your parents react to your choice of career—positive? Or did they have some different view of what you should be doing?

— Actually, when I was at school, afterAfter graduating, I wanted to study languages, but my parents suggested that I choose mathematics and programming, because they themselves viewed languages ​​as a tool that can be learned later, and mathematics and programming as something more fundamental. It's funny how many scientists treat mathematics as a tool.

And to be honest, I've always wondered whyThere is some kind of unhealthy aura of complexity in technical specialties. I think this is dishonest and just scares the girls away. For example, I have never heard girls who want to study linguistics being told: “Oh, there’s historical grammar, it’s so difficult!” Or the girls who wanted to become an architect were told: “Oh, there you will also have to do a lot of strength-of-materials work.” Now I can confuse, rather, girls engineers, or like anatomy for doctors. But for some reason, it is precisely the technical sciences that have this.

- I am from St. Petersburg, and quite often heard: who I studied for, who I worked for or what I was interested in is not for a woman. And my friends said the same thing if they were suddenly interested in mathematics, programming or science.

— It seems to me that, on the contrary, in our regionmore patriarchal than yours, so of course I’m surprised. I think it has something to do with the specific environment. Perhaps in my youth... no, I can’t say that I was somehow lucky; at the university I was treated as it should be. But, for example, driving. I have never received so many gender-based insults as I did while driving. Despite the fact that this has absolutely no basis. Therefore, I know that there are unkillable stereotypes, and many women face them. Why didn’t I encounter them in terms of work? Probably because I was surrounded by people not from the environment for whom this would be normal.

— What are the opinions of your Danish colleagues? It turns out that if they are involved in initiatives - for example, courses for women, then they see this problem.

- Yes, definitely.We sometimes discuss such topics, like with courses. Or, for example, I think it’s not entirely fair that a woman often loses a certain amount of time while on leave to look after a child. Roughly speaking, she loses a year of experience. In Denmark there is a solution that a man can get the same six months of maternity leave that a woman can get if he wants. If he does not take them, then the woman cannot take them. And they just burn out.

— There is only a year of maternity leave, of whichIs it the man's responsibility to spend six months, and the woman's six months? And if a man doesn’t want to spend them, then, accordingly, the woman sits on maternity leave for six months, and then she goes back to work, did I understand correctly?

- As far as I remember, yes. The point is that a man is not forced to go on leave for a child, but this time cannot be used by a woman. That is, it prevents such situations that only a woman will be on maternity leave. Here either you spend these same half a year, or not. I think this is a very good idea.

Sidebar

— And those people who had the idea to create women’s courses, you discussed positive discrimination with them. Do I understand correctly that these are men?

— My colleague, the organizer of these courses forwomen, did not teach there, because in order to create a comfortable environment in these courses there should not have been male teachers. In general, yes, these are men, of course.

— If in Russia the people who are concerned about discrimination against women are women, then specifically in your example at the university in Denmark, not only women, but even men are concerned.

- Well, not sooner, but also. And I think that's pretty normal.

- For Russia, this is absolutely abnormal, because we have developed some strange attitude in this regard.

— You know, the problem with the gender topic is thatWe know some special cases, and we do not have a general picture. I have a feeling that in Russia everything is not so brilliant in this regard. Although a colleague who organizes courses for women believes that in Russia and in the countries of the former USSR this is much better. Because most of the female programmers he knows come from the former Soviet Union. Because here it is considered normal, in his opinion, to go to study to become a programmer, but here they need to make efforts to attract girls.

— Maybe the problem is that women programmers from the CIS countries are running away from the CIS countries?

- Well, nevertheless, they exist.And it's not just women who run away. As for the extremity of this young man, I forgot to mention that. I said that I thought it was unfair for a woman to lose a year of experience and then have to do the same level of work because she needed to continue to compete in the profession. At the same time, I chose a PhD for myself, not a family. To which my colleague replied: “At least you have a choice.” That is, you can choose a job if you want, or you can choose a family if you want. But often this choice is not available. It is assumed that a woman’s main goal is to start a family, give birth to children, feed her, etc.

- You do not have the feeling that such courses are “pens for women”?

“To be honest, I still think so a little.”More precisely, if it works for someone, then that’s great and good. But I myself wouldn’t feel very comfortable. I don’t think this is a super cool idea, it’s still some kind of isolation.

- I understand correctly:Because you were originally in a scientific environment, do you not notice attitude problems among scientists? Because the intellectual and cultural environment itself assumes that the main thing is not who the person is, but what he did.

— Perhaps this environment requires you to hold your tonguekeep your mouth shut and don't say nasty things to other people. Perhaps she really is intelligent. Hard to tell. But yes, when I say that I am in my ivory tower, what I mean is that I am somewhat disconnected from daily reality.

"Spit on everyone and go conquer"

— Do you want to continue studying and doing research in the future?

“It's like Plan A.” That is, it is not a fact that I will always be able to get a position that interests me in the academy, but, as a plan “B”, this is to return to the industry.

- Do you notice a difference in the quality of education between Innopolis University and the University of Denmark? It's not about which one is outdated, but in the difference in approaches to education.

- In Denmark, I'm not so familiar with the systemteaching. The course that I taught in Denmark was quite unusual for Russian universities, it seems to me, but to say that it should be everywhere, or, on the contrary, that it should not be anywhere, I cannot.

Sidebar

If you talk briefly about this course, hecalled the “Project of the first year of study” in which mentors give interesting tasks. Students in groups can choose which of them they want to work on. Mentor helps to find the right direction in solving the problem. The goal of the course is to teach first-year students to study, solve problems, work together in a team and make a good presentation. At Innopolis University, there is something similar to the second year, but I did not teach it. At KSU, there was a more classical school, but it was possible to choose cheerful youth elects.

— What can you say to girls who are in a different situation, who are told that mathematics and programming are not women’s business, but they want to go into science?

— When we talk about girls who wantgo into programming and technical specialties, then we are most likely talking about teenagers. This is still a very young person who can be influenced. It is, of course, not very healthy that girls have to listen to such nonsense with stereotypes. If a person has the ability, then I would advise not to listen to others, but to go into mathematics and programming.

But sometimes there is a situation when itreally may not be yours, and this applies not only to technical sciences. For example, a person wants to go to art school, but he doesn’t draw very well. It will be difficult for him to study, although perhaps he will catch up. But sometimes it’s more honest to say that it’s not your thing, and maybe it’s better not to suffer and do something else. One way or another, it is worthwhile to adequately evaluate these phrases; they often abuse the “aura of mystery” of technical sciences. Therefore, spit on everyone and go conquer.