о словах и делах - 2
Jul. 5th, 2009 08:12 pmЧто судить следует по делам, а не по словам - трюизм; но на практике его нелегко оказывается применять, когда слова очень правильные. Три примера, которые мало кому будут интересны.
2. До того, как я начал работать в Гугле пару лет назад, я почти ни разу не интервьюировал никого (хотя бы потому, что большую часть карьеры был фрилансером). В Гугле мне сразу пришлось интервьюировать, и очень много - одно время стандартно по два интервью в неделю, и это при том, что, учитывая подготовку и отчет, на каждое уходило минимум три часа. Со временем нагрузка стала снижаться, а где-то год назад и вообще сошла на нет.
Большое количество проведенных интервью научили меня чему-то, с чем я бы и до того абстрактно, наверное, согласился, но как следует не понимал: хорошие и правильные слова, которые умеет говорить кандидат, вовсе не означают, что он умеет писать код. Я не говорю тут о модных словах, заметьте - нет, именно о хороших и правильных. Т.е. слушая кандидата, можно подумать, что он невероятный умница и все правильно понимает еще лучше тебя самого; но код писать он не умеет. Бывают особо сюрреалистичные мета-случаи, когда кандидат говорит умные и правильные слова о том, что важно не только умные и правильные слова говорить, но и код уметь писать; и при всем при этом код он писать все равно не умеет.
Поначалу мне было неловко просить, скажем, обладателя Ph.D. в алгоритмической области, или профессионала с 10-летним стажем, написать двоичный поиск в отсортированном массиве. Где-то после третьего случая, когда попытка завершилась полным провалом, неловкость куда-то исчезла. Снова и снова мне попадались случаи, когда кандидат блестяще отвечал на все вопросы - теоретические и практические - и совершенно не мог написать достаточно простой код.
ivan_ghandhi недавно нашел очень удачную на мой взгляд метафору, в разговоре о том, как инженеры, которые не умеют писать код, проходят интервью: «They talk. It's a theory for them. Say, you are a literary critic; and they are hiring a writer. "Tell me about the archetypal novel structure", "what would you avoid when writing a dialog between two elderly women on a cruise boat?"»
Так вот и получается.
Мне не хотелось бы, кстати, создать впечатление того, что я в белом, а кругом все в говне. Среди тех, кого я интервьюировал, были и люди, очень хорошо писавшие код, лучше меня. Некоторые из них теперь работают рядом. Да и все слова выше о том, что можно говорить умно и правильно, и быть при этом совершенно непродуктивным программистом, относятся и ко мне лично. Я в целом неплохо работаю сейчас, по собственной оценке, но в прошлые годы были времена, когда прокрастинация настолько овладевала мной, что месяцами я не мог сделать буквально ничего полезного. При этом в то время так же, как сейчас, я мог бы вам очень подробно рассказать свои супер-умные мысли про OOP, agile, динамические и статические языки программирования, ядро Windows NT в сравнении с Линуксом, и многое-многое еще. Никому не посоветую судить о том, какой я программист, только по словам, которые я говорю или пишу - включая эту самую запись. Всегда смотрите на код.
2. До того, как я начал работать в Гугле пару лет назад, я почти ни разу не интервьюировал никого (хотя бы потому, что большую часть карьеры был фрилансером). В Гугле мне сразу пришлось интервьюировать, и очень много - одно время стандартно по два интервью в неделю, и это при том, что, учитывая подготовку и отчет, на каждое уходило минимум три часа. Со временем нагрузка стала снижаться, а где-то год назад и вообще сошла на нет.
Большое количество проведенных интервью научили меня чему-то, с чем я бы и до того абстрактно, наверное, согласился, но как следует не понимал: хорошие и правильные слова, которые умеет говорить кандидат, вовсе не означают, что он умеет писать код. Я не говорю тут о модных словах, заметьте - нет, именно о хороших и правильных. Т.е. слушая кандидата, можно подумать, что он невероятный умница и все правильно понимает еще лучше тебя самого; но код писать он не умеет. Бывают особо сюрреалистичные мета-случаи, когда кандидат говорит умные и правильные слова о том, что важно не только умные и правильные слова говорить, но и код уметь писать; и при всем при этом код он писать все равно не умеет.
Поначалу мне было неловко просить, скажем, обладателя Ph.D. в алгоритмической области, или профессионала с 10-летним стажем, написать двоичный поиск в отсортированном массиве. Где-то после третьего случая, когда попытка завершилась полным провалом, неловкость куда-то исчезла. Снова и снова мне попадались случаи, когда кандидат блестяще отвечал на все вопросы - теоретические и практические - и совершенно не мог написать достаточно простой код.
Так вот и получается.
Мне не хотелось бы, кстати, создать впечатление того, что я в белом, а кругом все в говне. Среди тех, кого я интервьюировал, были и люди, очень хорошо писавшие код, лучше меня. Некоторые из них теперь работают рядом. Да и все слова выше о том, что можно говорить умно и правильно, и быть при этом совершенно непродуктивным программистом, относятся и ко мне лично. Я в целом неплохо работаю сейчас, по собственной оценке, но в прошлые годы были времена, когда прокрастинация настолько овладевала мной, что месяцами я не мог сделать буквально ничего полезного. При этом в то время так же, как сейчас, я мог бы вам очень подробно рассказать свои супер-умные мысли про OOP, agile, динамические и статические языки программирования, ядро Windows NT в сравнении с Линуксом, и многое-многое еще. Никому не посоветую судить о том, какой я программист, только по словам, которые я говорю или пишу - включая эту самую запись. Всегда смотрите на код.
no subject
Date: 2009-07-05 05:18 pm (UTC)no subject
Date: 2009-07-05 05:19 pm (UTC)Критик ответит на первый вопрос, но не ответит на второй. Чтобы ответить на второй, таки-надо быть writer-ом.
no subject
Date: 2009-07-05 10:30 pm (UTC)(no subject)
From:no subject
Date: 2009-07-05 05:24 pm (UTC)no subject
Date: 2009-07-05 05:40 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:музыкой навеяло
Date: 2009-07-05 05:32 pm (UTC)...
Would you hire a magician without asking them to show you some magic tricks? Of course not.
Would you hire a caterer for your wedding without tasting their food? I doubt it. (Unless it's Aunt Marge, and she would hate you forever if you didn't let her make her "famous" chopped liver cake).
Yet, every day, programmers are hired on the basis of an impressive resumé or because the interviewer enjoyed chatting with them. (http://www.joelonsoftware.com/articles/fog0000000043.html)
Re: музыкой навеяло
Date: 2009-07-05 07:06 pm (UTC)Re: музыкой навеяло
From:Re: музыкой навеяло
From:Re: музыкой навеяло
From:Re: музыкой навеяло
From:Re: музыкой навеяло
From:Re: музыкой навеяло
From:Re: музыкой навеяло
From:Re: музыкой навеяло
From:Re: музыкой навеяло
From:Re: музыкой навеяло
From:Re: музыкой навеяло
From:no subject
Date: 2009-07-05 05:40 pm (UTC)не умеющий считать до трехне умеющий читать. Как я сейчас.no subject
Date: 2009-07-05 05:40 pm (UTC)no subject
Date: 2009-07-05 07:35 pm (UTC)Вообще, единственное, что я писал, что находится в открытом доступе, и это законченный проект, а не один-два патча, это наверное memcached. Я его правда года четыре уже не касался, но подозреваю, что процентов 50 C-шного кода до сих пор мои.
(no subject)
From:(no subject)
From:(no subject)
From:нарекание трудящегося (офф)
Date: 2009-07-05 05:57 pm (UTC)Re: нарекание трудящегося (офф)
Date: 2009-07-05 06:15 pm (UTC)у всех остальных он сохраняет как было
Re: нарекание трудящегося (офф)
From:Re: нарекание трудящегося (офф)
From:Re: нарекание трудящегося (офф)
From:Re: нарекание трудящегося (офф)
From:no subject
Date: 2009-07-05 06:10 pm (UTC)no subject
Date: 2009-07-05 06:16 pm (UTC)Задачки на придумать или проанализировать алгоритм (но не написать его), конечно, труднее, чем двоичный поиск.
no subject
Date: 2009-07-05 06:20 pm (UTC)Я интервьюировал много, в разных фирмах и страдал в основном от того, что люди с опытом 5-7 лет, прекрасным резюме, а ни слов правильных не знают,ни код писать не умеют.
Так много терял время, что некий минимум вопросов стал по телефону задавать, если возможно (когда не через асамот), чтобы первичный отсев провести.
no subject
Date: 2009-07-05 07:13 pm (UTC)(no subject)
From:no subject
Date: 2009-07-05 06:28 pm (UTC)no subject
Date: 2009-07-05 06:29 pm (UTC)no subject
Date: 2009-07-05 07:59 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2009-07-05 06:37 pm (UTC)no subject
Date: 2009-07-05 06:43 pm (UTC)no subject
Date: 2009-07-05 06:59 pm (UTC)no subject
Date: 2009-07-05 07:04 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2009-07-05 07:02 pm (UTC)Скажем я в своих областях редко когда пишу код такого плана. Кстати, часто хороший программист - это не тот кто пишет сам все с нуля, а тот кто умеет правильно и эффективно найти, понять и воспользоваться чужим кодом.
с тем же поиском, я найду тот алгоритм, который подходит для моего конкретного случая, найду код, проверю его и вперед.
no subject
Date: 2009-07-05 07:33 pm (UTC)(no subject)
From:(no subject)
From:no subject
Date: 2009-07-05 07:17 pm (UTC)Хотел было пошутить насчет того, что посмотрел на source этой записи, но вспомнил, что ты действительно работал в ЖЖ, и можешь быть к нему причастным. Это вышло уж слишком замысловатой шуткой с рекурсией :)
no subject
Date: 2009-07-05 07:55 pm (UTC):)
Date: 2009-07-05 07:26 pm (UTC)Re: :)
Date: 2009-07-05 07:29 pm (UTC)Re: :)
From:Re: :)
From:no subject
Date: 2009-07-05 07:27 pm (UTC)no subject
Date: 2009-07-05 09:05 pm (UTC)no subject
Date: 2009-07-05 07:36 pm (UTC)Или просто вы лично были ответственны за такие позиции ?
no subject
Date: 2009-07-05 07:45 pm (UTC)Мне эта политика в целом нравится.
Не пишут код PM-ы (хотя тоже бывают умельцы) и менеджеры.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From::O
From:Re: :O
From:Re: :O
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2009-07-05 08:04 pm (UTC)no subject
Date: 2009-07-05 08:13 pm (UTC)А про прокрастинацию это интересно - ты смог победить?
P.S. Привет из Бостона...
no subject
Date: 2009-07-05 08:31 pm (UTC)no subject
Date: 2009-07-05 08:45 pm (UTC)С удовольствием послушаю, если Вам не будет влом.
no subject
Date: 2009-07-05 10:09 pm (UTC)Когда нанимают фотографа, просят портфолио.Может на интервью просить с флешкой с готовым кодом приходить и вести разговор вокруг него , типа
- А почему Вы в этом месте выбрали такой способ - итд
no subject
Date: 2009-07-06 01:19 am (UTC)(no subject)
From:no subject
Date: 2009-07-06 01:16 am (UTC)ЗЫ кстати, просить на собеседовании написать какой-то код (под конкретную, или абстрактную задачу), по моему, есть пустая трата времени.
no subject
Date: 2009-07-08 03:00 am (UTC)