[Из песочницы] Что не так с нашим IT

habr.png

Когда я только начинал смотреть в сторону программирования, а это, примерно, 2012 год, мои попытки нагуглить, что же учить и с чего начать, сводились к ответам с тогда еще незнакомого мне, stackoverflow и, казавшегося чуть ли ни единственным ресурсом в it — Хабре.

С тех пор утекло много воды, но, вот посмотрите: «Топ-5 самых впечатляющих книг, которые должен прочесть каждый разработчик ПО» — статья 2012 года.

Для ленивых — там предлагают прочитать книжки «Совершенный код», «Программист — прагматик», «Как писать хорошие алгоритмы», подавая под соусом:» Если бы вы могли вернуться в прошлое и посоветовать себе прочитать книжку, то какие это были бы книжки?», — и дальше приводятся вот эти, что я описал.

Любопытно, бесспорно, смотреть сегодня на ресурс от 2012 года и замечать 2 вещи:

  1. Первая состоит в том, что примерно эти же книги будут лежать (и лежат) сегодня на страницах с похожими названиями.
  2. Вторая — в том, что, внезапно, оказывается, перед написанием хороших программ, сначала нужно написать кучу плохого, никуда не годного кода. Нельзя сначала прочитать Кнута или Хорстмана и после прочтения стать хорошим разработчиком, если ты еще не был плохим. Так не сработает. В обратную сторону, однако, всё работает довольно неплохо: ты становишься плохим разработчиком и при желании стать хорошим — идешь читать признанных авторов и понимаешь, что всё, что ты писал до этого — кучка бесполезных (или недостаточно полезных) файлов в контейнере на одной ноге с нагрузкой в 20 запросов в секунду, хотя твои «тесты» показали, что твой сервис должен держать 500. Далее начинаешь разбираться, втыкать потихоньку в более тонкие, чем собственная логика, правила организации работы приложений, понимаешь, что «параллельный» и «деплой» — не волшебные слова, дебажишь раз за разом свой код и становишься во всех смыслах более смышленым и понимающим.


Что происходит дальше?


Оказывается, пока ты ходил за пивом, весь мир уже запускает асинхронный код двух сотен своих микросервисов в контейнерах под кубером и хранит все свои данные в кассандре.

Наверное, что-то стоит подучить по этому поводу. И тут оказывается, что 80 процентов информации, прочитанной в позапрошлом году уже не годятся, примерно, совсем. Сегодня, а точнее, вчера ты должен был понять, что такое контейнеры, оркестраторы, как работать с aws, spring выпускает 5 версию, springboot — вторую.

Вероятно, студента, который вчера отметил выпускной, через 4 года по выпуску из университета, окружающее, мягко говоря, шокирует.

Хорошо, если вузы (не только Мск и СПб), внезапно начнут преподавать Kotlin, Scala, Python3, Java9, Spring, Rx…, но что, если нет? — В большинстве случаев, ответ на мой вопрос выше — да, точно ничего такого в университете не преподают.

Всё потому что университет, как площадка для будущих кадров в компаниях, в своем преимуществе, не готовит студентов к работе где-то помимо собственной кафедры, наши университеты — это такой мультик, в котором человек думал, что он хочет высшее образование (потому что процесс получения, кажется, должен дать ему знания для успешного начала карьеры), но, на самом деле, ему по-настоящему было нужно хорошее среднее специальное, качественное «программистское образование», такое, чтобы много кодить и не так много ботать матан + пол-года, чтобы посмотреть, хочется ли ему в науку или не хочется.

Искренне сочувствую студентам, обнаружившим однажды, что их знания устарели еще до того, как они поступили в университет.

Через 4 года в куче компаний асинхронный код вместе с кучей микросервисов превратятся в легаси, которые каким-то образом стартуют в докере, балансируются оркестратором и делают еще кучу важных и интересных вещей, но… Какие таски дать человеку, который понимает про железо, имеет представления о вышмате, активно прогал что-то на лабораторках, а про стримы и Rx что-то где-то слышал?

Похоже, что никакие не давать, надо отправить его домой подучиться, либо позвать на бесплатные курсы, или на платные.

Еще бывает, что вчерашний студент сегодня сел за действительно актуальную информацию, поразбирался и устроился джуном и через год-два уже неплохо шарит.
Так бывает, но редко.

В итоге, выходит следующее


Если что-то резко не поменяется, ближайшие 5 лет каждому выпускнику университета (если он хочет быть разработчиком) понадобится еще год сверху (или во время обучения в вузе, такое бывает часто), чтобы немного въехать в реальное положение дел в профессии, подучиться, найти работу и как-то влиться, хотя бы, в задачи на легаси-проектах.

Для бизнеса это означает ничто иное, как тотальная нехватка рабочих рук программистов. Бизнес, и без того похожий один на другой (сайтик, магазин, каталог, игруля, приложенька), не может позволить себе развиваться в какие-то новые стороны, просто из-за тормозов со стороны разработки. А разработчики не виноваты — людей не хватает.

Конец.

Спасибо за внимание!

© Habrahabr.ru