Статья без начала, в которой автор рассказывает о невыносимых типах людей, с которыми он работал последние 30 лет, с эпилогом от переводчика Я закончил колледж 30 лет назад. Моей первой работой была разработка испытательного оборудования для Унивак .
Это были бы чудесные времена, если бы не… Грег Секретив Здесь я впервые встретил человека, который считал, что отказ от помощи другим или ответов на вопросы является своего рода гарантией занятости.
его работа.
Однажды я в общих чертах рассказал о проекте, который планировал реализовать.
Грег внимательно выслушал и сказал то, что говорил всегда: ничего.
Я возился с реализацией неделю или две, пока не обнаружил, что мой подход в корне неверен.
Я спросил об этом Грега, и он сказал, что для него это очевидно с первого взгляда.
Знаешь, он мне ничего не сказал! Если бы я был его начальником, я бы его уволил.
В 1984 году я ушел из команды Univac в компанию, которая занималась автоматизацией складов.
Это была лучшая работа в моей карьере, кроме.
Ион Некомпетентный Ион был самопровозглашенным экспертом в области последовательной связи.
Он отвечал за две части проекта: низкоуровневую передачу данных в определенном устройстве и симулятор этого устройства.
Одной из моих задач была разработка следующего уровня кода, который бы обрабатывал данные, полученные от устройства.
Полгода Ион работал над симулятором, на котором я собирался тестировать свой код. Последние два-три месяца Ион утверждает, что ему нужна еще неделя-две, чтобы закончить.
Наконец мое терпение кончилось.
Я посмотрел на код Иона и почувствовал тошноту: это был самый дерьмовый код на свете.
Я полностью переписал его за три дня.
После этого я переписал низкоуровневый код в самом устройстве; мой код все еще работает там сегодня.
Я пошел к руководству и сказал, что Ион не умеет программировать.
Совсем.
Через год мне поступило предложение, от которого я не смог отказаться, и я ушел из этой компании.
Еще через три года я вернулся, а Ион все еще был там.
Мне удалось избежать прямого сотрудничества с Ионом в течение следующих десяти лет, но настал день, когда я не смог этого сделать.
Он все еще не умел программировать и по-прежнему провозглашал себя лучшим программистом, которого вы когда-либо встречали.
Я переписал его код заново, как только он переключился на другой проект. Гэри Здесь не придумали Скорее всего, вы работали с Грегом или Джоном, но держу пари, что вы никогда не встречали Гэри! Итак, в 1985 году я устроился в небольшую компанию, занимавшуюся контролем времени отклика каналов связи.
Я понял, что у меня проблемы, когда выяснилось, что моя работа — учиться у Гэри и наводить порядок.
«Код» Гэри был чем-то особенным: списки программ представляли собой серии шестнадцатеричных чисел, написанных от руки и иногда перемежающихся односложными комментариями.
Один листок бумаги я оставил себе на память.
Я спросил Гэри, что происходит и почему.
Оказалось, что однажды Гэри нашел ошибку в ассемблере и с тех пор ему не доверяет. Он запоминал коды операций для процессора 6809, писал свои программы в шестнадцатеричном коде, рассчитывал собственные смещения перехода, сам выполнял преобразования ASCII и вводил свои коды в отладчик, который сохранял образ памяти на жесткий диск.
Точно так же Гэри не доверял операционным системам.
Он написал свое для устройства, с которым работал - все процедуры низкоуровневого доступа к жесткому диску и монитору, все математические библиотеки, все в шестнадцатеричных кодах.
Первое, что я сделал, это написал дизассемблер: теперь у меня был ассемблер языка Гэри, с которым я мог работать.
Гэри продолжал писать в шестнадцатеричных кодах, я дизассемблировал его код и работал с ним.
Как ни странно, мы с Гэри хорошо сработались, и он не возражал против моих сокращений.
Я даже считал его другом – но не удивился и не расстроился, когда два года спустя его уволили.
Роджер Фанат рефакторинга Мы с Роджером очень разные: он левша и художник, и я уверен, что его яйца крутятся не так, как мои.
Он замечал вещи, которые я упускал, но вещей, которые были для меня очевидными, он вообще не понимал.
С годами он привык работать в одиночку, но однажды ему поручили возглавить бригаду из шести человек, включая Иона Некомпетентного.
Как обычно, Ион провалил свою задачу, потратив на нее два месяца; после того как его перевели в другой отдел, я за два дня переписал его код. После этого код попал в руки Роджера, который решил, что код недостаточно эффективен.
Надо отметить, что ни скорость выполнения, ни используемый объем памяти не имели решающего значения для моей задачи — но для Роджера это было не важно.
Мой исходный код был элегантным, легко читаемым и простым в отладке.
После рефакторинга он приобрел множество бит-хаков и других низкоуровневых оптимизаций, нулевую читабельность и массу ошибок.
Роджер также потратил неделю на рефакторинг моего кода и еще неделю на поиск и исправление ошибок, хотя у него было собственное отставание.
Тем временем остальные знакомились с кодом Роджера.
Это оказалось пустой тратой времени.
Роджер постоянно рефакторил и переписывал свой код — потому что он придумал лучший способ его написания или просто лучшее имя для переменной.
Это сводило нас с ума.
Когда проект опоздал примерно на месяц, президент компании потребовал демо-версию.
Мы постарались и собрали версию, работающую в ручном режиме.
На вопрос президента о сроках введения автоматического режима Роджер ответил: «О, несколько недель».
О чем он думал? Мы предполагали, что это займет не менее трех месяцев; Фактически, до завершения проекта прошло шесть месяцев.
Правда, в уже представленной рабочей версии были обнаружены ошибки, клиент остался недоволен, и Роджер получил еще полгода на доведение проекта до конца.
Я? Я сбежал из этого отдела как можно скорее.
Я прошу прощения у всех людей, которых я проигнорировал в этой статье.
Алан Сгоревший, Майк-космонавт-архитектор, Карл Аутист и еще множество безымянных людей - бездельников, людей, которые включают громкую связь, когда дверь открыта, людей-подкаблучников, которые разговаривают со своей женой хотя бы раз в час, люди, переживающие развод или больные родственники.
Я их всех понимаю, но просто не могу работать с ними изо дня в день.
Комментарий переводчика.
Эта статья меня заинтересовала, потому что мне было трудно решить, согласен ли я с автором.
С одной стороны, очень тяжело работать с людьми, с которыми нельзя обсудить свои идеи, которые вечно не справляются с заданиями или лезут в ваш код без вашего одобрения, не говоря уже о неподражаемом Гэри :-) С другой стороны, заметки автора датируются 80-ми годами.
В начале развития ИТ-индустрии каждый программист был гением и энтузиастом своего дела, а команда представляла собой именно команду единомышленников, которые не раздражались друг на друга по пустякам, если работа шла ну и вынуждены были привыкать друг к другу, потому что альтернативы не было.
Сейчас ИТ-индустрия растет и взрослеет, а состав работающих в ней людей становится более средним.
Программисты перестали быть яркими личностями и творческими бунтовщиками, став просто людьми, выбравшими этот вид деятельности — играть в игры и жить не только работой.
Гении будут продолжать раздражать других, оставаясь при этом незаменимыми, а остальным из нас следовало бы приложить небольшое усилие, чтобы не раздражать друг друга.
Это было бы здорово, не так ли? Теги: #программирование #история ИТ #биографии компьютерных фанатов #работа в команде #личности
-
Как Исправить Ошибки Компьютера
19 Oct, 24 -
Реконструкция Автомата «Понг»
19 Oct, 24