Я понимаю, что для измерения проекта или кода мы можем использовать тест Джоэла , но есть ли какой-нибудь простой стандартный тест (например, тест Джоэла), который способен измерить и отфильтровать, насколько хорош программист?
Я планирую сделать этот тест быстрым фильтром, прежде чем перейти к более подробному тесту.
Ответы:
Существует матрица компетенций программиста .
Как и в случае с тестом Джоэла, это просто расплывчатое руководство. Единственный способ правильно оценить программиста - это спросить хороших программистов, которые работали с ними.
источник
Я бы развернул тест Джоэла:
Они использовали контроль источника?
Они знают, как автоматизировать пошаговую сборку?
...
Единственный вопрос, который не кажется особенно применимым - это вопрос тестеров. Остальные, которые кажутся не совсем подходящими, - это то, как мы справляемся с этим, как вы справлялись с этим в прошлых вопросах (Вот как мы справляемся, поддерживая наш график в актуальном состоянии, как вы обрабатывали планирование в прошлом?) ,
редактировать:
По сути, вы не получаете материал в тесте Джоэла бесплатно, вам нужно нанимать людей, которые могут это сделать. Вы хотите установить их способность сделать это.
источник
Тест Джоэла - это просто неофициальная базовая проверка, позволяющая быстро определить, есть ли в месте хорошие условия работы для программистов. Даже если он наберет идеальную 10, он все равно может стать адской дырой, которая обанкротится через шесть месяцев. Низкий балл указывает на что-то не совсем правильное и дает отличные вопросы для интервью («Вы в настоящее время не используете контроль источников; есть ли планы сделать это в будущем?»), И ответы могут быть такими, что ты бы согласился на работу, несмотря на низкий балл Джоэла.
Тест Джоэля также не является «стандартным» тестом; это просто контрольный список Джоэла Спольски, размещенный в его блоге.
Что касается «измерения» качества программиста; к сожалению, действительно важные навыки и качества хорошего программиста трудно или невозможно измерить количественно, поэтому ничто не заменит тщательной человеческой оценки. Вы можете довольно легко отсеять совершенно невежественных кандидатов, используя очень простую задачу программирования - в идеале, то, что включает в себя рекурсию, древовидные структуры или указатели (программист, который не «получает» их, вряд ли будет полезен). Для тех, кто пройдет этот тест, вам придется оценивать навыки вручную: читать код, который они написали, тестировать приложения, которые они написали, давать им больше задач по программированию (как проектирование, так и реализацию), смотреть, как они работают, разговаривать с ними, посмотреть, если вы может вызвать профессиональную дискуссию. Если вы ищете специалиста / языкового гуру,
источник
("You're not currently using source control; are there any plans to do so in the future?"), and the answers might be such that you'd accept the job despite a low Joel score.
Кстати, вы бы ошиблись, приняв работу. В конце концов, каждый разработчик узнает, чтоPlans to do so in the future
это то, что интервьюеры говорят, чтобы обмануть вас, но они никогда не действуют из-за ужасного управления. Сколько раз мы слышали что-то об эффекте,Oh, we are moving towards Agile...
и оказывается, что это еще один магазин микроуправляемых водопадов?Да уж:
Из всего моего опыта этот единственный вопрос наиболее показателен, насколько хорош программист. Если им это нравится; если у них есть страсть к выполнению задачи, то они будут хороши в этом.
И, честно говоря, многие из 9-5 рабочих мест не требуют большого количества кодирования . Они не требуют много итераций в течение всего жизненного цикла разработки новых программ и выяснения того, как этот дизайн работает / терпит неудачу. Без этой итерации программистам просто не нужно приобретать навыки разработки основных программ.
И они не требуют большого обучения. Программисты, которые даже просто взламывают вещи дома, будут изучать новые и интересные решения без ограничений большого бизнеса.
источник
Он не такой подробный, как тест Джоэла, но просьба написать им программу Fizz Buzz будет хорошим показателем того, смогут ли они вообще писать код.
http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html и http://imranontech.com/2007/01/24/using-fizzbuzz-to-find-developers- кто-Grok-кодирование /
Это не скажет вам о зрелости разработки программного обеспечения человека, но это покажет худшее.
источник
Эх, у меня проблемы с формулировкой в начале. Это не «использовали ли вы X» или «знаете ли вы о Y», это вопрос реального использования и действия. Любой программист, который не трогал и не слышал об элементах теста Джоэла, просто отключается и должен получить подсказку. Но вы правы, кодовые магазины не проходят тест Джоэла, потому что люди в магазинах допускают его. Единственная защита, которую я вижу, проходит по принципу «Я пытался, но не имел полномочий. И теперь я подаю заявку здесь».
источник
Да, но
Да, но я не настроил это, и я не администрирую это, я просто использую это.
Нет, это не моя работа.
Мне дают спецификацию, затем я анализирую ее и выдаю соответствующие документы.
Вы не знаете, каковы лучшие инструменты, и если вы думаете, что делаете, всегда найдется кто-то, кто оспорит вашу точку зрения.
Да. На самом деле, да, и они не очень хороши, но это не было в вопросе.
Да, и они терпят неудачу. Да, и они проходят. Что это говорит вам?
Нет, но что если мы сделаем что-то лучше?
Заключить:
Это не напыщенная речь, но мне было бы очень интересно узнать, какой разработчик, на ваш взгляд, основывается на ответах, которые я дал. Надеюсь, это докажет мою точку зрения.
источник
How do you know whether I pull changes before pushing?
Ну, я не знаю, какой источник контроля вы используете, но, по крайней мере, в SVN, если вы попытаетесь зафиксировать папку с изменениями, которых у вас еще нет, фиксация завершится неудачей, пока вы не запустите Update.