Как распознать хорошего программиста?
Как нанимателю распознать насколько хорошим и талантливым окажется программист? Это не такое простое дело, как кажется. Описание опыта работы в резюме далеко не всегда может раскрывать полностью правду о программисте – с одной стороны опыт может быть обманчивым и существовать скорее только на бумаге, а не в реальности. С другой стороны далеко не всегда прекрасный программист в "официальном" резюме может указать толком и подробно, в чём, как и почему он действительно так хорош. Хотя и есть ряд тонкостей, благодаря которым можно почерпнуть даже из резюме полезную информацию, раскрывающую "качественность" программиста.
1. Увлечённость
Я считаю, что хорошие программисты всегда увлечены программированием. Хороший программист будет программировать даже бесплатно – просто для себя. Хороший программист может проесть вам всю плешь разговорами о какой-то технической проблеме, с которой он столкнулся во время разработки, и как он её разрешил, полагая, что это действительно важно и интересно.
2. Самообразование и интерес к обучению новому
Программирование ни секунду ни стоит на месте, и чтобы попасть по этой мишени, необходимо всегда быть в движении. Не проходит ни одного года, чтобы не выходили новые технологии, которые меняли бы старые стандарты, вводили новые и вообще переворачивали половину вселенной разработки.
3. Интеллект
Хорошие программисты не тупые. В принципе. В реальности – они одни из умнейших людей из всех, кого я знаю. Причём у многих из них при этом ещё и прекрасные навыки общения с людьми. Клише о том, что настоящий программист в разговоре в компании не может толком и предложения вставить, это всего лишь клише.
4. Скрытый опыт
Я искренне верю, что у любого хорошего программиста резюме представляет собой лишь только верхушку айсберга, а большая часть всего скрыто. Что-то кажется не совсем уместным, что-то не соответствует профилю вакансии, однако является при этом замечательным достижением и подтверждением профессионализма и увлечённости человека как программиста.
5. Разнообразие технологий
Здесь всё очень просто. Так как хороший программист всегда любит обучить и узнать и попробовать новую технологию, а также образно выражаясь "поиграться" с ней даже если он не имеет отношения к его профессиональной деятельности, любой хороший программист старше 22 лет должен разбираться в доброй дюжине различных технологий. Они могут быть и в каком-то смысле бесполезными, но для хорошего программиста изучение новой технологии – один из самых интересных способов провождения свободного времени.
6. Формальность квалификации
Это как раз тот момент, когда "официальная" квалификация программиста не является индикатором его качественности. Хороший программист может иметь специализированное образование, а может и не иметь. Различные сертификаты типа MCSE или SCJP могут означать высокий уровень кодера, а могут и нет. Они призваны быть доступными и желательными для всех программистов, но не более того.