http://offline.computerra.ru/
Thursday, April 20, 2006
Статья в Компьютерре
http://offline.computerra.ru/
Люди как автомобили
МОЗГИ, б/у.
19XX года выпуска, пробег не скручен, регулярные ТО только у официальных дилеров.
Запчасти исключительно от официальных производителей.
Система зимой без шапки не эксплуатировлась, масло исключительно высшей степени очистки. Только высококачественный антифириз 40" - смешивание низкосортного ТОСОЛА 5" и антифириз 40" в пропорциях 50% на 50% практически не допускалось.
Загрузка в МОЗГИ разлагаюшей серое вещество субстанции ДОМ2 (С) ТНТ и аналогичной продукции других производителей не допускалось.
Присадки для изменения ТТХ типа - "трава", "экстази" и пр. не применялись.
Произведена предпродажная подготовка, МОЗГИ готовы к загрузке новыми проблемами заказчика.
От XX Килобаксов в год :-):-):-)
И подумал, а собственно почему бы и нет? И вот как бы выглядели бы резюме моих знакомых (привет, если кто себя узнал):
" Продается Мозг модели Lada Samara 21099. Реальный мозг, ничего лишнего, очень быстрый, стреляет просто как пушка.
Тюнингованный мотор (дизайнер его - Дельфи, если кто не в курсе!), расточенный 1300 до 1845 с помощью курсов в МГТУ Баумана, плюс расточенные самоподготовкой цилиндры.
Стоит закись азота (50% Клинского+50%Арбатское белое), но долго так ездить нельзя, улетишь в кювет.
Прямоток из 5 извилин!
Диски 18 дюймов, марки XML, очень быстро вращаются, правда радиус поворота не больше 15 градусов.
Резина MySQL, профиль 3.5 см, реально хорошо рулится, но иногда трясет+зимняя Oracle (но зимой не ездил, стоял в гараже, пока искал работу).
Цвет - зеленый-зеленый, но зато металлик! Салон кожаный, из кожи юзверей (правда, кусочками - содрали ладони меня бивши) - юзвери только свои, домашние, некрашенные, не битые!
Пробег 3000 км, если считать то, что накатано в коридорах универа.
В принципе, при необходимости можно быстро переделать мозг в Порше, Феррари или Ламборджини - потенциал имеется".
И еще один:
"Продается Мозг Bently. Год выпуска не имеет значения, так как Бентли это всегда Бентли. Только в хорошую голову и на надежные плечи.
Мотор - 5.5 литров, обслуживание только в лучших сервисах. Кроме коньяка Курвуазье VSOP никакого другого масла не употреблялось.
Привод полный, диски серебряные, резина - резиновая!
Комплектация полная: ESP, ABS, ГУР, 12-зонный климат-контроль, подогрев сидений, зеркал, лобовых, боковых и задних стекол, Xenon, 24 подушки безопасности, музыка Blaupunkt, чейнджер на 200 дисков....
Цвет черный, салон кожанный, из цельной кожи юзверей (не ниже топ-менеджера!).
Фары SQL. Все оригинальное.
Для тех, кто понимает. Звонить только по вопросу покупки.
"
Friday, April 14, 2006
Пятница №6 - Как манипулировать пользователями
Как манипулировать пользователями
«Железные» манипуляции
Начну с двух недавних историй. Одна большая контора недавно приобрела 2-х процессорный сервер (2xXEON3.0 Ггц) с RAID5 на 72 Гб на базе UltraSCSI 320 дисков. Все бы ничего, но сервер предназначается для обслуживания базы данных размером в 5 мегабайт. Ну очень уж убедительный у них админ…
Другая история случилась в одной конторе среднего размера, но очень Интернет-зависимой – вся торговля, бизнес и клиенты шли через инет. Тамошний админ «качал скиллы» по CISCO, и для «практических упражнений» ему была нужна очень дорогая железка стоимостью в кучу тонн баксов. Ясен перец, что директора больше заботил тюнинг его нового «Туарега», и денег он не давал, поэтому админу пришлось поднапрячься и организовать DDoS атаку на сервера своей компании – с гигабайтными логами, парализованным бизнесом и (само)вырыванием волос у главного бухгалтера. Для защиты от злобных хакеров железка была моментально куплена, админ получил свой тренировочный мегароутер и через полгода ушел на очень хорошую зарплату к одному очень богатому провайдеру (и тоже купил себе Туарег, говорят).
Итак, поговорим про манипуляции с железом… Конечно, не стоит говорить про то, что все приходящие пользователям компьютеры разбираются, из них изымаются совершенно ненужные пользователям 48 скоростные DVD-RW, а вставляются старые добрые 8-скоростные CD-ROM. Про видеокарты тоже давайте все дружно помолчим – пусть мне гигабайт спама пришлет тот, кто со своей оригинальной видеокартой сейчас читает этот текст. Ну а действительно, зачем иначе пишут один инвентарный номер на корпусе (а второй на мониторе)?
Научный подход - физика
Но это все очевидные трюки, до которых доходят даже ребята на бензозаправках – пишем одно, заливаем другое. Скучно… Настоящие программисты используют научный подход…
Если вспомните, то физику в школе понимали три человека – тот очкарик Вася на первой парте, отличница Валя и сама физичка. Учитывая, что в юзеры физически грамотные люди не идут, очкарик Вася работает в соседнем ИТ-отделе, а отличница Валя стала вашей женой, то манипуляции с железяками, основанные на знаниях физики, являются одним из самых благодарных, легких и приятных видов манипуляций.
Прежде всего, необъятную тему для спекуляций предлагает СанПИН – т.е. официально утвержденные санитарные правила и нормы (а конкретно СанПиН 2.2.2.542-96, ГОСТ 12.1.030-81. ССБТ, ГОСТ 12.1.003-83 и др.). Эти замечательные книжечки наполнены массой цифр и условий, регламентирующих работу и отдых программистов (нет, тостов там нет, не надо искать).
Так вот, ни одно рабочее место в бывшем Советском Союзе этим нормам не отвечает. Возможно, кое-где есть рабочее пространство в 6 кв.м., но и только. Уж нормы по ионизации воздуха точно никто не выполняет - ведь для этого надо расположить офис в сосновом бору, и никаких компьютеров вокруг, разумеется!
Так вот, вооружившись вышеперечисленными книжками, а также страшными историями про лысеющих и теряющих потенцию людей, легко провести ликбез пользователей, и добиться, скажем, чтобы они наконец развернули свои мониторы задней стенкой в стенку (простите за каламбур, но другие варианты как-то не пришли на ум – задней… в .. или в…).
Я слышал, что как-то после такого ликбеза вооруженные дрекольем (ножницами, пресс-папье и т.д.) пользователи ворвались в кабинет к боссу и добились таки справедливого перераспределения свободного места в офисе. Но верится в это трудом....
Хорошим подспорьем для борьбу за свободное место являются, скажем, сломанный сканер (или другой редкоиспользуемый прибор) и счетчик Гейгера (бытовой продается за 2 тыс. руб). С озабоченным видом походите со счетчиком вокруг сканера и сообщите коллегам, что лазерные датчики сканера сильно ионизируют атмосферу. Если завтра от вас не отодвинулись, разрисуйте маркерами концентрические круги зоны излучения – «слабое», «среднее», «сильное», «смертельное», «только для программистов».
Но это все советы для тех, кто вынужден делить свою комнату с пользователями. Если у вас уже есть своя комната, и это не туалет, переделанный в серверную, где еще сидите вы с 4 коллегами, то стоит предпринимать действия по защите своей территории. Нет, метить не надо, но наверняка через полгода главный босс вызовет начальника ИТ-отдела и попросит на время приютить «новенькую девочку». Не соглашайтесь ни за что – девочку скоро приберет к себе главный, а насиженное место займет не новенькая и даже не… ну, в общем, нежелательная коллега.
Территорию надо защищать. Про измерения радиационного фона мы уже говорили, но не останавливайтесь на этом. Раскидайте по всем свободным местам оголенные провода, бывшие материнские платы, кабелерезы и другую атрибутику секты начинающих сатанистов. На полу разложите 5-6 сетевых кабелей, которые запутаются в ногах у незваного пришельца.
Рассказывали, что очень эффективно устройство из китайской лазерной указки и датчика движения, подвешенное под потолком – за каждым входящим следит такой красненький лучик и препятствует созданию ощущения уюта и напрочь отбивает желание остаться.
Конечно, бывают очень тяжелые случаи, когда начальство отдает кредит за новую Audi А8, и о расширении офиса речи не может быть, а новые работники все прибывают и прибывают. В этом случае можно воспользоваться крайним средством… Настолько крайним, что даже лучше работу сменить… Но если уже приперло и надо обороняться от захватчиков, жадно разглядывающих незанятый угол в вашей 4-метровой комнате, то – не мойтесь. Да, просто не мойтесь месяцами, несите вахту круглый год, и только в отпуске можно будет расслабиться. А что, грязь не сало, потер и отпало... А запах, между прочим, у животных самый надежный способ метить свою территорию…
Ну ладно, из области физики не будем переходить в физиологию, давайте лучше в психологию.
Психологический подход
Настоящую смекалку и глубокое знание психологии проявили мои знакомые ребята с ныне разорившегося заводика (нет, программисты не при чем были, там по-крупному воровали, железнодорожными составами).
Пришли как-то на завод новые TFT-мониторы (тогда еще диковинка), которые тут же присмотрели себе могущественные бухгалтеры. Ничего не сказали программисты, однако мысль заработала. И только бухгалтеры успели порадоваться четкости буковок и поделиться друг с другом необыкновенными ощущениями свободного рабочего стола, как через два дня стали сохнуть кактусы перед мониторами и за ними, и вообще везде в округе. Ну, кактусы и так не особо влажные, подумали бухгалтеры, однако когда те стали вываливаться из горшков, то они изрядно призадумались. Усиленная поливка ни к чему не привела, и тут еще случайно зашедший программист небрежно заметил, что жидкие кристаллы вроде бы негативно влияют на живые организмы. Поднялась тихая паника, и бухгалтера стали избавляться от ЖК-мониторов, которые постепенно перетекли к программистам, которым было сказано – ну, вы же и так быстро лысеете, так что… Йес!, - сказали программисты, и вылили в унитаз остатки бесцветной жидкости без запаха, которую выменяли в лакокрасочном цеху на бутылку водки. А кактусы на радостях даже зацвели.
Насчет кактусов, которые повсеместно распространены во всех юзерских подразделениях. Я не знаю, кто и когда пустил этот слух, что кактусы защищают от радиации, но в конце 80-х, когда «ай-би-эм-ки» стали появляться на обычных предприятиях, эти кактусы уже стояли везде. Пользователи соревновались в количестве кактусов, установленных перед мониторам:, кто-то им сказал, что для защиты от излучения количество дюймов в мониторе должно быть равно количеству кактусов.... Наверное, все это придумал какой-то кактусовод, начитавшийся книжек по трехступенчатому маркетингу, и расширивший таким образом свой рынок сбыта до невероятных размеров – если все остальные цветы покупаются только на 8 марта, то кактусы идут «на ура» круглый год. Об одном стоит пожалеть, что вместо кактуса эти свойства не приписали другой траве, как это сделали в Голландии…
Ключи к «железным» манипуляциям
Манипулировать пользователями, которые отвечают за закупки необходимого компьютерного оборудования, очень просто – для этого достаточно логически обосновать необходимость. Логически для пользователя, разумеется, конечно. Например, я помню, как для одного конструкторского бюро были заказаны компьютеры, оборудованные мощнейшими на тот момент видеокартами. Админ сказал – вы же чертежи рисуете? Ой, простите, чертите, это художники рисуют… Ну неважно - как вы будете в Автокаде чертить без мощной видеокарты, а?
И через месяц весь ИТ-отдел и отдельные приближенные к админу пользователи наслаждались игрой в навороченные 3D-шутеры в максимальных разрешениях, а админ просто раздулся от халявного пива.
Логическая цепочка должна быть проста и завязано на качество понятной категории. Хороший пример: если не купим мыши с лазерным опросом на 1200гц, то в крестик «Закрыть» и кнопку «Суммировать» Марь Иванна будет с третьего раза попадать, а она же баланс же считает. Результат – мыши куплены, все довольны.
Плохой пример: если не купим эргономичные мыши, то возможно развитие запястного синдрома. Результат – «Пить надо меньше, бездельники, вот и не будет рука дрожать!».
Чем дороже оборудование, которое надо приобрести, тем сложнее обосновать приобретение. В этом случае помогает известный всем материально подотчетным лицам классический подход размазывания заказа – припишите к 30 мониторам и системным блокам пару видеокарт Mira с оцифровкой видео Betacam-качества для создания личной видеотеки – никто и не заметит.
Конечно, про железячные манипуляции лучше всего известно админам, но часто и программистам кое-что перепадает.
Но давайте перейдем к «софтовым» манипуляциям. Да, админы часто подсмеиваются над вечно суетящимися программистами, но и возможности их ориентированы на грубое материальное железо, а потому изначально ограничены.
Далее в программе:
как втирать очки пользователям,
как читать их мысли (все 3)
и другое
Friday, April 07, 2006
Пятница #5 - Про боссов
Продолжение предыдущего поста было переработано и выйдет в виде статьи в "Компьютерре" в ближайшее время (наверное, выйдет). Вместо этого:
Про боссов
Все помнят ту песню Меладзе «Боссы бывают разные» и дальше там неприличные намеки на половую ориентацию руководящего состава, из-за чего песню пришлось переделать про девушек. Но главные слова остались – «Каждому хочется на чем-нибудь заморочиться». Боссы – они такие…
Нет, я ни в коем случае не хочу огульно обвинять руководящих работников в нечеловеческой сущности и антигуманном поведении. Просто все люди разные и все по разному воспринимают власть над другими людьми.
Все, наверное, сталкивались с мелкими чинушами, надувшимися от важности, ради подписи которых приходится стоять очередь и унижаться перед «Их Высоковы@бством». Была б моя воля, немедленно разогнал бы все паспортные столы, в первую очередь, потом бы взялся за бездельников в ЖЭКах, с которых начинается и которыми поддерживается разруха в России… А дальше... эх :-)
Но боссы над программистами – к ним особый подход. Предполагается, что программисты – люди умные, независимые, творческие, к которым особый подход нужен. Даже книжку написали для руководителей – «Как пасти котов». Книжка, конечно, хорошая, и почитать ее нужно, особенно боссам, и особенно раздел про сытную кормежку – программисты, как и коты, очень любят красную рыбу и другие деликатесы. А если в момент тяжелой отладки пакет с вискасом под руку положить, то захрустят ничуть не хуже, чем чипсами.
Чем долго шутки шутить, резанем-ка правду-матку. ИТ-босс может быть хорошим, если обладает 3 главными качествами: уважением, знаниями и смелостью.
Уважение
Уважение поставлено на первое место, так как это действительно очень важно. Босс должен уважать подчиненных, а подчиненные должны уважать босса. Остальные методы не работают. Я знавал одного босса, который наводил просто ужас на подчиненных… Он орал так, что стены тряслись, матерился на подчиненных почем зря, матом крыл женщин-юзеров (и не всегда за дело, надо сказать :) и вообще, прямо скажем, напрашивался на хороший удар по физиономии. Но дело было в голодные 90-е годы, да еще в провинции, а зарплату на том предприятии платили очень высокую, поэтому люди ломали в себе гордость и работали. С начальством же босс был вежлив, как выпускник Оксфорда с английской королевой, и скромен, как мать Тереза с сиротами.
Но когда это псих-босс все же допрыгался, и его, наконец, уволили, ни один человек на предприятии не пожал ему руку, все просто отворачивались. Более того, его все хорошо знали и нигде не брали на работу (обратная сторона провинции), поэтому пришлось ему переехать. Надеюсь, что в такую ситуацию никто из моих читателей никогда не попадет.
Кстати, никаких особых свершений под его руководством не было совершено – так, поддерживали корпоративную систему.
Конечно, это предельный случай, но он хорошо показывает, что давлением и криками ничего не добьешься. Конечно, бить физию такому боссу бесполезно, лучше уволиться и найти другую работу.… Хотя я слышал историю про то, как в одной конторе, которая занималась разработкой и внедрением ERP-системы, один босс своими маркетинговыми шагами довел компанию до разорения… ну и решил все свалить на программистов, дескать, плохую систему сделали. Смысла в этом не было, просто морально обидно. Ребятам было нечего терять, и они начистили ему физиономию (по честному, один на один), от чего получили глубочайшее моральное удовлетворение. Но я, конечно, против насилия :-)
Антиподом псих-боссам являются пан-боссы, то есть панибратством пытающиеся завоевать доверие и любовь программистов. «Ну что, Андрюшенька, сделаешь модульчик для меня, а?», «Мужики, я вам пива принес, давайте еще часик поработайте, а то меня завтра директор взгреет» и другие фразы четко характеризуют пан-босса. Вообще пан-боссу сложно удержаться на своем месте, так как большое начальство очень не любит подобных отношений с подчиненными. Но к сожалении, часто большое начальство посещает только 3 комнаты в компании (в порядке возрастания важности дел) – свой кабинет, комнату для совещаний и туалет; поэтому отношения начальников среднего звена с подчиненными оказываются вне поля их зрения.
В одной конторе был случай, когда программисты полгода не могли большому руководству донести мысль, что новый начальник ИТ-отдела ведет себя странно, и называть выпускников Бауманки «мои дурашки» и приносить малиновые тортики на работу как-то неправильно, а перевязывать ТЗ ленточками вообще глупо, однако директор почему-то злился на жалобщиков и обзывал их шовинистами.
Все прояснилось, когда жена одного из программеров заметила директора в модном салоне красоте с молодым человеком определенно-жеманного вида, то бишь он был из этих самых, ну вы поняли.… и, похоже, думал, что начальник ИТ-отдела тоже из «наших, противных»! Хотя у того была жена и 3 детей (или 4?).
Я уж не знаю, каким образом начальник ИТ-отдела поддерживал в нем эту уверенность (ежедневными отчетами?), но факт налицо… В конце концов программеры нормальной ориентации оттуда уволились, ну, почти все… Ну и коллектив через полгода ротации тоже подобрался соответствующий…. Теперь без розовой ленточки отчеты там не принимают...
В общем, то, что взаимное уважение (ну, до определенных пределов, конечно) необходимо, согласятся все. Уважение может быть разное, конечно – в маленьких коллективах оно может быть наподобие «чувства локтя», когда босс является «играющим тренером» и делит с подчиненными все тяготы и невзгоды полевой жизни, как это говорится в романах. Если же подчиненных достаточно много, и заниматься лично разработкой уже невозможно, то на первый план выходит личная харизма. В принципе, харизма проявляется при первом разговоре с собеседником – если он располагает вас к себе, и вы легко принимаете его лидерство, то это скорее хороший босс… Исключений два – это цыгане-гипнотизеры (это не босс! Не отдавайте им свою зарплату!) и напыщенные ничтожества, у которых харизма настолько раздулась, что для знаний места не осталось.
Знания
Второе ключевое отличие хорошего ИТ-босса от плохого – это его знания. Наличие знаний является необходимым (но недостаточным) условием наличия уважения.
Я помню как один мой босс в самом начале карьеры полчаса мне объяснял, как я должен реализовать группировку по ключевым позициям справочника путем открытия набора данных, прохождения по нему, построения агрегатов в памяти и т.д. и т.п. Выслушав его, я написал запрос SELECT с GROUP BY, который делал тоже самое в 2 строчки… И долго потом объяснял доказывал, что это не грязный хак и что такое SQL. С уважением не заладилось, в общем. :-)
Наличие знаний не означает, что босс должен знать все. Во-первых, это невозможно, во-вторых, не нужно. Босс должен знать 2 вещи – направление движения и ловушки на этом пути. Сигнатуру функции по извлечению информации из реестра он помнить не обязан.
В тоже время «плавать» по конкретному вопросу он тоже не должен. Конечно, довольно сложно определить, понимает ли что босс в изложении трехуровневой архитектуры на базе Web Services, которую вы ему уже третий час излагаете, так как кроме «Угу» и «А это что такое» он ничего не говорит. Однако не стоит забываться и распускать хвост, так как можно получить неожиданно жесткий и точный вопрос, который вы сами то хотели бы забыть как страшный сон, а чтобы его босс спрашивал, да еще без подготовки…
Вообще это искусство – построить разговор с боссом таким образом, чтобы не получить в 2 раза больший объем технического задания.
Мегабосс, босс который все знает, все делает лучше вас, может угнетать. Если вы не настроены «учиться, учиться и еще раз учиться», в вообще думаете, что представляете из себя большого специалиста, который сам кого хочешь поучит; и попали мегабоссу в лапы, то постоянное сидение в луже может изрядно подорвать ваше самомнение.
Я знал неплохого программиста, который не мог смириться с тем, что босс (это был именно играющий тренер) знает и умеет что-то концептуально лучше, да и еще может это объяснить и разложить по полочкам. Шок от необходимости учиться и подтягиваться до уровня команды был так велик, что он быстро уволился…
Не хочется говорить про туп-боссов, которые действительно нихрена не знают в том, чем руководят. Чаще всего такие люди сидят в заорганизованных компаниях, где масса интриг и ИТ-отдел это всего лишь придаток к производству, и главное – это интриги. Туп-боссы очень внимательны к деталям и мелочам. Им приходится служить прослойкой между ничего не понимающими большими начальниками и программистами, которые быстро понимают что за начальник у них появился. Так вот, туп-боссы читают журнал «Эксперт» от корки до корки, побуквенно записывают названия новейших систем, заставляют каждого программиста делать ежедневный отчет не менее чем на 2 страницы, и компонуют из всего этого великолепные произведения в 150-200 страниц, которые отсылают вышестоящему руководству или докладывают на совещаниях. Очевидно, что любой документ более 3 страниц не читается в принципе, поэтому их деятельность сходит им с рук, пока не грянет гром… Например, в ближайшем будущем я жду сообщения о банкротстве одной мясоперерабатывающей компании, где работает один из туп-боссов.
Смелость
К сожалению, далеко не у каждого начальника ИТ-подразделения есть мужество отстаивать свою точку зрения.
Занимаясь автоматизацией бизнес-процессов, ИТ-босс быстро начинает понимать и видеть взаимосвязи в бизнесе глубже и точнее остальных руководителей… На первом этапе сложно бывает вникнуть в личные и родственные связи, но логическое мышление и простая иерархическая структура любого бизнеса приводят к тому, что ИТ-специалист часто разбирается в бизнесе лучше, чем сам «бизнесмен». Это одна из причин, почему я считаю, что в будущем программисты будут править миром.
Но черт с ним с бизнесом – пока в нашей стране умение уходить от налогов будет важнее стратегии компании и ее инновационной деятельности, можно наплевать на упорядочение бизнес-процессов. В конце концов, чем больше бардака мы оставим после себя, тем больше работы будет у последующих поколений программистов.
Но вот какая смелость точно необходима хорошему ИТ-боссу, так это умение защищать своих сотрудников. Часто ИТ-боссом становится не достойный и способный управлять человек, а тот, кто первым пришел, и к которому потом наняли «помощников». Грубо говоря, взяли просто хорошего аккуратного исполнителя и заставили исполнять функции руководителя. А ведь люди не меняются со временем – они лишь развивают или подавляют свои черты….
Если босс съеживается от нахмуренных бровей бухгалтера, то что же ожидать его подчиненным?
Действительно, при условии экспоненциального роста населения (китайцы нам помогут) каждый ныне живущий программист может стать боссом. Так что давайте постараемся наладить отношения с боссами, заложить, так сказать, добрую традицию - с целью воспользоваться ее плодами позже :)
Что дальше. Неделька была трудной, поэтому Пятница#5 вышла не слишком веселой. ну, как говорят зебры, после черной полосы бывает белая... Или хвост :)
В общем, дальше будет веселее, обещаю :)
Monday, April 03, 2006
Как получить дополнительное свободное время
Понедельник – день тяжелый, и именно в понедельник практически все мои знакомые любят произносить фразу «Времени не хватает…» с удрученно-мрачным выражением лица, которое призвано выразить их глубочайшее сожаление по этому поводу.
Времени действительно не хватает, но в то же время почти у каждого есть определенный резерв времени, который можно высвободить, если вы сделаете следующее:
Определите, что вам на самом деле нужно от телевизора: информацию? любую взвешенную и разностороннюю информацию легче и быстрее получить в Интернете, чем слушать сю-сю про президента, птичек и свадьбы и разводы каких-то тупых «звезд». Хороший фильм? И где вы видели хорошие фильмы на нашем телевидении? Если что и показывают, то неужели вы согласны терпеть лошадиные дозы рвотной рекламы пусть даже ради хорошего фильма? Купите ДВД и смотрите качественный продукт, если конечно вы не любитель добавлять слабительное себе в пищу…
Телевизор это очень серьезный вор вашего времени. С помощью отработанных технологий захвата внимания любой просмотр телевизора длится в среднем 1.5 часа.
Итого 5 дней*1.5 = 7.5 часов времени в течение рабочей недели!
2) Пейте пиво только в кабаках. Пожалуйста, не говорите своим женам про этот совет! ОЧень часто вы с коллегами решаете расслабиться и выпить бутылочку пива после работы. Если вы не чемпион по глотанию пива и не давали обет молчания, то на распитии пива «после работы» теряете 1 час*3 = 3 часа(первый раз в понедельник, так как день тяжелый, второй в среду, а третий, понятно, в тяпницу). Это не говоря о том, что на улице пить пиво холодно, можно легко простудить/заболеть, да и с туалетами напряг.
А если пойдете в кабак, то, как минимум, подумаете о деньгах, о времени, о том, что скажут дома, да и вообще идти куда-то… и не пойдете.
3) Не экономьте время. Странный совет на первый взгляд, но только на первый. Дело в том, что время нельзя экономить принципиально – это линейный постоянный процесс (конечно, если вы не заглядываете в районы черных дыр и не употребляете наркотики). Время можно только использовать, поэтому думайте не о том, как экономить время, а как использовать его с максимальной эффективностью. Совет без цифр экономии, из серии «думай, башка, думай», но реально полезный… если подумать как следует :).
4) Потратьте 3 часа времени на эту книжку – «Организация времени, 2-е издание», от автора Глеба Архангельского (вариант для очень экономных - почитайте сайт http://www.improvement.ru/, но книга лучше). Это простая и доходчивая книга, которая ткнет вас носом в те вещи, которые кушают ваше время, и предложит дельные и хорошо работающие приемы как получить в 2 раза больше свободного времени, чем есть у вас сейчас... или даже в 3 раза больше.
5) Ну, и не читайте в интернете всякую чушь :)
Friday, March 31, 2006
RSS для этого сайта
не знаю, почему его нет в темплейте, постараюсь добавить.
Пятница N4 - Как правильно устраиваться на работу
Как правильно устраиваться на работу
Конечно, все программисты имеют разную квалификацию, интересы и способность к общению, и требования к работе у них разные, но есть и общие моменты, которые полезно знать и применять как при первом, так и при десятом устройстве на работу.
Виды найма
Хорошие и плохие работодатели – кто они?
Боссы
Monday, March 27, 2006
Стихи в понедельник
Звонит телефон,
Мешает босс смотреть сны о Фудзияме,
Подушка прижала трубку.
Занял коллега место зачетное
Мордой к двери, экран босс видит,
анекдотов.нет.
Пива кружончик,
Чипсов пачка, Разговор о бабах,
Как далек вечер.
Круглый наушник
Ухо прижал, не слышно юзеров
Скоро обед.
Пища богов
Доширак, кофе и бублик.
Глупо надеяться.
Морду б разбить
Коллеге быстрому, места не знающему,
Босс рано с обеда вернулся.
Рулит Раммштайн,
Ухо натертое болит,
Но есть джоб.ру
Есть наслаждение
Равное футболу и оргазму,
Конец понедельника.
Friday, March 24, 2006
Пятница №3 - Правда о методологиях
Правда о методологиях
Итак, файтинг, факинг, зимующие медведи и королевская семья – 4 основных вида взаимоотношений между программистами и пользователями. Люди, которые читали Эдда Салливана [1] , Карла Вигерса [2] и Йордона ДеМарко [3], в этот момент, очевидно, возразят, что в мире существует еще один, и самый правильный вид общения – его полное отсутствие. Это бывает при такой организации разработки, которая описывается в великолепных романах вышеупомянутых господ: когда аналитики интервьюируют пользователей, пишут полноценные use cases, а на их основе полные и подробные спецификации, которые затем получают кодеры, и после нескольких человеко-часов на выходе получается продукт, который тестируется компанией богоподобных тестеров и, после обмена несколькими сообщениями в баг-трекере о порядке расположения кнопок Help и Quit на тулбаре, сдается пользователям в полной готовности.
О, нет! Я не в коем случае не возьмусь обвинять многоуважаемых господ в фантазерстве, порожденном неумеренным просмотром сериала «СтарТрек». Однако настало время рассказать о том, о чем умалчивают подобные романы о методологиях разработки ПО.
А молчат они о кадрах. Для успешного выполнения ИТ-проекта по «правильной» схеме требуется совершенно особая команда. О которой сейчас мы и поговорим.
Аналитики
Вы, наверное, думаете, что аналитики это изящные люди в пиджаках от Armani или на худой конец, от Hugo Boss? С глазами куда умней, чем у немецкой овчарки, но чуть глупей, чем у сенбернара, хитрым (почти ленинским) прищуром, обязательным Parker’ом за одним ухом и блютуф-хэндс-фри в другом? С ноутбуком в одной руке и пачкой презентаций в другой? Ха! И еще раз ха!
Вы читали что-нибудь из одиозных романов Виктора Суворова? Его жуткие страшилки про спецназ ГРУ? Про то, как напильником пилят зубы, чтобы быстро узнать страшные тайны у захваченного врага, и про другие милые выражения лица страшной тетки-войны? Так вот, не читайте – потому что с действительно надежные способы выпытать сведения знают только аналитики успешных ИТ-проектов. 5 лет службы в спецназе – минимальное требование к кандидатам в аналитики. К другим требованиям относятся представительный внешний вид (молодой Шварценнегер плачет в углу спортзала) и умение гнуть правой рукой трехдюймовые подковы (просто не представляете, как много решает первое крепкое рукопожатие с интервьюируемым пользователем!).
Аналитик должен не просто внушать уважение. Интервью с аналитиком должно стать важнейшим событие в жизни пользователя, не менее важным, чем женитьба, развод и рождение детей. Некоторые сравнивают интервью с исповедью, но такое сравнение очевидно некорректно, так как грехи аналитик никому не отпускает, а скорее наоборот…
Когда пользователь приходит к аналитику (кстати, следует развеять странную и ложную посылку о том, что аналитики должны посещать пользователей для интервью – совсем наоборот), он должен быть подготовлен к интервью.
Три надменные секретарши, полный обыск с раздеванием и пальпацией внутренних органов, а также двое охранников с автоматами наперевес должны внушить пользователю мысль о том, что нужно соблюдать субординацию. Полиграф, соединенный через усилитель со слегка модифицированным вариантом железной девы или испанского сапога, должен ликвидировать надежду кое-что приукрасить и преувеличить важность своего участка работы.
Впрочем, некоторые специалисты утверждают, что на этапе анализа можно сэкономить, если сразу увольнять всех пользователей и воспитывать новых под нужное программное обеспечение (ходят даже слухи о системе спецшкол-интернатов и даже роддомов для этих целей[1]). Но лично я считаю это попыткой уйти от решения проблемы, потому что рано или поздно уволенные пользователи вновь окажутся на другом автоматизируемом предприятии, и что тогда? Нет, если делать, то сразу хорошо!
Кодеры
Наивно было бы думать, что привычные всем «кодеры», полгода как выпустившиеся из вуза и прочитавшие аж 3 книги, могут справиться с задачами по кодированию идеального проекта.
Известно, что кодеры для настоящих ИТ-проектов подбираются только из прямых потомков Тьюринга и Винера. Кровь, это, понимаете, не водица.… Ходили слухи, что потомки Эйнштейна тоже хотели попасть в элитные кодеры, но не прошли отбор – срезались то ли на визуальном анализе гигабайтного дампа памяти, то ли на виртуальных деструкторах в MFC…
Настоящий элитный кодер не просто знает какие-то языки программирования (вообще, не менее 26 языков, это не считая диалекты Си для всех версий Unix, естественно), библиотеки функций и т.д. Это вообще не обсуждается, точно также как наличие крыльев для птицы. Настоящий кодер обладает чувством кода.
Чувство кода – вещь очевидно иррациональная. Достаточно ему взглянуть на титульный лист 300-страничной спецификации, как кодер сразу может определить, где закралась логическая ошибка. Он сам не может объяснить, как он это делает, но результат налицо. Про такие мелочи, что любой набранный десятипальцевым слепым методом кусок кода не содержит ошибок и всегда компилируется, не стоит и говорить.
Но вот еще две вещи про них рассказывают, в которые я верить напрочь – слишком уж фантастично они звучат. Пока оставим про них, а то совсем подумаете, что я совсем заврался.
Тестеры
Протестировать полностью какое-либо реальное бизнес-приложения невозможно. Кто не согласен – пусть попробует. Однако такие программы все же существуют, причем в количестве, не позволяющем говорить о том, что «исключения только подтверждают правила». Как же они тестировались? Бла-бла про верификацию и валидацию [Быстрое тестирование] давайте оставим.
Естественно, и тут не обошлось без искусственного отбора и скрещивания – есть особая порода тестеров.
На самом деле настоящие тестеры это глубоко несчастные люди. Почему? Вспомните забавного персонажа, созданного Пьером Ришаром в «Высоком блондине в черном ботинке» и других великолепных фильмах. Бедняга провоцировал поломки всего чего только можно, попадал в самые ужасные ситуации... Так вот, прототипом этого героя был один из настоящих тестеров.
На самом деле это ужасная судьба. Несмотря на то, что живут эти тестеры в специально оборудованных апартаментах рядом с рабочим местом – стены обиты ватой, порогов нет, розеток нет, спят на теплом мягком нескользком полу, кушают экологически чистые продукты (вилки пластмассовые); несмотря на то, что за каждым тестером беспрерывно следуют 2 охранника и парамедик, травматичность и смертность у них очень высокая. Госкомстат с ума сходит от статистики, а прокуратура уже не знает, куда дела девать по тяжким телесным повреждениям и несчастным случаям среди тестеров.
Конечно, это тоже сплошная генетика – из простого человека тестер не получится, а настоящий тестер среди обычных людей долго не проживет. Пока тестер не обзаведется потомством (о! как это удается ему сделать, еще та история, о которой отдельно можно долго рассказывать) , его не выпускают из спец-кампуса.
Сейчас популярен сервис Google Earth, так что вы сами можете легко убедиться – найдите на карте кампус Микрософт и сделайте скриншот. В Photoshop наложите фильтр слоев, и чуть южнее основного здания можно различить заглубленное строение (бывшее бомбоубежище авиабазы Редмонд, кстати). Это и есть спецкампус для тестеров.
По слухам, в 1995 году какой-то идиот из службы обеспечения Microsoft поставил тестерам стандартный автомат для продажи баночной колы, чипсов и т.д. Конечно, потом уволили и его, и начальника охраны спецкампуса и половину отдела кадров заодно, но было уже поздно: у троих тестеров свернуло челюсть выскочившей банкой, пятеро подавились ключами от баночной колы, а уж про удары током вообще молчу. Короче, почти весь отдел вышел из строя на полгода… Вот поэтому в Windows Chicago и было столько багов. А то все – Билл то, Билл се, зажрался, баги специально выпускает…
А он, между прочим, очень переживал, и до сих пор свой бронированный лимузин отдает тестерам без звука по первому требованию, если того надо отвести в церковь там, или в синагогу – на свадьбу, конечно, по другим случаям их не выпускают.
Кроме того, за тестерами теперь охотится НАСА, особенно после катастроф с шаттлами. До них только недавно дошло, почему у СССР было на порядок меньше катастроф – просто тестера перед полетом всегда привозили, начинали сажать в СОЮЗ-ТМ, а тот туда пальцем тыкнет, рукой махнет – тут же отвалилась плитка, закоротил штепсель, и поехал на доработку модуль. Космонавты, перекрестясь, тестеру пузырь поставят и опять спать…
В общем, настоящие тестеры люди не простые, зато эффективность дают очень высокую.
Project managers
Ну, у нас остались project manager (прожект манагеры). Хех, если вы когда-нибудь ругали своего менеджера проекта за въедливость, надоедливость, мысленно и вербально кляли его за пристрастие к графикам и отчетам, немедленно встаньте и подойдите к нему, встаньте на колени и биясь головой об пол с частотой 2 удара в секунду, извинитесь (можно расплакаться). Потому что если вы бы работали с настоящим менеджером проекта, то ваш собственный прожект манагер показался бы чем-то вроде гибрида матери Терезы и 2-х дневного ласкового котенка.
Как известно, прожект манагеры в обычных проектах бывают двух типов – родственники босса и вышедшие из аналитиков. Про родственников босса мы помолчим – нехорошо убогих ругать, у них же наследственность такая. А вот из аналитиков действительно могут получиться менеджеры настоящих проектов. Но далеко не все настоящие аналитики становятся настоящими прожект манагерами.
В нашей с вами обычной жизни, дорогие коллеги-программисты, в промежутках между чтением auto.ru и anekdot.ru, происходит, на самом деле, не так уже много будоражащих кровь событий. Ну, совещание, ну скиллов в WoW на халяву прихватили или в контре срубили хитрого менеджера по продажам из 2-го отдела… Скучно же.
От такой жизни каждый студент-программист через год работы начинает мнить себя аналитиком (раз я пользователям подсказываю все время, значит, я их работу лучше знаю, и потому сам ТЗ будут ставить), а через 2 года метит в прожект манагеры и процент от прибыли предприятия требует.
В настоящих проектах все не так. Там действительно каждый аналитик потенциально может стать прожект манагером.
О требованиях к аналитикам выше уже написано. А чтобы стать ПМ, аналитику достаточно сделать две вещи – подать заявление и написать завещание.
Потому что из всех кандидатов выбирают только одного. Обычно из 2-3, иногда из большего числа. Самого известного прожект манагера, выжившего среди 14 претендентов, ныне работающего на Google, зовут Дун Канмак (Doon Canmack). Да, было время, тогда стартапов и web 2.0 не было, теперь 3 кандидата уже максимум...
Как-то один режиссер втерся в доверие к старому аналитику, который чуть было не попал в тот отборочный матч, но ему повезло - он попал в автокатастрофу; и отсюда появилось то самое глупое кино про бессмертных горцев, отрубание голов и т.д.
Но вы не подумайте, что аналитики в борьбе за кресло project manager тупо мочат друг друга из шотганов и ракетниц. Не за тем их воспитывали, в конце концов.
Все совершенно цивилизованно: претенденты запускаются в психиатрическую клинику строгого режима с заданием разработать проект (у всех разные проекты – обычно что-то уровня графического редактора или драйвера видеокарты). Претенденты должны набрать программистов и тестеров из доступного материала, поставить им задачу, закодить и разработать проект, потом оттестировать – и все это за 2 недели, не больше.
Конечно, вы можете посмеяться и сказать, что «психи» не шарят в компах, программах и вообще это невозможно, но в таких клиниках обычно содержатся претенденты-неудачники, сошедшие с дистанции на предыдущих отборочных соревнованиях, так что задача приобретает особое значение.
Мрачновато получается. Но что делать, такова правда жизни. К тому же забыл упомянуть про мессингеров. Нет, это не клоны ICQ и т.д., это потомки Вольфа Мессинга, которые за счет врожденных гипнотических способностей управляют программистами и другим персоналом. Получается очень эффективно, однако абсолютная власть развращает абсолютно, поэтому за ними надо присматривать. Несмотря на высокую отдачу, работодатели (особенно венчурные инвесторы) мессингеров не любят – того глядишь, могут и тебя самого загипнотизировать.
Помнится, долго шептались в кулуарах о том диком случае, когда мессингер загипнотизировал трех венчурных инвесторов своего проекта, впряг с помощью подтяжек в тележку молочника и ездил по кампусу с криками «Но, залетные!», а те игриво ржали, закусив галстуки от Prada и бодро помахивая ляжками на особо крутых поворотах. Его удалось утихомирить только с помощью роты специального слепоглухонемого спецназа. Они нашли его на ощупь в холодильнике кампуса и заткнули все нащупанные отверстия скотчем, плюс поставили клизму из водки, так как обычные транквилизаторы месингеров не берут. Этого мессингера пришлось выслать на необитаемый остров вместе с 3 программистами, которые отказались покинуть Хозяина, как они его называли, а венчурные инвесторы как-то разом отказались от ношения подтяжек.
Что делать?
Если вы, уважаемые читатели-программисты, имеете хоть немного гордости и собственного достоинства, то, прочитав о настоящих людях, которые делают настоящие программные проекты, должны задуматься, что делать со своей собственной жизнью.
Это совершенно нормальная реакция – спросить себя «а я чем хуже», «есть еще порох в..», «а мы что - лыком шиты» (только без «тварь дрожащая или право имею», пожалуйста).
Такая рефлексия и самобичевание полезны в умеренных дозах (только не машите руками сильно, скинете бутылку, а пиво с клавиатуры плохо отмывается).
Собственно, дальнейшие главы этого произведения будут посвящены вопросу «что делать, а конкретнее – как стать настоящим программистом.
Кое-что покажется вам циничным, что-то невероятным, а что-то невероятно циничным, но я гарантирую, что к концу чтения этой книги вы будете на много шагов ближе к тому, чтобы быть настоящим программистом.
Boot!
Ну, раз нету откликов, публикацию отрывков придется прекратить...
Thursday, March 23, 2006
Осенний синдром
Н-да, недели бегут слишком быстро, а результатов и побед как-то маловато. Похоже на барахтанье в вязком веществе - вроде и усилия прилагаешь, и стараешься, а толку мало.
Я долго подозревал что эта проблема моя собственная (от неумеренной лени), однако почитав того же Джоэля Спольски, а потом и Стива Павлину, понял, что многие страдают подобным "размягчением" мозгов. Кто-то шутит про весеннюю игру гормонов, кто-то клянет жаркое лето - дескать "мозги плавятся", кто-то ругает унылую осень, ну и все дружно клянут зиму, когда из-за подготовки к праздникам, самих праздников, долгого похмелья и ожидания весны делать ничего не хочется.
Из всех времен года я лучше всего работаю осенью, как ни странно, а вот в остальные времена года как-то оно не так идет. Нет, если напрячься, то можно вспомнить достижения, которые пришлись на весну-лето-зиму, но как-то все без драйва внутреннего… Да и истоки почти всегда лежали в осенних зачинах.
С другой стороны, на весну и зиму, скажем, приходятся значительные одномоментные решения и достижения – смена работы, операции на глазах, значительные покупки, какие-то действия, совершенные «богатырским замахом».
Понятно, что подлаживаться под ритм и работать 3 месяца в году как-то не особо полезно для результатов. Что же делать, как бороться с синдромами времен года?
Если у кого есть какие рецепты, пишите :-)
Friday, March 17, 2006
Пятница N2 - Классификация пользователей-2
Классификация пользователей по приносимой пользе
Конечно, речь идет о пользе, которую пользователи приносят программистам, а не предприятию – об этой пользе пусть думают СЕО, отделы HR и остальные бесполезные подразделения, насыщенные выпускниками MBA.
Некоторые злоупотребляющие Quake и Unreal программисты считают, что пользователи как класс абсолютно бесполезны и следует задуматься о полной их ликвидации в будущем, однако это очевидный перегиб. Перефразируя известного поэта-аналитика: «Пользователи всякие нужны, пользователи всякие важны».
Так какие же виды пользы приносят пользователи?
Самым первым, что приходит на ум, являются деньги (и никак не выпивка, как могли подумать некоторые). Деньги, во всяком случае, до тех пор, пока мы живем в обществе, где помимо программистов есть и другие люди, очень важны.
Вторым по важности после денег является психологическая тренировка. Смысл тренировки становится ясен, как только мы вспомним, что все пользователи одинаковы и в любой конторе их пропорции, привычки и организация повторяются. То есть, изучив пользователей в одной конторе, можно смело переходить на работу в любой другой, и все вам будет знакомо и привычно.
Именно поэтому в начале пути профессионального программиста следует пройти обкатку в какой-нибудь маловажной, но относительно большой конторе, где наличествуют все виды пользователей (идеально подойдет заводик средней руки или провинциальное НИИ). Тренировку обязательно следует спланировать – помните, что это вы нашли себе спарринг-партнеров, и не позволяйте им навязывать свою игру. В план тренировки как обязательный минимум следует включить: споры с начальством, третирование пользователей (хорошо бы довести главбуха до слез намеками на корреляцию параметров ее фигуры и навыков форматирования в Excel), проталкивание абсолютно ненужного проекта и просмотр порнофильмов в рабочее время с полным звуком (для этого рекомендуется продукция Private).
Стоит отметить, что швыряние мониторов в стену и демонстративное хлопанье клавиатурой по голове начальника следует отложить до последнего дня работы (после расчета!).
Очень рекомендуется выбросить трудовую книжку после тренировочной работы и переехать в другой город (а вы думали, почему столько программистов в Москву едет?). Самое главное – не увлекаться и случайно не попасть в тайное общество коллег-мазохистов. То и другое может привести к тому, что вы навеки останетесь на этой работе, проводя все свое время, выдумывая обидные прозвища своим коллегам и издеваясь над пользователями, а к концу жизни поразите общество кое-чем покруче маркиза де Сада[*].
Помимо денег и тренировки, пользователи очень сильно могут повлиять на вашу карьеру. Вы не представляете себе, сколько программистов превратились в толстых дядек на черных S600, просто удачно поставив пару несложных игрушек очень большому боссу (из тех, которые ездят на Метро-2, или в крайнем случае на Pullmanах).
Вторым случаем сделать карьеру является инсайд. Инсайд – это использование закрытой корпоративной информации в личных целях. Вообще, большинство крупных компаний и особенно банков до сих пор не разорились по двум причинам – во-первых, работающие в них программисты достаточно порядочные люди, чтобы сразу выкачивать все активы и лишать совет директоров их теплых кресел, и, во-вторых, они слишком ленивы, чтобы часто менять место работы.
Конечно, с инсайдом надо быть очень осторожным, и никогда не лишним будет проверить, не навредишь ли ты утечкой списка активов своим коллегам, которые вроде второй месяц заняты размещением 4-х кнопок на форме 1280 на 1024 согласно требованиям фэн-шуй, а на самом деле пытаются скупить контрольный пакет акций Дойче Банка… Кроме того, некоторые выбившиеся в большие боссы программисты не страдают полной амнезией и ставят везде видеокамеры и жучки, чтобы зафиксировать вашу преступную деятельность. В этом случае лучше все злодеяния выполнять с помощью Terminal Server из интернет-кафе.
В общем и целом, надо помнить, что, устроившись на работу в правильную компанию, и подружившись на почве игры в Lines с хорошими небедными людьми, вы можете не просто решить денежные проблемы, а надежно обеспечить своих потомков до правнуков включительно. С другой стороны, надо всегда помнить, что другие программисты тоже могли додуматься до точно таких же идей и пройти этот путь раньше!
И последнюю пользу, которую приносят пользователи – это очищают наш программисткой мир от неудачных экземпляров, проводя санацию. К сожалению, некоторые безответственные производители софта сделали разработку программного обеспечения настолько простой, что даже дурак может им воспользоваться. Согласно модифицированному закону Архимеда, дураки вытесняются на ту работу, которая соответствует объему их мозгов, поэтому в «программисты» немедленно записались толпы недоучек, порочащих наше доброе имя. Санация обычно осуществляется в одном или двух отделах предприятия, где собраны специально подготовленные пользователи с садистскими наклонностями. Они быстро доведут любого недоучившегося программиста до мысли, что пора ему поменять работу на более подходящую: дворника, ассенизатора или менеджера по персоналу, в порядке убывания требований к уму и образованию[†].
Пользователи+Программисты = ?
В данной книге мы уже неоднократно упоминали об отношениях программистов и пользователей, но вот точного определения, как назвать эти отношения, еще не давали.
Очевидно, что при такой разнообразной номенклатуре пользователей (а позже мы увидим, что и разновидностей программистов тоже не меньше), дать однозначное определение отношениям с пользователями невозможно.
Поэтому мы рассмотрим наиболее часто встречающиеся виды отношений с пользователями, а уважаемый читатель пусть сам подберет наилучшее сочетание для своего случая.
Во-первых, сначала самый популярный способ общения.… Наверное, все видели фильм «Mortal Combat» («Смертельная битва»). Собственно его трудно назвать фильмом – ни сюжета, ни смысла в нем нет, но зато там есть масса конкретного, продвинутого и весьма интенсивного «мочилова».
Я подозреваю, что на самом деле этот фильм есть аллегория на темы автоматизации деятельности предприятия, он иллюстрирует все характерные его этапы: а) набор персонала с улицы по принципу кровного родства («аааа! они убили моего брата! Возьмите меня с собой!»), б) постановка технического задания Большим Боссом («Вы должны спасти мир!.. Да, втроем! И до завтра, конечно!»), в) сам процесс разработки ПО для автоматизации (очень интенсивная, красиво оформленная, но совершенно бессмысленная деятельность). Особенно хороша заключительная сцена, где из облаков появляется грандиозная рожа кого-то плохого (большого босса главного заказчика) и заявляет, что все было сделано неправильно и придется переделать весь проект.
Так вот, самым популярным способом общения пользователей с программистами является «файтинг» - проще говоря, «мочилово» в стиле «Мортал Комбат».
Файтинг, несомненно, является наилучшим способом общения программистов с пользователями (для программистов). Во-первых, в процессе разработки тренируются различные навыки вроде умения втирать очки ногами в прыжке сразу двум начальникам отделов заказчика, во-вторых, это дает возможность собирать команду классных профессионалов и играть в Unreal (Quake, CS, etc) в промежутках между milestones проекта, и, в-третьих, за 3-4 итерации это приводит (иногда) к разработке хорошего и работающего решения (извините, что забегаем вперед – фантастика на другом этаже).
Однако надо отметить, что файтинг возможен только при наличии сильной поддержки на стороне программистов – большого босса уровнем не меньше зам.директора, который сдерживает попытки боссов других направлений конкретно задавить этих «странных людей» из ИТ-отдела, непрерывно жующих пиццу, пьющих пиво, игнорирующих график работы и (о, ужас!) корпоративный дресс-код.
К сожалению, достаточно часто файтинг переходит в другую категорию отношений, которую условно можно назвать «факинг». Не будем здесь приводить фильмы, которые ассоциируется с этим процессом, можно только отметить, что детям до 16 смотреть такие фильмы не разрешается.… А в особо тяжелых случаях и до 21 года.
Факинг характеризуется очень плохим отношениям к программистам. Любимый вопрос руководства - «А сколько денег заработал ваш отдел?». Неоплачиваемые переработки, низкие зарплаты, «Премию? За что?», «Отпуск?! Устал на кнопки нажимать?», а самая частая оценка работы программистов это: «А они что-то делают?».
Подобное отношение, конечно же, чаще всего присутствует в глубокой провинции, где число работодателей в ИТ-сфере сильно ограничено. К слову сказать, в подобной ситуации оказываются не только программисты, но и другие работники творческого технического труда.
Неизвестно, почему некоторые работодатели практикуют такой подход к работникам. Относительно недавно став собственниками, новые капиталисты забыли об условиях труда не только то, что они изучали на занятиях по научному коммунизму в вечерней школе, но похоже, даже думают, что попали в прошлое – что крепостное право все еще утверждено законом, и уехать в другое место без их позволения невозможно. К счастью, это не так, и билеты продаются вполне свободно, и чем скорее подобные предприятия получат новых, более грамотных собственников, тем лучше.
Ну да ладно, давайте закончим грустные лирические отступления. Ведь есть, есть такие конторы, где отношения между программистами и пользователями полны нежности, любви и взаимной пользы. Нет, это не автоматизация борделя, как было, подумали многие из читателей (кстати, Вован, привет!).
Прежде всего, к таким отношениям относится так называемая «зимовка медведей». Нет, не в смысле того, что надо сосать лапу и ютиться в тесном офисе. Наоборот, ситуация «зимовки» возникает, когда контора отъелась, отогрелась, сделала себе уютную берлогу, надежно укрытую от суровых бизнес-ветров, и хорошо притершиеся к себе работники заползли в ее теплое нутро и нежно обнявшись, проводят все свое время. Максимум запросов, который поступает от пользователей – это сменить им мышку или записать новую игрушку для своего ребенка. Максимум, чего хотят программисты – это нанять в качестве секретаря на ресепшен блондинку посимпатичнее с формами попышнее, чтобы было кому нежно зарыться в пушистые волосы, нежно накрывая ручку, показывая, как в Excel суммируются ячейки….
Конечно, подобная сладостная перспектива открывается в основном в «толстых» государственных конторах с названием вроде «ГазНефтьАлмазСнабКонтроль». Также такая малина может произрастать в удаленных филиалах иностранных компаний, но только до тех пор, пока работодатели не догадаются рассчитывать ставки зарплаты, исходя не из своих средних ставок по миру, а по местному уровню. Мне тут подсказывают, что такая малина может быстро накрываться в результате неожиданного визита регионального директора-ненатурала, который зайдет в своей инспекции дальше диванчика на ресепшене – но не хотелось бы здесь писать про всякие нетрадицинные дела.
Особым подвидом «зимовки медведей» является «королевская семья Великобритании», где работают исключительно «все свои, родные». Но в любой королевской семье может появится своя леди D (до сих пор не знаю, кто это, но подозреваю что это разработчица языка post-C? ), или принцесса Стефани (эту я помню – такая симпатичная тетка из «Короткого замыкания»… Что, никто не помнит?) и «семья» понесет тяжелые потери, за которые придется рассчитываться программистам.… Только не спрашивайте почему – просто такова историческая необходимость, что первыми лицо подставляют программисты.
[*] кстати, мало кто знает, что де Сад был одним из первых французских программистов. К сожалению, тогда компьютеров было мало, и на нем все время работала Ада Паскаль, а вот пользователей было очень много, поэтому бедняга де Сад, отчаявшись внедрить автоматизацию документооборота в Лувре, пристрастился к порносайтам. Кстати, триалы у порносайтов в то время были куда длиннее, чем сейчас – например, де Сад умудрился написать даже книгу «120 дней Содома» по мотивам одного из них!
[†] Конечно, после выхода этой книги этим отделам санации придется тяжелее, чем раньше, так как любой умеющий читать сможет прочесть ее и имитировать поведение настоящего программиста. Но у них в запасе есть кое-какие профессиональные секреты и предварительные наработки, чтобы распознать подлог.
В следующей серии - "Вся правда о методологиях разработки ПО, или о чем умолчали супруги Йордон и Де Марко".
Thursday, March 16, 2006
Дни недели
Дни недели
Сегодня четверг. Завтра пятница. Пятница (она же тяпница) – день короткий и расслабленный, работать не хочется. Четверг близок к пятнице, надо полазать по прикольным сайтам, накопать пару ссылок, которые будем кидать завтра друзьям…
Ну, суббота, воскресенье – самые короткие дни, в них, наверное, вдвое меньше часов, чем в обычных сутках.
Понедельник – день тяжелый, какая уж тут работа, отбиться бы от оставшихся пятничных дел и что-то попытаться спланировать на неделю. Похоже, если поднапрячься, можно многое сделать! Начнем прямо с завтрашнего дня!
Вторник…. Тяжело вставать, куда-то тащиться, черт, пятница еще так далека, что наводит депрессию. Надо прочесть пару анекдотов, чтобы развеяться…
Среда. Хм, жизнь налаживается, вечерком выпьем пива с коллегами – можно ж раз в неделю расслабиться (пятница не считается).
Четверг… Опять четверг…
Tuesday, March 14, 2006
Зубы как софт
Зубы как софт
Ну да не о том речь. Речь о зубах. Подойдя к зеркалу, поглядите на эти разноцветные кусочки кальцинированной плоти. Какие они маленькие, крохотные. Рот сам по себе не большой, бутылка 0.5 только с одного конца влазит, а зубов там этих аж 32 штуки помещается. Чертовски компактно, прямо как winamp 2.0 с его минимальными требованиями к ОЗУ…
Однако стоит вам, переборов естественный страх и хорошенько облегчив кошелек, удобно лечь в кресло к стоматологу, как размеры зуба сильно меняются. Врач сверлит его, крошит и ковыряет, и наконец начинает совать туда различные иголочки, сверла и фрезы. Чертовски здоровые инструменты! Каким-то образом немаленькая рука стоматолога помещается у вас во рту, потом вторая! Вместе с инструментами.
«Черт подери!», думаете вы, рассматривая лампы дневного света на потолке, - «Как он умудряется все это там разместить?». Зуб, который казался совсем крошечным и очень компактным, неожиданно становиться большим, как автобус - в него помещается огромное количество инструментов и разных затычек, внутри зуба появляются извилистые лабиринты длиной наверное с полкилометра, хитрые выверты и куча лишних обломков. Скосив глаз, вы видите, как стоматолог пыхтя и напрягаясь пытается не потерять свои инструменты у вас в зубе. Просто какое-то четвертое измерение!
Непохоже, что врач только изображает работу – он действительно напряженно трудится, да и медсестра мечется, и что-то смешивает, замазывает, отжимает и приносит.
Первым делом, после того как вас выпускают из кресла, вы идете к зеркалу и смотрите на свои зубы, со стразом ожидая увидеть там как минимум пасть Годзиллы. Однако все зубы на месте – они по-прежнему маленькие, компактные, может чуть-чуть поменялись – крохотная пломба или еще что-нибудь.
Вот так и разработка программ. Результат выглядит просто, абсолютно естественно, к тому же он такой маленький и очень компактный. Просто не верится, что в небольшую и интуитивно понятную программу было вложено столько труда, усилий, было выявлено и решено столько проблем. И все только для того, чтобы улыбка была лучше?
Нет, на самом деле труды были приложены для того, чтобы зуб не болел, не пах дурным запахом и не превращал жизнь своего носителя своей безумной деятельностью в кошмар. Так же как и софт.
Берегите зубы!
Friday, March 10, 2006
Пятница №1 - Кто такие пользователи
Отрывок из еще неназванного произведения.
Кто такие пользователи
Может показаться, что этот вопрос лишен смысла, однако это не так. Конечно, у каждого программиста в голове сидит образ любимого «юзера» – будь то бабушка из бухгалтерии, требующая чтобы принтер печатал быстрее, или дяденька в директорском кресле с неудачным хватом мышки, пытающийся попасть в единственную кнопку на экране (обычно это «Ok» с хинтом “Сделать всю работу”).
Но все эти люди – пользователи. Вряд ли директор вашей конторы, работник бухгалтерии и посетитель корпоративного сайта подозревают, что всех их подвели под одну гребенку, построили для них профили и назвали одним емким понятием «пользователи». Но это так – для нас все они пользователи, потому что пользуются программным обеспечением, которое мы разработали или разрабатываем или собираемся разрабатывать или даже просто поддерживаем (привет Билли!).
Многие программисты даже думают, что слово «ПОльзователи» произошло от слова «ПО», однако это не так – оно произошло о слова «польза», потому что пользователи были придуманы программистами для того, чтобы они приносили пользу.
Этот факт необязательно знать пользователям, поэтому для их успокоения программистами придуманы и продолжают придумываться разнообразные теории о том, зачем нужны программисты и то, что они делают – самая свежая теория называется Business Intelligence. Об этих полезных теориях мы поговорим позже.
К сожалению, многие программисты, особенно из молодых да ранних, забыли о предназначении пользователей и называют их «юзеры» - калькой с английского users. Лично мне больше нравится слово «юзвери» - это возвращает нам к исходной посылке о пользе, так как из «зверей» обычно извлекается какая-то польза – будь то мех, мясо или просто удовольствие от охоты. Чтобы не пугать читателя, уточню – из юзверей обычно извлекаются деньги, что находится в рамках общечеловеческих ценностей и не противоречит законам (да-да, поэтому положите трубку на место и не звоните в прокуратуру – у них своих дел хватает).
Впрочем, на самом деле слово «юзвери» родилось в порыве гнева у кого-то из не особо выдержанных программистов, когда после очередного совещания ему пришлось выкинуть 3 месяца работы. Ниже мы поговорим о том, как избежать таких ситуаций и правильно обращаться с «юзверями», а пока давайте классифицируем пользователей.
Классификация пользователей – восприимчивость к новому ПО
Всякая серьезная разработка программы всегда начинается с определения сущностей, которыми будем оперировать, а данное произведение важно не меньше любой из ваших программ, уж поверьте. Поэтому давайте разберемся с основными видами пользователей, которые встречаются в мире. К сожалению, классификацией по одному признаку мы обойтись не сможем, поэтому придется рассмотреть несколько классификаций, чтобы позже выработать механизмы манипулирования этими пользователями.
Первая классификация - по восприимчивости к новому программному обеспечению. Программисты всегда делают что-то новое, так как на старой программе, работающей со времен XT денег не заработаешь, поэтому необходимо все время делать что-то новое. Слава богу, большие люди наверху это хорошо понимают и выпускают новые версии системного софта и железа достаточно часто, чтобы обеспечить доход и себе, и простым программистам вроде нас. Однако не все пользователи одинаково хорошо понимают, как важно постоянно внедрять новое ПО для поддержания нашего банковского счета в порядке, поэтому очень важно распределить пользователей по этому признаку.
Итак, приступим:
Тормоз – пользователь этого вида очень медленно осваивает все действия и слабо воспринимает перемены. Если он привык вызывать Excel через Пуск/Программы/…, то сколько не объясняйте ему про ярлык на рабочем столе, он только покивает головой, а сам будет пользоваться Пуск/Программы и т.д. Недостатки этого вида пользователей очевидны – научить их чему-то очень трудно, но достоинства также велики – эти пользователи будут на 110% удовлетворены той программой, которую они освоили и никогда не будут вас дергать просьбой добавить шорткаты или оптимизировать расположение кнопок на экране.
Амнезийный тормоз – то же, что тормоз, но постоянно забывает все объяснения. Это приводит к необходимости объяснять ему элементарные вещи помногу раз. Не помогает ничего – ни записывание на бумажках порядка нажатия клавиш, ни чудеса ораторского искусства – с неизбежностью наступления праздника 8 марта у вас раздастся звонок и до боли знакомый голос попросит объяснить «еще разок», как делать отчет. К особо неприятным недостаткам относится то, что амнезия у данного типа пользователей односторонняя – как только вы представите новую версию программы, они сразу вспомнят старую в таких деталях, что даже разработчики подивятся – и потребуют полной обратной совместимости, естественно.
Ретроград – ооо, брат, ты попал. Это самый чудовищный вид пользователя, обычно встречающийся среди женщин пост-бальзаковского возраста. Вот уж кто действительно достоин названия «юзверь» с негативной точки зрения. У пользователей этого типа все лучшее всегда в прошлом. Какой бы шедевр программного искусства не сотворили бы программисты, он будет недостаточно хорош уже по той причине, что просто существует. «Леонардо мертв, и нет другого такого гения» - вот девиз этих мега-критиков. Сочетая в себе скорость восприятия тормоза, умело комбинируя это с приступами управляемой амнезии и постоянно апеллируя к своему многолетнему опыту, ретрограды – самые могучие противники нового программного обеспечения.
Новатор. Тип пользователя, постоянно требующий всего нового. Взглянув на скриншот любой программы, новаторы найдут место для десятка-другого замечаний. У меня был случай, когда я покинул совещание на несколько минут, отставив включенным на проекторе диалог настройки дисплея. К моему возвращению мне вручили список из 23 пожеланий, сопроводив советом больше прислушиваться к мнению пользователей. Нет ничего хуже, чем иметь парочку новаторов высокого ранга на рабочем совещании. Рядовые пользователи не могут и вякнуть, чтобы прервать начальственную чушь, а проект может получить совсем иное направление, чем задумывалось в начале.
Говорун. В детстве нас всех обманули, внушив мысль, что «говорун отличается умом и сообразительностью». Говорун обсуждение любого нового начинания сводит к своим личным проблемам и задачам. Взяв слово на совещании, говорун несет чушь либо до окончания совещания, либо пока его не прервет начальник. Ужаснее всего, когда начальник и есть говорун. Впрочем, говорунов можно использовать: зная их особенность, можно просить их высказаться в момент, когда наступит время неудобных вопросов. Подробнее мы рассмотрим этот прием в главе, посвященной совещаниям.
Пофигист. Этот вид пользователей индифферентно относится к новым начинаниям. Ему глубоко фиолетово, что вы там задумали и для чего это нужно, так как его проблемы неизмеримо важнее, а так как он уверен, что эти проблемы не решаемы в принципе и никто не ценит его усилий по поддержанию статус-кво, то все эти программы-шмограммы по барабану. Обычно это специалисты по практическим вопросам – завхозы, водители, слесари-ремонтники, юристы и другие счастливцы, которых автоматизация предприятия слабо затрагивает. Достоинством пофигиста является то, что его можно привлечь на свою сторону, поинтересовавшись его проблемами или просто распив с ним бутылочку коньяка – нет, пофигисту по прежнему будет наплевать на ваше программное обеспечение, но он будет вам симпатизировать просто как хорошему человеку. Точно так же можно задеть пофигиста, не отозвавшись с должным уважением о его тяжелой и нужной работе, и нажить себе злопамятного и сильного врага.
По отношению к новому ПО все. Конечно, бывают подвиды и комбинации данных видов пользователей, но они примерно укладываются в описанные рамки (если вы обнаружили новый вид, срочно пишите мне - будем разрабатывать вакцину!).
Классификация пользователей по способности сформулировать свои требования
Несомненно, это самая короткая из наших классификаций. Пользователи с точки зрения квалификации делятся на 3 неравные группы:
- не знают, чего хотят. Самая маленькая группа (да, да!).
- думают, что знают, чего хотят, но на самом деле не знают. Вот это самая многочисленная группа пользователей.
-программисты. Да, бывает и так, что программисты пишут продукт для других программистов. Обычно это похоже на шахматный матч «шулеры против карманников», и обычное деление на пользователей и программистов здесь не подходит. Мы постараемся подробнее рассмотреть эту ситуацию позже.
Продолжение следует...
В следующей серии:
- - Виды пользы, которую приносят пользователи
- - Программисты+ пользователи = ?