Компания, в которой я работаю, ищет старшего разработчика с большим опытом, чем я, и они ожидают, что я проведу техническую часть собеседования. Я программирую всего несколько лет и не уверен, что у меня есть знания, необходимые для оценки навыков кодирования кого-то, у кого больше понимания/опыта, чем у меня.
Может ли кто-нибудь порекомендовать некоторые технические вопросы для собеседования, которые являются хорошим средством для оценки навыков программирования более высокого уровня, но при этом должны быть теми, которые я могу понять?
Я бы сказал, что я прошел Jr. уровень программиста, но далеко не старший. Большая часть того, что я сделал, — это создание небольших приложений (веб и настольных), некоторые из них довольно сложные, но все они предназначены для использования не более чем горсткой пользователей. Я чувствую, что неплохо разбираюсь в большинстве концепций программирования и способен научиться чему угодно, однако мне не хватает опыта. Как любит говорить мне мой начальник: «Ты не знаешь того, чего не знаешь».
В частности, мы хотели бы, чтобы человек, которого мы нанимаем, имел опыт работы (которого у меня нет): многоуровневая разработка, многопользовательская среда, крупномасштабная разработка приложений, двусторонний обмен сообщениями, общие сеансы, и Многопоточность/BackgroundWorkers.
ОБНОВЛЯТЬ:
В ответ на комментарий Тора ниже, мы наняли кого-то несколько месяцев назад, и я думаю, что это работает отлично. Я многому учусь, не только о кодировании, но и о таких вещах, как шаблоны проектирования, архитектура программного обеспечения, документация и то, как другие более крупные команды программистов добиваются своей цели. Не всегда легко, когда кто-то приходит и указывает лучшие способы сделать то, что вы уже сделали, но если вы сможете проглотить свою гордость и быть готовыми попробовать что-то новое, вы можете многому научиться.
Процесс собеседования прошел лучше, чем я ожидал. Я начал задавать вопросы о вещах, с которыми я был знаком, а затем задал несколько вопросов о том, с чем я боролся. Всякий раз, когда интервьюируемый говорил что-то, чего я не понимал, я просил его объяснить это мне, а затем записывал это, чтобы я мог найти это позже. В целом, я чувствовал, что смог получить довольно хорошее представление об уровне навыков, интеллекте и том, с чем они хотели бы работать.
Вместо этого я бы предложил вам на собеседовании составить список проблем, которые у вас есть сегодня, и спросить его, как бы он их решил.
Это очень интересный метод по следующим двум причинам:
Это бесплатный консалтинг. Даже если вы не возьмете его на работу, он может предложить хорошие решения ваших проблем.
Если он приходит с интересными решениями, значит, он решает проблемы. Именно такого человека вы хотите нанять.