Любой, кто использовал R # или CodeRush, знает, как быстро вы можете собрать простые конструкции (и сложные рефакторинги) с помощью простого сочетания клавиш. Однако вызывают ли эти плагины производительности ложную оценку способностей во время интервью?
Быть продуктивным автором кода (и произвести хорошее первое впечатление на собеседовании) - это быстро написать хороший код.
Если бы у меня было два кандидата:
Не использует плагины. Она думает о проблеме, садится в стандартную среду IDE на ПК для интервью, который выглядит точно так же, как у нее, и печатает код через минуту или две, как обычно. Выполнено. Проходят.
Использует плагины. Он думает о проблеме, садится в стандартную среду IDE на ПК для интервью и понимает, что «fe + tab» больше не пишет цикл foreach автоматически, и все ярлыки исчезли. Затем он спотыкается вокруг клавиатуры, ударяя по своим обычным горячим клавишам, выскакивая из странных окон и волнуясь. Ему требуется 3 минуты, чтобы написать то, что обычно занимает 30 секунд. Выполнено. Похоже, они время от времени не знали, как обходить IDE. Должен быть новичком в этой IDE и, следовательно, не имел большого опыта работы с ним или, возможно, с языком Проход, но знак «Мех» рядом с их именем.
По вашему опыту, как вы обращаетесь с плагинами во время интервью в качестве интервьюера или интервьюируемого? Каковы лучшие методы получения того, что действительно знает кандидат? Могут быть кандидаты, которые не понимают код и используют R # в качестве опоры. Могут также быть кандидаты, которые знают код внутри и снаружи и используют R #, потому что это просто быстрее, чем встроенные шаблоны VS или Eclipse. Лучше всего просто не использовать IDE вообще? Позвольте им принести свой собственный компьютер? Другие?
источник
:w
везде заполнен случайными метками.Ответы:
Я был кандидатом 2 на собеседовании совсем недавно . Мне дали ванильную установку IDE на ПК с нестандартной клавиатурой и незнакомой средой тестирования, и меня попросили написать простое приложение Fizz-Buzz с юнит-тестами. Я взбил это. Должно быть, я выглядел как полный нуб, спотыкаясь в темноте, пытаясь взломать код. Излишне говорить, что мне не предложили должность.
Я узнал, что очень сильно полагаюсь на свои плагины. Они не просто набирают код быстрее - они фактически формируют то, как я думаю о коде и как я пишу код. Например, я очень тщательно обдумывал имена переменных, потому что они могут быть проблемой для изменения после факта. Теперь, напротив, я просто делаю недоделанное предположение о том, как я буду использовать переменную, взломать некоторый код, позволить переменной рассказать мне, для чего она нужна, и затем нажать Refactor-> Rename, чтобы назвать ее более подходящей ,
Делает ли это меня менее способным кандидатом? В некотором смысле, я думаю, что это так . Тот, кто может писать код в Блокноте и правильно его компилировать и запускать, имеет определенные преимущества перед кем-то вроде меня, которому нужны все качества IDE, которые он может получить. С этой точки зрения я прекрасно понимаю, почему любая компания предпочла бы не нанимать такой инструмент, как я.
С другой стороны , я все еще талантливый и способный Старший разработчик. Я узнал, что работает для меня, и я практикую лень, которая делает меня продуктивным, учитывая мои собственные слабости и ограничения. Короче говоря, я такой программист, который действительно может принести пользу такой компании, как та, которая меня отвергла .
Интересно, у меня было еще одно интервью пару недель назад. Следуя моему предыдущему опыту, я решил спросить о дополнительных инструментах или бюджете для их покупки. Обнаружение, что не было ни одного, дало мне еще одну причину отказаться от (довольно щедрого) предложения, которое они сделали мне .
Итак, перефразируя Граучо, « я бы не стал присоединяться ни к одной компании, в которой был бы такой человек, как я ».
Во всяком случае, если они не позволят мне использовать ReSharper.
источник
Пусть они ( то есть кандидаты ) используют все, что хотят. Старый, построить Wal-Mart со швейцарским армейским ножом, просто чтобы показать, что вы можете приблизиться, настолько стар. Они будут использовать все, что нужно в своей повседневной работе (ну, я определенно надеюсь, что это так), поэтому позвольте им использовать все, что они хотят в интервью. Окончательный результат - это все, что имеет значение. И я с гораздо большим удовольствием найму кандидата, который знает, какие инструменты доступны на рынке и как их эффективно использовать, а затем того, кто все это делает вручную. Это убийственная индустрия.
ps В качестве примера, подумайте о Vim (или Emacs) - хотели бы вы использовать его без каких-либо пользовательских настроек, плагинов и т. д.?
источник
Я бы сказал, что такие инструменты, как ReSharper, на самом деле делают вас лучшим кандидатом.
С одной стороны, что-то вроде ReSharper расскажет вам о языковых конструкциях, о которых вы, возможно, не знали, а также о лучших способах организации вашего кода, чтобы думать о проблеме или структурировать ее для удобства чтения. ReSharper, в некотором смысле, держит вас в курсе лучших практик по слингу кода, вместо того, чтобы позволить вам вернуться к плохим или устаревшим привычкам, или, что еще хуже, к лени.
Хороший кодировщик должен понимать базовые конструкции, но не вводить их вручную. Хороший ленивый позволяет инструментам выполнять всю работу, а сэкономленное время вместо этого тратится на размышления о проблеме. Это делает человека лучшим разработчиком в целом.
Я бы завершил линию рассуждений, заявив, что, если процесс собеседования отдает предпочтение палкам и каменным ножам, он в корне нарушен.
источник
Это одна из причин, по которой я прошу людей писать код на доске, а не в IDE. Выравнивает игровое поле. И люди говорят: «О, дорогой, я обычно справляюсь с этим». Черт возьми, встроенная ручка фрагментов для петель и тому подобного, которую доска не может вам дать. В таком случае, сказать что-то вроде «Я надеюсь, что пунктуация тут же; я парень R #» - это, вероятно, все, что вам нужно, чтобы я не допустил некоторых синтаксических проблем с вами.
Мне нужна какая-то способность писать понятный код на доске, чтобы у нас было собрание, на котором мы решали, как мы будем действовать. И, конечно же, я хочу посмотреть, действительно ли вы когда-нибудь писали код в своей жизни или нет. Ваши интервью могут отличаться.
источник
Отличный вопрос, кстати - я часто обдумывал это.
Овладение инструментами - это умение, которое является основой для хорошего разработчика. Я всегда чувствовал, как звучит сигнал тревоги, когда разработчик заявляет, что он предпочитает программировать в блокноте, а не использовать IDE. Это говорит о том, что он больше заинтересован в процессе, чем в продукте.
Это все равно, что предпочесть обрабатывать почву мотыгой по сравнению с трактором - это хорошо, если вы любитель садоводства, но невыносимо, как промышленный фермер в условиях конкурентной экономики.
Тем не менее, мы становимся зависимыми от наших инструментов. Люди, кажется, волнуются о том, как мы справимся в гипотетической ситуации, когда наши инструменты внезапно забрали. Был один и тот же аргумент о допуске калькуляторов к экзаменам.
Реальность такова, что инструменты становятся все лучше, лучше, дешевле и дешевле с каждым годом, и нет никаких причин, по которым вы когда-либо предполагали, что будете без них. А инструменты великолепны в выполнении повторяющихся вещей с высоким уровнем качества - это означает, что мы можем сосредоточить всю силу нашего невероятного гомо-сапиен-интеллекта на сложных (и интересных) частях.
ReSharper - отличное дополнение к Visual Studio. В моей нынешней компании не было ReSharper, когда я брал интервью - но я был настолько евангелистичен в этом интервью, что они купили мне копию, когда я принял должность, а также копию для разработчика, который брал у меня интервью. В настоящее время он распространяется по всей компании. Хорошие инструменты окупаются в кратчайшие сроки.
Таким образом, чтобы ответить на вопрос: ваша зависимость от инструментов может вызвать ложную оценку ваших способностей в интервью, но они всегда будут давать правильную оценку способностей интервьюера. Если компания не признает ценность инструментальной поддержки в вашем интервью - вы должны показать им свет. И если они все еще не увидят этого, то я буду очень обеспокоен принятием позиции там.
источник