Поделиться

воскресенье, 31 октября 2010 г.

Рабочие группы как инструмент искоренения личной ответственности

Сегодня хочется поразмышлять над таким явлением в практике менеджмента как рабочие группы, комитеты, комиссии и подкомиссии (с точки зрения практической реализации все это схожие образования). Скажу честно, я пугаюсь каждый раз, когда попадаю (по другому и не скажешь) в какую-либо рабочую группу: вспоминаю о засилье бюрократии, проволочках и согласованиях, вздрагиваю при мысли о ежедневных/еженедельных (нужное подчеркнуть) дополнительных совещаниях и собраниях, перечитываю в уме стихотворение В. Маяковского "Прозаседавшиеся". Помимо всего этого абстрактного ужаса (и хорошо известного тезиса о бесполезности или низкой эффективности комитетов и подкомитетов) всплывают и совершенно конкретные вопросы и соображения, сформировавшиеся за годы работы и заседаний в "подколлективах" различных коллективов (и заметьте, я разделяю работу и заседания).

Для начала рассказу, зачем и как лично я создаю искусственные образования сотрудников в рамках и без того, по идее, одного коллектива:
  1. Я никогда не делаю этого, если могу не делать - я один, либо я + еще один человек, либо (я + еще один человек) + (я + еще один человек) + ... быстрее сможем принять решение, чем (я + 20 человек).
  2. Я создаю группу только в том случае, если у меня есть список вопросов, которые нужно решить, и понимаю, что для решения этих вопросов нужно много людей одновременно, а точнее одновременно нужен каждый из них. Такое случается, когда необходимо решать вопросы или делать что-либо, что требует одновременно усилий/знаний/полномочий сотрудников, не взаимодействующих между собой в условиях обычных бизнес-процессов, принятых в компании/организации.
  3. Я создаю рабочую группу только в том случае, если моих полномочий в "штатном" режиме не хватает для того, чтобы решить все эти вопросы без нее.
  4. Я никогда не создаю рабочих групп, чтобы решить, что делать - если я сам не знаю как руководитель, что делать, ни одна группа мне не поможет, помогут тягостные раздумья и личные консультации 1+1 "без отрыва от производства".
  5. Если подразумеваются регулярные совещания/встречи/собрания/заседания, то для них всегда жестко определена продолжительность. Еще раз: ЖЕСТКО! Это означает, что реплики наподобие "Сегодня у нас несколько больше вопросов..." не имеют веса и значения. Значение имеет время. Работа по принципу "Будем сидеть, пока не придумаем" - это идиотизм!

    Я помню свой первый или второй день работы в компании "Мираполис АйТи Партнер", когда генеральный директор задержал меня и еще одного сотрудника, поскольку нужно было срочно и обязательно коллегиально придумать сценарий рекламного флэшь-ролика. Задержались мы часа на 2, а через пару дней, увидев ролик, сильно удивились - он не имел ничего общего с разработанным сценарием. "Когда вы ушли я решил все переделать", - пояснил директор. Вопрос: кто вернет мне 2 часа жизни, потраченных абсолютно впустую? Ответ: никто.

    У Брайана Валентайна, ведущего разработчика Windows 2000, был знаменитый лозунг: “либо решение принимается в течение 10 минут, либо вопрос снимается с повестки”. (Спольски Дж. "Джоэл о программировании..." - СПб.: Символ-Плюс, 2008)

    Я более либерален - я отвожу на вопрос 15 минут, но ограничиваю количество рассматриваемых на одном совещании вопросов тремя.
Все это жутко банально и не мной первым говорится, однако по-прежнему классикой являются следующие ситуации:
  • Приказ, в котором написано о создании рабочей группы, имеет куда большее значение, чем взаимодействие людей, в нее включенных. Приказом можно размахивать перед сотрудниками других подразделения, пытаясь решить с ними те или иные вопросы или получить те или иные данные. Сами эти сотрудники, что интересно, в рабочую группу, как правило, не входят...
  • ...зато входят ВСЕ, о ком смог вспомнить инициатор создания рабочей группы вне зависимости от того, могут ли они внести хоть какой-то административный, интеллектуальный или хотя бы моральный вклад в работу.
  • К середине периода действия приказа (если рабочая группа создается, скажем, на год) все "засвеченные" в ней, как и все остальные, кто имеет с ними дело, уже просто мечтают, чтобы срок, наконец, закончился, и группа была расформирована. Замечу, что это происходит безотносительно к степени выполнения рабочей группой задания, то есть мы имеет такую переоценку смысла существования организационного образования в ходе этого существования. Если группе "приказано" существовать долго, то также не исключено, что входящие в нее сотрудники через некоторое время вообще забудут, что они в нее входят. Собрания будут все малочисленнее, а их целью станет констатация факта отсутствия прогресса.
  • Инициатор создания рабочей группы очень часто считает (это вообще шик!), что самим этим инициированием ОН свою основную функцию УЖЕ ВЫПОЛНИЛ... со всеми вытекающими из этого факта последствиями.
  • Комитеты и прочее часто создаются тогда, когда кто-то не хочет принимать решение самостоятельно (именно НЕ ХОЧЕТ, а не НЕ МОЖЕТ). Это способ снять с себя ответственность. Чем выше должность инициатора создания комитета, тем чаще это имеет место. Решения, которые он хочет принимать (не выплачивать премию, задержать отпуска), он принимает единолично.
  • Напротив выполняют работу и обеспечивают результат всегда конкретные люди, а не рабочие группы.

    Пример из жизни: в рамках МЧС возникла необходимость разработать большой пакет документов. Ответственный департамент счел, что этим должен заниматься ответственный институт. Институт в свою очередь создал рабочую группу, но счел, что этим должен заниматься департамент. Однако вне зависимости от того, какое из подразделений/организаций должно быть признано исполнителем, от всех междоусобиц, наличия или отсутствия рабочих групп работу эту могли выполнить и выполнили только два конкретных человека (на весь институт и департамент): я и мой начальник (у всех остальных просто нет соответствующей квалификации). И естественно за это никто не сказал: "Спасибо!", потому что все считали, что они вообще не должны разрабатывать эти документы.

четверг, 28 октября 2010 г.

100 слов: Об ИТ с народом

Если я не обнаруживаю компьютера на столе у руководителя, начинаю задумываться о том, чем он на работе занимается? Подписывает? Наверное, была бы люто интересной телепередача, в которой «обычные» люди отвечали бы на вопросы об ИТ в их жизни. Обычные люди на телевидении встречаются редко и сразу перестают быть таковыми (массовка и сюжеты в новостях о ДТП не в счет). Однако, чтобы вести диалог о железе и софте нужны не высокие посты или известность, а опыт применения. Любой человек, кем бы он ни был по должности, поневоле будет кристально честен. Будет сразу видна его реальная приверженность ИТ-инновациям и способность руководить оными.

понедельник, 25 октября 2010 г.

Достопримечательности в Интернете и точечная надстройка там же

Консорциум Всемирной паутины (W3C) создал Рабочую группу по достопримечательным местам, которая займется разработкой стандарта представления информации о таких местах в Интернете. Данные о достопримечательностях могут использоваться в браузерах виртуальной реальности, в социальных играх, навигационных системах и т.д.

Группа по достопримечательным местам еще ничего толком не создала, поэтому и говорить особо не о чем, однако у меня сработал эдакий "концептуальный звоночек". Где-то полгода назад в рамках (извините за дотошность) Главы 8 готовящейся книги "Реальность 2.0b" я пустился в прогнозы относительно будущего Интернета с точки зрения контента и протоколов. Предлагаю вашему вниманию небольшой фрагмент:

Я никоим образом не пытаюсь определить назначение современного Интернета. Как социальное явление общемирового масштаба «социальный Веб» или «Веб 2.0» позволил сделать шаг вперед от «Интернета для избранных» к настоящему «Интернету для всех», от «идеологии сайтов» к «идеологии платформ». Просто пора от уже неуместных восторгов или негодования перейти к серьезному анализу. Помимо конструктивных последствий развитие парадигмы Веб 2.0 усугубило или породило реальные проблемы в глобальной сети (нерелевантность поисковой выдачи, размывание моральных ориентиров за счет автоматизации противоправных или традиционно осуждаемых действий, смещение акцентов внимания с содержания информации на ее представление, безответственность за сказанное/опубликованное, культуру безграмотности). Эти проблемы неразрешимы техническими средствами. Поскольку большая часть из них не имеет отношения к нарушению законов (с точки зрения здравого смысла), они неразрешимы и юридически. По многим направлениям имеет место негативная динамика.

Мне кажется, имеется четыре сценария дальнейшего развития событий (они непротиворечивы, то есть реализация одного из них не исключает возможности последующей реализации других):
  • «Крах релевантности», то есть наступление в определенный момент практически полного «замусоривания» Интернета, что приведет к полной потере доверия большинства пользователей ко всему, что есть в сети, в то время как оставшиеся просто не смогут найти ничего из того, что им нужно. Этот сценарий кажется фантастическим при рассмотрении перспективы в 1-2 года, но не является таковым с точки зрения прогнозного горизонта в 5-10 лет.
  • «Пересмотр инфраструктур» - имеется в виду не только изменение протоколов, используемых в сети (многие из нынешних проблем I-го рода берут свое начало со времен становления Интернета), но и изменение отношения, например, к интеллектуальной собственности, за счет чего будет устранено или упразднено пиратство как явление. То есть необходим пересмотр не только технической инфраструктуры, но и понятийной. Если человек просыпается с утра и видит, что пол вздувается, стены дымятся, а занавески горят – он не будет по очереди решать все эти проблемы, потому что дом горит, и нужно спасаться. Этот сценарий производит впечатление еще более нереального, учитывая, количество, интересы и возможные затраты игроков на рынке информационных технологий, а также все законодательные и прочие усилия властей и граждан – мы не готовы выбегать из горящего дома.
  • «Спонтанная ремиссия» - весь контент в Интернете или большая его часть вдруг обретут смысл и пользу, неожиданно окажется, что все материалы в Интернете грамотны и кристально понятны. Судите сами, насколько вероятен этот сценарий. Собственно, я не первый такой фантазер. 10 марта 2007 года в личном блоге руководителя Netscape.com, создателя поискового сайта Mahalo.com и сети сайтов Weblogs Джейсона Калаканиса (Jason Calacanis) появилось следующее определение для «Веб 3.0»: "Это высококачественный контент и сервисы, которые создаются талантливыми профессионалами на технологической платформе Веб 2.0".
    Проще говоря, предполагается явление истинного «коллективного разума», а то, что господствует сегодня, называется «групповым сумасшествием».
  • «Точечная надстройка» - с развитием упомянутого выше научного и специализированного Веб 2.0 будет возникать все больше частично изолированных профессиональных сообществ, между которыми постепенно будут выстраиваться связи. В этом случае Веб 2.0, который предоставляет инструменты для реализации сценария, фактически становится лекарством от болезней, им же произведенных на свет. Это наиболее вероятный и позитивный сценарий, хотя важно заметить, что его реализация, по сути, не влияет на общую картину происходящего в Интернете.
Еще один сценарий - переползание бардака, безграмотности и безответственности из виртуальности в реальность - я тогда упустил, хотя он все более вероятен, судя по ежедневным наблюдениям, но сейчас речь не об этом. Стандарт на представление достопримечательностей, если рассматривать его не исключительно с технической стороны - это такой вариант "точечной надстройки". Не важно, что у нас бардак внизу на уровне почтовых и прочих протоколов, мы поверх всего этого построим (взгромоздим) нечто отдельное, высокоуровневое, где все будет правильно и хорошо. Скорее всего, польза действительно будет - существует много удачных примеров таких вот надстроек (они же, по сути, абстракции). Но лично меня общая тенденция несколько напрягает:
  • Во-первых, плотность вероятности того, что надстройка будет удачной, чем бы она ни была на самом деле (протоколами, технологиями, концепциями, API и т.д.), обратно пропорциональна высоте башни из нижележащих надстроек/абстракций и количеству этажей в ней. Все просто: чем больше уровней, тем больше ошибок и проблем.
  • Во-вторых, действие "закона дырявых абстракций" никто не отменял - за разъяснениями я отсылаю читателя к книгам Джоэла Спольски (Спольски Дж. "Джоэл о программировании". - СПб.: Символ-Плюс, 2008; Спольски Дж. "Джоэл: и снова о программировании". - СПб.: Символ-Плюс, 2009) - и его действие тем разрушительнее, чем выше башня.
  • Наконец, чем больше уровней абстракции надстраивается над сегодня существующими, тем а) круче кривая обучения специалистов или б) у новых специалистов все меньше знаний о том, "как оно все работает на самом деле".

понедельник, 18 октября 2010 г.

Шестая ежегодная конференция «Разработка ПО 2010»

C 11 по 15 октября в Москве в Культурном центре ГУ-ВШЭ и во Дворце культуры МГТУ им. Н. Э.Баумана проходила Шестая ежегодная конференция «Разработка ПО 2010» (CEE SECR 2010).

Обилие интересных докладов российских и зарубежных ученых и специалистов ИТ-компаний на актуальные темы («облака», безопасность, семантические технологии, прогнозирование ошибок, внедрение, интеграция, 3D, рецензирование требования, интернационализация, юзабилити, RAD, сервисно-ориентированная архитектура и многое другое), круглых столов, партнеров конференции (в число которых вошла и МОО «Информация для всех») не поддается перечислению (со списком прошедших мероприятий можно ознакомиться на сайте конференции). На мой взгляд, конференция претендует на звание «Самого значительного события» такого рода в 2010 году.

Слева – Артюхин В.В. (загораживает собой логотип МОО на баннере CEE SECR 2010), справа – Семёнов И.А. – заместитель начальника отдела интерфейсов и приложений компании "Контент Мастер" (где еще могли спонтанно встретиться два старых друга-программиста?)

Было приятно отметить, что темы, рассматривавшиеся в большинстве докладов, в том или ином виде поднимались и в аналитическим материалах нашего портала (в том числе вашим покорным слугой). Это означает две вещи:
  1. Мы в курсе важных событий.
  2. События и тенденции, которые мы считаем важными, и являются таковыми для отрасли разработки ПО и информационных технологий в целом – бьем без промаха.
Для меня как программиста особенно приятно и полезно было то, что в конференции принял участие создатель языка программирования C++ Бьерн Страуструп. На своем семинаре он рассказал об истории появления C++ - как слиянии двух ветвей: языков, близких к «железу» и domain-specific языков (Fortran, Cobol, Simula), о появлении Комитета и о том, что он представляет собой сейчас, о новом стандарте (C++0x), а также о новых средствах языка, уже поддерживаемых инструментами разработки.

Справа - Бьерн Страуструп (в кроссовках, освещающих путь в будущее программирования), слева – В. Артюхин

От звезд, а точнее от личностей легендарных, оказавших большое влияние на то или иное явление (как Б.Страуструп на программирование), всегда хочется напутствия и каких-то откровений. Поэтому, когда мне выдалась возможность лично пообщаться с Бьерном, я не мог не задать два очень долго мучивших меня как работника образования с большим стажем вопроса.

Вопрос 1: Считаете ли вы C++ хорошим языком в качестве первого изучаемого языка программирования (обратите внимание, что речь шла о C++, а не о C или C/C++ - у нас в вузах часто их перемешивают, что в корне неверно)?

Ответ: Да, я считаю, что он хорош для этого – я обучил ему как первому языку около 3000 студентов, так что знаю, что это можно делать. Это сложно, язык сложен, но программирование в принципе сложное дело – нельзя обучить ему за месяц или полгода, нельзя за этот период стать отличным специалистом. Многим хочется, чтобы было можно, но это нереально.

Вопрос 2: Считаете ли Вы, что изучение Ассемблера при обучении программированию по-прежнему необходимо?

Ответ: Безусловно. Это может и не быть Ассемблер, но программист должен понимать, как работает машина. Если он этого не понимает, то те вещи, которые он программирует на более высоком уровне выглядят для него в каком-то смысле как волшебство, а это неправильно. Другой важный момент – это специализация: я считаю, что программисты должны быть разными – один специализируется по интерфейсам пользователя, другой – по сетевому взаимодействию и так далее, и эту специализацию нужно принимать в расчет уже при обучении.

Резюме: несколькими фразами мэтр укрепил мою уверенность в справедливости того, что я сам много лет пытаюсь донести до работников образования (с переменным успехом и за исключением момента с C++ в качестве первого языка программирования – я все-таки считаю, что есть более удачные варианты… но опять-таки, как и отметил мой глубокоуважаемый собеседник, программисты бывают разные). Спасибо организаторам за интересную во всех отношениях конференцию.

пятница, 8 октября 2010 г.

ИТ al dente

Очередное исследование Google: распознавание недовольства пользователей результатами поиска на основе наблюдений за ними. Ученые заметили, что если человек в поисковой выдаче получает не то, что ожидал, он часто начинает грызть ногти, приближает лицо к экрану, вводит следующий запрос на естественном языке или пытается получить нужный результат как-то совсем иначе. Нет сомнений в том, что результаты этого исследования будут применены на практике, хотя сейчас и может казаться, что наблюдение компьютера за вами в процессе веб-серфинга через веб-камеру – это уже чересчур.

Интересен и сам проект (не то, чтобы «Ах!» - в последнее время вообще трудно чему-либо удивляться, но вполне себе ничего), но речь не о нем, а о типах ИТ-компаний, тенденциях и стратегиях, которые они выбирают в современных условиях (глобализации, технического прогресса, продолжения или конца кризиса – тут мнения по-прежнему расходятся). Эти типы и стратегии очень хорошо очертились в последние годы.

Компания Google достигла того уровня и масштаба, когда может позволить себе «кидать спагетти в стенку и смотреть, что прилипнет». Это означает, что постоянно проводится масса исследований и запускается масса проектов в надежде на то, что один или несколько из них станут успешными. Последняя не прилипнувшая макаронина (пока?) – это Goggle Wave. Лично я считаю, что он еще всплывет в том или ином виде, не как макаронина, а, скорее, как сварившийся пельмень – «Волна» как «Beatles» опередила свое время. В Wave не было совсем уж революционных идей, но вот их сочетание и реализация были новыми (мы, то есть ваш покорный слуга и его коллеги в разных коллективах, обязаны Wave кое-какими задумками в своих интернет-проектах).

Большинство крупных компаний работает на горизонтальных рынках (производят массовые продукты). Работа крупной компании на нишевом, вертикальном, «разреженном» рынке означает, что компании необходимо поддерживать свой размер и развиваться с помощью большего числа продуктов и меньшего числа пользователей каждого из них – это сложнее. Крупные компании и стали таковыми благодаря тому, что смогли отхватить и удерживают по сей день большие доли рынка. Google не исключение. Что отличает Google – так это дружелюбие и открытость в разумных пределах: все знают, что делает Google, все могут это потрогать. Какая еще ИТ-компания способна на большое число проектов одновременно, но традиционно субъективно оценивается пользователями не столько благосклонно? Microsoft.

В отличие от Google продукты Microsoft продаются коробками, поэтому за маркетинговые и технические ошибки Microsoft часто расплачиваются пользователи (а потом Microsoft). Я не хочу сказать, что в Microsoft плохие специалисты: я знаю, что на обеспечение совместимости, на тестирование и исправление ошибок тратятся баснословное время и не менее баснословные деньги, я хочу сказать, что такой подход к делу и есть стратегия Microsoft. Например, по моему частному убеждению, операционные системы для настольных компьютеров получаются у компании удачными через одну: Windows 3.1 («да, но…») -> Windows 3.11 («весьма») -> Windows 95 («ново и посредственно до выпуска OSR2») -> Windows 98 (много лет стояла у меня на компьютере) -> Windows Me («страх и ужас») -> Windows XP (без комментариев – зачем только я поставил Vista?) -> Windows Vista (меня даже не раздражает скорость работы – меня раздражает, что для того, чтобы добраться до настройки IP-адреса должен открыть 5 окон) -> Windows 7 (к своему позору я с ней лично не знаком, но по слухам - прилично). Microsoft выпускает продукт, собирает от пользователей тонны нареканий, в результате чего следующая система получается лучше. По поводу хорошей системы возникает меньше нареканий, поэтому не имея четкого направления движения, Microsoft выпускает следующую двигаясь в соответствии со своим представлением о правильном… Я когда-то заметил, что для того, чтобы предсказать, что кардинально изменится (по крайней мере, с точки зрения внешнего вида) в следующей операционной системе Microsoft, нужно повнимательнее присмотреться к последнему Office (которые обычно выходят между операционными системами).

Apple. Другой такой компании нет. Если бы Apple выпустила ручку за 500$ со своим логотипом и подключением к Интернет для обновления прошивки, то ее популярность на рынке была бы, конечно, ниже, чем у iPhone, но выше, чем можно было бы ожидать согласно здравому смыслу и объективным характеристикам данного устройства. Apple может кидать макароны в стенку или даже на потолок сырыми – они все равно прилипнут.

Собственно, три названных кита в последние пару лет действовали так же, как и во все остальные годы. Мне же лично близка область разработки компьютерных игр, где стратегии в период кризиса резко поменялись и стали разительно отличаться от «кидания макарон» или «варки пельменей»:
  • «Казуальные» небольшие игры заполонили интернет-магазины – такие игры можно делать быстрее и дешевле, не рискуя проколоться с многомиллионным проектом. Кроме того, эта «мелочь на любой вкус» расширяет клиентскую базу.
  • С той же целью (расширение рынка малой ценой) компании-игроделы вместо выпуска новых игр сосредоточились на переделке старых под устройства-манипуляторы (Microsoft Xbox Kinect, Sony Playstation Move).
  • Выпускается множество скачиваемых за дополнительную плату дополнительных материалов для уже существующих игр – это уже явная тенденция. В определенных регионах интернет-дистрибуция по объему превысила продажи игр на носителях.
  • Если речь все же идет о дорогом новом проекте, то ставки 9/1, что имеется в виду сиквел/приквел к чему-то, что уже было и хорошо продавалось. Инноваций в новой серии сериала при этом минимум: «зачем ломать то, что и так работает»?!
  • В нескольких особо тяжелых случаях наблюдается и вовсе странное поведение игроделов: оставаясь в рамках сериала, они его «перезагружают», внося в него чудовищные по масштабу (и часто по воздействию на пользователей) изменения с невнятной целью. Последний Tomb Raider – не похож ни на один предыдущий; если бы мне не сказали, что последняя Castlevania – это Castlevania, я бы ни за что не догадался; Данте из Devil May Cry изменился до неузнаваемости (эту стратегию в общем я называю «истеричными инновациями»).
Еще раз убеждаюсь в том, насколько и экономически, и психологически, и процессно создание игр отличается от создания всех остальных программных продуктов, и насколько разные решения могут принимать люди, работающие в разных областях одной и той же отрасли!

суббота, 2 октября 2010 г.

Треснувший рупор: О тайных врагах и проблемах российского высшего образования

Никак не мог пройти мимо видео. Честное слово, очень старался, но не получилось.



Тут много о чем можно подумать, хотя думы эти одолевают уже не первый год: все то, о чем говорится, известно где-то с начала XXI века (новостью являются лично для меня курсы по "уфологии" и загробной жизни, но черт с ними - тут и обсуждать нечего). Давно известно и про количество вузов, и про продажу дипломов, и про все остальное. Однако больше всего доставили эмоций, практически выдавили слезу жалобы господина Фурсенко. Я не буду говорить почему, а просто приведу список риторических вопросов, которые у меня возникли после просмотра видео, и ответы на которые должны помочь в работе нашему до отчаяния самоотверженному Министру образования:
  • Первый и самый главный вопрос - кто тот злодей, который мешает Министру в его борьбе за качество образования в России? Кто тот нехристь, который несмотря на все усилия Министерства образования и реформы нашей образовательной системы, реформы, которой поголовно благодарны все работники высшего образования и молятся, чтобы она никогда не закончилась (по крайней мере до полного его уничтож... пардон, изменения к лучшему), тормозит прогресс и наступление светлого будущего? Кто этот "палач среднего образования и мучитель высшего"?
  • Далее, какое коррумпированное донельзя ведомство выдает в таком количестве левым "вузам" лицензии на право ведения образовательной деятельности?
  • Какое ведомство или его структура раз в год, три или максимум пять выдает этим "вузам" аккредитацию в ходе "комплексных проверок", направляя в них для обследования компетентные и неподкупные комиссии? Вузы, которые регулярно обследуются, это какие-то другие вузы - не те, о которых идет речь в видео?
  • Кого господин Фурсенко обозначает местоимением первого лица единственного числа во фразе: "Мы должны прекратить обманывать людей..." (и далее по тексту)?
Господа ответить на вопросы эти очень важно: ведь злопыхатели не дают Андрею Александровичу вот уже 6 лет как исполнять его законные функции (ну никак не дают - он и шагу не может ступить в правильном направлении). Мы должны помочь многострадальному Министру - главному человеку по образованию (и, если верить полному названию Министерства, то и по науке) в Российской Федерации. Злодейские личности и ведомства не имеют и не могут иметь никакого отношения к деятельности самого Министра, поскольку из ролика видно, что он не кается и не признается, а скорее уповает, надеется и жалуется. Кем бы ни был таинственный злодей, повинный в упадке российского образования, его признание должно было бы заставить вышестоящих немедленно отправить оного в отставку или на вольное поселение, где самому неизвестному фигуранту осталось бы только повеситься от стыда и позора... Что-то говорит мне о том, что мы этого не дождемся: "Измерить температуру забортной воды не представляется возможным из-за отсутствия таковой"!

Что касается самого сюжета, то тщательнее нужно было проработать его линию. Направлен он, судя по всему, в основном против "частных лавочек" (ждем очередную волну ликвидации вузов и филиалов, которая снова не затронет никого крупного и авторитетного и ничего по большому счету не изменит), но вот тут выходит незадача: говоря о приписках, авторы сюжета видимо не подозревают, что коммерческим вузам они во многом невыгодны - соотношение (образовательная площадь учреждения / кол-во студентов) - это один из тех самых формальных аккредитационных показателей, о которых упоминает Министр, и далеко не каждый (это я иронизирую) коммерческий вуз имеет площади, сравнимые с МГУ (также есть нормативы на площадь под каждый компьютер и т.д. - мало найдется вузов из 3600, если найдется хотя бы один, полностью соответствующих всем нормативам на самом деле, а не по написанному в отчетах). Однозначно выгодны приписки именно государственным вузам, потому что площади, как правило, велики, а помимо бланков дипломов, оные вузы получают еще и подушевое финансирование, общий объем которого должен быть как можно больше, в особенности в условиях демографической ямы, кризиса и развитой конкуренции "на рынке образовательных услуг".

Нужно отметить, что не только у наших СМИ, но и у наших политиков с образованием проблемы (в смысле, когда они о нем говорят). Никогда не забуду, как кто-то из наших последних Президентов несколько лет назад заявил телевидению: "Процедура комплексной оценки деятельности вузов теперь значительно упрощена - раньше вуз обследовался целиком, а теперь отдельно по каждой своей образовательной программе"... По ходу карьеры я участвовал в качестве представителя обследуемой стороны в процедурах оценки трижды (в трех разных вузах), и два раза отчет от вуза был один, а в третий раз, хронологически случившийся после упомянутых слов и соответствующих изменений в регламент, отчетов были десятки (по каждой образовательной программе) - не совсем понимаю, где здесь упрощение. Лично я не спал в ходе того третьего обследования несколько ночей, а когда засыпал, мне во сне являлись комиссия в полном составе и многочисленные отчеты, честное слово.

Ну и маленькие завершающие комментарии:
  • Проблема с нехваткой техспециалистов и вузов, их обучающих, объясняется очень просто: с одной стороны провал по кадрам - квалифицированные кадры работают на производстве и, поскольку их день ото дня становится все меньше, неплохо получают и желанием обучать не горят, а с другой стороны - провал по технике. Чтобы обучать менеджеров, юристов или экономистов специализированная техника не нужна вообще никакая, можно обойтись и ПК, а вот в случае со схемотехниками, инженерами всех мастей и прочими созидательными профессиями так не выходит. Помимо этого есть еще множество методических и методологических нюансов (например, нужно еще выяснять, чему учить и как), но это оставлю за скобками.
  • Мне интересно, за всю свою жизнь, я увижу хотя бы одного политика/деятеля, который выйдет к народу и скажет: "Ребята, я, пардон, облажался - думал, что справлюсь, но не могу я тянуть это все и, если останусь, утяну вас всех в могилу. Низкий вам всем поклон, и простите, люди добрые". Знаете, даже по статистике хотя бы одному уже пора бы появиться, тем более что кандидатов...

Математика и... ООП

Коллеги недавно задали тему для обсуждения, приведя следующий фрагмент:

...известный специалист по программированию - Александр Степанов, который работая в Bell Labs участвовал в создании C++ вместе c Бьерном Страуструпом, а впоследствии, уже по приглашению в HP Labs, написал Standard Template Library (STL). Александр Александрович полностью разочаровался в парадигме ООП, в частности он пишет: "Я уверен, что ООП методологически неверна. Она начинает с построения классов. Это как если бы математики начинали бы с аксиом. Но реально никто не начинает с аксиом, все начинают с доказательств. Только когда найден набор подходящих доказательств, лишь тогда на этой основе выводится аксиома. Т.е. в математике вы заканчиваете аксиомой. Тоже самое и с программированием: сначала вы должны начинать развивать алгоритмы, и только в конце этой работы приходите к тому, что вы в состоянии сформулировать четкие и непротиворечивые интерфейсы. Именно из-за этой неразберихи в ООП так популярен рефакторинг - из-за ущербности парадигмы вы просто обречены на переписывание программы, уже в тот самый момент, когда только задумали её спроектировать в ООП-стиле".

Цитировалось изначально по Lurkmore, я же здесь привожу расширенный фрагмент с блога Игоря Савчука. Вообще, вдумчивое прочтение вызвало бурю эмоций, но приближаться к оценке в стиле Lurkmore не очень хочется, так что поделюсь своими соображениями в более сдержанной манере. Не то, чтобы я хотел начать по данному поводу масштабную дискуссию, просто практически каждое слово в приведенной цитате расходится с моим мировоззрением, а когда в процессе своей размеренной жизни натыкаешься на что-то, что идет ну совсем с пониманием этой жизни вразрез, это что-то, выражаясь специфическим языком сильно "доставляет". Итак...

Как и во многих других случаях точка зрения автора имеет право на существование, но не является единственно верной. В ней можно усмотреть явную ошибку с позиционированием, скажем так, "классов относительно математики" - приравнивание классов к аксиомам. Не совсем понятно на чем вообще базируется аналогия - это сравнение, на мой взгляд, достойно "астронавта от архитектуры" как их называет Спольски (Спольски Дж. "Джоэл о программировании..." - СПб.: Символ-плюс, 2008). Прибытие к неприятным выводам происходит при поддержке весьма неоднозначного сравнения.

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

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

По поводу ущербности ООП в принципе не могу согласиться тоже. В частности, я занимаюсь имитационными (симуляционным) компьютерным моделированием в системе Pilgrim 5, где существует набор узлов типа "Очередь", "Сервер", "Склад" и т.д. (один уровень абстракции), на которые при составлении каждой конкретной модели ты смотришь как на "Менеджера", "Датчик", "Стопку бумаг", "Склад книг" и так далее (второй уровень абстракции) - как тут без ООП не могу себе даже представить и, честно говоря, альтернативы кажутся мне ужасными и темными.

Рефакторинг действительно популярен в ООП, тут спору нет (более или менее, чем в структурном программировании, - не могу сказать, но интуиция подсказывает, что дело здесь вообще не в парадигме, а в качестве изначального кода), но это не следствие неправильности или сложности парадигмы, а следствие сложности ее применения/воплощения. Понять, что такое классы и объекты не сложно, сложно подобрать подходящие для каждого конкретного случая абстракции, иерархии и определить "правильные" способы взаимодействия между элементами, то есть интерфейс - это процесс уж очень творческий. Кстати, ссылка на рефакторинг в связке с тезисом об изменчивости интерфейса вообще неуместна, поскольку согласно Фаулеру (Фаулер М. "Рефакторинг: улучшение существующего кода" - СПб.: Символ-Плюс, 2008):

Рефакторинг (англ. refactoring) — процесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения (то есть именно интерфейса - прим. мое) и имеющий целью облегчить понимание её работы.

Я не являюсь крупным специалистом по ООП в общем, - только в частности, но мое мнение таково: все проблемы и критика связаны с тем, что людей зачастую учат сначала программировать без ООП, а зтем уже "натягивают" их сложившиеся представления на новую парадигму - причем зачастую это делают преподаватели, пришедшие к ней тем же путем.

Вот в ИТ-образовании я, действительно, специалист значительно повыше среднего, поэтому знаю, что говорю. Обучение ООП зачастую начинается с его трех китов-постулатов, а не с того, что есть классы и объекты, удачные классы и объекты, а также удачное ПО, созданное на их основе. Прибегая вновь к сравнению с математикой - это то же самое, что в 1-ом классе, не рассказывая про цифры и +/-, начинать обучение со слов "Создавая свою формальную знаковую систему, нужно иметь в виду..."

Еще пример из собственного опыта: когда мы изучали Turbo Vision (TV) на втором курсе (1996 год), мы изучали его не в рамках ООП, а в качестве некоего "средства, облегчающего построение интерфейсов", где "интерфейс уже как бы есть, и нужно только указать, чем твой будет отличаться от стандартного". Логичнее было бы начинать изучение с тезиса: "Смотрите, какую штуку из классов и объектов сварганили, как много она может вам дать, и как с ней удобно работать - вы можете научиться строить такие же удачные (или неудачные - в TV было множество проблем) иерархии и библиотеки из классов и объектов предметной области".

Если взять человека, который пришел к ООП "правильным" путем, я думаю, что для него приведенный вначале фрагмент с проблемами будет не то что спорен, непонятен он будет в силу надуманности и смехотворности проблем.