What is wrong with our IT

When I was just starting to look towards programming, and this is about 2012, my attempts to google what to learn and where to start came down to answers from the then-unknown to me stackoverflow and which seemed almost the only resource in it - Habré.

Since then, a lot of water has flowed, but look: “The top 5 most impressive books that every software developer should read” - 2012 article.

For the lazy, they offer to read the books “Perfect Code”, “Programmer - Pragmatist”, “How to Write Good Algorithms”, submitting with sauce: “If you could go back in time and advise yourself to read a book, what kind of books would these be? ", - and hereinafter these are those that I described.

It is curious, no doubt, to look today at a resource from 2012 and notice 2 things:

  1. The first is that approximately the same books will lie (and lie) today on pages with similar titles.
  2. The second is that, suddenly, it turns out, before writing good programs, you first need to write a bunch of bad, worthless code. You cannot first read Knut or Horstman and after reading become a good developer if you have not been bad. That will not work. In the opposite direction, however, everything works pretty well: you become a poor developer and, if you want to become good, you go to read recognized authors and understand that everything you wrote before is a bunch of useless (or insufficiently useful) files in a container on one leg with a load of 20 requests per second, although your “tests” showed that your service should hold 500. Next, you begin to understand, stick slowly to thinner than your own logic rules for organizing applications, you understand that “parallel” and “Depl th "- not the magic words,

What happens next?

It turns out that while you went for a beer, the whole world already runs the asynchronous code of two hundred of its microservices in containers under the cuber and stores all its data in cassandra.

Probably something worth learning about this. And then it turns out that 80 percent of the information read the year before last is no longer suitable, approximately, completely. Today, or rather, yesterday you had to understand what containers and orchestrators are, how to work with aws, spring releases version 5, springboot - the second.

Probably, the student who celebrated graduation yesterday after 4 years of graduation from the university is shocking, to put it mildly.

It’s good if universities (not only Moscow and St. Petersburg) suddenly start teaching Kotlin, Scala, Python3, Java9, Spring, Rx ... but what if not? - In most cases, the answer to my question is higher - yes, they definitely don’t teach anything at the university.

This is because the university, as a platform for future personnel in companies, in its advantage, does not prepare students for work somewhere other than its own department, our universities are such a cartoon in which a person thought that he wants a higher education (because the process receiving, it seems, should give him knowledge for a successful career start), but, in fact, he really needed a good secondary special, high-quality "programmer education", such that a lot of coding and not so much work matan + half- years to look to say whether he wants to go into science or not.

I sincerely sympathize with students who once discovered that their knowledge was out of date even before they entered the university.

After 4 years, in the heap of companies, the asynchronous code, together with a bunch of microservices, will turn into legends, which somehow start in the docker, are balanced by the orchestra and do a bunch of important and interesting things, but ... What kind of tasks to give to a person who understands about iron has ideas about scholarship, actively lost something in the lab, but heard something about streams and Rx somewhere?

It seems that you don’t give any, you need to send him home to study, or call for free courses, or for paid ones.

It also happens that yesterday’s student today sat down for really up-to-date information, sorted out and got a job as a June and after a year or two already fumbles quite well.
It happens, but rarely.

As a result, the following

If something doesn’t change dramatically, the next 5 years, every university graduate (if he wants to be a developer) will need another year from above (or while studying at a university, this often happens) to move a little into the real situation in the profession, to learn, find a job and somehow integrate, at least, into tasks on legacy projects.

For business, this means nothing more than a total lack of programmers' hands. A business that already resembles one another (a website, a store, a catalog, a game, an application) cannot afford to develop in some new directions, simply because of development brakes. And the developers are not to blame - there are not enough people.

The end.

Thanks for attention!

Also popular now: