Смотрите название, но я прошу с технической точки зрения, а не
Возьми мою 40-летнюю девичью племянницу на свидание или тебя уволят.
Смотрите название, но я прошу с технической точки зрения, а не
Возьми мою 40-летнюю девичью племянницу на свидание или тебя уволят.
Ответы:
Чтобы продать научно-фантастический триллер Snow Crash Нила Стивенсона, меня попросили написать «доброкачественный» компьютерный вирус. Это «мягко» притворилось бы, что оно захватило компьютер пользователя и заменило экран снегом, иначе говоря, «снежный удар». Примерно через минуту снега снег исчезнет и его заменит реклама книги. Это было бы "доброкачественно", вы видите. Вирус будет распространяться обычными способами, но никто не будет против, потому что после захвата их компьютера «вы просто получите забавную рекламу, а затем будете рады, что с вашим компьютером ничего плохого не случилось».
Мне фактически сказали сделать это в крупной всемирной корпорации. Я должен был написать записку, объясняющую все законы, которые это нарушит, и все 17 плохих вещей, которые могут случиться, если они действительно заставят меня это осуществить.
«Эта DLL, которую вы написали, имеет размер всего 17 КБ. Можете ли вы добавить какой-нибудь код, чтобы увеличить ее? Клиент платит нам много денег, и мы хотим, чтобы они получили ценность своих денег».
Используйте Visual SourceSafe.
«Вы знаете эту огромную 20-летнюю программу Cobol, которая содержит груды жестко закодированных бизнес-правил, которые более или менее определяют нашу компанию? Не могли бы вы преобразовать ее в .NET?»
Хлоп.
Мы живем через несколько недель.
Пожелай мне удачи..
Много лет назад мы с братом работали над мультимедийным тяжелым сайтом для очень известной рок-звезды .
Когда клиент увидел сайт, он заметил некоторые артефакты сжатия в некоторых файлах JPEG и спросил, что с ними не так. Мы объяснили, что для сжатия полосы изображения необходимо сжатие, и что в настоящее время изображения были сжаты с качеством около 80%. Он обиделся и сказал что-то
Я не дошел до того места, где я нахожусь сегодня, выполняя все на 80%, установив его на 100%.
Мы пытались объяснить, как это повлияет на пользователей, но у него ничего не получится. Это привело к созданию самого медленного веб-сайта «виртуального мира». Это на самом деле произошло .
Нам нужно отложить запуск сайта на две недели, потому что Меркурий находится в ретроградном положении, и сейчас плохое время, чтобы начинать что-то новое.
Очевидно, после прочтения какого-то делового журнала на самолете о том, как XML была горячей новой технологией (это было около 2002 года), один из наших руководителей спросил меня, использует ли наше приложение XML, когда я сказал «нет», он спросил меня, можем ли мы добавить его.
Теперь, я не говорю о функции импорта / экспорта файлов в формате XML, он просто хотел, чтобы она была частью архитектуры без каких-либо иных причин, кроме того, что она была популярна в данный момент, и придала бы доверие к нашему приложению.
«Прямо сейчас, имена пользователей должны быть уникальными, а пароли - нет. Можем ли мы сделать это наоборот?»
Около 7 лет назад я работал в магазине программного обеспечения на заказ, который решил продать один из своих продуктов. Это был комплексный пакет операций для некоторой отрасли. Ну, эта индустрия не была известна тем, что она была супер технологичной, поэтому мы каким-то образом предоставили стороннюю техническую поддержку для их серверов и ИТ-инфраструктуры вместо того, чтобы отдавать ее независимым ИТ-консультантам малого бизнеса.
Однажды сервер клиента обнаружил повреждение диска. Сервер, который мы продали им, был настроен с RAID-контроллером Adaptec, настроенным для зеркала RAID 1. Их база данных приложений была тостом. Они не делали резервных копий в течение нескольких месяцев. Резервные копии, которые они сделали, были непригодны. Они потеряли 8 месяцев данных. Они наняли ИТ-консультанта для выполнения этой следственной работы.
Начались телефонные звонки, и менеджер по продажам (известный своими многообещающими невозможными функциями), очевидно, сказал им, что об этом позаботятся, и записал это в контракт.
Менеджер по продажам пообещал клиенту, что мы гарантируем, что база данных приложения и любые другие файлы, связанные с приложением, никогда не будут реплицироваться контроллерами RAID, если файлы будут считаться поврежденными. Конфигурация также не требуется. Ага. Нам сказали доставить эту функциональность через 2 недели, иначе заказчик уволит нас.
Итак, руководитель программы - у которого были некоторые продукты CRM для крупных предприятий и другие серьезные успехи в разработке, - и я встретился с COO и менеджером по продажам. Менеджер программы подробно рассказывал, насколько это было безумно, невозможно и безумно невозможно. Менеджер по продажам (военное образование) просто кричал бы ему в лицо (буквально!): «Мне все равно! Как трудно сделать RAID, а не RAID ?! Их данные будут хороши на другом диске, если RAID-объект не облажался! "
В конце этой встречи менеджер программы вышел с уведомлением о нулевом дне. Так что теперь мне было поручено это. В течение следующей недели я обратился к Adaptec и LSI Logic с просьбой предоставить инженера для конференц-связи, просто чтобы посмеяться над лицом менеджера по продажам.
В конечном счете, они обязались и поддержали свой конец сделки. И они вошли в подробности, как это нелепо невозможно. Парень из LSI был особенно суров - он не приукрашивал ничего.
Мне не нужно было реализовывать эту функцию. Я должен был реализовать пользовательскую схему безопасности, запрошенную клиентом, которая позволила бы ему переключать любые элементы управления приложения - от элемента управления к элементу управления - как видимые, отключенные, включенные, доступные только для чтения или для чтения и записи. , В теории было 146 000 комбинаций. И если вы случайно облажаетесь, скажем ... отключите контрольную группу, у вас будут непреднамеренные побочные эффекты. Само собой разумеется, когда мне дали ультиматум, что это должно было быть выполнено, я также ушел с уведомлением нулевого дня.
+1
для "выйти с уведомлением нулевого дня", потому что иногда вам просто нужно уйти, а некоторые люди никогда не получают это и продолжают путаться.
Они попросили меня найти коммерческий продукт, который мог бы автоматически находить и исправлять ошибки в исходном коде.
Все еще ищу ... с 2001 года :).
Однажды у меня была спецификация клиента, которая буквально требовала кода, способного перемещаться назад во времени.
Мой работодатель собирал данные для клиента, и мы должны были доставлять их в формате файла X с десятиминутными интервалами между 9:00 и 17:00, за исключением окончательной доставки, которая была в формате Y (просто X с другим нижним колонтитулом). Я так и сделал ... и они взбесились. Мы собирали данные небольшого объема, и на самом деле было только одна или две точки данных для доставки в любой день.
«Брось спамить нас пустыми файлами !!!» они плакали. «ПЯТЬ ДЕСЯТИ МИНУТ ПЯТИ КЛЮЧИТ НАШИ БАНДТУБЫ!»
Хорошо. Итак, мой код проверяется каждые десять минут и доставляется только в том случае, если есть что доставить. Справедливо.
"НО ПОСЛЕДНИЙ ФАЙЛ ДОЛЖЕН БЫТЬ В ФОРМАТЕ Y !!!" они кричали. "СОВРЕМЕННЫЕ ТЕХНОЛОГИИ ОГНЯЮТ И НАСТАВАЮТ НАС! ИСПРАВЬТЕ ИЛИ МЫ ПОБЕДИМ ВАМ С МАСТОДОНОМ!"
(* - Возможно, я неправильно помню части разговора.)
«Итак, я могу только доставить файл, если есть свежие данные».
"ДА."
«И окончательная доставка за день должна быть в другом формате».
"ДА."
«За исключением того, что у меня нет возможности узнать, какой файл будет последним в течение дня до конца дня».
"ДА."
«Таким образом, единственный способ для меня реализовать это - написать код, который в конце дня возвращается назад во времени, чтобы переделать формат того, что оказалось окончательной доставкой».
«ВЫ МОЖЕТЕ У ВАС ЕСТЬ ОТЧЕТ СПОРТИВНЫХ СЧЕТОВ? МЫ СПАСИ В БУДУЩЕЕ II. BIFF TANNEN делает нас счастливыми».
Я отказался, отчасти потому, что нарушение причинно-следственной связи является неэтичной практикой программирования, отчасти потому, что на CPAN.org не было модуля, который позволял бы мне это делать. (Я проверил.) В конце концов, они позволили мне отправить файл в формате Y в конце дня, независимо от того, были ли у него какие-либо фактические данные. Я уверен, что их пропускная способность пережила удар.
+1
«нарушение причинности - неэтичная практика программирования». Теперь есть правило, которое требует большего внимания.
Без какой-либо видимой причины меня привели на закрытое совещание и сказали не проверять, контролируется ли мой компьютер, в том числе никогда не проверять диспетчер задач по какой-либо причине. Я спросил, контролируют ли они мой компьютер, и мне сказали (примерно): «Это всего лишь превентивная вещь - вы знаете, наш адвокат сказал нам рассказать об этом сотрудникам - но вы знаете, мы не можем сказать - - но я не контролирую это сейчас. "
(я думаю, они следили за моим компьютером, но не тогда, когда мне говорили не искать никаких программ мониторинга. Фактически, через несколько недель я пришел рано и буквально наблюдал, как мышь движется вокруг моего экрана, как будто удаленный - поэтому я посмотрел в окно генерального директора и увидел, как он удаленно щелкает по моему компьютеру со своего ноутбука.)
Однажды у меня была долгая «дискуссия» с остроконечным боссом, который настаивал на том, что мы можем хранить 2 в немного типе данных, потому что это «только одна цифра».
Самая глупая вещь, которую меня попросили сделать, это, вероятно , переписать очень большой проект. Это было около 350 тыс. Строк, все на C (с небольшим Perl, смешанным для «вспомогательных» скриптов) и работали хорошо, независимо от того, что с ними делали клиенты.
Почти год спустя у нас было:
По сути, мы не сделали ничего такого, чего не мог бы осуществить разумный рефакторинг. Но мой босс был счастлив, мы избавились от вспомогательных скриптов.
Я считаю, что это самая вопиющая трата времени и существующего кода, который я когда-либо видел.
Клиент: Мы используем программное обеспечение для вашей базы данных в течение нескольких лет, разрабатываем для него наши собственные приложения и время от времени обращаемся за помощью.
Я: Да, мы ценим сотрудничество с вами.
Клиент: Да. Каждый раз, когда мы звоним, вы говорите нам, как использовать новую функцию, или вы помогаете нам отладить наше использование, или предлагаете обходное решение для некоторой проблемы.
Я: Конечно, мы всегда рады помочь.
Клиент: Иногда в вашем продукте есть настоящая ошибка, и ваша компания исправляет ее и дает нам обновление программного обеспечения.
Я: Мы делаем все возможное.
Клиент: Ну, теперь мы нуждаемся в вашей уверенности, что у нас больше не будет проблем.
Me: . , ,
Меня попросили написать в презентации нашего программного обеспечения одному из крупных потенциальных клиентов, что мы использовали технику кодирования «спагетти-код».
Конечно, мы в Италии ... звучит хорошо.
Изменение цвета подсветки синтаксиса в соответствии с используемыми в системе контроля версий.
Давайте посмотрим:
Писать программы на C ++
Можете ли вы взять этот 10-страничный отчет, который я попросил, чтобы вы подготовили его в виде текстового документа и превратили в презентацию PowerPoint, потому что я действительно визуальный мыслитель и на самом деле не буду читать письменный отчет, который я просил вас сделать?
Хорошо, я хочу, чтобы вы отсканировали это изображение дома, когда я вернусь, вы сможете показать мне его заднюю часть.
«Мне не нравится, как работает эта база данных Oracle. Почему бы нам просто не написать собственную базу данных?»
(Правда, это было более 15 лет назад, но все же!)
Меня попросили загрузить статьи с сайта конкурента внутри iframe, который был бы внутри обложки нашего сайта, чтобы он выглядел так, как будто он от нас.
Для меня самым безумным (и вполне возможно, самым смешным) был
Видите эти 10 миллионов строк кода (устаревшая веб-технология)? Напишите компилятор, чтобы преобразовать его в работающий сайт Asp.net.
Он никогда не выплевывал рабочую версию (конечно, я пытался сказать им, что это нецелесообразно), но в любом случае это было весело.
Одной из основных функций приложения, разработанного нашей компанией, была возможность поиска больших объемов документов по полному тексту документа. Конкурент сделал следующее заявление в маркетинговой презентации одному из наших клиентов,
Наша технология поиска превосходна, потому что она не только ищет текст документов, но и ищет «биты и байты» фактического файла в двоичном виде.
Они привели смешной пример того, как десятичные выражения ascii слов «boot» и «boat» были намного менее похожи, чем те же слова в двоичной форме, когда вы сравнивали фактические числовые цифры в представлении. Таким образом, поиск, основанный на цифрах 1 и 0, более точно отражает, насколько схожи эти два слова, визуально, и, таким образом, улучшает отзыв.
Естественно, мне было поручено исследовать эту технику, которая, как я полагаю, была результатом того, что маркетолог совершенно не понимал программиста где-то и разрабатывал ответ, который мы могли бы включить в наше предложение.
Небольшая команда программистов, босс хочет, чтобы мы разработали систему бронирования билетов для небольшой авиакомпании (конечно, в очень короткие сроки). Команда говорит:
- как вы можете себе представить, нам понадобятся тестеры для этого проекта
Босс говорит:
- не волнуйся, учись у автопрома. Время от времени они вспоминают автомобили: пользователи будут проводить тестирование.
Я был частью команды поддержки мэйнфреймов, которая менялась с другими командами поддержки в центре обработки данных. После смены мы обычно проводим инструктаж с менеджерами и командой следующей смены. Однажды наш новый директор пришел и задал вопрос: «Почему средняя загрузка ЦП во время вашей смены составляла всего 72%, в то время как предыдущая смена показала около 95%? Я думаю, если бы мы очень старались, мы могли бы в итоге достичь 100% загрузки ЦП! "
Около 12 лет назад, когда я учился в колледже, я работал над приложением для моделирования данных для Windows. Проект был почти завершен после примерно 60 000 строк кода Win32, вы знаете, кода, предназначенного для платформы Windows. Затем клиент сказал, что приложение также должно запускаться «в Интернете». Ей было трудно понять, как это одно «небольшое» изменение требований может оказать такое большое влияние на проект. Я начал с нуля в Java, но закончил тем, что покинул проект, прежде чем он был когда-либо закончен.
Я работал над большим проектом в 1996 году, когда мы забивали живые спортивные события. Этот разговор произошел:
Босс: Выйдите на место проведения следующего мероприятия.
Я: Что тебе нужно, чтобы я сделал.
Босс: Будь там на всякий случай.
Я: На всякий случай, что?
Босс: На случай, если технический лидер потеряет его. Он слишком утомлен, и я не знаю, что он может сделать.
Я: И если он потеряет это, что ты хочешь, чтобы я сделал?
Босс: Просто вытащи его оттуда, чтобы все остальные могли продолжать работать. Мне все равно, как ты это делаешь.