30 Лет Программирования В Лицах

Статья без начала, в которой автор рассказывает о невыносимых типах людей, с которыми он работал последние 30 лет, с эпилогом от переводчика Я закончил колледж 30 лет назад. Моей первой работой была разработка испытательного оборудования для Унивак .

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

его работа.

Однажды я в общих чертах рассказал о проекте, который планировал реализовать.

Грег внимательно выслушал и сказал то, что говорил всегда: ничего.

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

Я спросил об этом Грега, и он сказал, что для него это очевидно с первого взгляда.

Знаешь, он мне ничего не сказал! Если бы я был его начальником, я бы его уволил.

В 1984 году я ушел из команды Univac в компанию, которая занималась автоматизацией складов.

Это была лучшая работа в моей карьере, кроме.

Ион Некомпетентный Ион был самопровозглашенным экспертом в области последовательной связи.

Он отвечал за две части проекта: низкоуровневую передачу данных в определенном устройстве и симулятор этого устройства.

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

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

Наконец мое терпение кончилось.

Я посмотрел на код Иона и почувствовал тошноту: это был самый дерьмовый код на свете.

Я полностью переписал его за три дня.

После этого я переписал низкоуровневый код в самом устройстве; мой код все еще работает там сегодня.

Я пошел к руководству и сказал, что Ион не умеет программировать.

Совсем.

Через год мне поступило предложение, от которого я не смог отказаться, и я ушел из этой компании.

Еще через три года я вернулся, а Ион все еще был там.

Мне удалось избежать прямого сотрудничества с Ионом в течение следующих десяти лет, но настал день, когда я не смог этого сделать.

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

Я переписал его код заново, как только он переключился на другой проект. Гэри Здесь не придумали Скорее всего, вы работали с Грегом или Джоном, но держу пари, что вы никогда не встречали Гэри! Итак, в 1985 году я устроился в небольшую компанию, занимавшуюся контролем времени отклика каналов связи.

Я понял, что у меня проблемы, когда выяснилось, что моя работа — учиться у Гэри и наводить порядок.

«Код» Гэри был чем-то особенным: списки программ представляли собой серии шестнадцатеричных чисел, написанных от руки и иногда перемежающихся односложными комментариями.

Один листок бумаги я оставил себе на память.

Я спросил Гэри, что происходит и почему.

Оказалось, что однажды Гэри нашел ошибку в ассемблере и с тех пор ему не доверяет. Он запоминал коды операций для процессора 6809, писал свои программы в шестнадцатеричном коде, рассчитывал собственные смещения перехода, сам выполнял преобразования ASCII и вводил свои коды в отладчик, который сохранял образ памяти на жесткий диск.

Точно так же Гэри не доверял операционным системам.

Он написал свое для устройства, с которым работал - все процедуры низкоуровневого доступа к жесткому диску и монитору, все математические библиотеки, все в шестнадцатеричных кодах.

Первое, что я сделал, это написал дизассемблер: теперь у меня был ассемблер языка Гэри, с которым я мог работать.

Гэри продолжал писать в шестнадцатеричных кодах, я дизассемблировал его код и работал с ним.

Как ни странно, мы с Гэри хорошо сработались, и он не возражал против моих сокращений.

Я даже считал его другом – но не удивился и не расстроился, когда два года спустя его уволили.

Роджер Фанат рефакторинга Мы с Роджером очень разные: он левша и художник, и я уверен, что его яйца крутятся не так, как мои.

Он замечал вещи, которые я упускал, но вещей, которые были для меня очевидными, он вообще не понимал.

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

Как обычно, Ион провалил свою задачу, потратив на нее два месяца; после того как его перевели в другой отдел, я за два дня переписал его код. После этого код попал в руки Роджера, который решил, что код недостаточно эффективен.

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

Мой исходный код был элегантным, легко читаемым и простым в отладке.

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

Роджер также потратил неделю на рефакторинг моего кода и еще неделю на поиск и исправление ошибок, хотя у него было собственное отставание.

Тем временем остальные знакомились с кодом Роджера.

Это оказалось пустой тратой времени.

Роджер постоянно рефакторил и переписывал свой код — потому что он придумал лучший способ его написания или просто лучшее имя для переменной.

Это сводило нас с ума.

Когда проект опоздал примерно на месяц, президент компании потребовал демо-версию.

Мы постарались и собрали версию, работающую в ручном режиме.

На вопрос президента о сроках введения автоматического режима Роджер ответил: «О, несколько недель».

О чем он думал? Мы предполагали, что это займет не менее трех месяцев; Фактически, до завершения проекта прошло шесть месяцев.

Правда, в уже представленной рабочей версии были обнаружены ошибки, клиент остался недоволен, и Роджер получил еще полгода на доведение проекта до конца.

Я? Я сбежал из этого отдела как можно скорее.

Я прошу прощения у всех людей, которых я проигнорировал в этой статье.

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

Я их всех понимаю, но просто не могу работать с ними изо дня в день.

Комментарий переводчика.

Эта статья меня заинтересовала, потому что мне было трудно решить, согласен ли я с автором.

С одной стороны, очень тяжело работать с людьми, с которыми нельзя обсудить свои идеи, которые вечно не справляются с заданиями или лезут в ваш код без вашего одобрения, не говоря уже о неподражаемом Гэри :-) С другой стороны, заметки автора датируются 80-ми годами.

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

Сейчас ИТ-индустрия растет и взрослеет, а состав работающих в ней людей становится более средним.

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

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

Это было бы здорово, не так ли? Теги: #программирование #история ИТ #биографии компьютерных фанатов #работа в команде #личности

Вместе с данным постом часто просматривают: