This article is a response to the publication
" What's wrong with IT education in Russia " , or rather, not even to the article itself, but to some of the comments to it and the ideas that sounded in them.
I will now express, probably, the point of view very unpopular here on Habré, but I cannot express it. I agree with the author of the article, and I think that in many ways he is right. But the approach “to be an ordinary developer, you do not need to study at a university, this is the level of vocational schools”, which many advocate here, I have a number of questions and objections.
First of all
... firstly, let's assume that this is true, the university has fundamental knowledge to do science and solve complex non-standard problems, and everyone else needs a vocational school / technical school, where they will be taught the basics of technology and popular tools. But ... there is one BUT ... More precisely, even three "BUT":
- attitude to people without VO in society: if you have only secondary or specialized secondary education, then you are a sucker
, and probably also an alcoholic and a drug addict . All sorts of folk sayings about “I didn’t study - so turn around, <cut by censorship> worker” went from there.
(the results of the search for pictures on the query “birdie” seem to hint)Bullshit, in fact, but given that many 17-year-olds choose their path at this age under the strong pressure of parents and relatives of Soviet and post-Soviet tempering, this is true.
- For employers to successfully solve their business problems, a person from a vocational school / technical school will be enough, but at the same time they require a higher education diploma. Especially if it’s not a purely IT office, but something related (such as an engineering company, government agencies, etc.) Yes, there are progress, many adequate and progressive IT companies do not require, but when in your small town there are no adept and progressive companies, or it’s not so easy to get into them, in order to get at least somewhere and gain initial experience, a diploma may be needed.
- Problems with the tractor arising from the previous paragraph. You want to go to work in another country, you already have an offer from an employer who is ready to take you for a good salary (and he really needs your applied knowledge from vocational schools), but the migration legislation of very many countries (such as the European blue card system) is very strong complicates this path for people without a diploma of higher education.
What we have as a result: education of a vocational school / technical school is enough for work, but a life diploma is still needed for life. At the same time, they will not give you applied and practical knowledge at the university, as it is well described in this article, and at a vocational school you will not be given a university diploma. Vicious circle.
Secondly...
We go further, paragraph two, explaining where the problems of paragraph one come from.
“You will be taught practical and practical knowledge at a vocational school / technical school, and your university will have a fundamental basis for complex and non-standard tasks” - this is in an ideal world, and, alas, we live in an imperfect one. Do you know a lot of vocational schools or technical schools, where, for example, front-end, back-end or mobile developers really train from scratch, giving them all the relevant and relevant knowledge in our time? So that the output would directly turn out to be such a strong June ready to work in real projects? Maybe, of course, there is, but probably very few, I do not know a single one. This function is very well performed by the courses of various educational centers in cooperation with leading technology companies, but those that are free, with a scholarship and subsequent employment, are often very difficult to get and the number of places there is very limited, and the rest can be very expensive.
And with vocational schools and colleges, alas, everything is bad. Maybe this is a consequence of the general degradation of the education system in the country (dubious reforms, low salaries, corruption, etc.) and problems in the economy and industry (bending plants and production cuts), but the fact is that in the end there are vocational schools and technical schools in our time are those who passed the exam very poorly, children from dysfunctional families, etc., and education there at an appropriate level, and as a result, employers do not see much value in graduates of vocational schools and technical schools (well, except working specialties), but at the same time consider that if a person graduated from high school (especially at least somewhat less decent), then he is still not quite a fool, and he knows something. Therefore, both students and employers still hope that after graduation the graduate will have relevant and demanded knowledge, but the university does not perform this function, which was what the article was about.
Well, in the third.
But should a university really give only fundamental knowledge, while being divorced from practice?
And let's look at non-IT professionals. For example, for engineers and specialists in pipelines (I really became interested, and I talked with my younger sister, who had recently graduated from this specialty and began her career at NIPI). Specialists in pipelines should be able to do very specific things at the exit after training: to design oil and gas pipelines :) And therefore they are given not only fundamental knowledge, such as hydraulics, sopromat, heat engineering, physics and chemistry of liquids and gases, but also applied: using specific methods for calculation of parameters and pressure characteristics of pipes, calculation and selection of thermal insulation, methods for pumping oils of different viscosity and different types of gases, device and types of different compressor stations, pumps, valves, valves and sensors, typical piping designs for various applications, methods for increasing throughput, design documentation (with practical exercises in some CAD systems), etc. And in the end, their main work tasks will not be the invention of new types of pipes and pumps, but the selection and integration of finished components, and the calculation of the characteristics of all this to fit into the technical task, to ensure customer satisfaction, reliability, safety and economic efficiency of all this. Doesn’t resemble anything? If you look at other specialties, such as electric power, communication and broadcasting systems, and even industrial electronics, everything will be the same there: basic theoretical knowledge + applied practical. But for some reason they say precisely about the IT field: “no one at the university will give you what you need to practice, go to vocational school”. And the answer is simple ...
Rewind time for several decades ago, years in the 50-60th and look at the IT industry. The computer was then nothing more than a "large calculator" and was used mainly by scientists, engineers and the military for mathematical calculations. The programmer then had to have a good knowledge of mathematics, because either he was part-time mathematician himself, or simply had to understand well what kind of formulas and squiggles he brought mathematicians, on the basis of which you need to write a calculation program. He should have known the standard algorithms well and deeply, including rather low-level ones - because there are either no standard libraries, or there are, but very scanty ones, you have to write everything yourself. It should be part-time as an electronics and an electrical engineer - because most likely it will be not only development, but also maintenance of the machine, and it is often necessary to understand, the program is buggy because of a bug in the code, or because then the contact is gone (remember where the word “bug” came from, yeah).
Now put this on the curriculum of universities and get an almost complete hit: a significant amount of mathematics in its various forms (most of which is most likely not useful to a developer in real life), a lot of un-IT-related “applied disciplines” of different subject areas (depending from a specialty), “general engineering” disciplines (“engineer” is written in the educational standard, that means there should be!), all sorts of “theoretically the basics of something there”, etc. Unless, instead of assembler, Algol and Fort will talk about C and Python, instead of organizing data structures on magnetic tape, they will talk about some kind of relational DBMS, and instead of transmitting through the current loop, they will talk about TCP / IP.
And everything else has not changed much, despite the fact that, on the contrary, the IT industry itself, technology, and most importantly, approaches to the development and design of software have changed significantly over the years. And here it will already be lucky if you have progressive teachers with real experience in modern industrial software development - they will give you "relevant" knowledge that is really relevant and necessary, but if not, then no, alas.
In fact, there are also shifts in a good direction, for example, a specialty “Software Engineering” that appeared a while ago - the curriculum was selected quite competently there. But the student, at the age of 17, choosing where and how to study, together with his parents (who can be very far from IT), alas, can’t figure it all out ...
What is the conclusion? And there will be no conclusion. But, I predict, there will again be a heated discussion in the comments, where without it :)