Мифический человеко-месяц, или Как создаются программные системы - [4]

Шрифт
Интервал

Во-первых, это просто радость, получаемая при создании чего-либо своими руками. Как ребенок радуется, делая куличики из песка, так и взрослый получает удовольствие, создавая какие-либо вещи, особенно если сам их и придумал. Я думаю, что этот восторг — отражение восторга Господа, творящего мир, восторга, проявляющегося в индивидуальности и новизне каждого листочка и каждой снежинки.

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

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

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

Наконец, наслаждение доставляет работа со столь податливым материалом. Программист, подобно поэту, работает почти непосредственно с чистой мыслью. Он строит свои замки в воздухе и из воздуха, творя силой воображения. Трудно найти другой материал, используемый в творчестве, который столь же гибок, прост для шлифовки или переработки и доступен для воплощения грандиозных замыслов. (Как мы позднее увидим, такая податливость таит свои проблемы.)

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

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

Печали профессии

Не все, однако, в радость, и если предвидеть присущие этому ремеслу огорчения, то они легче переносятся.

Во-первых, необходима безошибочная точность действий. В этом отношении компьютер также напоминает волшебство. Один неверный знак, одна пауза в заклинании, и чудо не состоялось. Человеку несвойственно совершенство, и оно является необходимым лишь в немногих сферах его деятельности. Мне кажется, что при освоении программирования труднее всего привыкнуть к требованию совершенства.[1]

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

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

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

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

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

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


Рекомендуем почитать
Свод знаний по управлению бизнес-процессами: BPM CBOK 3.0

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


Голая статистика. Самая интересная книга о самой скучной науке

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


Ловушка времени. Классическое пособие по тайм-менеджменту

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


Канбан и «точно вовремя» на Toyota. Менеджмент начинается на рабочем месте

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


Что не убило компанию LEGO, а сделало ее сильнее. Кирпичик за кирпичиком

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


Письма по-английски на все случаи жизни

Пособие представляет собой собрание образцов писем на английском языке, затрагивающих самые разнообразные стороны повседневной жизни. Это дружеские и деловые письма, письма — приглашения в гости и письма-благодарности, письма-извинения и письма-просьбы. Книга знакомит с этикетом написания письма на английском языке, некоторыми правилами английской пунктуации и орфо­графии, а также содержит справочные материалы различного рода, необходимые при написании писем. Пособие рассчитано на широкий круг лиц, владеющих англий­ским языком в той или иной степени и стремящихся поддерживать письменные контакты с представителями англоязычных стран. (Книга полностью на русском языке, все образцы писем на двух языках.)