8 признаков плохого программиста
Какие качества и профессиональные недоработки отдаляют от работы мечты? Разберемся подробнее, как представители IT-компаний и рекрутеры распознают плохого программиста.
Неумение писать код на листке бумаги
Игорь Зиновьев, технический директор компании «Дисциплина»:
«Любой разработчик обязан уметь писать код на листе бумаги. Этот критерий не поможет вам найти хорошего разработчика, но отлично покажет плохого. Если перед вами человек с красивыми должностями в резюме, но он не может написать простой алгоритм на бумаге, то лучше с ним не связываться».
«Все виноваты, кроме меня»
Александр Нинбург, генеральный директор сервиса «Нимбл»:
«Плохой программист — тот, который за время работы не довел ни один из предыдущих проектов до конца. На все вопросы о причине фейлов он ответит про то, что ему давали непонятные задания, объясняли их недостаточно подробно, и в целом неправ кто угодно, но не программист. Такие люди много говорят не по делу — отвечая на вопрос, они далеко уходят от темы, даже если ответ был корректный».
Неинтересный рассказ о работе, нежелание самостоятельно искать ответы и неструктурное мышление
Евгений Карюк, исполнительный директор компании «Биплан»:
«Когда специалист не фанатеет от своего дела или без энтузиазма делится всеми деталями, это сразу заметно и говорит о многом. Вряд ли вы потом увидите кропотливую работу над кодом, а следовательно, обрадуетесь его итоговым результатам.
Когда специалист задает много вопросов, вместо самостоятельного поиска ответов, ничего хорошего ждать не стоит. Программисты должны уметь правильно формулировать мысли и грамотно излагать свои требования. Структурное мышление — характерная черта для настоящих профессионалов своего дела, которая сразу бросается в глаза непросвещенному человеку».
Отсутствие самодисциплины
Антон Захаров, технический директор профессионального хостинг-провайдера .masterhost:
«Ключевым в работе программиста является самодисциплина. Регулярность и усердие в работе раскрывают творческий потенциал программиста, а его работу над любым проектом делают предсказуемой. Также ключевым качеством отличающим его от „кодера“, является умение обладать системным мышлением и понимать желание заказчика, находя взаимовыгодные и практичные решения поставленных задач.
Для того чтобы распознать плохого программиста, можно обратить внимание на несколько базовых вещей, которые являются следствием нехватки дисциплины: отсутствие каких-либо базовых навыков в построении алгоритмов, а как следствие — отсутствие понимания, как сделать код читаемым для других разработчиков. Дисциплина программисту также необходима для того, чтобы поддерживать код проекта на необходимом уровне актуальности и чистоты, так как это тоже влияет на скорость внесения нового функционала».
Впадание в крайности
Николай Степанов, директор департамента разработки ПО «Лестэр ИТ»:
«Помимо простых формальных критериев, которые позволяют вычислить плохого программиста (незнание и непонимание базовых алгоритмов, избыточность при написании кода и просто отсутствие способностей), есть пара свойств личности, крайние степени проявления которых заставляют отнести программиста в разряд плохих даже при наличии хороших знаний и опыта:
Уверенность в себе и своих действиях. Когда ее слишком много, человек влегкую затирает чужой неправильный код, даже не разобравшись в том, что собственно он делал и где ошибка. Далее пишет с нуля, не задумываясь о последствиях. Если такого супер-героя поймать за руку на его ошибке, обидится и будет пытаться всячески скинуть с себя вину. Обратная ситуация — отсутствие уверенности в себе, грозит неспособностью работать автономно. Такой сотрудник, даже имея полный карт–бланш на принятие решения, всеми силами возвращает ответственность обратно руководителю с помощью бесконечных согласований. Когда же ему достается исправление чужого кода, он не может набраться сил удалить его, а только комментирует, а потом еще комментирует куски уже своего кода, и в результате со стороны уже и не понятно где старый код, а где комментарии к новому.
Отношение к новому. Любовь в крайней степени — это бесконечные новые технологии, библиотеки, прочие фичи и уверенность пифии, что они в секунду решат все задачи. Хотя чаще они используются однократно, встраиваются долго и, вообще, несут с собой массу проблем для программного комплекса в целом. Обратная ситуация — программист пишет тысячи строк кода, используя только те методы, которые он знает сто лет, не желая оглядеться вокруг, изучить появившиеся новинки, даже если они ему доступны без накладных расходов».
«Не люблю Ruby, на нем пишут только дураки»
Катерина Гаврилова, генеральный директор IT рекрутингового агентства DigitalHR:
«Иногда плохого разработчика можно узнать с полуслова. Например, когда он объясняет, почему не хочет с технологией какой-то работать. Как рекрутеры, мы не разбираемся в технологической части, но в главном посыле ответов кандидата сможем:
— не люблю руби, так как на нем пишут дураки — плохо;
— не люблю руби, так как (и говорит что-либо про синтаксис и прочее) — хорошо».
Вывод
Умение писать код на листке бумаги, способность признавать свои ошибки, увлеченность работой, самостоятельность в принятии решений поставят вас выше среди прочих претендентов на вакансию. Не стоит впадать в крайности, проявляя чрезмерную уверенность или неуверенность в себе. Нужно развивать структурное мышление, самодисциплину, учиться аргументированно и понятно отстаиваить свою точку зрения — ведь в любом случае придется контактировать с людьми.
Будьте хорошими программистами: профессия «Веб-разработчик».