Читаем Идеальный программист. Как стать профессионалом разработки ПО полностью

В этой главе описаны лишь отдельные примеры методов, используемых профессиональными разработчиками для создания практических оценок. Список не полон, а представленные методы не обязательно являются лучшими. Это всего лишь некоторые методы, которые хорошо сработали в моем случае.

<p>11</p><p>Под давлением</p>

В книгах нередко пишут о феномене «внетелесных переживаний»: представьте, что вы наблюдаете за операционным столом, на котором хирург делает вам операцию на сердце. Хирург пытается спасти вам жизнь, но время ограничено – операция должна быть сделана за короткое время.

Какого поведения вы ждете от врача? Вы предпочитаете, чтобы он был спокойным и собранным? Чтобы он отдавал ясные, четкие приказы ассистентам? Чтобы он помнил все, чему его учили, и придерживался действующих норм?

А если врач потеет и ругается? Швыряет инструменты? Обвиняет руководство в нереалистичных требованиях и постоянно жалуется на нехватку времени? Как он должен вести себя – как профессионал или как типичный разработчик?

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

В 1988 году я работал в Clear Communications. Это была начинающая фирма, которая так никогда и не «поднялась». Мы прошли через первый цикл финансирования, потом второй и третий.

Исходная идея выглядела неплохо, но проектирование так и осталось на бумаге. Сначала продукт состоял из программных и аппаратных компонентов. Затем он стал чисто программным. Программная платформа изменилась – с PC мы перешли на Sparc. Заказчики сменили требования: с высокопроизводительных рабочих станций они переключились на низкопроизводительные.

В конечном итоге изменилась даже исходная концепция продукта – компания пыталась найти возможности получения прибыли. Не думаю, что за четыре года, которые я провел в ней, она получила хотя бы цент.

Не стоит и говорить, что мы, разработчики, находились под значительным давлением. В офисе за терминалами было проведено немало долгих ночей и еще более долгих выходных. На C писались функции по 3000 строк. Шли жаркие споры с криками и переходами на личности. Было все: интриги и саботаж, удары кулаком о стену, гневное швыряние ручек в стену, карикатуры на неприятных коллег и бесконечный запас гнева и стресса.

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

Работая по 80 часов в неделю, можно было стать героем. Слепив на скорую руку демо-версию для заказчика, можно было стать героем. Если вы прилагали достаточно усилий, вас могли повысить. А если нет – вас увольняли. Это была начинающая фирма и здесь полагалось выкладываться «на полную». И в 1988 году, с моим 20-летним опытом, я «купился» на это.

Я был начальником отдела разработки, и это я говорил работавшим на меня программистам, что работать нужно еще больше и быстрее. Это я был одним из тех парней с 80-часовой неделей, я писал функции C по 3000 строк в 2 часа ночи, пока мои дети спали дома. Это я бросал ручку в стену и кричал в гневе. Это я увольнял людей, если они не справлялись. Это было ужасно.

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

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

В этот день все изменилось. Я прекратил безумные сверхурочные, прекратил работу в условиях постоянного стресса. Я перестал бросать ручки в стену и писать функции C по 3000 строк. Я решил, что я буду получать удовольствие от своей работы, выполняя ее хорошо, а не занимаясь глупостями.

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

<p>Как избежать давления</p>

Лучший способ сохранять спокойствие под давлением – избегать ситуаций, создающих давление. Возможно, это не решит проблему полностью, но по крайней мере сведет к минимуму и сократит продолжительность напряженных периодов.

<p>Обязательства</p>
Перейти на страницу:

Все книги серии Библиотека программиста

Программист-фанатик
Программист-фанатик

В этой книге вы не найдете описания конкретных технологий, алгоритмов и языков программирования — ценность ее не в этом. Она представляет собой сборник практических советов и рекомендаций, касающихся ситуаций, с которыми порой сталкивается любой разработчик: отсутствие мотивации, выбор приоритетов, психология программирования, отношения с руководством и коллегами и многие другие. Подобные знания обычно приходят лишь в результате многолетнего опыта реальной работы. По большому счету перед вами — ярко и увлекательно написанное руководство, которое поможет быстро сделать карьеру в индустрии разработки ПО любому, кто поставил себе такую цель. Конечно, опытные программисты могут найти некоторые идеи автора достаточно очевидными, но и для таких найдутся темы, которые позволят пересмотреть устоявшиеся взгляды и выйти на новый уровень мастерства. Для тех же, кто только в самом начале своего пути как разработчика, чтение данной книги, несомненно, откроет широчайшие перспективы. Издательство выражает благодарность Шувалову А. В. и Курышеву А. И. за помощь в работе над книгой.

Чед Фаулер

Программирование, программы, базы данных / Программирование / Книги по IT

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных