Читаем Кодеры за работой полностью

Завински: Lucid разваливалась. Людей то и дело отправляли в неоплачиваемый отпуск. Я разослал письма своим знакомым: «Привет, кажется, мне скоро будет нужна новая работа». Одним из них был Марк Андрессен. Он сказал: «Забавно, что ты об этом упомянул, ведь на прошлой неделе мы как раз создали компанию». Так я нашел работу.

Сейбел: Итак, вы ушли в Netscape. Над чем вы работали?

Завински: Я практически сразу начал работать над версией браузера для UNIX. К тому моменту было написано совсем немного кода — результат нескольких дней работы. Немногим больше было сделано для версий под Windows и Мак. Модель системы состояла из крупного куска бизнес-логики, независимой от платформы, и небольшой части кода, отвечающего за представление для каждой платформы.

Сейбел:

Это был полностью новый код?

Завински: Полностью новый. Большинство основателей компании Netscape были разработчиками браузера NCSA/Mosaic. Они разработали разные версии, которые по сути представляли собой три разные программы. И все шестеро, делавших это, оказались в Netscape. Они не использовали повторно старый код, но уже решали подобную задачу ранее.

Сейбел: То есть они просто начали писать код с чистого листа?

Завински: Именно так. Я никогда не видел код браузера Mosaic (кстати, я до сих пор его не видел). Как раз в это время у нас были судебные разбирательства: университет утверждал, что мы использовали их код, но мы, кажется, как-то уладили этот вопрос. Ходили слухи, будто мы действительно использовали их код, но мы этого не делали.

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

Сейбел: Но это похоже на классический случай синдрома второй системы.

Завински: Вот именно.

Сейбел: Так как же всем вам удалось его избежать?

Завински:

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

Сейбел: Как вам удалось справиться со сроками?

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

Сейбел: Учитывая, что вначале была определена дата, вам нужно было жертвовать либо возможностями системы, либо качеством. Как вы поступили?

Завински:

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

Сейбел: Шесть-семь человек — это вся команда разработчиков Netscape или только версии для UNIX?

Завински: Это была вся команда разработки клиентской части. Были еще ребята, отвечавшие за серверную часть, которые в основном занимались разработкой собственной версии Apache. Мы мало общались с ними, так как были заняты. Мы завтракали вместе, но не более того. Мы выяснили, что должно быть в системе, и распределили работу так, чтобы над каждой частью проекта работало не более двух человек. Я занимался UNIX-частью, а Лу Монтулли делал основную работу по сетевой составляющей серверной части. Предварительная версия команды была следующей: Эрик Бина занимался общей компоновкой системы, Джон Миттельхаузер и Крис Хаук занимались пользовательским интерфейсом под Windows, Алекс Тотич и Марк Ланетт — пользовательским интерфейсом под Мак. Потом эти команды слегка увеличились. Мы совещались, потом расходились по своим отсекам и стучали по клавиатуре 16 часов в сутки, пытаясь сделать так, чтобы хоть что-то работало.

Обстановка была отличная, мне правда нравилось. Поскольку каждый считал себя правым, мы постоянно спорили, но быстро понимали друг друга. Кто-нибудь заглядывает в твой отсек и говорит: «Какого хрена ты сохранил этот код? Так нельзя делать, это же дерьмо собачье. Ты идиот». Отвечаешь ему: «Да пошел ты!», смотришь на свой код, исправляешь ошибки и сохраняешь его. Мы были весьма резкими парнями, но зато не тратили лишнее время, потому что никто ни с кем не церемонился, не объяснял подолгу, почему считает что-то неправильным. Можно было просто сказать: «Да это куча дерьма, я не буду это использовать». И вопрос тут же решался. Да, атмосфера была напряженная, но мы сделали все довольно быстро.

Сейбел: То есть для быстрого создания программы требовалась многочасовая интенсивная работа?

Перейти на страницу:

Все книги серии Профессионально

Кодеры за работой
Кодеры за работой

Программисты — люди не очень публичные, многие работают поодиночке или в небольших группах. Причем самая важная и интересная часть их работы никому не видна, потому что происходит у них в голове. Питер Сейбел, писатель-программист, снимает покров таинственности с этой профессии. Он взял интервью у 15 величайших профессионалов: Кена Томпсона, создателя UNIX, Верни Козелла, участника первой реализации сети ARPANET, Дональда Кнута, Гая Стила, Саймона Пейтон-Джонса, Питера Норвига, Джошуа Блоха, Брэда Фицпатрика, создателя Живого Журнала, и других. Все они «подсели» на программирование еще в школе. Тогда, на заре зарождения отрасли, лишь в немногих учебных заведениях читались курсы по компьютерным наукам. Поэтому будущим гуру приходилось покорять профессиональные вершины самостоятельно, но всех их отличает творческое горение и полная самоотдача любимому делу.Вы узнаете, что они думают о будущем программирования и как сами научились программировать, как, по их мнению, нужно проектировать ПО, как выбор языка программирования влияет на продуктивность и можно ли облегчить выявление труднонаходимых ошибок.

Питер Сейбел

Биографии и Мемуары / Программирование / Прочая компьютерная литература / Документальное / Книги по IT
Человеческий фактор
Человеческий фактор

Немногие книги о компьютерах оказали такое заметное влияние на управление разработкой программного обеспечения, как «Человеческий фактор». Уникальное озарение этой книги, долгие годы сохранявшей свое положение в списке бестселлеров: самые сложные проблемы разработки ПО носят не технологический, а социальный характер. Эти человеческие проблемы решать не просто, однако, решив их, вы увеличите шансы на успех до верхнего предела.В третьем издании появилось шесть новых глав и внесены многочисленные правки в основной текст, так что теперь книга лучше соответствует современным средам разработки и современным проблемам. В частности, обсуждаются патологии лидерства, которые раньше за патологии не считались, эволюционирующая культура собраний, а еще растущее понимание того, что некоторые наши инструменты служат скорее якорями, а не двигателями. Каждый, кому необходимо управлять проектом по разработке ПО или целой организацией такого рода, найдет на страницах этой книги множество ценных советов.

Тимоти Листер , Том ДеМарко

Деловая литература
97 этюдов для программистов. Опыт ведущих экспертов
97 этюдов для программистов. Опыт ведущих экспертов

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

Пит Гудлиф

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

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

Достоевский
Достоевский

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

Альфред Адлер , Леонид Петрович Гроссман , Людмила Ивановна Сараскина , Юлий Исаевич Айхенвальд , Юрий Иванович Селезнёв , Юрий Михайлович Агеев

Биографии и Мемуары / Критика / Литературоведение / Психология и психотерапия / Проза / Документальное