РАССКАЗ: Я программист, хотя образование у меня другое - я закончил одну из кафедр ядерной физики МИФИ. Недавно был на праздновании 60-летия института, зашел на родную кафедру, встретил своего преподавателя.
- Валерий Трофимович, 28 лет назад вы задали мне решить мою первую задачку по программированию...
Далее я предполагал пустить слезу вместе с Валерием Трофимовичем и поохать по поводу того, как такое незначительное событие может повлиять на жизнь человека, но не успел. Он посмотрел на меня и спросил:
РАССКАЗ: Сижу в офисе, багу ловлю. И тут заходит такой субтильный паренек с толстой сумкой и с порога объявляет: - Внимание! Сегодня наше издательство предлагает по удивительно низкой цене книжку, предназначенную только для таких крутых хакеров как вы! Интересно, думаю, да и подход нестандартный Подзываю, смотрю. Остальные тоже поглядывают из-за мониторов. Вижу - какой-то простенький учебник по Си, не первой свежести... Ну ладно, думаю, пользы не получил, так хоть пусть удовольствие будет - Не, - говорю грустно так, - это не для нас. Тут мало быть просто хакером. Здесь надо быть настоящим ламером, причем мастдайным! Возвращаю парню книжку и советую: - Ты в соседнюю комнату зайди, там ребята покруче нас сидят, предложи им, может возьмут. А там у нас вторая группа девелоперов... Паренек благодарит, уходит... и через несколько секунд мы слышим из-за двери: - Внимание! Сегодня наше издательство предлагает по удивительно низкой цене книжку, предназначенную только для таких мастдайных ламеров как вы!!! От скорой и безболезненной смерти его спас только оглушительный взрыв гомерического хохота из нашей комнаты... - смешной рассказ
РАССКАЗ: Решал я как-то на работе техническую проблему. Суть у проблемы была такая: надо было заставить одну очень нужную программу (для тех, кто знает - Apache) с помощью другой очень важной программы (для тех, кто знает - PHP) заставить генерировать графику (картиночки с текстом). Причем задание довольно срочное, поэтому жопа в мыле. Выглядит это так: я (системный администратор) одной рукой кромсаю конфигурационный файл, другой сжимаю телефонную трубку, на другом конце провода висит программист, наскоро клепающий тестовые странички. Не работает, зараза. То есть картиночки одного типа работают, а другого (для тех, кто знает - GIF) - ни фига. Мозги уже закипают. Время - около 21.00, хочется домой. И тут из трубки - "Кажется, я его победил!". Открываю страничку - уррра!!! Красивенький такой розовый прямоугольник. Может, не очень эффектный, но это уже победа, остальное - дело техники и программистов. Задаю естественный вопрос: "Ну и где была проблема?". На том конце провода - смущенное молчание, несколько секунда сопения, и наконец - потрясающий ответ, заставивший наш отдел содрогаться от хохота. Ответ был такой: "Знаешь, белый прямоугольник на белом фоне видно довольно х%ево+". - смешной рассказ
Программист - начальнику отдела: Мы не можем справиться с предложенным проектом! Повторяю: НЕ МОЖЕМ! Это потребует полного изменения структуры дерева наследования, никто в нашем отделе в ней не разбирается. Более того, никто в компании не знает даже языка, на котором это всё было написано, так что даже если кто-то и захочет этим заняться, он просто не сможет. Если Вас интересует моё мнение, наша компания вообще не должна соглашаться работать над подобными проектами.
Начальник отдела - руководителю проекта: Проект потребует изменения структуры системы. На текущий момент у нас нет сотрудников, имеющих опыт подобной работы. К тому же, язык нам не очень знаком, так что нам придётся организовать кое-какую переподготовку, если мы возьмёмся за этот проект. Если Вас интересует моё мнение, мы не готовы работать над проектами подобного рода.
Руководитель проекта - менеджеру среднего звена: Этот проект подразумевает изменение структуры, а у нас маловато опыта в этой области. К тому же, у нас в компании не так много людей, которые специально обучались таким вещам. Если Вас интересует моё мнение, мы бы смогли справиться с этим проектам, но на это у нас уйдёт немного больше времени, чем обычно. Менеджер среднего звена - менеджеру верхнего уровня: Этот проект подразумевает пересмотр структуры. У нас есть несколько специалистов, которые работали в этой области и ещё несколько специалистов по языку реализации. Они могли бы организовать обучение персонала. Если Вас интересует моё мнение, нам стоит взяться за этот проект, но действовать нужно осторожно. Менеджер верхнего уровня - управляющему: Этот проект даст нам возможность продемонстрировать нашу способность полного изменения структуры существующей системы. У нас есть все необходимые умения и ресурсы, чтобы успешно справиться с проектом. Некоторые сотрудники уже начали обучать других необходимым навыкам неофициальном порядке. Если Вас интересует моё мнение, мы не должны упустить этот проект ни в коем случае.
Управляющий - клиенту: Это как раз тот тип проектов, в которых наша компания специализируется. Мы уже завершили несколько проектов подобного типа для крупных заказчиков. Поверьте, что в этой области именно мы являемся наиболее компетентными. Если Вас интересует моё мнение, мы можем выполнить этот проект успешно и в назначенные Вами сроки. - смешной рассказ
РАССКАЗ: Все началось с того, что я предложил дружбану протянуть с ним локальную сеть. Мы, слава богу, жили в соседних домах, и это не составляло никакого труда. Единственное, что меня смущало: на пути от моего дома до его была автодорога, хотя по моим расчетам провод должен был проходить несколько выше автомобилей. Ну, мы выпили, и принялись за дело. Если бы мы знали, чем это кончится, лучше бы мы вообще в этот день не просыпались...
Процесс натягивания провода прошел без проблем. Мы закрепили у меня один конец провода, другой потащили к нему. Перешли через дорогу, и потом через крышу (его окна выходили на другую сторону дома) спустили к нему домой. Провод подключили к сетевой карте, которая тут же со свистом вылетела из слота. Ветер! Провод так натягивался, что карточка сама выпрыгивала из материнки. Почесав репу, Миша (так звали моего друга) намертво прикрепил ее двумя винтами к корпусу, и еще одним ба-а-а-а-альшим винтиком прикрутил штекер к самой сетевухе. Мы, ессно дело, еще поддали на грудь, и меня приспичило по-маленькому. Когда я уже выходил из туалета, раздался звук бьющегося стекла. Я быстро прибежал в комнату и увидел Мишу, который, высунувшись в разбитое окно, смотрел куда то вверх. Потом он медленно сел на диван и глазами, полными ах***вания, посмотрел на меня. Через десять-пятнадцать минут (когда он смог наконец что-то сказать), он мне рассказал следующее:
- Сижу... Эта... И тут эта!.. Прикинь!.. П***ц!.. Системный блок прыгает со стола в окно!.. Прям в окно!.. Просто - прыг, бл@**, и все! Я эта... Подбгаю к окну и вижу... Бл@**, п***ц... Он улетает параллельно стене вверх! И исчез нах@* за крышей!
Как потом выяснилось, по дороге проехала фура, ну и зацепила прицепом наш провод... - смешной рассказ
РАССКАЗ: 16 полезных и непротиворечивых заповедей программиста, работающего в коллективе единомышленников Никогда не проверяйте указатели на NULL. Коллеги сразу почувствуют вашу слабость и вообще перестанут возвращать вам правильные данные. Зло надо пресекать на корню: если программа из-за этого упадет (вероятность 100%), то не по вашей вине - вы все сделали правильно. Если вы пользуетесь каким-нибудь средством коллективной работы с исходными текстами, то лучше сразу занять все файлы и больше никогда не отдавать - потом хрен допросишься. В противном случае придется снимать "read only", вносить изменения, а потом кропотливо вручную собирать их с активной версией, как последнему ламеру. Всегда отмечайте красным цветом код, написанный в состоянии сильного алкогольного опьянения. Этот код никогда нельзя править, так как он рождается на уровне подсознания и напрямую связан с планетарным программистским разумом. Если собрать весь такой код вместе и попробовать скомпилировать, то наверняка получится что-то страшно полезное. Если в вашей программе нет кода, выделенного красным цветом, значит, это плохая программа. Старайтесь всегда работать в паре - будет на кого свалить, если обнаружатся ошибки. Еще лучше собрать банду таких же отморозков человек в пятнадцать и всем вместе беспорядочно редактировать огромную кучу исходников. В этом случае виновного вообще нельзя будет найти, и таким коллективом можно любой проект делать вечно. Старайтесь писать как можно более непонятный и запутанный код даже при решении примитивных задач, иначе вас сочтут ламером, а ваш код будут называть отстойным. Никогда не вставляйте в код комментарии, которые позволят другому программисту разобраться в том, что вы написали. Иначе каждый дурак сможет вносить изменения в ваши исходники, и вы потеряете над ними контроль, что приведет к их полному разрушению. Можно даже вставлять в начале каждого файла комментарий типа /* Немедленно закрой этот файл, отморозок. */ Старайтесь вставлять комментарии перед каждой строкой исходного текста (а лучше - еще и после) и расставлять между ними пустые строки. Это резко увеличит производительность вашего труда (человеко-строчек-в-день) и повысит ваш авторитет в глазах товарищей. Никогда не тестируйте программу больше одного раза. Иначе обязательно найдутся ошибки, что ужасно портит настроение и вообще дурно влияет на здоровье. Никогда не выносите повторяющийся код в отдельную функцию - чем меньше функций, тем надежнее работает программа. Никогда не старайтесь писать оптимально - современные компилеры в 64 тысячи раз умнее вас и сами все прекрасно оптимизируют. Никогда не используйте готовых технологий/компонентов/исходников, а старайтесь все писать самостоятельно и обязательно с нуля. Готовым пользуются только ламеры... Постоянное переписывание кода только улучшит его - путь к совершенству бесконечен. При коллективном обсуждении какой-либо проблемы старайтесь принимать ничем не обоснованные и необъяснимые решения. Это создаст вокруг вас ореол таинственности и повысит ваш авторитет в глазах коллег. Не придумывайте ничего самостоятельно. Как говорил один мой знакомый: "Х@$ли думать - все давно придумано". Составляя комментарии, добавляйте к ним малоизвестные аббревиатуры и сокращения. Тогда ваш код будет выглядеть по-настоящему профессионально. Полезно разработать собственную секретную систему сокращений и активно использовать ее в названиях переменных и функций. Никогда не комментируйте исходники - коллеги могут подумать, что вы вставляете комментарии для себя, и навеки причислят вас к разряду ламеров. Помните, что настоящими программистами не рождаются - настоящими программистами умирают. Следствие: хороший программист - мертвый программист.