Чтение онлайн

на главную - закладки

Жанры

Как пасти котов. Наставление для программистов, руководящих другими программистами
Шрифт:

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

130

Такой подход рекомендовал сам Леонардо (см. главу 6).

Следуя

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

Технологические революции

«Мыльные пузыри» в рядах программных продуктов регулярно создают излишний шум. Это явление я бы назвал «интеллектуальным зомбированием». Проекты, о которых шли беспрерывные разговоры, не приведшие, однако, к фактической реализации, весьма многочисленны. Упомяну лишь некоторые несбывшиеся обещания и беспочвенные заявления [131] .

131

Этот список я но большей части позаимствовал у Дэвида Корси (David Coursey) – редактора рубрики Anchor Desk на портале(конкретнее – из статьи, опубликованной им 12 октября 2001 года).

• Подключенный к сети компьютер за 500 долларов избавит мир от Windows.

• MSN уничтожит AOL (не так быстро – AOL нынче владеет Time-Warner).

• Intuit, несмотря на противостояние с Microsoft, удалось создать более удачный продукт – Quicken.

• OS/2 – это DOS лучше «настоящей» DOS и Windows лучше «настоящей» Windows.

• Разработчики настольных прикладных систем дружно перейдут на Java. (Ну это мы еще посмотрим!)

Прецедентов великое множество, и, конечно, здесь они отражены далеко не полностью. Этим своим списком я лишь хочу напомнить о том, что, сталкиваясь с очередным Сенсационным Откровением компьютерной индустрии, стоит быть осторожным. «Технологии нового поколения» – выражение, употребляемое во многих рекламных кампаниях – как правило, действительно дорабатываются лишь с приходом очередного поколения.

Революции в нашей отрасли, бесспорно, случаются. Впрочем, симптомы грядущих изменений, как правило, прослеживаются задолго до окончательного утверждения новых идей и их воздействия на процесс разработки. Вы должны научиться предсказывать тенденции, обещающие заявить о себе через некоторое время. В «Искусстве войны» Сун Цзу (Sun Tzu) писал:

«Не разбивайте лагерь на сложной местности. Объединяйтесь с союзниками на пересечении крупных путей. Не задерживайтесь на изолированных позициях. Находясь в окружении противников, старайтесь обмануть их. Деритесь только при крайней необходимости» [132] .

132

Цитирую по: Sun Tzu, The Art of War. Ed. James Clavell (New York: Dell Publishing, 1983), p. 37.

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

• Не разбивайте лагерь. Знания ваших подчиненных программистов не должны ограничиваться единственным языком и одной инфраструктурной реализацией архитектурных решений коммерческих задач.

• Объединяйте усилия. См. предыдущий пункт. Обращайтесь к зарекомендовавшим себя решениям от разных поставщиков – чем больше их будет, тем лучше. Время от времени привлекайте консультантов – пусть делятся с сотрудниками новыми знаниями. Стимулируйте процесс обучения за счет построения силами сотрудников компактных макетов, нацеленных на проверку применимости новых методик к разработке

более крупных проектов.

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

Как отслеживать новейшие тенденции? Для этого существует литература, которую нужно читать в больших количествах, и Интернет, пользоваться которым нужно с умом. Выберите несколько надежных источников информации и обращайтесь к ним, как только вам потребуется что-то узнать [133] . А самое главное – путем плотного взаимодействия с начальником и подчиненными выработайте комплексную стратегическую программу, то есть руководство к действию в постоянно меняющемся мире, в котором мы, разработчики, все пребываем.

133

Как мне кажется, для начала подойдет сайт Tech Republic. На нем публикуются вполне добротные тематические обзоры.

Экономические несчастья

Слова «экономические» и «несчастья» часто употребляются вместе. Не так уж часто можно услышать об экономических радостях, так? Из последних событий в контексте экономических несчастий в памяти всплывают лопнувшие пузыри интернет-компаний. Как бы там ни было, риск – это неотъемлемый элемент будничной деятельности специалистов в области разработки программных средств, и учиться на неудачах мы должны не менее тщательно, чем мы учимся на успешных прецедентах. Крах интернет-компаний, конечно, можно свалить на инвестиционных банкиров, но, пожалуй, для нас как для профессиональных разработчиков такая позиция представляется не слишком продуктивной. Спору нет – жадность, алчность и все прочие присущие капитализму пороки сыграли в крушении этих компаний не последнюю роль. Тем не менее на первый план во время экономического несчастья выходят люди, такие как вы и я, которые теряют работу, испытывая попутно эмоциональные и интеллектуальные страдания. В этом разделе я постараюсь объяснить, какие конструктивные действия вы можете предпринять, чтобы предотвратить наступление кризиса.

Пожалуй, самый важный урок, которому нас учат многочисленные кризисы, состоит в следующем: если компания перестает приносить доход, значит, вероятно, конец близок [134] . Таким образом, лучший способ предотвратить наступление кризиса в компании – это следить за издержками разработки и стремиться к рентабельности. Признаю: совет не слишком оригинален – это все равно что сказать: «Если хотите заработать на Уолл-стрит, покупайте задешево, а продавайте втридорога». Совет на самом деле правильный, но лишь при условии верно выбранного времени. Таким образом, очевидно, что во главе угла находится именно время.

134

Интернет-компании славились (и славятся до сих пор) бездоходностью. Amazon.com вот уже несколько лет приносит прибыль, и, вероятно, эта компания – скорее исключение из общего правила; впрочем, время покажет. Лично мне будет жаль, если они обанкротятся. В конце концов, неужели многих сотен долларов, которые я перечислил им за годы нашего знакомства, недостаточно для выживания?!

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

• Вы – не только технарь, но и бизнесмен. О стоимости, таким образом, нужно думать не меньше, чем о коде.

• Составьте представление о реальных затратах на содержание вашего отдела. Ежемесячно собирайте данные о стоимости технических средств, оборудования, услуг, инструментов и заработной плате персонала.

Поделиться:
Популярные книги

Вкус ледяного поцелуя

Полякова Татьяна Викторовна
2. Ольга Рязанцева
Детективы:
криминальные детективы
9.08
рейтинг книги
Вкус ледяного поцелуя

Проблема майора Багирова

Майер Кристина
1. Спецназ
Любовные романы:
современные любовные романы
6.60
рейтинг книги
Проблема майора Багирова

Прометей: владыка моря

Рави Ивар
5. Прометей
Фантастика:
фэнтези
5.97
рейтинг книги
Прометей: владыка моря

Попаданка в академии драконов 4

Свадьбина Любовь
4. Попаданка в академии драконов
Любовные романы:
любовно-фантастические романы
7.47
рейтинг книги
Попаданка в академии драконов 4

(Не)зачёт, Дарья Сергеевна!

Рам Янка
8. Самбисты
Любовные романы:
современные любовные романы
5.00
рейтинг книги
(Не)зачёт, Дарья Сергеевна!

Запасная дочь

Зика Натаэль
Фантастика:
фэнтези
6.40
рейтинг книги
Запасная дочь

Дракон с подарком

Суббота Светлана
3. Королевская академия Драко
Любовные романы:
любовно-фантастические романы
6.62
рейтинг книги
Дракон с подарком

Отвергнутая невеста генерала драконов

Лунёва Мария
5. Генералы драконов
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Отвергнутая невеста генерала драконов

Случайная жена для лорда Дракона

Волконская Оксана
Фантастика:
юмористическая фантастика
попаданцы
5.00
рейтинг книги
Случайная жена для лорда Дракона

Тройняшки не по плану. Идеальный генофонд

Лесневская Вероника
Роковые подмены
Любовные романы:
современные любовные романы
6.80
рейтинг книги
Тройняшки не по плану. Идеальный генофонд

Идеальный мир для Лекаря 28

Сапфир Олег
28. Лекарь
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 28

Лейтенант космического флота

Борчанинов Геннадий
1. Звезды на погонах
Фантастика:
боевая фантастика
космическая фантастика
космоопера
рпг
фэнтези
фантастика: прочее
5.00
рейтинг книги
Лейтенант космического флота

Гарем на шагоходе. Том 5

Гремлинов Гриша
5. Волк и его волчицы
Фантастика:
боевая фантастика
фэнтези
5.00
рейтинг книги
Гарем на шагоходе. Том 5

Матабар III

Клеванский Кирилл Сергеевич
3. Матабар
Фантастика:
фэнтези
5.00
рейтинг книги
Матабар III