Поделиться

вторник, 25 августа 2009 г.

Еще раз о поиске работы в секторе ИТ

С моим коллегой и другом Владом озадачились по случаю вопросом написания резюме. В результате довольно хитрых и резких манипуляций образовалась целая статья, фрагмент которой я и предлагаю вашему вниманию. Полностью она опубликована на сайте TopRecruit.ru

Цель статьи - систематизированно изложить взгляд конкретного работодателя в сфере ИТ на содержание и структуру качественного резюме соискателя, а также перечислить и обосновать наиболее часто встречающиеся в подобных документах недостатки. Работа адресована тем, кто претендует на вакансии в сфере ИТ (в частности, разработчикам ПО) и при этом испытывает сложности с составлением резюме.

Наброски ландшафта

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

Техника отбора резюме

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

Во-вторых, в силу бюрократии найм нового разработчика зачастую происходит отнюдь не тогда, когда он нужен, а в нарушение Закона Брукса («Если проект не укладывается в сроки, то добавление рабочей силы задержит его еще больше») с приличным опозданием и после долгих переговоров с разными начальниками, смысл которых вкратце сводится к следующему: «Работу некому делать, проект уже на две недели отстает от графика, дайте же наконец человека!». После этого сотрудники департамента HR все-таки получают указание от руководства и вываливают соответствующему техническому специалисту – менеджеру проекта, тимлиду, - пачку из пяти-восьми, а то и десяти резюме. У него, специалиста, от которого зависит решение «принять/не принять», реально нет столько времени разбираться с каждым кандидатом! У него и своей работы выше крыши, и сроки уже подпирают! Поэтому, как только будет найден человек соответствующей квалификации и «вписывающийся» в проект, все остальные резюме отправятся прямиком в корзину. Может быть, в конце пачки были кандидаты и лучше, но у специалиста нет времени на них, а «достаточно хороший» человек уже найден. Все.

Выбираем резюме

С точки зрения работодателя резюме должно быть:
  • «Вменяемым», то есть понятным.
  • Структурированным.
Что касается понятности, то все довольно очевидно: резюме, как визитная карточка, а встречают «по одежке». В резюме не должно быть грамматических ошибок, они говорят либо о невнимательности соискателя (а какая может быть невнимательность в нашей профессии?), либо - о его безграмотности, что еще хуже. Если кандидат не умеет ясно и четко излагать свои мысли на русском языке, то чего ожидать от него на неродном языке - например, на С++?

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

(продолжение статьи на сайте TopRecruit.ru)

пятница, 21 августа 2009 г.

Приватизация истории (частичная)

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


В 31 я себя старым или зрелым как-то не считаю (хотя в 25 думал, что буду считать), отрасль нашу в общем тоже престарелой не назовешь, и потому еще более удивительно, что при относительной молодости нас обоих, обнаруживается большое количество "реликвий" из нашего общего и довольно отдаленного (по ощущениям) прошлого.

Последнее открытие я сделал, изучая двухтомник Ю.Л.Полунова "От абака до компьютера: судьбы людей и машин" (М.: Русская редакция, 2004), посвященный как раз истории ВТ.

С самого начала чтения у меня появилось ощущение, что это уже когда-то было... Потом вчитался в предисловие, где автор пишет, что первая книга по истории ВТ в СССР была написана им и Р.С.Гутером в 1975 году и называлась "От абака до компьютера: жизнь замечательных идей". Вот тут-то меня и озарило: я читал ту книгу, правда не в 1975 (меня тогда и в проекте не было), а где-то уже в 1985-86. Прочитать книгу - небольшая заслуга по тем временам, не спорю. Но в семь или в восемь лет в СССР наткнуться и вцепиться в книжку единственную в своем роде... странно и забавно. Это сейчас что-нибудь про компьютеры есть в каждом магазине, а тогда... Тогда я по-моему брал ее в библиотеке... в детской (тогда были хорошие детские библиотеки, там много чего было и, слава богу, много чего не было - "Телепузиков", "Смешариков" и прочего... хм... прочей ерунды не наблюдалось).

После такого озарения у меня был только один путь, по которому я с удовольствием и прошел: нашел книжку в Интернете (сейчас это уже букинистика), заказал, оплатил, получил, обрадовался.


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

По-моему, весьма актуально для сегодняшней действительности.
Совершенно иначе обстоит дело в социалистическом обществе.

Здесь автоматизация как физического, так и умственного труда имеет своей целью облегчение его условий, создание такой ситуации, когда в максимальной степени проявляются творческие способности человека, устранение однообразных и утомительных трудовых операций и изменение тем самым характера самой производственной деятельности человека. При этом ЭВМ органически входят в основные технические средства создания материально-технической базы коммунизма.

А вот сие, может и было тогда актуальным, но...

Все это, в общем-то не так важно. Важно то, что с точки зрения ВТ-истории повествование останавливается на БИС. Обратите внимание, как сильно всего за 29 лет история подросла.


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

Вот так - еще один кусочек истории, с которым, как выяснилось я столкнулся впервые еще 20 с лишним лет назад.

среда, 19 августа 2009 г.

Сбои здравого смысла 2

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

Многие вещи мы (AKA Люди) делаем машинально. У нас есть безусловные и условные рефлексы, и они безумно полезны большую часть времени. Проблема в том, что мы сами и среда вокруг нас формируем иногда рефлексы неправильные. Например, при переходе улицы мы смотрим сначала налево, а потом направо, потому что нас так учили, но мало кого из нас учили обязательно прочитать и попытаться понять то, что написано в MessageBox (окошке сообщения), даже если мы не знаем языка на котором произведена надпись, поэтому очень многие люди делают так: ЩЕЛК, и уже потом "А что там было написано"? Неправильные рефлексы усугубляются как раз "мнимой непрерывностью жизни".

В школе, в институте и в социальной среде мы учимся решать задачи - профессиональные и личного характера, но при обучении нам всегда известно, что перед нами стоит задача, а в жизни все иначе. Какой толк от знаний и готовых решений, если мы ошибаемся, даже не поняв, где и в какой момент мы делали выбор: жизнь или смерть, успех или неудача? Например, жизнь информации в компьютере может зависеть от того какой кнопкой вы закрыли окно с сообщением: OK или Cancel. Если вы действуете машинально на основе неправильно выработанных рефлексов, лишь бы закрыть окошко побыстрее, то результат будет плачевным или не очень с вероятностью 50/50.

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

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

Конечно, это все чистая философия (на самом деле не вполне чистая, поскольку имеются практические иллюстрации), но, по-моему, множества проблем в том числе и с информационной безопасностью можно было бы избежать, сосредоточив внимание на выработке у пользователей правильного отношения ко времени, проведенному за компьютером, и правильных рефлексов. Прежде чем учить людей делать выбор осознанно, нужно научить их видеть место и время, где он должен быть сделан! Я давно уже говорил, что на мой взгляд настал момент, когда основы информационной безопасности (и грамотности, как я ее здесь представил) должны быть включены в школьный или институтский курс ОБЖ. Настал этот момент и давно: многие по полжизни проводят виртуально.

На все это можно возразить, что пользователь не обязан думать об особенностях функционирования компьютера, что он должен делать свое профессиональное или личное дело, а все остальное - это проблема специалистов по аппаратуре, софту или безопасности. До определенной степени это верно, но:
  • Мне кажется, что все-таки понимать, что ты делаешь, как-то лучше, чем не понимать, иначе не было бы столько раскаивающихся с похмелья.
  • Технические средства, как бы они ни были хороши, не могут оградить от всех проблем, потому что (если речь идет о безопасности) с противоположной стороны баррикад тоже технические средства, которые тоже постоянно эволюционируют (спам и фильтры, вредоносное программное обеспечение и антивирусы).
  • Есть вещи ("человеческий фактор", который при ближайшем рассмотрении имеет отношение абсолютно ко всем инцидентам в области информационной безопасности), от которых технические средства оградить не могут независимо от их уровня развития. Видели блендер? Держали его в руках? Разве создатель блендера сможет защитить вас, если вы захотите лизнуть работающий блендер? Если вы при закрытых окнах включите газ, машинально нажмете на кнопку поджига и не проверите, появился ли огонь (который, предположим, не загорелся), а потом через пять минут решите покурить на кухне... кому вы будете предъявлять претензии и главное как? Автоподжиг должен работать всегда без сбоев с первого раза? Да, черт возьми, должен, но не бывает на свете такого - не бывает абсолютных гарантий безотказной работы устройств, de facto - не бывает... ни для автоподжига, ни для кардиостимулятора. Поэтому существует гарантийное обслуживание и пожизненные гарантии с возможностью замены при сбое (получается, что она в любом случае заканчивается, если автоподжиг вас убил). А ведь делов-то было... тьфу! Всего-лишь проверить, что конфорка зажглась!

пятница, 14 августа 2009 г.

Спам и общественность: "Вы хотите поговорить об этом?"

Делюсь фрагментом из своей книжки "Реальность 2.0b" (из Главы 6. Ругательное слово из четырех букв).

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

Люди зачастую ведут себя по-разному в смысле оценки ситуаций на дороге в зависимости от того едут ли они на машине или идут пешком. Физически – это один и тот же человек, но с точки зрения восприятия – разные. То же самое с заказчиками рассылок – как пользователи они сами могут раздражаться, разгребая электронные почтовые завалы, но как функционеры, как предприниматели и менеджеры они своей целью имеют продажи, у них в этом случае совершенно другая система ценностей и понимание собственного вклада в общий бардак. Таким образом, призыв к борьбе со спамом может быть услышан пользователем, но не будет услышан заказчиком рассылки, даже если эти двое – одно лицо. Это не новость, а пример внутренней человеческой организации и иллюстрация к словам Иисуса Христа.
3 И что ты смотришь на сучек в глазе брата твоего, а бревна в твоем глазе не чувствуешь?
4 Или, как скажешь брату твоему: «дай, я выну сучек из глаза твоего»; а вот, в твоем глазе бревно?
5 Лицемер! вынь прежде бревно из глаза, и тогда увидишь, как вынуть сучек из глаза брата твоего.
«От Матфея святое благовествование». Глава 7. Стихи 3-5. (Библия. Книги священного писания. Москва : Бук чембэр интернэшнл, 1990.)

Со спамерами та же история. Вряд ли многие из них страдают иллюзиями по поводу безвредности своей деятельности, однако они выступают в качестве примера реализации того, что я называю «парадоксом очевидных истин»: «спам деструктивен, но я могу его рассылать, потому что в моем случае – это не спам» или «спам съедает мое время и угрожает безопасности, но у меня недостаточно оснований принимать какие-либо меры».

Это то, что касается индивидуального отношения к нежелательной корреспонденции. Есть проблемы и с интегрированной ее оценкой обществом. Когда требуется опора на общественное сознание большинства или консолидированной группы, то такая опора может быть найдена лишь в том случае, если проблема, против которой предполагается выступить единым фронтом, в одинаковой степени оказывает негативное влияние на всех представителей общества или группы. Например, вторжение иноземных сил на территорию какой-либо страны с целью геноцида или этноцида затрагивает интересы большинства жителей страны, а потому возникает военный конфликт. Полномасштабная война несовместима с нормальным функционированием общества, поэтому основные силу уходят на превенцию войны (поддержание сил в боеготовности, ядерное сдерживание и так далее). Существование преступности, с другой стороны, и отдельные ее проявления затрагивают интересы индивидуумов в разной степени, поэтому общество в целом не предотвращает преступность – преступность и общество сосуществуют:
Современное общество предотвращает преступления. Это – миф. Если Алиса захочет убить Боба, она сможет это сделать. Полиции не удастся остановить ее, если, конечно, она не полная идиотка. Они не смогут защитить каждого Боба. Боб должен позаботиться о своей безопасности сам. Он вправе нанять телохранителя, если это ему по карману, но это также ничего не гарантирует. Обычно преступление обнаруживается уже после его совершения. «Офицер, мы только что откопали на задворках Стадиона Гигантов тело Боба, нашпигованное пулями. Я думаю, что здесь пахнет преступлением». Мы расследуем обнаруженные преступления, собираем свидетельства, которые помогут убедить присяжных в виновности обвиняемого. Предполагается, что весь процесс поиска и наказания преступника должен воздействовать на общество в целом и отбивать у других охоту следовать его примеру. Конечно, приговор выносится с целью наказать виновного, но реальная польза обществу состоит в предотвращении новых преступлений, то есть наказание производит профилактический эффект. (Шнайер Б. Секреты и ложь. Безопасность данных в цифровом мире. - СПб.: Питер, 2003.)

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

Что касается спама, то здесь наблюдается интересный феномен – отчасти именно технические аспекты существования нежелательной корреспонденции и борьбы с нею дробят общество, не давая сформироваться единому оборонительному (или наступательному) фронту. Как уже отмечалось, разные почтовые службы, а также почтовые приложения на компьютерах пользователей используют различные алгоритмы для обнаружения спама, а также после его обнаружения по-разному с ним поступают (удаляют целиком или помещают в особую папку). Маршрутов движения почты множество (разные серверы SMTP, разные оконечные почтовые службы, которыми пользуется пользователь, разное программное обеспечение на стороне пользователя). Одно и тоже письмо один сервер сочтет спамом и удалит, а другой пропустит. Отсутствие единого стандартного алгоритма по ликвидации нежелательных писем (которого не может быть, потому что спамерам будет достаточно найти всего одну дыру в таком алгоритме, чтобы сделать свои письма невидимыми для всех фильтров по всему Интернету), конечно, осложняет жизнь спамерам, но одновременно создает ситуацию, при которой разные пользователи страдают от спама в разной степени – я получаю в день 100 писем и жутко нервничаю, ты – 10 и немного раздражаешься, а наш сосед снизу – ни одного, и поэтому ему все равно.

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

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

Что до остальных методов противодействия (термин «противодействие» подходит лучше, чем «борьба», поскольку методы нынешней «борьбы» реактивны по характеру), то Б. Шнайер окрестил общую ситуацию с информационной безопасностью на сегодняшний день, как «ухищрения», а я для емкого описания ситуации со спамом, пожалуй, воспользуюсь словосочетанием «структурированный хаос» (не путать с «бардаком»). Методов много, они имеют разных характер, они до определенной степени эффективны, но ни один из них в отдельности и ни все они вместе не являются оружием, способным нанести индустрии рассылки нежелательной корреспонденции сокрушительный удар. Если оценивать масштабы применения тех или иных методов противодействия, то майка лидера будет на фильтрах (технических средствах), и, полагаю, я показал, что, «ставя на фильтры», мы страхуем себя от полной потери денег, но не рассчитываем на победу (то есть планируем с депрессивной позиции), поскольку не знаем ни качества трассы, ни протяженности дистанции, ни правил забега. Скорее всего, в борьбе со спамом наибольшая ставка со временем будет сделана на какие-то другие методы (лично я полагаю - экономические), но, конечно, главное условие позитивного развития событий – это слаженная синхронизированная работа всех методов, которой на сегодняшний день не наблюдается. «Безопасность – это цепь: где тонко, там и рвется» (и снова Шнайер), то же определение применимо к борьбе со спамом.

четверг, 13 августа 2009 г.

Пускать (,) нельзя (,) не принимать во внимание

Затеял с коллегами обсуждение. Следующий фрагмент цитируется по публикации "Сообщества экспертов МОО «Информация для всех» и партнерских организаций":
Отечественные журналисты в очередной раз распространяют дезинформацию, якобы социальная сеть Orkut, принадлежащая Google, вслед за YouTube, Twitter и Digg, отказалась пускать на свои страницы пользователей Internet Explorer 6. Не знаю, что я делаю не так, но прекрасно захожу на все эти сайты, никто меня за шкирку там не хватает и не выталкивает обратно... Видимо, разницы между «прекратить принимать во внимание при создании HTML-кода» и «не пускать» журналисты не видят.

Действительно, старенький Internet Explorer 6 не поддерживает ряд приятных и полезных свойств стандарта каскадных таблиц стилей CSS, что вынуждает иногда серьезно изворачиваться при создании HTML-кода, иначе веб-страницы будут некрасиво выглядеть в этом браузере. Действительно, YouTube надоело проверять, как будут выглядеть ее страницы в IE 6 и она больше не будет задаваться этим вопросом. Но не пускать... нет, такой буквы в этом слове не было.

Справедливости ради нужно отметить, что иногда "не пускать" и "не учитывать" сливаются "в гармонии". Например, я, в основном, использую Google Chrome (поскольку он быстрее... и все остальное). Так вот на сайте КонсультантПлюс через Chrome "Перейти в Специальную интернет-версию" любого документа (например, со страницы "Административного кодекса" невозможно, ибо (цитирую):
Неподдерживаемый веб-обозреватель
Для работы в системах КонсультантПлюс:Интернет требуется веб-обозреватель Microsoft Internet Explorer 6.0 или выше под управлением Microsoft Windows 98/Me/NT/2000/XP. Пожалуйста, установите его отсюда.

Данные о вашем обозревателе:
Хост: base.consultant.ru
Тип обозревателя: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/530.5 (KHTML, like Gecko) Chrome/2.0.172.39 Safari/530.5
Платформа: Win32
Использование cookie: Включено
Создание объектов XMLHTTP: Отключено
Создание объектов XMLDOM: Отключено
Создание объектов словарей: Отключено

Конечно, это право хозяев сайта реализовывать его на хитрых движках, специфичных для Microsoft Internet Explorer (IE), спасибо, что вообще бесплатно нас информируют. С другой стороны немного странно такое наблюдать у авторитетной компании (я, вообще, столь радикальный ответ сервера увидел чуть ли не впервые), и это при общей-то тенденции движения к "альтернативным" браузерам - по всем данным доля использования IE суммарно по всем версиям падает уже второй год.

Что касается прекращения поддержки некоторыми сайтами Microsoft Internet Explorer 6.0 (IE6), то есть обеспечения и гарантии полноценного вида сайтов в IE6, то это решение, имеющее отношение к процессу принятия инноваций - теме весьма увлекательной.
Основополагающий труд в этой области принадлежит Эверрету М. Роджерсу и называется "Diffusion of Innovations" (Распространение инноваций). Впервые работа увидела свет в 1962 г., а в четвертом издании, опубликованном в 1995 г., автор отметил, что свыше 3.5 тысяч статей и книг, посвященных проблеме распространения инноваций, было опубликовано между первым и четвертым изданиями книги.

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

[...]

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


По мнению Роджерса эта группа составляет около 16% от тех, кто имеет выбор - принимать или не принимать инновацию. Нужно отметить, что исследование Роджерса не было специфическим для информационных технологий - оно касалось инноваций безотносительно к области, где они возникают. Однако совпадение это или вполне законная корреляция, но доля пользователей, использующих IE6 в среднем за май, июнь и июль 2009 года составила 16.94% по планете и 17.4% по стране (России; данные взяты с сайтов LiveInternet и HitsLink, соответственно; с подробным анализом данных можно ознакомиться здесь).

То есть если придерживаться теории Роджерса (а ее еще никто полноценно не опроверг), то налицо, что в стане IE6 остались практически одни "медлящие". Специфика данной категории пользователей такова, что они образуют длинный хвост принятия инноваций, то есть по достижении доли использующих IE6 в 16%, далее она может падать ооочень медленно и ооочень долго. Наличие такого длинного хвоста создает сложности и "сайтовикам" (необходимость обеспечивать полноценный вид страниц и функциональность сайта при отсутствии в устаревшем программном обеспечении новых, полезных механизмов), и компании-производителю (необходимость поддержки), а также проблемы с информационной безопасностью (волочащиеся старые или новые обнаруженные уязвимости в старой программе).

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

суббота, 8 августа 2009 г.

ГОСТ-пост

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

И еще:
Языком ИТ традиционно является английский, а, увы, не русский. Русских вариантов многих нужных терминов как-то так и не родилось...

Есть один нюанс, который глобально ничего не меняет, но заслуживает отдельного упоминания: "нужных терминов" не вообще "не родилось", а скорее "родилось, но не выросло" (не укоренилось в массовом сознании), поскольку, вообще-то существуют ГОСТ-ы, то есть ГОсударственные СТандарты.

В период существования СССР было принято множество стандартов в различных областях, которые были обязательными для исполнения. Я не рискну утверждать, что стандартизовано было все (поскольку понимаю, что подобное утверждение невозможно доказать, зато очень просто опровергнуть), но, однозначно, очень многое: определения, форматы документов, последовательности выполнения процессов и так далее. После распада СССР был принят закон "О техническом регулировании" (№ 184-ФЗ от 27 декабря 2002 г.), заменивший обязательную стандартизацию - добровольной. Обязательными к исполнению остались лишь Технические Условия (ТУ за разными номерами), регламентирующие безопасность продукции, безопасность производства и так далее (Глаголев В.А. Разработка технической документации. - СПб.: Питер, 2008). Сегодня можно выполнять или не выполнять стандарты советские (ГОСТ), российские (ГОСТ Р), зарубежные (государственные и негосударственные), международные (например, ISO) и внутренние корпоративные.

Сам термин "стандарт" происходит из английского языка и обозначает "узаконенную меру" или "образец" (Брокгауз Ф. и Ефрон И. "Иллюстрированный энциклопедический словарь" - М.: Эксмо, 2008), но стандартизация, по своей сути, известна еще со времен Древнего Египта, где размер кирпичей для строительства должен был быть всегда один и тот же, и кирпичи проверялись на сей предмет специальными чиновниками.

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

И некоторые компании вводят стандарты одежды. Не столь строгие, чтобы требовать определённой униформы, но все же серьёзно ограничивающие свободу выбора. Когда это происходит впервые, вред поистине огромен. Люди не могут говорить и думать ни о чем другом. Всякая полезная работа прекращается. Наиболее ценные сотрудники начинают понимать, что их действительные достижения никто не ценит, что их вклад в общее дело не так важен, как стрижки и галстуки. В конечном итоге они уходят. Компания же плетётся дальше, пытаясь доказать, что найм подходящих людей, как выяснилось, не так уж важен.
[...]
...следует отметить, что великий триумф стандартов в современном мире – это практически всегда успех стандартных интерфейсов. Стандарт на резьбу, на пальчиковую батарейку или кассету с плёнкой содержит много сведений о конечном продукте – о том, как он взаимодействует с другими частями, но ни слова о процессе создания этого продукта. Батарейка имеет тип АА, если отвечает стандарту соответствующего интерфейса (по форме, размеру, отказоустойчивости, электрическим характеристикам и т. д.), независимо от того, создана ли она под водой, роботами или обученными обезьянами. Из успеха стандартов на интерфейсы можно лишь с некоторой натяжкой делать вывод, что процессы тоже следует стандартизировать (Демарко Т., Листер Т. Человеческий фактор: успешные проекты и команды, 2-е издание. - СПб.: Символ-Плюс, 2008).

Когда Unix-сообщество соединилось с культурой Internet-инженеров, в него также проникло мышление, сформированное процессом RFC-стандартизации IETF (Internet Engineering Task Force - Инженерная группа по решению конкретной задачи в Internet). Согласно традиции IETF, стандарты должны возникать из опыта с работающим прототипом, но как только они становятся стандартами, код, который им не соответствует, считается нерабочим и безжалостно уничтожается.
[...]
Одним из самых печально известных примеров абсурдной стандартизации были сетевые протоколы Открытого взаимодействия систем (Open Systems Interconnect, OSI), которые недолго конкурировали с TCP/IP в 1980-х годах - семиуровневая модель на расстоянии выглядела изящной, но оказалась чрезмерно сложной и нереализуемой на практике.
[...]
Стандарт RS232 для последовательных соединений был настолько недоопределенным, что иногда казалось, будто не существует двух одинаковых последовательных кабелей (Реймонд Эрик С. Искусство программирования для Unix. - М.: Издательский дом "Вильямс", 2005).

Что касается лично меня, то я считаю, что наличие стандартов, которые необязательны для выполнения - это как "летняя зима" или "круглый квадрат", либо это обязательно для выполнения, либо это не стандарт. Может быть добровольность в этом деле и правильна, но все же ощущается какая-то едва уловимая абсурдность во всем этом. Она привела к тому, что:
  1. Крупные компании часто пытаются стандартизировать то, что может быть и не стоило бы.
  2. При наличии ГОСТ часто изобретаются велосипеды - далеко не каждый специалист знает существующие стандарты в своей области, и никто не знает их все (советские, российские, международные...).
Что касается отрасли информационных технологий, то большинство действующих (то есть введенных в действие и не отмененных) стандартов появилось еще в 70-ых - 90-ых годах, когда многих технологий еще не существовало. Одновременно с ними сейчас действуют и международные стандарты. Если бы централизованная стандартизация в нашей отрасли активно продолжалась в России все прошедшие годы и сегодня, вот тогда бы у нас было меньшее засилье англоязычной терминологии, меньше жаргона и больше порядка. Те стандарты отражали, на самом деле, то, что ныне принято называть "лучшим опытом" (англ. best practices), и очень жаль, что им позволили безвозвратно устареть.

Этапы жизненного цикла, виды документации, виды программных продуктов и так далее, и тому подобное - на все это существовали ГОСТ-ы еще с 70-ых, а сегодня даже студентов как-то уже не очень легко учить по стандартам (по отечественным действующим), поскольку те значения терминов, которые в них даны, часто не совпадает с общепринятыми ныне (чаще всего "привозными"). Например, согласно ГОСТ 19781-90 "Обеспечение систем обработки информации программное":
  • Программа, которая написана для ЭВМ одной архитектуры, но может исполняться в системах обработки информации с другими архитектурами без доработки или при условии ее доработки, трудоемкость которой незначительна по сравнению с разработкой новой программы, называется отнюдь не "переносимой", а "мобильной".
  • "Макроопределение" - программа, под управлением которой макрогенератор порождает макрорасширения макрокоманд (ПРОГРАММА, а не сама строка с определением).
  • Ситуация, в которую попадают две или несколько асинхронных процедур, характеризующаяся невозможностью дальнейшего выполнения из-за взаимных зависимостей... думаете "дэдлок"? Ну, в общем-то, да - "deadlock", но согласно ГОСТ по-русски это называется "тупиковая ситуация".
  • Порция данных, состоящая из последовательности литер - вовсе даже не "строка", а "литерная цепочка" или просто "цепочка".
Введен ГОСТ с 1992 начала года.

Зачем я, собственно, все это пишу? В каком-то смысле плАчу "за прошлогодний снег" - я часто отмечаю, что язык ИТ - не русский, а английский, но только недавно осознал, что у нас собственная советская культура в части ИТ была, был наработан гигантский объем ныне устаревающего опыта, и русский язык на самом-то деле МОГ БЫТЬ языком ИТ.

Вы можете столкнуться с ГОСТ-ами:
  1. В вузе при оформлении диплома - мы с зав. кафедрами принципиально требовали от студентов на факультете Программирования оформления пояснительных записок согласно требованиям ГОСТ, составляющих, в частности, Единую систему программной документации (ЕСПД), один раз за пять лет можно и окунуться в оформление с головой, опыт нелишний.
  2. При разборках со старыми документами.
  3. При работе в государственных учреждениях или компаниях, выполняющих заказы для таковых.
  4. Если сами захотите действовать согласно ГОСТ.
  5. Рекомендую: если прежде чем изобретать 11-ый термин для чего-либо захотите убедиться, что вам не подходят существующие 10. Знаете/помните, чем деталь отличается от узла, сборочной единицы, комплекта и комплекса? ГОСТ-ы знают. В чем различие между аппаратно-программным комплексом (АПК) и автоматизированной системой (АС)? Ответ в ГОСТ-ах (одним из отличий является то, что в состав АПК не входит персонал, в отличие от АС).
У меня есть такая привычка - уточнять значения слов. Хочется, например, применить слово "морфология", но осекаешься и задумываешься: "А я точно правильно понимаю его значение"? То же со словами "трансгрессия" (затопление морем участков земной поверхности), "демиург" (в Древ. Греции название всех ремесленников; в Афинах одно из так наз. Тезеевых подразделений населения; в Ахейском собзе - название членов совета стратега), "задница" (термин древнерусского гражданского права, встречающийся в Русской Правде и означающий наследство; боярская З. переходила лишь к сыновьям; смердья (крестьянская) З. могла, за отсутствием сыновей, переходить к дочерям) (Брокгауз Ф. и Ефрон И. "Иллюстрированный энциклопедический словарь" - М.: Эксмо, 2008). Чтобы не писать и не говорить чего попало без понимания значений слов, держу под руками словари Даля, Ожегова и т.д. Теперь вот и в ГОСТ-ы регулярно заглядываю.

суббота, 1 августа 2009 г.

О суперкомпьютерах 2

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

В конце прошлого года и в начале нынешнего было достаточно много публикаций, выражающих мнение о том, что в текущем экономическом кризисе как минимум частично повинны... суперкомпьютеры (иногда они назывались просто компьютерами, но суть от этого не меняется). В частности, об этом писали The Inquarer, The Guardian и The Independent, но и в вестниках профессиональных ассоциаций, таких как, ACM (Ассоциация за вычислительную технику) и IEEE CS (Компьютерное общество Института инженеров по электронике и электротехнике) эта тема тоже поднималась.

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

    Считайте, что Вы выкрутились, но, вообще-то, это чудовищно! Да, с точки зрения математики все абсолютно корректно, но с точки зрения экономики - это "бред сивой кобылы"! Такие условия на цены просто немыслимы!

    Понимаете, что я имею в виду? Есть подозрение, что нечто подобное произошло и с финансовыми моделями.
  3. В продолжение предыдущего: предположим, что мы имеем предельную ситуацию, когда все математические модели корректны и точны, а автоматизированные финансовые инструменты, работающие на их основе, безошибочны и безотказны. Что получается в результате? То, что все в выигрыше - все сделки удачны и суммы на банковских счетах растут. Однако и здесь "засада". Электронным деньгам и автоматике все равно, сколько реальных денег имеется у банка, компании или в обороте страны, и сколько товара и услуг они все реально могут произвести. Происходит тот же отрыв сферы обращения от сферы производства, который по мнению многих экономистов становился основной причиной многочисленных кризисов в прошлом.
  4. Наконец, прогнозирование всегда выполняется на основе неких исходных данных (например, экономических данных за предыдущие периоды времени). Чем больше релевантных (то есть действительно относящихся к прогнозируемому процессу) данных, тем точнее прогноз. По свидетельствам специалистов во многих случаях для моделирования использовались только данные за период, прошедший с момента выхода из Великой депрессии. Данные за предшествующие периоды времени, за период самого мирового кризиса 30-ых годов XX века не брались в расчет.
Конечно, дело было не только и не столько в компьютерах - чего Вы хотите от калькуляторов? Дело в людях, поскольку дело всегда в людях, люди - это первая и последняя инстанции по всем вопросам. Однако все это - яркая иллюстрация к необходимости "ставить телегу позади лошади". Перед тем, как что-то применять, внедрять в массовом порядке, законодательно стимулировать и так далее, нужно очень хорошо подумать о последствиях, к которым это может привести. И "главный" вопрос относительно того, чем загрузить еще не построенные суперкомпьютеры должен быть и решен в первую очередь, до начала "стройки века"!

P.S. "СКИФ МГУ" был запущен 19 марта 2008 года. Тогда на вопрос: "Зачем нужна такая сила?", ректор МГУ им. М.В. Ломоносова, академик Садовничий ответил:

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

Вопрос о том, что должны делать с суперкомпьютерами бизнес-структуры, пока остается открытым.