Уже почти год в своей жизни и работе я активно использую менеджер списков задач
Wunderlist, разрабатываемый компанией 6Wunderkinder. На днях я наткнулся на их сайт со списком имеющихся вакансий
http://www.6wunderkinder.com/jobs/
Вот мой вольный перевод самой интересной части из описания вакансии на Javascript разработчика, а именно - тестовое задание:
...
В 6Wunderkinder мы с гордостью пользуемся open source проектами, и мы хотим делать свой вклад в развитие сообщества. Чтобы ваша кандидатура была рассмотрена на позицию в 6Wunderkinder, покажите нам свои навыки и ваше желание улучшать мир open-source выбрав open-source проект и исправив какую-либо из открытых задач/ошибок на Github баг трекере. Добавьте ссылку на ваш pull request к заявке, и объясните почему выбрали именно эту конкретную проблему для исправления. (Замечание: если чувствуете в себе силы, смело добавляйте ссылки на несколько pull requestов, но четко укажите каким именно вы довольны больше всего).
- Качество кода (корректность, производительность, элегантность)
- Читаемость кода и документация (грамотное программирование это плюс)
- Тестирование (качественные open-source проекты все равно не примут pull request без них)
- Ясная коммуникация в pull request, объясните как вы решили проблему, расскажите о возможных подводных камнях, и предоставьте диалог с поддерживающим(и) проект если возможно.
- Секретные бонусные очки если pull request будет слит с основной веткой к моменту прочтения вашей заявки.
Проекты которые нам нравятся (Javascript edition): Backbone, requirejs, underscore, jasmine.
Или: выберите стоящий проект и расскажите почему он крут и почему нам стоило бы его использовать. Если вы никогда не участвовали в open source прежде: все бывает в первый раз, и счастье сопутствует смелым!
...
Вот это подход! Никаких тебе искусственно выдуманных задач вроде "написать парсер", тетрис или, о Б-же, калькулятор! Кому это вообще надо? Разве это покажет реальную способность работать?
Совсем другое дело здесь. Человек показывает, что может решать реальные задачи, качественно оформляет решение, умеет общаться, не говоря уже об умении пользоваться инструментами вроде Git. И что самое главное, при всем при этом действительно помогает сообществу! То есть даже если кандидат не пройдет отбор, то время он потратит с огромной пользой как для себя так и для open source мира.
А уж если пройдет, то вероятно решать подобные задачи - это именно то, чем он будет заниматься входя в курс дела.
Я думаю на сегодняшний день это один из лучших способов проверить кандидата на позицию разработчика.