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

Я отвечал: «Нет, ребята, вы не правы. Надо брать специалистов, пока они молоды. Он сделал много чего для себя на OCaml; он знает не только исходный язык, но и рабочую среду, он разобрался с системными методами и написал на OCaml операционную систему — пусть пока игрушечную. Но это стоящий парень». Я даже не дал ему никакого теста — просто слушал его рассказ о том, что и почему он сделал. Он не пережевывал эту вечную жвачку насчет шаблонов C++. У нас, к сожалению, есть и такие мальчики. Милые люди, в чем-то неплохие программисты, могут работать на Java. Но нам нужен был кто-то необычный, а этот парень был необычным.

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

Разговаривая с ним, я понял, что он талантлив. Хорошо было и то, что его рекомендовал блестящий программист, — такие люди тянутся друг к другу и обычно не рекомендуют посредственностей. Они хотят работать с такими же блестящими программистами. Может показаться, что я выдумываю, но для меня это и правда один из способов распознать талант. Наверное, именно поэтому мы берем к себе суперпрограммистов. Думаю, все люди из Valgrind оказываются у нас. Некоторые из них могут все и совсем не выделываются.

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

Айк:

Да. Я никому не даю головоломок. Некоторые из наших, правда, дают. И это меня тревожит, поскольку влияет на отсев кандидатов.

Сейбел: Можно ли сразу выявить нужного человека?

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

Проверяйте знание C++, поскольку C++ — сложная штука. Это что-то вроде базовой проверки, вовсе не решающий аргумент. Прошел человек такую проверку — хорошо, нет — тревожный сигнал. Для приема на работу нужно что-то еще. Нужны подробности: что человек сделал, каков его подход к программированию, с какими языками он работал.

Кроме того, мне, видимо, нравятся необычные люди. Я не имею в виду всякие странности. Я не хочу нанимать человека, с которым трудно сработаться, — нам нужны таланты. Нужны те, кто мыслит нестандартно.

На последнем курсе меня сильно впечатлила книга Пирсига «Дзэн и искусство ухода за мотоциклом». Еще я много читал Платона и других древних философов. В философском плане я склонялся к идеализму. Полагал, что обратный порядок байтов лучше прямого, так как байты меньшего порядка располагаются по меньшим адресам — в этом есть какая-то гармония, геометрическая правильность. Но попробуйте прочесть шестнадцатеричный дамп! Важны практические вещи, важны подробности. Есть известная фреска «Афинская школа», на которой Аристотель указывает вниз, а Платон вверх. Так вот теперь я на стороне Аристотеля. С возрастом я становлюсь все скептичнее и все больше интересуюсь тем, что реально работает.

Когда я опрашиваю потенциальных кандидатов, то мне очень сложно не увязнуть в мелочах, в практических вопросах. Этот парень знает OCaml? Хорошо. Но стоит ли брать его на работу? Только из-за этого — нет. Но он еще делал что-то для себя, умеет решать задачи с ходу, думает о проблемах компиляции или анализа. Значит, возьмем. Но, возможно, главным доводом здесь была рекомендация его друга, блестящего программиста.

Сейбел: Программирование все еще доставляет вам удовольствие?

Айк: Да. Это как привычка. Тут есть некая загадка. Меня привлекает не задача создать работающий код, а скорее поиск верной идеи в духе соотношения 90/10, как в нью-джерсийской философии. Вы создаете хорошее теоретическое ядро, которое не решит всех ваших проблем, но если вы попадаете на оставшиеся 10%, то ничего страшного. На этом пути можно добиться успеха: код остается сравнительно небольшим и несложным, и есть некая игра в переходе от теории к реализации. Вот это мне по-прежнему нравится, все так же волнует меня. Я обдумываю такие проблемы по ночам и не могу заснуть.

Сейбел: А есть то, что со временем вам стало нравиться меньше?

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

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

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

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

Питер Сейбел

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

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

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

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

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

Пит Гудлиф

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

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

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

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

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

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