Найти хорошего разработчика может быть очень сложно, а найти подходящего разработчика практически невозможно, если вы не знаете, что ищете. Цель этой статьи - помочь вам найти разработчика, который соответствует вашим потребностям.

Я разделю эту статью на 2 части:

  • Сначала я рассмотрю, что отличает одного разработчика от другого, и объясню, что это за разные типы.
  • Затем я дам вам список вопросов, которые вы должны задать себе и разработчику, чтобы определить, к какому типу разработчика относится человек, с которым вы проводите собеседование.

Во-первых, я хотел бы, чтобы вы поняли, что разрабатывать легко, каждый может этому научиться. Что отличает хороших разработчиков от плохих, так это способность быстро учиться и учиться. Обычно это стремление учиться происходит от страсти. Все великие разработчики при кодировании чувствуют себя суперменами. Им кажется, что всякий раз, когда они говорят о коде, они говорят о решении всех мировых проблем. Страсть - это большая разница между хорошим и плохим разработчиком.

Прежде чем мы начнем, сделаем несколько вещей. Если вы найдете разработчика, который не любит учиться, даже не берите у него интервью. Обучение - это описание этой работы. Обычно хорошие разработчики любят работать с новыми языками, и они, вероятно, работали с разными языками программирования.

Помните, что экзамены по кодированию обычно не искореняют плохих разработчиков, потому что вопросы кодирования обычно связаны с конкретными вопросами и текущими способностями. Хорошие разработчики могут быстро учиться, и то, что они знали, когда вы их наняли, не будет даже близко к тому, что они знают через два месяца.

Действительно важно: НИКОГДА, а когда я говорю «никогда» не имею в виду, не нанимайте разработчика, который знает язык, которого он не знает. Хорошие разработчики могут легко освоить любой язык. Это настолько важно, что я повторю его курсивом.

Никогда не нанимайте разработчиков на том языке, который они знают. Хорошие разработчики могут легко освоить любой язык.

Типы разработчиков

Разработчик типа А

Разработчик типа А - это тот разработчик, который является лидером. Этот человек, как правило, не лучший программист, но у него есть возможность стать одним из лучших. Что отличает его от всех остальных, так это его способность учиться, а также его амбиции. Он, вероятно, хочет быть предпринимателем, генеральным директором или техническим директором. Этот тип разработчиков, вероятно, сам научился программировать и имеет опыт самостоятельного построения целых систем. Его легко узнать, если у него есть лидерские качества. Они редки, потому что у них растущая личность, и потому, что они хотят развивать свои навыки и управлять своей собственной командой. Они постоянно стремятся усердно работать и продвигаться по карьерной лестнице.

Вы хотите нанять разработчика типа А, если вы ищете технического директора или человека, который воплотит ваш продукт в жизнь. Этот человек не будет чувствовать себя комфортно на работе, где он не является независимым, он должен чувствовать себя ответственным за продукт. Причина, по которой вы хотите нанять разработчика типа A, заключается в том, что вам нужен человек, у которого хватит терпения работать как с дизайнерами, так и с разработчиками. Обычно этот человек должен быть вашим первым наймом. У него есть способность вести и действовать, чтобы ваш продукт стал реальностью.

ВНИМАНИЕ: разработчикам типа А очень быстро становится скучно, они постоянно ищут что-то новое и преуспевают в среде, где они постоянно заняты созданием все более сложных и масштабных вещей. Самая большая забота этого разработчика заключается в том, что если вы не дадите ему учредительные акции или, как минимум, чрезвычайно конкурентоспособную зарплату, то он, вероятно, уже ищет что-то другое.

Разработчики типа B

Разработчики типа B действительно хорошие разработчики, у них, вероятно, есть или будут навыки, чтобы стать лучшими. Они занимаются программированием с самого раннего возраста, и у них есть секретная, но заметная страсть к коду. Они преуспевают в сложных условиях, но их стремление - стать разработчиками и делать то, что они любят, как можно дольше. Что отличает его от всех остальных, так это его «занудство». Он именно такой, как вы ожидаете, что будет выглядеть настоящий разработчик. Этот человек, вероятно, тот, у кого странные операционные системы и он действительно знает, что делает. Когда вы смотрите на его компьютеры, у него одновременно открыто около 20 окон. Для этого человека его работа - кодирование, а его хобби - кодирование. Этот разработчик - разработчик в 10 раз.

Причина, по которой вы хотите его нанять, заключается в том, что если вы ищете таланты, вы хотите улучшить свою платформу. Вы хотите вывести свою существующую платформу на совершенно новый уровень. Этот человек может стать лидером, но его постоянно раздражает руководство. Убедитесь, что этот человек не ваш первый найм, потому что у него нет навыков работы с пользовательским интерфейсом. Он любит код, и он этим занимается. Если вы найдете разработчика такого типа, не отпускайте его, потому что у него настоящий талант и он, вероятно, отличный программист.

ВНИМАНИЕ: остерегайтесь притворщиков или подражателей, есть люди, которые делают вид, будто знают, что делают, и выглядят как тип B.

Разработчики типа C

Этот разработчик - человек, который научился программировать в колледже, он хороший разработчик, но в нем нет ничего особенного. Он умеет программировать, потому что учился в школе. Иногда они могут быть довольно хорошими, но они, вероятно, никогда не станут великими разработчиками. Этим разработчиком обычно является человек, который является разработчиком программного обеспечения и в конечном итоге станет менеджером по продукту, потому что это следующий логический шаг. Это тип разработчика, который специализируется на одном-единственном типе разработки. Он никогда не строил проект с нуля и кодировал только на работе.

Вы хотите нанять этого разработчика, если хотите заполнить вакансию или если вы хотите расширить свою команду. Этот человек может быть отличным дополнением, потому что он очень общительный, но имейте в виду, что его цель - стать менеджером по продукту или пойти другим путем.

ВНИМАНИЕ: здесь нет предупреждения. Если найдешь - хорошо, если нет - тоже хорошо.

Разработчики типа D:

Этот тип проявителя - заноза в шее. Он только научился программировать, чтобы оплачивать счета. Он стал разработчиком программного обеспечения, потому что это безопасная и высокооплачиваемая работа, и он просто делает ее из-за того, что может предложить рынок. Это плохие программисты, которые не любят учиться, и они придерживаются того же языка программирования, который выучили в школе или на своей первой работе (обычно PHP).

Во что бы то ни стало, если вы найдете разработчика типа D, избегайте его любой ценой. У них установка на данность, они не любят расти и учиться. У них обычно есть подработка или хобби, которые отнимают половину их времени, и они никогда не сосредотачиваются на работе. Любой хороший разработчик понимает и знает, что программирование - это его жизнь.

Вопросы, которые следует задать любому разработчику перед тем, как нанять его

  1. Первое, что вы должны проверить, это твиты или блоги разработчика, любой тип A или B обычно имеет блог или он постоянно пишет в Твиттере о коде, новых тенденциях в разработке или даже шутках, которые понимают только разработчики. Это показывает, что у него есть страсть.
  2. Второе, что вам нужно проверить, это Github этого человека. Разработчики типа B и иногда типа A участвовали в проектах с открытым исходным кодом. Еще лучше, если человек создал свой собственный проект с открытым исходным кодом и имеет много звезд. Это хороший показатель, что он разработчик типа B.
  3. Проверьте их LinkedIn. Разработчики типа А обычно обновляют свой профиль в LinkedIn на случай, если кто-то ищет разработчика.
  4. Если вопросы 1 и 3 верны, это означает, что этот человек имеет склонность к типу А.
  5. Спросите его о его слабых и сильных сторонах. Если у него есть хороший ответ, он, вероятно, разработчик типа А.
  6. Спросите разработчика, создавал ли он когда-либо проект от начала до конца. Он сам создал схему базы данных? (Вы ищете ответ "да"). Построил ли он переднюю часть (еще одно «да»), построил ли он заднюю часть (должно быть «да»). Если все ответы положительные, то вы смотрите на тип A или B.
  7. Где и когда он научился программировать? Если он учился до колледжа или в молодом возрасте, он определенно относится к типу A или B. Если его ответ - в колледже, вы, вероятно, смотрите на тип C или B.
  8. Затем вам нужно выяснить, нравится ли этому человеку учиться. И не спрашивай его, тебе нравится учиться? Потому что большинство людей скажут «да». Если вы чувствуете, что он не сторонник обучения, вы смотрите на тип D.
  9. Спрашивать, какие у него хобби. У хороших разработчиков есть хобби, связанные с разработкой программного обеспечения. Пример (машинное обучение, нейронные сети, компьютерные изображения и т. Д.).
  10. Почему он выбрал эту карьеру? Проверьте, начал ли он программировать только для того, чтобы оплатить свои счета. (Тип D)
  11. Сколько языков он работал, хорошие разработчики работали с множеством языков (A, B, C).
  12. Он лидер? (Наберите "А)
  13. Когда и почему он в последний раз изучал новый язык. Ответ должен быть в течение 2 лет. Хорошие разработчики всегда в курсе.
  14. Английский язык, в какой бы стране вы ни нанимали разработчика, он должен знать английский язык. Если он не знает английского, даже не беспокойтесь. Большая часть документации написана на английском языке, поэтому, если вы найдете разработчика, который не знает английского, даже не беспокойтесь.