Кодеры за работой. Размышления о ремесле программиста | страница 33
Сейбел: Вы когда-либо были руководителем?
Завински: Не совсем. Когда я работал над Emacs в Lucid, в Lucid Emacs было много модулей, написанных другими ребятами. Формально они на меня не работали, но в каком-то смысле приходилось руководить. Многим из них явно не хватало опыта, они просто делали то, что хотели, а мои указания сводились к следующему: “Так, мне нужно вот это, но вначале мне нужно вот это и это и отсюда вот это”.
Сейбел: И вы давали им свободу действий? Говорили им, что вам нужно А, Б и В, а они уже сами решали, как это сделать?
Завински: Да. Когда мне нужно решить, включать данный модуль в конечный продукт или нет, я формулирую требования к нему. Главное, чтобы эта чертова штука работала. И я мог дать им совет: “Думаю, у вас будет больше шансов, если вы поступите так, а не иначе”. Но я хотел: 1) чтобы все работало и 2) без моего участия. Они могли применить какой-нибудь безумный способ, но если он сработал, меня это устраивало, поскольку выполнялся второй пункт: мне не нужно было писать это самому. Собственно, мои советы касались лишь того, будет ли это работать и насколько это разумно.
Сейбел: С другой стороны, когда вы были неопытным программистом, что полезного делали ваши наставники?
Завински: Думаю, важнее всего было то, что они понимали, когда мне пора переходить на следующий уровень. Когда я пришел на работу к Фальману, мне дали какую-то глупую несложную работу. Но постепенно задания становились все серьезнее, хотя на самом деле по-настоящему серьезными они не были.
Сейбел: Это вы о Скефе, который только нависал над вами и говорил: “Ошибка”? Наверное, его компенсировал кто-нибудь, кто относился к вам более заботливо?
Завински: Ну, он не был совсем уж троглодитом. Мог и что-то полезное рассказать. Я же читал много кода и задавал кучу вопросов. Думаю, очень важно не бояться собственного незнания. Если не понимаешь, как что-то работает, спроси у того, кто понимает. Многие боятся. А что тут такого? Ведь чего-то не знаешь не потому, что тупой, а просто пока не знаешь.
Сейбел: Вы читали код, потому что работали над ним или просто хотели понять, как он работает?
Завински: Мне всегда было интересно выяснить, как что-то работает. Именно со стремления вникнуть в детали для человека начинается путь в эту профессию.
Сейбел: Вы не из тех, кто в детстве курочил тостеры?
Завински: Да. Я сделал телефон и выяснил, как набирать номер телеграфным ключом, который сделал из консервной банки. В детстве у меня были эти старые книжки, с барахолки или еще откуда, вроде “Науки для мальчиков”, издания 1930-х годов; помнится, они сильно меня раззадорили. В 1920-1930-х существовала настоящая “хакер-ская” культура: советы, как протянуть телеграф от дома к сараю, как изготовить лейденскую банку...