Программисты и люди
Как правило, программисты не любят работать с людьми. Они
находят, что межличностные отношения слишком хлопотны и
непредсказуемы. Программисты предпочитают четкое, предсказуемое
поведение компьютеров. Они счастливы, часами просиживая в
комнате, глубоко сосредоточившись на какой-нибудь интересной
задаче.
Ладно, это слишком серьезное обобщение, а из правил существует
множество исключений. Многие программисты успешно работают с
людьми и им нравится это занятие. Однако в среднем по группам
тенденция именно такова, как я изложил. Нас, программистов, радует
умеренная сенсорная недостаточность и глубокое погружение в работу
– своего рода «кокон».
Программисты и работодатели
В 1970-е и 1980-е годы, во время работы в Teradyne, я хорошо
освоил процесс отладки. Мне нравилось это занятие, я бросался на
сложные задачи с пылом и энтузиазмом. Ни одна ошибка не могла
долго прятаться от меня!
Устраняя очередную ошибку, я чувствовал себя победителем! Я
отправлялся к своему боссу Кен Файндеру и с энтузиазмом
рассказывал, какая интересная мне попалась ошибка. Но однажды Кен
в отчаянии воскликнул: «Ошибки не интересны. Их просто нужно
исправлять!»
В этот день я усвоил важный урок. Хорошо с энтузиазмом
относиться к тому, чем вы занимаетесь. Но при этом также стоит
помнить о целях людей, которые вам платят.
Первая
обязанность
профессионального
программиста
–
заботиться об интересах своих работодателей. Это означает, что вы
должны общаться со своими начальниками, бизнес-аналитиками,
тестерами и другими участниками группы, чтобы
глубоко понимать
коммерческие цели проекта. Никто не заставляет вас становиться
экспертом в области бизнеса. Просто
нужно
понимать, зачем вы
пишете свой код и какую пользу он приносит вашей фирме.
Худшее, что может сделать профессиональный программист, – в
блаженном неведении укрыться в технологическом убежище, когда
бизнес горит и рушится вокруг него. Ваша
работа
– удерживать
бизнес на плаву!
Итак, профессиональный программист должен выделить время на
изучение коммерческой стороны дела. Он говорит с пользователями о
программном продукте, с которым они работают. Он общается с
людьми из отдела продаж и маркетинга по поводу возникающих
проблем. Он говорит с начальством, чтобы понять как краткосрочные,
так и долгосрочные цели группы.
Короче говоря, профессиональный программист обращает
внимание на корабль, на котором он плывет.
За всю мою карьеру меня уволили с должности программиста
всего один раз. Это произошло в 1976 году, когда я работал на Outboard
Marine Corp. Я помогал писать систему автоматизации производства,
которая использовала компьютеры IBM System/7 для контроля за
десятками автоматов алюминиевого литья в главном цехе
предприятия.
С технической точки зрения это была интересная и сложная
работа. Архитектура System/7 приводила меня в восторг, а система
автоматизации производства тоже была весьма захватывающей.
У нас была хорошая группа. Руководитель группы Джон был
компетентным и целеустремленным специалистом. Два моих коллеги-
программиста были приятными людьми, готовыми прийти на помощь.
Под наш проект была выделена специальная лаборатория, в которой
мы работали. Наш бизнес-партнер участвовал в работе и находился с
нами в лаборатории. Наш начальник Ральф был компетентным и
ответственным.
Все было замечательно. Проблема была во мне. Я с энтузиазмом
относился к проекту и технологии, но в возрасте 24 лет я не мог
заставить себя думать о бизнесе или внутренней политической
структуре.
Первую ошибку я совершил в первый же день. Я пришел на работу
без галстука. Я надел галстук на собеседование, и я видел, что все
носят галстуки, но не сделал выводов. Итак, в первый день Ральф
подошел ко мне и просто сказал: «Мы здесь носим галстуки».
Не могу описать, насколько меня это бесило. Я ощущал
глубочайшее раздражение. Я носил галстук каждый день и ненавидел
его. Но почему? Ведь я знал, куда я поступаю на работу. Я знал
принятые правила. Почему меня это раздражало? Потому что я был
эгоистичным, самовлюбленным типом.
Я просто не мог приходить на работу вовремя. И мне казалось, что
это не важно. В конце концов, я «хорошо справлялся». И это было
правдой: я действительно очень хорошо справлялся с написанием
своих программ. Бесспорно, я был лучшим программистом в группе. Я
мог писать код быстрее и лучше других. Я быстрее находил и устранял
проблемы. Я знал, что я был ценным специалистом, так что время и
даты для меня значили мало.
Решение о моем увольнении было принято тогда, когда я опоздал
на одну из контрольных точек проекта. По всей видимости, Джон
сказал нам, что в следующий понедельник ему нужна демо-версия
рабочих функций системы. Наверняка я знал об этом, но просто не
обратил внимания.
Система находилась в стадии активной разработки. До реальной
эксплуатации было еще далеко. Не было причин оставлять систему в
рабочем состоянии, когда в лаборатории никого не было. Я последним
уходил с работы в пятницу, и, видимо, я оставил систему в
неработоспособном состоянии. Тот факт, что понедельник был важной
датой, просто не отложился у меня в памяти.
В понедельник я пришел на час позже и увидел, как все мрачно
собрались вокруг нерабочей системы. Джон спросил: «Почему
система не работает сегодня, Боб?» Я ответил: «Не знаю», и сел за
отладку. Я даже тогда не вспомнил о демо-версии, запланированной
на понедельник, но по поведению моих коллег было совершенно ясно,
что произошло что-то нехорошее. Тогда Джон подошел ко мне,
прошептал на ухо: «А если бы пришел Стенберг?» и отошел в
негодовании.
Стенберг был вице-президентом по автоматизации. Сегодня его
должность назвали бы «руководителем технической службы». Вопрос
показался мне бессмысленным. «Ну и что? – подумал я. – Система же
не в эксплуатации, так в чем проблема?»
В этот день я получил первое предупредительное письмо. В нем
мне предлагалось немедленно изменить свое отношение к работе,
иначе «последует немедленное увольнение». Я был в ужасе!
Мне пришлось проанализировать свое поведение и понять, что же
я делал не так. Я поговорил с Джоном и Ральфом с твердым
намерением изменить себя и свой стиль работы.
И я это сделал! Я перестал опаздывать, начал обращать внимание
на внутреннюю политику. Я начал понимать, почему Джон
беспокоился по поводу Стенберга. Я понял, как подвел его, оставив на
понедельник неработоспособную систему.
Но было слишком поздно. Через месяц я получил второе
предупреждение по поводу какой-то тривиальной ошибки. В этот
момент мне следовало понять, что письма были простой
формальностью, а решение об увольнении уже было принято. Но я
твердо решил все исправить и работал еще прилежнее.
Еще через несколько недель мне сообщили об увольнении.
Мне пришлось идти домой к своей беременной 22-летней жене и
рассказывать, что я потерял работу. Мне бы не хотелось, чтобы такое
когда-нибудь повторилось в моей жизни.
Do'stlaringiz bilan baham: |