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

Фицпатрик: Да, он стал сайтом FreeVote после того, как мой компьютер перестал справляться с нагрузкой. В то время реклама на баннерах была уже весьма популярна (или стремительно становилась популярной), и я получал все больше и больше денег, заключал все более выгодные контракты с более высокой платой за щелчок. Я дошел до 27 центов за щелчок на одном баннере, а это и по сегодняшним меркам до нелепости много. Так что я получал до 25-27 тысяч в месяц за дурацкие щелчки на баннерах.

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

Сейбел: Когда вы начали работать с UNIX, это сильно изменило ваш подход к программированию?

Фицпатрик: Да. Но не скажу, что я был от него без ума. Я не мог понять, что происходит в Windows. Видели, наверное, Windows API: по двадцать параметров на каждую функцию, и все это флаги, половина из которых равны нулю. Совершенно непонятно, что происходит. И нельзя заглянуть внутрь, если что-то волшебным образом не работает.

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

Фицпатрик: Я прошел через множество стилей: сначала объектно-ориентированный, потом функциональный, а затем непонятная смесь того и другого. Вот почему я люблю Perl. С его уродливым синтаксисом, с накопившимся за много лет багажом и изъянами, он никогда не парит мне мозги, задавая стандарт оформления кода. Любой стиль, который вам нравится, хорош. Можно сделать свой код красивым и последовательным, но нет никакого стандарта, определяемого самим языком. Только после перехода в Google я перестал много писать на Perl.

После работы над Живым Журналом я много занимался тестированием. Особенно когда начал работать с другими людьми. Однажды я осознал, что написанный код никуда не исчезает, и мне придется сопровождать его до конца своих дней. Я получаю комментарии к постам в бло-ге, написанным мною 10 лет назад. «Привет, я нашел этот код и нашел в нем ошибку». И мне внезапно приходится исправлять этот код.

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

Сейбел: Когда вы начали работать с другими людьми?

Фицпатрик: Где-то под конец учебы в колледже. Тогда я стал нанимать других, особенно в Портленде, куда вернулся после колледжа.

Первые работники занимались только технической поддержкой, то есть никакого кода не писали. Затем понемногу я начал брать на работу и программистов. Первым был мой приятель по Сети Брэд Уиттакер: у каждого из нас был сайт с названием вроде BradleyLand или Bradley World, так что мы нашли сайты друг друга. Я опережал его в области веб-программирования на год или два, и он спрашивал меня: «Слушай, как ты это сделал?», — шла ли речь об HTML, фреймах, CGI или Perl. Потом мне начали предлагать проекты, и те, что мне не нравились, я передавал ему. И вот однажды нам достался такой крупный проект, что ни один из нас самостоятельно его бы не потянул, и мы сказали заказчику: «Для этого проекта нужны двое». И он отправил нас в Пенсильванию. В Питтсбург? Я вообще не знаю восточное побережье, ведь сам я с западного. Или в Филадельфию? В общем, туда, где любят чизстейки.

Сейбел: Это Филадельфия.

Фицпатрик: Да. Мы там встретились впервые, в каком-то дешевом отеле, но у меня было такое чувство, будто я его уже знаю. Он был очень общительный. Пошел в туалет в моем номере и даже не закрыл дверь, хотя я стоял рядом. Я сказал что-то вроде: «Отлично, будь как дома».

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

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

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

Адмирал Советского Союза
Адмирал Советского Союза

Николай Герасимович Кузнецов – адмирал Флота Советского Союза, один из тех, кому мы обязаны победой в Великой Отечественной войне. В 1939 г., по личному указанию Сталина, 34-летний Кузнецов был назначен народным комиссаром ВМФ СССР. Во время войны он входил в Ставку Верховного Главнокомандования, оперативно и энергично руководил флотом. За свои выдающиеся заслуги Н.Г. Кузнецов получил высшее воинское звание на флоте и стал Героем Советского Союза.В своей книге Н.Г. Кузнецов рассказывает о своем боевом пути начиная от Гражданской войны в Испании до окончательного разгрома гитлеровской Германии и поражения милитаристской Японии. Оборона Ханко, Либавы, Таллина, Одессы, Севастополя, Москвы, Ленинграда, Сталинграда, крупнейшие операции флотов на Севере, Балтике и Черном море – все это есть в книге легендарного советского адмирала. Кроме того, он вспоминает о своих встречах с высшими государственными, партийными и военными руководителями СССР, рассказывает о методах и стиле работы И.В. Сталина, Г.К. Жукова и многих других известных деятелей своего времени.Воспоминания впервые выходят в полном виде, ранее они никогда не издавались под одной обложкой.

Николай Герасимович Кузнецов

Биографии и Мемуары
100 великих гениев
100 великих гениев

Существует много определений гениальности. Например, Ньютон полагал, что гениальность – это терпение мысли, сосредоточенной в известном направлении. Гёте считал, что отличительная черта гениальности – умение духа распознать, что ему на пользу. Кант говорил, что гениальность – это талант изобретения того, чему нельзя научиться. То есть гению дано открыть нечто неведомое. Автор книги Р.К. Баландин попытался дать свое определение гениальности и составить свой рассказ о наиболее прославленных гениях человечества.Принцип классификации в книге простой – персоналии располагаются по роду занятий (особо выделены универсальные гении). Автор рассматривает достижения великих созидателей, прежде всего, в сфере религии, философии, искусства, литературы и науки, то есть в тех областях духа, где наиболее полно проявились их творческие способности. Раздел «Неведомый гений» призван показать, как много замечательных творцов остаются безымянными и как мало нам известно о них.

Рудольф Константинович Баландин

Биографии и Мемуары
100 великих интриг
100 великих интриг

Нередко политические интриги становятся главными двигателями истории. Заговоры, покушения, провокации, аресты, казни, бунты и военные перевороты – все эти события могут составлять только часть одной, хитро спланированной, интриги, начинавшейся с короткой записки, вовремя произнесенной фразы или многозначительного молчания во время важной беседы царствующих особ и закончившейся грандиозным сломом целой эпохи.Суд над Сократом, заговор Катилины, Цезарь и Клеопатра, интриги Мессалины, мрачная слава Старца Горы, заговор Пацци, Варфоломеевская ночь, убийство Валленштейна, таинственная смерть Людвига Баварского, загадки Нюрнбергского процесса… Об этом и многом другом рассказывает очередная книга серии.

Виктор Николаевич Еремин

Биографии и Мемуары / История / Энциклопедии / Образование и наука / Словари и Энциклопедии