Архивы: по дате | по разделам | по авторам

Привет, Серёга!

Архив
автор : Виктор Шепелев   24.03.2005

У нас даже «выпускного бала» не было: институту было уже не до нас — да и нам не до него. Рассовав по карманам свежеполученные корочки, народ разъехался по своим делам. С тех пор мы и не виделись.

У нас даже «выпускного бала» не было: институту было уже не до нас — да и нам не до него. Рассовав по карманам свежеполученные корочки, народ разъехался по своим делам. С тех пор мы и не виделись.

А дальше — лишь от случая к случаю: то на случайном форуме узнаешь ник, то в «аську» стукнет старый знакомый, а то — хлоп — статья в «КТ»[Сергей Науменко, «Как вырастить армию хороших программистов…» (КТ #576)] Привет, Серёга!

Письмо Одногруппнику, Уехавшему в Столицу
Место действия: Большой Город Маленькой Страны.
Время действия: полгода после диплома.

…Оба мы пять лет промучили собой Самый Большой Компьютерный ВУЗ Небольшой Страны. Оба получили свои (заслуженные?) красные дипломы. Оба учились и одновременно работали. Оба большей частью своих знаний и умений обязаны вовсе не родному ВУЗу. Да только ты — человек сознательный и целеустремленный — подался в науку; и — в Москву. А я — раздолбай и бездельник — остался. Бросил свою унылую работу, сижу вот, пью чай, смотрю, как подрастает десятимесячная дочка, немножко пишу в «КТ», немножко рулю своим маленьким, но гордым бизнесом. В конце концов, в отличие от многих других одногруппников, мы оба, кажется, оказались именно там, где хотели оказаться: там, где нам самое место, а не там, где можно срубить сколько-нибудь немножко денежек (Алекс Экслер) на хлеб. Ты не стал бы сидеть дома и пить чай, а я — я никуда отсюда не поеду; так что все в порядке. Привет, Серёга!

Да, впрочем, всю эту прикладную мемуаристику все равно редактор вырежет — поскольку не важно. Давайте не будем говорить, о чем мы не будем говорить, и будем — о чем будем (Стругацкие). Важно вот что: нам не понравилось. Ну совсем. В программирование влюбленные со школы, поступившие на «свою» специальность своими силами и по своему желанию, пришедшие на первый курс с радостным ожиданием в глазах — мы последовательно сменили это ожидание на: удивление; недоумение; горестное недоумение; полную безнадежность. Помнишь, с каким аппетитом мы перечитывали расписание в начале каждого семестра? Какие предметы! — от одних названий, кажется, становишься умнее… Ни фига. Привет, Серёга!

Казалось — и преподаватели хороши, да и мы не дураки; казалось — не наступило еще время, когда ты перестал ходить на лекции, а я на них отсыпался после случайных ночных подработок; казалось бы — да… Даже если у меня возникнет сегодня такое желание — я не знаю, куда пойти и в чьи честные глаза посмотреть и спросить так, ласково-ласково: какого, извиняюсь, хрена? Кто составил эту программу и расписал часы этих курсов — да так, что сначала учат объектно-ориентированным языкам, а потом, курсе на третьем, — самому понятию объектной ориентированности; что преподаватель одного из самых сложных языков изучает его по карманной книжке перед лекцией; что электронной, так ее, коммерции нас учили, а основополагающим структурным идиомам, существующим в любой программе, — нет; что на рисование веб-страничек было выделено больше часов, чем на архитектуру и проектирование… Лишь к началу четвертого курса (который обещал наконец-то «серьезные предметы профилирующих направлений», а дал… эх, да что там!) — лишь тогда мы поняли, что лучше уже не будет; а посещение пар — это не то чтобы необязательно, а вообще бесполезно [Ну, не совсем. Твоя заветная записная книжка, в которую записывались ключевые фразы преподов, таки пригодилась! («Программирование сродни игре на балалайке» — это ведь Бонд на первом курсе сказал, а?)], и вот тогда-то… Привет, Серёга!

Сапожник без сапог. В хххх году Министерство Образования Небольшой Страны дало Самому Крупному Компьютерному ВУЗу Небольшой Страны амбициозное задание: создать всеобъемлющую Систему Управления ВУЗом (от бухгалтерии до звонков на перемену) — которую впоследствии планировалось внедрить во всех ВУЗах страны. К сожалению, привлечение к этой задаче студентов младших курсов (старшим — не до того), а также некоторое пренебрежение некоторыми важными стадиями разработки (архитектурное проектирование, координирование разработчиков, тестирование) привело к тому, что Система так никогда и не была закончена.

Конечно, можно было плюнуть (по большому счету, так мы и сделали). Кто хотел — тот выучился, а кто не хотел — и шут с ним. Но я — не такой, и ты тоже не такой. Нам, чтобы жить, надо обо всем думать. От завтрашней погоды — и до размера затычки в ванной. Правильно? (Тоже Мураками) — и мы не могли хотя бы не попытаться понять, что здесь не так и что надо сделать, чтобы было «так». Ведь, наверное же, где-нибудь умеют учить программистов? И конечно же, твоя статья про «армию программистов» — она оттуда, из тех наших разговоров под пиво, из той безнадежности и недоумения; я словно вернулся на пару лет назад и вживую услышал твой голос. Привет, Серёга!

Да, так, собственно, о чем это я? Вот о чем: интересно, что из столь одинаковых (по крайней мере, близких) посылок мы сделали столь разные — почти противоположные — выводы (Я здесь не стану останавливаться на том, что цель — поднять уровень экспорта страны, куда ты сам уехал полгода назад, до уровня страны, известной своими отвратительными, но продуктивными программистами, — кажется мне сомнительной. Важен сам принцип — ведь мысли эти ты вывез из Большого Города Небольшой Страны).

Индусский код. Жаргонное нарицательное название для программного кода крайне низкого качества, использующего простые, но порочные принципы «copy-paste», «главное завалить — а там запинаем», «шапкозакидательство». Также известен как «write only», или (в пику принципу «написано однажды — читается везде») — «написанное однажды — лучше не читать».

Ты пишешь: программистов надо учить быстрее, ведь после третьего курса им уже интереснее работать, а не учиться. Но: может быть, их стоит учить интереснее — чтобы они все же учились? Спроси себя: отчего и почему мы забили на лекции и практику? Оттого ли, что так хотелось найти хоть какую завалящую работу — или оттого, что уже не ждали от этого института ничего нового? И неужели — будь эти спецкурсы такими же шикарными, как их названия, — мы бы не нашли возможность все это изучить? Будь обучение настоящим, систематическим, с постоянным повышением уровня проектов, с опорой последующих курсов на предыдущие?

Ты пишешь: сделать обучение более «утилитарным» — основные понятия, спецкурс по выбранному направлению — и вперед на мины. Но: ведь это нормальная, десятилетиями отработанная схема. Профессионально-техническое училище (ПТУ) называется. Таким образом здорово готовить строителей — но не инженеров. А программист (даже тот, который решает задачу «сделать синим квадратик 8 при нажатии на кнопку ОК») — это все-таки инженер; это человек, нормальная повседневная деятельность которого — как минимум творческая адаптация известных методов, а как максимум — создание новых методов и даже принципов проектирования/программирования. Инженер немыслим без фундаментальной подготовки — как знания общих «законов природы» (математики, теории вероятности и далее со всеми остановками), так и прочной основы в своей области: алгоритмики и паттернов; не только выборочных языков программирования (одного? двух?), но и их общих принципов; не только «модной» объектно-ориентированной парадигмы, но и прочих, хоть в общих чертах. Важнейшая, но вообще никем здесь не освоенная область — история компьютерных наук; вовсе не ради интереса — просто потому, что, решая задачу, нужно знать, как ее решали раньше и что из этого вышло. Ну с какой ёлки в МТИ или в Беркли этим базовым курсам уже больше тридцати лет (!) — а у нас! У нас только — привет, Серёга!

Повышение плотности программистов на душу населения. В 1999 году студенты, поступившие на специальность «Программное Обеспечение» Крупного ВУЗа, составили три группы по 20–25 человек.

В 2004-м — восемь групп, из них пять — полностью контрактных. Впрочем, перенасыщенность программистами Большому Городу пока не грозит: из каждой группы по специальности идут работать в среднем 3–5 человек.

Ты пишешь: всех посадить за компьютеры, компьютерные занятия — главные, никаких домашних занятий. Но: зачем? Известно же (ты это видел — и я это видел), что в условиях ограниченного времени и «насильственного» программирования (делай сию секунду, а то не успеешь сдать) — какое программирование? Да никакое практически. И вот фундамент — историю, теорию, метод — можно (и нужно! нужно!) прочитать на лекции; а вот средство — язык, IDE, БД — насколько приятнее и полезнее освоить пусть и на институтском компьютере, но в свободное от рамок (одна пара от звонка и до оного) время.

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

И, может быть, это чересчур самоуверенно (…но мы ведь оба этим грешим, а?) — но мне очень хочется верить, что «народ за тобой не пойдет»; что все же перекосы нашей образовательной системы выправятся в сторону создания специалистов с правом выбора и «роста» — не «армию исполнителей», а, пардон, «креативщиков», способных решать новые задачи нетривиальными методами, а может и — чем черт не шутит? — эдак плечиком хоть чуть-чуть, но подтолкнуть музыку (то есть программирование)… куда?.. вперед?.. выше?.. Что значит — вперед, выше, дальше?.. куда-то, он еще и не ведает куда, на новое место… (В. Орлов, «Альтист Данилов») Мне ведь тоже где-то «за державу обидно» — да только не за Большую Страну и не за Небольшую Страну, — а за наш «программистский интернационал» — который все пытается скатиться из инженерной науки в «бери больше, кидай дальше…» И мечтается лет через …надцать посмотреть ласково на подрастающее поколение, вспомнить с горечью «армию программистов» и спросить строго: Если вы такие умные, то почему строем не ходите?

А в остальном — привет, Серёга!

P.S. У дихотомии ВУЗ/ПТУ, на самом деле, есть еще и «третья голова», то бишь третья альтернатива: армейская система. Там рядовой, малоподготовленное «пушечное мясо» (Ахтунг! Все несущественное сильно упрощено!), когда его амбиции и способности вплотную подводят его к офицерскому званию, отправляется в академию — где и получает необходимое в/о к уже имеющемуся о/р. Заметим, что по этой же системе часто работают «постсоветские бухгалтеры»: двухмесячные бухгалтерские курсы (пройденные в начале девяностых) по мере возрастания амбиций требуют фундамента высшего экономического образования. А вот программисту с о/р вузовское образование уже не даст ничего. Ноль. И сие прискорбно весьма.

© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.