It seems to me that the current Yandex is made by people who do not have specialized education and who simply like programming very much. These are mathematicians, physicists, people with an economic education or other types of technical who were so fond of programming, that they went to programmers. And it is thanks to this love, and not to their ability, that everything turns out so well. Therefore, I can not assess how useful the education of a programmer is. But, for example, managerial education was very useful for me at some stage.
I wonder how much education, even at the same School of data analysis, affects motivation and love for their work. If it helps to love your tasks more and more, then this is very cool. And if a person has learned this, can, but does not love and thinks how to build a career in another field, then it can and does harm. I am very interested in how to identify this in people at an early stage.
If it is considered to be a programmer education under the profile, then probably not necessarily. I have a selfish moment here, because I don’t have one - I’m a physicist by training. Although the physicist never worked. I am a self-taught programmer and it seems to me that it never bothered me. Therefore, I think that specialized education is not at all necessary.
Before Yandex, I was engaged in computer games, and quite regularly people came to us for interviews. One of them came and said: “I am the only person who has a specialized education, a programmer’s education”. We were surprised: “As the only one?” He replied: “And so. You see what people have written in diplomas - no one has written a “programmer”, but mine has written it. Because I graduated from vocational school, where they teach a programmer. ” But I do not understand what a specialized education is. Applied Mathematics?
It is true that people who have passed the ShAD are epic people who are here and where they are still torn off with their hands, but I do not know why this happens. Perhaps, it is precisely such people who can go there for selection and complete their studies. In general, it is very nice when a person, who just came from an educational institution, immediately speaks the same language with you, understands some things, a jargon, has already managed to do something with his hands in the same field. But in classical Computer Science there are a lot of rather outdated things. For example, a large notation has little relevance to real work. It is clear that someday the state of affairs with the training will change, but before that it will take another 10 years.
I believe that specialized education is not needed at all. If we are talking about serious programming, which is in Yandex in many places, then a person should know mathematics. But this mathematics is not a profile education, because mathematics is separate - programming is separate. Relatively speaking, the programmer should be able to write and read, but specialized education in the sense that it should be taught to program is not necessary. A ShAD is more a very specific mathematics that is needed for serious projects. And learning programming, necessary for the tasks that people usually solve, it seems, in Russia and not. And, it seems to me, it is not necessary, because programming itself is a very simple thing. Anyone can learn how to program himself on a book in two months.
And we give it somewhere? Once I studied at the institute on the specialty "Applied Mathematics". I went there because I thought: “Wow, mathematics. Applied. Probably, they will teach me how to write programs. ” No, not taught. I was taught mathematics and, many years later, I learned that she did have some applications, but they didn’t tell me about them. And I was sure that I was taught a boring, dull and not interesting math, and left the institute. I have no higher education. Maybe I was not lucky and somewhere in Russia everything is different.
I finished the program, and it never focused on programming. The fact that a lot of programmers came from there is a consequence of two things. First, in the country it was not very possible to earn money as a scientist, and secondly, many people cannot go to pure science. In essence, it remains to choose to work as a programmer or economist. The two most popular options.
Practical part of the mechanics never taught. The fact that many of my fellow students work in Google, Yandex, Microsoft, Facebook and other cool companies turned out because the course was strong, and the Olympiad helped a lot. I had to learn a lot by myself. If we only took what the university gave, then it would not be enough even to get an internship at Yandex. Shad is a way to fix a situation. Mathematical education in our country is not bad in principle, although it is not quite the same as it is sung. But indeed, the top graduates of the Mekhmat and the VMK do not lose the Harvard top and MIT, but this is some sort of small sample, outside of which there is a sharp decline. In Western universities, less emphasis is placed on mathematics, but much more practical training. Graduates can immediately come to the industry and work. And we had so that people, brilliantly graduated from universities, could not pass the interview for the position of interns.
At the new faculty of Computer Science at HSE, we want to immediately try to combine mathematics and programming in more correct proportions. Less to give compulsory mathematics and more programming courses and practical tasks.
If I now worked with a diploma of cooks, how would this affect my work? Exactly no way. No one is interested in how you gain knowledge, especially in the IT field. I know an example when a girl came to work as a programmer, having graduated from the conservatory. And they took her. At first there were some difficulties with salary, because formally they could not pay her the rate, but now she does not work at the lowest position. People are interested in your real knowledge and skills. And even this is not always. Very often just motivation is important. Yes, of course, specialized education in something helps, allows you to gain experience in various areas that may suddenly be useful, but this is definitely not a mandatory factor.
Do I need to finish a VMC to work as a programmer? Of course not. But I like it when a programmer has a good fundamental education. This sets the ceiling that the programmer can reach. You may not have higher education at all, finish school, go learn PHP, gain 10 years of experience and be a very good web developer. That is, you can very quickly do some online shopping, and it is clear what level of work you will have. You will receive a very good salary, make quality products within the framework of the tasks taken, but the lack of education will keep you. You will not be able to rise higher and do any deeper things. For example, search, recommender systems, their own algorithms - some high-tech things. You will have a completely different job level.
I have studied this question many times because I myself have no higher education. I can say that it is worth sharing education as a concept for the transfer of knowledge, training and education as a diploma. I would say that knowledge is necessary for a programmer, but a diploma, in fact, not really. Obtaining knowledge is not necessary in a higher educational institution — it can be self-education. If you are unlucky, and you did not have a good university, then you just have to see a lot of lectures. There is nothing wrong.
I know two or three universities that prepare programmers for real. All the rest are such indirect, related specialties. It seems to me that the programmer, of course, gets most of his knowledge in the process of self-education. Nevertheless, a profile education allows you to get all that allows you to get any other education. First of all - the right connections, the right acquaintances, the ability to communicate with people of their profession, which is also very important. Then the idea of ​​how life is organized in the industry. These are things that specialized education should give. Programmers must learn to communicate with other programmers, as well as with people from related specialties. They have to imagine how the life in the industry works, what version control systems are and how they live with it all. Education should give basic knowledge of the immediate specialty, because a person must learn to perceive the rest from the surrounding space himself. In fact, Russia already has several universities that have begun to move in this direction. And in the world, probably, there are three or four universities that live according to this scheme.
I met many mathematicians, who then retrained and became programmers, not having specialized education. But it seems to me that it is still better to learn programming early enough. So it will be much easier to move from language to language, for example. A person who learned this in the early years is somehow easier to live. There are software engineers who are not very interested in Computer Science itself, they are more likely techies. But those programmers who are interested in something new to invent and analyze, they just need to study this science.
It seems to me that everything depends on the person more than on the profile for which he studied. I do not have a programming education, which, in general, does not interfere with the work of a programmer. I know people who graduated from the Faculty of Economics or some humanitarian faculties, and at the same time they are excellent programmers. There are those who received a specialty, but then something did not go, something did not like. There are many self-taught people who did not finish anything at all. Profile education helps, gives a person a systematic understanding of what he does, and is probably easier with him if this person is really interested. But I do not think that it is mandatory.
Source: https://habr.com/ru/post/235171/
All Articles