Как понять хороший ли программист, собеседуя его?
Этот вопрос мне задала моя двоюродная сестрёнка Жамал.
Они с партнёршей Инной помогают маленьким швейным фабрикам перейти от подсчётов на коленке до серьёзных бизнес-процессов, доводя их рост до 10-кратных размеров. И скоро буду нанимать себе первого программиста!
После того как я ей начал отвечать, гуляя с ней по бульвару Эркиндик в Бишкеке, я подумал, что мой ответ может быть полезен многим другим. Особенно, учитывая то, что я работал с программистами таких мест как Google и Google X. А также наш стартап Outtalent уже 5 лет успешно помогает программистам попасть во многие топовые технологические компании - Google, DeepMind, Meta, Microsoft, Apple, Amazon, Palantir, и многие другие.
Так вот. Вот моё мнение...
Во-первых, хороший программист любит программировать.
Он не зациклен на одном языке программирования или на одной технологиии и любит пробовать новые технологии.
Из-за этого, он уже перепробовал много разных технологий и видит общие похожие закономерности в них.
Хороший программист глубоко понимает технологии. Настолько глубоко, что он может их максимально простым языком с любой стороны объяснить их непрограммисту. Это, конечно, включает в себя также и навык объяснения, который я считаю важный для хорошего профессионала.
С хорошим программистом кажется, что всё легко можно понять, а ты гений. С плохим программистом кажется, что он гений, а ты тупой.
И все вопросы твои тупые, и то, что ты не понимаешь его объяснения значит, что ты тоже тупой. 😂
В общем, вы поняли.
С хорошим программистом много чего легко. Перейти на новую технологию. Добавить искуственный интеллект. Добавить мобильную версию. Итп. Итп. Тут просто вопрос приоритетов и фокуса. С плохим программистом почти всё сложно. У него очень узкая специальность. Шаг влево, шаг вправо - расстрел.
Кроме этого, думаю, очень важно узнать, чего программист реально добился. Где используются его технологии? Кто использует их? Сколько человек? Тип клиентов?
Вы можете увидеть насколько это релевантно для вашего проекта или просто насколько впечатлительно.
Часто сложно определить, что сделал именно тот программист, кого вы собеседуете, так как в проекте часто участвуют несколько программистов и собеседуемый очень даже может преувеличивать. Тут советую спрашивать детальные вопросы о принятии ключевых решений в создании технологии. Идти максимально глубоко и широко насколько это позволит время. Если программист не сам делал то, о чём говорит, то это должно стать довольно ясным во время интервью.
Честно признаться, даже меня один раз похожим способом инвестор поймал, когда я чуть преувеличил в разгаре своего питча ему.
В итоге, я признался, что преувеличил. 😂
В общем, я думаю этого краткого руководство для начала должно хватить для большинства непрограммистов. Когда люди подают в Outtalent мы, конечно, намного больше спрашиваем.
Интересно будет услышать ваши отзывы и вопросы об этом.
И потом возможно дополню или обновлю своё мнение.
С любовью,
Тилек
Этот вопрос мне задала моя двоюродная сестрёнка Жамал.
Они с партнёршей Инной помогают маленьким швейным фабрикам перейти от подсчётов на коленке до серьёзных бизнес-процессов, доводя их рост до 10-кратных размеров. И скоро буду нанимать себе первого программиста!
После того как я ей начал отвечать, гуляя с ней по бульвару Эркиндик в Бишкеке, я подумал, что мой ответ может быть полезен многим другим. Особенно, учитывая то, что я работал с программистами таких мест как Google и Google X. А также наш стартап Outtalent уже 5 лет успешно помогает программистам попасть во многие топовые технологические компании - Google, DeepMind, Meta, Microsoft, Apple, Amazon, Palantir, и многие другие.
Так вот. Вот моё мнение...
Во-первых, хороший программист любит программировать.
Он не зациклен на одном языке программирования или на одной технологиии и любит пробовать новые технологии.
Из-за этого, он уже перепробовал много разных технологий и видит общие похожие закономерности в них.
Хороший программист глубоко понимает технологии. Настолько глубоко, что он может их максимально простым языком с любой стороны объяснить их непрограммисту. Это, конечно, включает в себя также и навык объяснения, который я считаю важный для хорошего профессионала.
С хорошим программистом кажется, что всё легко можно понять, а ты гений. С плохим программистом кажется, что он гений, а ты тупой.
И все вопросы твои тупые, и то, что ты не понимаешь его объяснения значит, что ты тоже тупой. 😂
В общем, вы поняли.
С хорошим программистом много чего легко. Перейти на новую технологию. Добавить искуственный интеллект. Добавить мобильную версию. Итп. Итп. Тут просто вопрос приоритетов и фокуса. С плохим программистом почти всё сложно. У него очень узкая специальность. Шаг влево, шаг вправо - расстрел.
Кроме этого, думаю, очень важно узнать, чего программист реально добился. Где используются его технологии? Кто использует их? Сколько человек? Тип клиентов?
Вы можете увидеть насколько это релевантно для вашего проекта или просто насколько впечатлительно.
Часто сложно определить, что сделал именно тот программист, кого вы собеседуете, так как в проекте часто участвуют несколько программистов и собеседуемый очень даже может преувеличивать. Тут советую спрашивать детальные вопросы о принятии ключевых решений в создании технологии. Идти максимально глубоко и широко насколько это позволит время. Если программист не сам делал то, о чём говорит, то это должно стать довольно ясным во время интервью.
Честно признаться, даже меня один раз похожим способом инвестор поймал, когда я чуть преувеличил в разгаре своего питча ему.
В итоге, я признался, что преувеличил. 😂
В общем, я думаю этого краткого руководство для начала должно хватить для большинства непрограммистов. Когда люди подают в Outtalent мы, конечно, намного больше спрашиваем.
Интересно будет услышать ваши отзывы и вопросы об этом.
И потом возможно дополню или обновлю своё мнение.
С любовью,
Тилек