закрыть

Кандидатам на должность программиста на заметку

По роду своих занятий мне часто приходится собеседовать кандидатов на должность программиста. К сожалению, очень немногие выпускники профильных специальностей ВУЗов да и опытные программисты могут пройти это собеседование. Многие бывают разочарованы плохим результатом и не могут понять, что же мне от них нужно. Но я не скрываю своих требований и открыто пишу в вакансиях компании, чего я жду от программистов.

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

  1. Уверенные базовые знания в области программирования. Увы, но без базовых знаний ООП, конструкций языка программирования, типов данных, понимания принципов работы платформы разработки, говорить о том, что кандидат быстро вольётся в рабочий процесс и начнёт давать качественный результат не приходится. Естественно, это всё, можно хорошо подтянуть, дочитать, доизучать в свободное от работы время (сам через это прошёл), но пока Вы это будете подтягивать, Ваши текущие результаты будут далеки от приемлемого уровня. Лучше подтянуть теоретическую базу до устройства на работу. И Вам и мне будет легче и комфортнее работать.
  2. Желание учиться новому. Мы работаем в быстро меняющейся среде. Языки программирования прогрессируют с большой скоростью. Появляются новые технологии, фрэймворки, библиотеки. Старые — перестают поддерживаться, умирают. Если программист не хочет учиться новому, то он очень быстро оказывается на обочине технического прогресса, перестаёт быть востребованным на рынке, умирает как профессионал. “Мёртвые” сотрудники нам не нужны.
  3. Умение анализировать задачу и планировать работу над ней. Когда я ставлю задачу программисту, я хочу чтобы он понял, что от него требуется. После этого нужно, чтобы он смог объяснить, из каких подзадач она состоит, в каком порядке он их будет делать, какие промежуточные результаты можно будет увидеть, как их можно будет оценить. Если программист говорит: «начну, а там видно будет», то результат его работы не предсказуем. Скорее всего, он сделает не то, не так, не тогда когда нужно. Я хочу, чтобы прежде чем начинать писать код программист думал, как он это будет делать, мог рассказать это. Это очень важно для командной работы и уверенности в результате.
  4. Ответственность. Сложно объяснить, зачем это нужно, если это и само неочевидно. Но попробую: мы работаем в команде, у нас есть Заказчик, у Заказчика есть пользователи, у них могут быть какие-то свои дела, задачи, проблемы, для решения которых нужна система, которую мы делаем. У них у всех есть какие-то ожидания по срокам выполнения проекта, функциям, качеству. Если программист безответственный и может закоммитить неработающий код, или недочитать ТЗ, или прочитать, но сделать по-своему, сделать очевидный дефект и не устранить его самостоятельно, то он подводит всех этих людей. Он создаёт много проблем для всех, кто хоть как-то вовлечен в проект. Такой программист обходится очень дорого. Невообразимо дорого.
  5. Умение самостоятельно находить информацию. Как ни странно, это довольно редкий навык. Мы живём в век информации. У нас есть мгновенный доступ к практически любой информации, но найти ее, понять и правильно использовать могут немногие. Бывает печально видеть, как неглупый человек теряет дни, когда на поиск решения нужно потратить 5 минут. Хороший программист должен уметь пользоваться документаций и интернетом, чтобы быстро находить правильные ответы на вопросы, которые встают перед ним.
  6. Умение решать проблемы. Мы живём в неидеальном мире. Программисту всё время приходится сталкиваться с какими-то проблемами: в библиотеках, которые мы используем, есть баги, не всё сделано понятно и очевидно, существуют разнообразные ограничения. Но нам приходится жить с этим, обходить ограничения, преодолевать сложности. Квалифицированный программист должен уметь делать это сам, не прибегая к помощи руководителя проекта.
  7. Умение общаться с людьми. Выше всех при прочих равных условиях, профессионально и карьерно вырастает тот программист, который умеет хорошо общаться с людьми: доносить свою позицию, задавать вопросы и отвечать на них, объяснять сложности, с которыми он столкнулся, пояснять свое техническое решение. Такого программиста нестрашно отправлять на телеконы с Заказчиком, в командировки. В командной работе с таким специалистом всегда проще.

Эти требования с одной стороны очень простые, но с другой – сложные. После прочтения можно задаться вопросом: «А ради чего мне соответствовать всем этим требованиям? Что я такого получу от работы в «ИТ-Грандс?» Об этом я напишу отдельную статью.

Хотите тоже заказать у нас разработку ПО?

Краткое описание проекта:
1. Интересующий функционал
2. Ограничения по бюджету
3. Пожелания по срокам
Бесплатно оценить проект