На самом деле это довольно нелегко. Указанный в резюме опыт работы в этом деле почти ничего не показывает, поскольку у профессионалов своего дела часто нет «официального» опыта работы. Порой опыт в резюме вводит работодателей в заблуждение. Однако даже благодаря этим данным вы сможете определить, знает ли тот или иной программист свое дело или нет. Так как найти хорошего программиста?
По моему мнению, я, как программист, свое дело знаю очень даже неплохо. Как же мне удается определять по резюме, хороший ли передо мною специалист? Дело в том, что мне в определенный период времени довелось заняться деловой сферой бизнеса высоких технологий.
Именно это дело научило меня тому, как отличать опытных программистов от тех, которые в своей профессии разбираются плохо. Я надеюсь, что мои советы помогут бизнесменам также овладеть этим навыком. Что касается программистов, то они смогут узнать, как не совершать ошибок на пути к отличному освоению профессии.
Пол Грэм, опубликовав статью под названием «18 ошибок, которые убивают стартапы», написал, что подавляющее число стартапов Интернет-коммерции 90-х годов прошлого века уничтожилось из-за того, что программирование было на низком уровне. Почти все эти компании создали бизнесмены, считавшие, что раз у них имеется отличная идея, то для воплощения ее в жизнь и получения стартапа все, что им требуется сделать – это нанять программистов. Однако проблема заключается в том, что бизнесменам практически невозможно определить, какой из программистов хороший, а от какого лучше держаться подальше. Опытные программисты встречаются бизнесменам редко хотя бы по той простой причине, что им неинтересно работать над воплощением в жизнь их идей.
Обычно бизнесмен нанимает программиста, резюме которого максимально пускает пыль в глаза (почти никто из предпринимателей не откажется нанять на работу человека, который написал, что является сертифицированным разработчиком компании Майкрософт). Однако на деле знания такого программиста чаще всего слабыми. В результате бизнесмен чувствует себя военным бомбардировщиком, наблюдая, как остальные стартапы пролетают мимо подобно мощным истребителям. Стартапы начинают напоминать крупные компании – правда, не обладая их преимуществами.
Как найти хорошего программиста и понять, что выбранный специалист действительно знает свое дело, если вы в программировании нисколько не разбираетесь? Существуют несколько безотказных способов.
Энтузиазм
Работая в крупных компаниях, мне довелось увидеть качественно нового типа специалиста – программиста, нацеленного на карьеру. Раньше я ничего подобного не видел. Эти люди пришли в сферу ITпо той простой причине, что, на их взгляд, это – отличная карьера. В свободное время они занимаются чем угодно, кроме программирования. Когда я им рассказывал, что у меня дома есть сетка из 3 компьютеров, это вызывало их огромное удивление. Программированием они занимаются исключительно на рабочем месте. Они начинают узнавать новое только в том случае, если начальник отправил их на дополнительное обучение или назначил им новую работу, для осуществления которой необходимо разбираться в новой технологии. Вне работы они практически не разговаривают о компьютерах, а если и спросить их о чем-то, что касается данной сферы, то никакого блеска и энтузиазма их глазах вы не заметите. Другими словами, увлеченности компьютерами у них не наблюдается.
Любовь к саморазвитию и самообразованию
Чтобы найти программиста в Москве, который поспособствует развитию вашего дела, необходимо обратить внимание на его отношение к самообразованию. Отличительная особенность программирования заключается в том, что оно развивается все время. Ежегодно одна технология приходит на замену другой, устанавливаются новые стандарты, а 50% IT-индустрии полностью изменяются. Хороший, любящий свою профессию специалист старается не пропускать ни одного такого изменения, вследствие чего он постоянно держится на гребне волны. К сожалению, многие программисты не терпят изменений, поэтому для того, чтобы заставить их изучить новую технологию, нужно приложить немало усилий. Скорее всего, эти горе-специалисты изучали программирование только в университете и считают, что полученных знаний им вполне хватит на всю свою оставшуюся жизнь, отправляясь на курсы повышения квалификации только тогда, когда их заставит руководство.
Итак, если работник уверяет вас, что с легкостью справится с предложенной работой – ему только необходимо отправиться на курсы, ни в коем случае его не нанимайте. Талантливому программисту уже известны все технологии, которые помогут ему справиться с вашим заданием. Если вы спросите этого программиста, что он собирается делать, то он не только расскажет вам все о той или иной современной технологии, но и объяснит, почему воспользоваться стоит именно ей, а не десятками других.
Интеллектуальные способности
Чтобы найти 1С программиста, посмотрите на его поведение. Некоторые бизнесмены ошибочно полагают, что отсутствие такта равнозначно отсутствию интеллекта. В действительности же интеллект характеризуется рядом признаков, к которым относятся и социальность вкупе с эмоциональностью. Опытный программист никогда не тупит. Опытный программист просто поразит вас своим умом. Подавляющее большинство из них обладают высокоразвитыми социальными качествами. Если вы считаете, что поддерживать разговор программисты не в состоянии, то вы заблуждаетесь. Когда я был на нескольких собраниях, где присутствовали и люди данной профессии, то понял, что за редкими исключениями все они – люди разносторонние, общительные и умные. Конечно, это вовсе не значит, что в любой компании и обществе они чувствуют себя свободно. Однако если окружающие их люди – милые и приятные, то они с легкостью поддержат с ними разговор.
Если перед вами программист, который «тупой как валенок», ни в коем случае его не нанимайте, поскольку он никогда не являлся, не есть и не станет хорошим специалистом. В общем, помните: если в ненапряженной обстановке человек с легкостью демонстрирует свой ум и высокоразвитые социальные навыки, можете смело принимать его на работу.
Скрытый опыт
Программированием я занялся в 9-летнем возрасте на Commodore 64. После этого я перешел на PC, еще через некоторое время – на Паскаль. В 14-летнем возрасте я смог написать свой движок raycastingи провел незабываемое время, развлекаясь множеством графических эффектов. Их можно было выжать с помощью обращения к видеокарте напрямую. Этот период я назвал стадией «куколки». При входе в нее мои знания и опыт были посредственными, и я не был уверен в том, что в будущем смогу заниматься вещами повышенной сложности. Однако после окончания этой стадии у меня такая уверенность сформировалась. Я понял, что при желании смогу написать все, что мне захочется.
Однако об этом я в своем резюме никогда не упоминал.
Я твердо уверен в том, что у каждого талантливого программиста есть такой опыт в большом количестве, однако в резюме они о нем не пишут. Они считают, что он к предстоящей работе не имеет никакого отношения, однако в действительности этот опыт просто шикарен. Работодателям следует спрашивать на интервью программистов о том, был ли у них собственный проект, который они разрабатывали в свободное время? Причем он может не иметь никакого отношения к будущей работе. Если кандидату нечего ответить на поставленный вопрос, значит, вы немного промахнулись с выбором. Даже у того программиста, который написал гигантское резюме, существуют проекты, о которых он не обмолвился и словом. Чтобы найти хорошего программиста, обратите особое внимание на данный пункт.
Знание огромного количества технологий
В этом пункте нет ничего сложного. Если человеку доставляет большое удовольствие разбираться в новых технологиях и учиться чему-то новому, то это – признак талантливости. Любой хороший программист старше 22 лет отлично знает дюжину технологий. Изучение нового – его хобби. Вообще, любой одержимый программированием человек будет с удовольствием возиться с новыми технологиями, которыми и будет набито его портфолио под завязку. Не стоит ожидать, что в каждой из них он будет разбираться на отлично, однако подавляющее число современных технологий, даже не имеющих к его работе прямого отношения, будут ему известны.
Эти технологии, которые не имеют к работе прямого отношения, бизнесменам понять бывает трудно. Так, Java-программист может сказать, что он работал с такими технологиями, как Java, Ant, Spring, ShellScriptingи т.д. Неподготовленный человек будет впечатлен, однако все это – части, которые относятся к одной технологии и непосредственно друг с другом связаны. Если программист специализирован только в определенной линейке технологий, значит, он не обладает достаточным опытом и знаниями.
Также к признаку хорошего программиста можно отнести то, если перечисленные технологии появились совсем недавно.
Формальные сертификаты
При поиске подходящего программиста формальные сертификаты не имеют ни малейшего значения. Одни специалисты заканчивали тот или иной институт по компьютерной специальности, некоторые нет. На такие сертификаты, как SCJPили MCSE, тоже не стоит обращать особого внимания. Они специально разработаны так, чтобы были доступными для каждого, и показывают лишь наличие некоторых знаний у их владельца в той или иной технологии. Это – подтверждение того, что у людей в крупной корпорации есть знания о Javaи т.д. В том случае, когда вы ищете человека для маленького бизнеса или же вам необходимы супер-специалисты для борьбы хакеров, можете не обращать на сертификаты ни малейшего внимания.
Тот же параметр действует и в отношении возраста. Талантливый программист может иметь возраст в 18 лет, а может – в 40. Не оценивайте его знания, умения и навыки, основываясь на возраст. Правда, если вы нанимаете несколько людей, то постарайтесь, чтобы все они были примерно одного возраста.
Напоследок хочется сказать следующее: у неважных специалистов программирование началось тогда, когда они поступили в университет и стали изучать соответствующих курс. Хорошие же специалисты стали заниматься программированием в гораздо более раннем возрасте. Поэтому при выборе человека спрашивайте о том, когда они начали заниматься программированием.
Конечно, вышеперечисленные признаки абсолютными не являются – так, вы можете найти программиста в Москве, который некоторым из них не соответствует. Однако не может быть такого, чтобы талантливый специалист вообще не попадал не под один из них. Это же можно сказать и о неважных программистах – некоторым признакам, относящимся к хорошим специалистам, они могут соответствовать. Выбирать работника необходимо следующим образом: чем большему число признаков он соответствует, тем выше вероятность того, что он поспособствует развитию и процветанию вашего бизнеса.