Читать книгу «Это всё, программисты?» онлайн полностью📖 — Иван Белокаменцев — MyBook.

PROграммист со звёздочкой*

Про качество подготовки программистов на раскрученных курсах не написал ещё только ленивый. Я – ленивый, поэтому пишу только сейчас.

Попался мне тут человек, который принёс на собеседование диплом, выданный одной раскрученной образовательной организацией. Раньше я только жалобы на неё читал, что деньги не возвращает. Но никогда не видел выпускников. Стало жутко интересно.

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

Судя по описанию курса и его результатов, чувак должен меня собеседовать, а не я его. В названии курса красовался эффектный уровень PRO.

Итак, взял я чувака на испытательный срок. Сравнить мне есть с кем – в двух словах опишу этих ребят.

В основном ко мне в отдел приходят люди, которые хотят стать программистами. Обычно входных критериев два – какое-нибудь ИТ-образование (чтобы цикл от условия отличал) и решение пары задач на логику и алгоритмы на собеседовании. Дальше идёт погружение.

Скорее, правда, «погружение». В программировании оно простое донельзя. Есть широко известная в узких кругах книга чудесного автора, которая очень поверхностно знакомит со всеми основными аспектами разработки. Фишка в том, что книгу надо не просто читать, а «прорешивать» - набивать в компьютере код, который напечатан на бумаге. Один большой, на неделю, сквозной пример.

Знаний и умений после книги почти нет. Всё, что она даёт – знакомство со средой разработки, лёгкая тренировка по программированию на русском языке, ну и запомнить несколько сочетаний клавиш, пару-тройку свойств, событий, типов объектов.

На этом – всё. Не, вообще, конечно, там написано намного шире и глубже, но в первую неделю никто этой ширины и глубины понять не в состоянии. В реальности остаются лишь поверхностные знания. Которые, однако, очень нужны при решении первых учебных задач – чтобы не тупить на ровном месте и знать, в каком месте писать код.

В этой точке объекты сравнения сошлись. Человек с модных курсов против чуваков, прочитавших за неделю книжку. Обе группы идут изучать уже вполне конкретные темы и сдавать мне экзамены. В первый месяц это прям вообще база – универсальные коллекции (массивы, структуры, деревья, таблицы), запросы и базовые алгоритмы.

Сухая статистика. «Книжники» в первый месяц сдают 2.5 экзамена. «Курсовик» сдал 0. Среди «книжников» такое тоже бывало – правда, лишь один раз (оказалось, ему кто-то «помог» на собеседовании).

Краткая характеристика навыков, полученных чуваком на курсах: умеет нажимать, куда сказали. Пока всё, больше ничего не заметил. Из языка запросов там преподавали, судя по ощущениям, только select и from.

На всякий случай жирным шрифтом напишу: человек хороший. С правильными ценностями, целями, подходами. По формальным критериям его пора выгнать, но я не буду – верну его в исходную точку и дам книгу прочитать.

Он просто поверил рекламе. Там, как водится, было гарантировано трудоустройство. Ну и, разумеется, в конце каждого значимого обещания стояла *.

Выносить какой-то вердикт не буду – кто я такой... Если попадётся ещё один кандидат с этих курсов, попрошу-таки решить задачки на логику и алгоритмы. Не стоит исключать, что мне просто попался какой-то необычный чувак. Но диплом-то ему выдали…

Люди с других, менее известных курсов, тоже попадались – были чуть лучше. Но, увы и ах, через месяц абсолютно выравнивались с «книжниками», которые потратили на «обучение» от силы 500 рублей. Продолжу смотреть, наблюдать, сравнивать. Но повода выкидывать книжку, с которой сам начинал в 2005 году, пока не вижу.

Что вижу, то и программирую

Не знаю, как у вас, в большом мире разработки, а у нас, в автоматизации бизнеса, очень распространён подход «что вижу, то и программирую». Есть более удобоваримое название: «программирование от данных». Однако, чаще всего это называют говнокод. Хотя, тут я не согласен – до говнокода ещё надо немного подтянуть.

Обычно, необходимость в программировании от данных возникает под давлением ряда обстоятельств. Например, «надо срочно» или «вотпрямщас» (процентов 90 задач в автоматизации бизнеса). Также случается «нечего там смотреть и анализировать, денег только содрать хотите» (те же 90%, пожалуй). Сверху накладывается «да точно ничего не поменяется через 10 лет» (а чего ему меняться, 90%!). Увы и ах, пересекаем три по девяносто, и получаем решающий фактор: 90% программистов в бизнесе по-другому просто не умеют.

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

Копипаст-отчёт

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

Кто не делал отчёты для директоров старой закалки, я поясню: там всё должно быть на своих местах. Гибкие возможности и настройки не то, чтобы не нужны… Строжайше запрещены. Всё аккуратно, по линейке, в заранее обозначенных местах. Поменять местами колонки так же страшно, как переставить полки с хлебом в Ашане.

На тот момент предприятие производило две группы продукции. Программисту так и сказали – сначала первая группа, затем вторая. Данные налицо, от них и код заплясал. На беду, формулы вычисления цифр для групп несколько различались. Не так, чтобы сильно, но в рамках «вотпрямщас» программист не сумел уложить всё в одну функцию. Ну и написал две – по одной на каждую группу продукции.

Директор, хоть и старой закалки (а может – потому, что старой закалки), бизнес развивал. В том числе – линейку производимой продукции. Через несколько месяцев появилась ещё одна группа продукции – плюс функция в отчёте. И ещё. И ещё. И так несколько лет.