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

Фицпатрик: Да, когда я попал в компанию Six Apart. Это был мой первый подобный опыт, и произошло это три с половиной года назад. Мы начали заниматься переносом данных по просьбе одного из клиентов. Нужно было добавить поддержку этого в код, протестировать все и отправить заказчику. Мне было ужасно не по себе. Мне и сейчас не по себе, потому что я постоянно забываю о поправке на отвлечения и о том, что не могу избавиться от поддержки десятка уже существующих проектов.

Думаю, постепенно я научился лучше оценивать время, но, слава богу, меня не просят об этом слишком часто. И сейчас, когда на носу дедлайн, я думаю: «Ура! Дедлайн!», — меня это так заводит, что адреналин так и хлещет, и я работаю и заканчиваю эту чертову работу. На самом деле, в Google дедлайнов нет. А бывает примерно так: «Как насчет того, чтобы это запустить? Есть такое ощущение?» Реальные сроки сдачи проектов ставятся редко и главным образом в такой форме: «Хорошо бы запустить это к такому-то числу», — и все прилагают для этого максимум усилий. Но если не заканчиваешь что-то в срок, то подводишь других. Большинство же проектов, над которыми я работаю, реализуются по принципу «Когда сделаем, тогда и сделаем».

Сейбел: Наняв программистов для Живого Журнала, вы руководили ими?

Фицпатрик: Я предполагал, что никому из них руководство не нужно, что все они будут работать самостоятельно, как я. Это был отличный опыт в управлении персоналом. Я понял, что есть те, кто делает только то, что поручено, без какого-либо стремления к совершенству. Они работают по принципу: «Сделано. Следующее задание?» — или ничего не говорят, а просто шарят по Интернету. Так что у меня было несколько таких неприятных случаев. Но, кажется, через год-другой я понял, что все люди разные.

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

Сейбел: Вы нашли способ извлекать пользу из работы таких людей?

Фицпатрик: С одним парнем я испробовал с десяток различных способов. Он был лет на десять меня старше, точно не знаю, я никогда его об этом не спрашивал — боялся, что задавать подобные вопросы незаконно. Но у меня было ощущение, что ему не хочется работать на какого-то паршивца. Мне тогда было 22. С этим парнем мы так и не сработались, и это был единственный человек, которого я уволил.

К остальным я в конце концов нашел подход и выяснил, что их мотивирует. У одного отлично получалось делать «заплатки» и создавать прототипы. Он писал на Perl как сисадмин. Он мог соединять различные вещи, писать скрипты командной оболочки, писать действительно ужасный код на Perl и на Си, но почему-то все это у него работало. Мы поражались: «Черт возьми, как ты умудрился изучить все это и как тебе удалось увязать все эти компоненты друг с другом?»

Мы устанавливали голосовой сервис для Живого Журнала: записываешь что-то и постишь в Живой Журнал. Было очень много динамичного. Адская работа. А ему нравилось. Он разобрался со всем и заставил это работать. Позднее мы полностью все переписали, но выяснили, как это работает, именно благодаря ему. Он набросал интерфейс, который мы потом доводили до ума. Как только я понял, что в этом его призвание, мы прекрасно сработались.

Сейбел:

Вы нанимали людей для своей компании. Предполагаю, что и в Google вам тоже приходится этим заниматься. Как вы распознаете в человеке отличного программиста?

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

Сейбел: У вас есть любимые вопросы на собеседовании?

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

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

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

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

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

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

Питер Сейбел

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

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

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

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

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

Пит Гудлиф

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

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

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

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

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

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