Лучше изучить лишнее, чем ничего не изучить

Прототипирование пользовательских интерфейсов: за и против

Posted: сентября 4, 2008 | Author: | Filed under: Разработка софта | Tags: , , , , , | 4 комментария

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

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

Читать далее…


Про неолиберализм

Posted: июля 17, 2008 | Author: | Filed under: Интересные ссылки | Комментариев нет

Борис Кагарлицкий: 


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

Другими словами, если существует некий финансовый порог участия и кандидатов, и партий, и каких-то социальных сил в выборном процессе, то становится понятным, что от двух третей до трех четвертей населения (и, соответственно, их политические представители) не могут эффективно участвовать в политико-избирательном процессе. Просто потому, что не имеют для этого средств. Все недовольны, но никаких альтернатив нет. Таким образом, мы приходим к ситуации, аналогичной однопартийной системе при формальном отсутствии имущественного ценза и формальном плюрализме. Система имущественного ценза в Англии в XVIII веке или в Швеции до 1917 года была построена так: если я не имею какого-то количества имущества – я не могу голосовать. Это был пассивный имущественный ценз, направленный против избирателей.

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

Прочитать статью полностью

Вечным борцам за экономический либерализм посвящается.


Про культуру

Posted: июля 14, 2008 | Author: | Filed under: Наблюдения | Tags: , , , | 3 комментария

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

Читать далее…


О пунктах меню

Posted: июля 9, 2008 | Author: | Filed under: Юзабилити | Tags: , , , , | Комментариев нет

Изучение премудростей дизайна пользовательских интерфейсов я начинал с прочтения отличной книги Джоэля Спольски «Руководство по UI дизайну для программистов». Поскольку там были высказаны очень здравые идеи, я стал постоянным читателем его блога JoelOnSoftware и позднее вступил в сообщество переводчиков.

А недавно Джоэль опубликовал там коротенькую заметку следующего содержания:

Не скрывайте и не выключайте пунктов меню.

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

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

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

Заметка вызвала неоднозначную реакцию на его форуме. Многие разработчики интерфейса посчитали это нецелесообразным, потому что такой подход помогает начинающим пользователям, но вызывает огромное раздражение опытных пользователей. Представьте себе ситуацию, когда вы, не выделив предварительно текст в редакторе Word, случайно нажимаете пункт меню «Правка—Копировать». И вместо того, чтобы проигнорировать действие, которое не может быть выполнено в данном контексте, на экран вываливается диалог с текстом вроде такого: «Команда Копировать недоступна, так как вы предварительно не выделили текст, который надо скопировать». Этот принцип напрямую противоречит главе 6 вышеназванной книги Джоэля, потому что опытные пользователи никогда не читают текстовых сообщений, а от появления блокирующих диалоговых окон могут иногда просто разбить монитор.

Форумчане придумали альтернативное решение: показывать пункты меню отключенными, но оставлять их доступными для нажатия, а при нажатии показывать всплывающую подсказку с пояснением причин отключения. Правда, никто не учел себестоимость реализации такого решения, потому что выключенные стандартными способами пункты меню во всех RAD-системах, которые я знаю, не генерируют событие нажатия. А потому придется «плыть против течения» и городить жуткий дополнительный код для реализации нестандартного затенения неактивных пунктов меню + отслеживания кликов по ним.

На мой взгляд, вместо этого стоит пораскинуть мозгами при проектировании интерфейса и применять подход, предложенный Джоэлем, только в тех случаях, когда предыдущий «жизненный опыт» пользователя не может помочь ему интуитивно определить причину отключении пунктов меню. В 99% случаев пользователи начинают использовать вашу программу только после знакомства с одним или несколькими десктопными приложениями, вроде MS Office. Поэтому базовые операции, которые можно/нельзя провести с различными объектами приложения, им, скорее всего, известны.

При пристальном рассмотрении своего текущего проекта я понял, что уже наполовину это реализовал. В редактор тестов можно вставлять формулы, которые являются OLE-объектами Microsoft Equation. Делается это путем выбора пункта меню «Вставка—Формула». Объект Microsoft Equation не входит в стандартную поставку Windows, а устанавливается на компьютер вместе с пакетом Microsoft Office. Потому вставка формулы невозможна при его отсутствии.

Там где формулу нельзя вставить в принципе (например, когда фокус ввода не находится в редакторах вопросов/ответов), было принято решение блокировать этот пункт меню. А в случае, если формулу вставить можно, но Microsoft Equation не установлен, соответствующий пункт меню не блокируется, и при его нажатии выводится сообщение, поясняющее отсутствие OLE-объекта на компьютере. Без этого неподготовленный пользователь вряд ли сможет проявить интуицию и догадаться, почему формулу вставить нельзя, без прочтения руководства по использованию.


О прогнозах времени

Posted: июля 5, 2008 | Author: | Filed under: Юзабилити | Tags: , , , | Комментариев нет

Сегодня захотел я провести обновление своей Windows XP вышедшим недавно Service Pack 3. Ну и заодно обновить DirectX, уж гулять, так гулять. Поставил их в очередь на загрузку.

Замечательная (к тому же совершенно бесплатная) программа Download Master выдала вот такой прогноз:

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

Для первой закачки (DirectX) осталось примерно полчаса, для второй (SP3) — 3 часа.

Значит ли это, что я скачаю Service Pack 3 через три часа?
Нет. Он загрузится гораздо раньше.

К сожалению, метод прогнозирования времени Download Master не учитывает тот факт, что при окончании закачки файла меньшего размера (DirectX) полная скорость канала будет в распоряжении второй закачки (SP3). После 30 минут загрузки со скоростью 30 Кбайт/с вторая закачка получит все 60 Кбайт/с и время ее загрузки сократится ровно в 2 раза: 1 ч. 15 мин. против 2 ч. 30 мин.

Итого, время загрузки второго файла составит 1 ч. 45 мин., а не три часа, как запланировал Download Master.

А если загружается 3 файла разного размера? А если 10 файлов? Погрешность прогноза будет только увеличиваться.

Я не видел еще ни одной программы,  которая бы учитывала описанную проблему оценки времени. Если вы разрабатываете очередной менеджер загрузки, подумайте об этом.


Версии, ревизии, сборки и другие непонятные слова

Posted: июля 1, 2008 | Author: | Filed under: easyQuizzy, Разработка софта | Tags: , , , , , , , | Комментариев нет

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

Как известно, номера версий программ — это побочный продукт итерационной разработки ПО, которую еще называют «Модель водопада» или «Flow».

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

Читать далее…


Квантовую физику в массы!

Posted: июня 29, 2008 | Author: | Filed under: Книги | Tags: , , , , , | 5 комментариев

Когда-то, на втором курсе универа, мы проходили общий курс физики. Охват был примерно от законов Ньютона до специальной теории относительности. Общую теорию относительности, которая про гравитацию, нам рассказывали одну лекцию на факультативе, без формул, и сказали, что мы ее все равно не поймем, настолько она сложная. Из квантовой физики нам рассказали только про постоянную Планка. Для чего она нужна, я благополучно забыл сразу после сдачи экзамена. Считалось, что программистам знать физику так глубоко не особо нужно, и вполне можно обойтись без нее, ну и 100% студентов поддерживали это мнение, да.

Так было до момента, когда в мире заговорили про квантовые компьютеры.


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

Когда я попытался разобраться, что такое квантовый компьютер, как он работает и как его программировать (возможно, это придется делать уже в ближайшие десятилетия), то открылись гигантские провалы в моих знаниях. С первых слов пояснений про квантовую запутанность, квантовую телепортацию и суперпозицию я понял, что делать здесь мне нечего. Если ты не понимаешь основ функционирования блоков ЭВМ, то никогда не станешь действительно классным программистом. А поскольку я перфекционист, то в свободное время стал искать пособия по квантовой физике для чайников. Знаю, знаю, о чем вы думаете: "Кукушка съехала… Делать тебе нехрен… Лучше бы водки выпил…". Но ведь интересно же! Кто-то ведь это понимает, так? А я чем хуже?

К сожалению, оказалось мало найти того, кто понимает. Надо было найти того, кто понимает и умеет доступно объяснить. Физики, как любые другие специалисты, создают закрытые сообщества и общаются друг с другом на своем языке, который для обывателя является загадкой. Попробуйте поговорить с коллегой-программистом о полиморфизме в дженерик-классах .Net 2.0 рядом с непосвященными, и вы поймете все их ощущения по выражению лиц. Институтский учебник невозможно читать дольше 5 минут, и целостной картины квантовых законов он все равно не дает.

Но есть и среди физиков ребята, которые могут объяснять популярно. Некто Брайан Грин, профессор Колумбийского университета в Нью-Йорке, написал книгу "Элегантная вселенная. Суперструны, скрытые размерности и поиски окончательной теории". Хотя она предназначена в основном для популяризации теории струн, которую Брайан Грин прорабатывает, и в ней полно спорных моментов (не потому, что автор навыдумывал отсебятины, а просто современная физика все еще в поиске), но дается ключ к пониманию всех процессов, которые происходят в микро- и макромире. Это не исчерпывающее руководство, а только вводная лекция, и рассказывается все на уровне, доступном первокурсникам, у которых в головах есть хоть зачатки знаний. Понравилось, что приводится масса аналогий из нашего мира, все иллюстрировано и ложится в голову с минимальными умственными усилиями. Эх… как кое-кто завещал, "Учиться, учиться и еще раз учиться".


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

В дополнение к этой замечательной книге при содействии Microsoft был снят научно-популярный трехсерийный фильм "Элегантная вселенная", который при желании можно найти на torrents.ru. После просмотра фильма появляется длительное ощущение ударенности по голове, и становятся смешными потуги большинства писателей-фантастов, которые ограничены человеческим воображением. Пристальное наблюдение природы просто повергает в шок. Смотреть осторожно, не более одной серии в день.


Слой четвертый. О прогрессе

Posted: апреля 4, 2008 | Author: | Filed under: Интересные ссылки | Комментариев нет

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

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

Особо следует сказать об обработке общественного мнения с помощью средств массовой информации. С информацией все прекрасно, ее достаточно, настолько много, что человек в ней тонет, утрачивает способность выбирать и отдается в руки привычного коментатора на привычном телеканале…

Кирилл Резников, "Слой Четвертый. О прогрессе"

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


Про идеологию

Posted: марта 30, 2008 | Author: | Filed under: Интересные ссылки | Комментариев нет

…Если вы возьмете грамотно проведенный опрос, сделанный независимой социологической службой, то результаты покажут, что большая часть опрошенных молодых хочет быть богатыми, и при этом не работать, а развлекаться. И это нельзя не назвать гипертрофированным инфантилизмом. Во все времена идеология правящих слоев и классов была преобладающей, она навязывалась всему населению, и то же самое происходит и сейчас. Официально одобряются богачи, считается правильным, что когда ты обеспечен, ты не работаешь. И если посмотреть на СМИ, к которым относятся и газеты, но в первую очередь я имею в виду, конечно, телевидение, поскольку большая часть молодежи, более 90%, никаких газет не читает, то вы увидите: специальный сегмент, направленный на работу с молодежью, показывает в качестве идеала богатых, здоровых, веселых, молодых, отдыхающих и развлекающихся людей. Это подается как норма, считается правильным — эти люди на пляже, в ночных клубах, постоянно танцующие, люди, у которых нет проблем с деньгами, а есть навороченные тачки и т.д. Именно они живут «простой интересной жизнью». И никто из них не работает, за исключением небольшого числа поп-звезд или владельцев, администраторов этих клубов. В общем, тех, кто занят в сфере индустрии развлечений, но эта занятость подается таким образом, что люди как бы и не работают, а просто числятся. И поскольку пропаганда подобного образа жизни начинается с раннего подросткового возраста, когда самостоятельное мировоззрение еще не выработано, молодые люди впитывают то, что им предлагается.

Прочитать полностью на scepsis.ru

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


Стереотипные программисты

Posted: июля 31, 2007 | Author: | Filed under: Мысли вслух | Tags: , , , , , , | Комментариев нет

Я работаю программистом.

Многим непонятно, чем программисты вообще занимаются. Многие думают, что программисты — это такие особо закомплексованные офисные работники, которые днями напролет просиживают штаны за компьютерами, лазая по интернету и рассматривая голых теток, каждые 10 минут выбегая в туалет (покурить).

Также считается, что программисты — это самые недисциплинированные работники в мире, так как никогда не соблюдают планов сдачи проектов, установленных ими же.

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

Разубеждать граждан не буду, так как это бес толку. Стереотип не удается изгнать даже из сознания членов собственной семьи, что уж говорить о ком-то постороннем. Тем более, что все вышеописанное — чистая правда. Но с оговорками.

В основе всех данных утверждений лежат наблюдения непосвященных за реальными периодами работы/жизни программистов.

Чем они вообще занимаются?
Результатом  работы программистов являются компьютерные программы. Программы не видны невооруженным глазом в виде ящиков с тушенкой или выточенных на станке деталей. Даже если посмотреть в итоговые дистрибутивы, то результаты работы программистов в скомпилированном виде занимают не более нескольких Мб в парочке файлов. Стоимость работы программистов окупается не сразу, а только после внедрения программы в жизнь. Если изначальная постановка задачи была безграмотной или нечеткой, то программы могут никогда не внедриться и работа программиста может пропасть даром. Программа — это изначально нечто эфемерное, бестелесное. То, что не ощущается, то почти не существует. Именно поэтому у большинства людей вызывает недоумение тот факт, что программы стоят денег. «Как? За что? Я ведь купил компьютер за 1000$, и мне еще надо ПОКУПАТЬ ПРОГРАММЫ К НЕМУ?!» Программы воспринимаются просто как неотъемлемая часть компьютера. Поэтому ждать от людей полного осознания смысла работы программистов не следует ни сейчас, ни в будущем. Разве что в очень далеком будущем, мы не доживем.

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

Они немытые и патлатые анархисты, пьянь и рвань.
Вот она, протестантская субкультура Linux, ха-ха! Открою тайну: патлатые, неопрятные, сосущие пиво подростки, разговаривающие о компьютерах на улице и в игровых клубах, и те, кто разрабатывает для них программы — совершенно разные люди. Из таких подростков могут получиться программисты, если они не пропьют свои мозги и сохранят интерес к тому, о чем разговаривают. А больше всего о компьютерах разговаривают те, кто знает о них сравнительно мало. Конечно, некоторые программисты по умственному развитию остаются оборванными подростками на всю оставшуюся жизнь, но и профессиональные качества у них обычно соответствуют внешнему виду. А люди не замечают тех, кто молчит и особо не выделяется из толпы. Люди замечают тех, кто громко разговаривает о компьютерах и выглядит оборванным волосатым алкашом.

Я все время застаю программистов за бесцельным лазаньем по интернету.
Подходим к самому интересному, ради чего я начинал все это писать. Работа программиста — это 10% рутины вроде написания кода программы и 90% ежесекундной напряженной работы мозга над двумя мегазадачами: системный анализ и системный синтез. Системный анализ — это когда человек в голове или на бумаге дробит поставленную задачу на более мелкие подзадачи. Системный синтез — это когда мелкие задачи должны сложиться в стройную систему классов и процедур на нужном языке программирования. Непосредственно перед синтезом необходимо продумать архитектуру программы — это некая глобальная стратегия синтеза, которой надо следовать, иначе программа не сможет со временем наращивать свои функциональные возможности по желанию заказчика и помрет от старости. Задачи анализа и синтеза нетривиальны. Они действительно сложные. Они требуют не только глубоких логических размышлений, но также интуиции и таланта, а также 100% концентрации внимания человека. Не всегда анализ и синтез в голове у программиста как-то разграничиваются, они обычно идут «одним пакетом» в потоке мыслей.

Следствие всего сказанного в том, что я не могу просто сесть за компьютер и начать писать программу. Нужно одновременное совпадение нескольких условий:
1) Желание созидать.
2) Четкое знание текущей подзадачи.
3) Ничто не должно отвлекать от мыслительного процесса.
Если хотя бы одно из указанных условий не выполняется, ни о каком программировании не может быть и речи, т.к. написанный в эти моменты программный код можно будет смело выкинуть в мусорное ведро.

Если условия [2] и [3] относительно легко достижимы при минимальных усилиях, то относительно «желания созидать» не все и всегда гладко. Обычно именно ради этого желания люди идут в программисты, а вовсе не из-за того, что «программистам много платят» (хотя, поискать еще надо у нас программистов, которым платят больше, чем штукатурам). Программа — это чистый интеллектуальный продукт и лично я получаю огромное удовольствие, когда мои программы работают и решают поставленные задачи. Я-то в курсе, сколько моих сил было затрачено на их реализацию.

Проблема в том, что желание созидать заходит в мою голову со строгой периодичностью. Последние пару месяцев я решил понаблюдать за собой и вот что увидел: у меня есть периоды продуктивности, длящиеся в среднем полторы недели, и периоды «выпадения в осадок» (2—2,5 недели), когда мозг отказывается думать о чем-то более сложном, чем расчет траектории движения тела с работы домой и обратно. В такие дни я фактически не существую как программист. Я сижу за компьютером, но ни одной строчки исходного кода не выдаю. А сижу я за компьютером просто потому, что так надо по моим служебным обязанностям. Хотя с радостью в такие моменты попил бы чаёк и потрепался бы с друзьями. Вот. Хотя, ведь я же могу это сделать! Интернет — великое изобретение. Он позволяет сделать вид, что ты работаешь, усиленно стукая по клавиатуре, хотя на самом деле отстукивается сообщение в аську другому такому же коллеге, который тоже спалил все баки своего серого вещества.

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

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

Вот как они рождаются, эти стереотипы.