Frog Proger 26 марта 2024

🐛 7 признаков неопытного программиста

Давайте попробуем отделить зерна от плевел и вывести несколько общих признаков, по которым можно определить неопытного программиста.
🐛 7 признаков неопытного программиста

Тотальная запись рекрутов в адепты ИТ-движения бьет все мыслимые и немыслимые рекорды. И за последние несколько лет только ленивый не попробовал войти в эту реку. Кодер, разработчик, программист: названий у профессии много, а суть одна – написание инструкций с использованием определенного набора семантики, которые впоследствии будут преобразованы машиной в нужный функционал. Очевидно, что каждый, кто себя так называет, имеет разный уровень набора личных качеств и подготовленности. Но как отличить зрелого профессионального специалиста от посредственного «вайтишника»? Давайте попробуем отделить зерна от плевел и вывести несколько общих признаков, по которым можно определить неопытного программиста. Поехали!

1. Отсутствие понимания концепций и методологий

Отсутствие понимания концепций и методологий
Отсутствие понимания концепций и методологий

Разработка программы сродни написанию романа. Общая цель, творческий замысел и стиль важнее, чем отдельные абзацы и главы. Однако многие новички, сосредоточившись на написании кода, никогда не задумываются, соответствует ли он парадигмам программирования и методологии, которым они должны следовать (правильные имена переменных, точное приведение типов, четкие определения функций с общими параметрами и т. д.). Да, синтаксически код может быть правильным, но суть и понимание упущены. Начинающие программисты часто забывают, что программирование — это не просто правильное использование языка, а нечто большее. У него более широкая миссия. Им еще предстоит усвоить, что техника подчиняется подходу, а не наоборот.

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

2. Бесконтрольный копипаст

Бесконтрольный копипаст
Бесконтрольный копипаст

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

Бесконтрольный копипаст
Бесконтрольный копипаст

Неопытные разработчики часто грешат написанием лишних комментариев. И здесь необходимо запомнить несколько простых правил их написания:

  • Комментарии должны добавлять ценность или описывать исходную логику, а не разъяснять синтаксис.
  • Если код хорошо написан, ему не понадобится комментарий для рассказа о работе каждой строки.
  • Комментарии не должны быть беспорядочными.
  • Комментарии должны давать новую информацию, иначе это лишний элемент в коде, который зачастую просто игнорируется.
  • Сложная строка кода не нуждается в комментариях, ее нужно реорганизовать или разбить на более мелкие компоненты.
  • Между кодом и комментариями должна быть очевидная связь.
***

Хочешь стать опытным программистом?

🐛 7 признаков неопытного программиста

Стань супермегаопытным программистом на курсах Proglib Academy со скидкой 35% до 1 апреля!

***

3. Имеют проблемы с коммуникацией

Имеют проблемы с коммуникацией
Имеют проблемы с коммуникацией

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

4. Берутся за все задачи сразу

Берутся за все задачи сразу
Берутся за все задачи сразу

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

Получив задание, они сразу же приступают к написанию кода, не полностью разобравшись с ним и не уточнив, правильно ли они все поняли.

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

5. Не учатся на своих ошибках

Не учатся на своих ошибках
Не учатся на своих ошибках

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

Опытность или неопытность разработчика легко определить по его реакции на фидбэк. Если программист испытывает обиду из-за комментариев о своей работе, это явный сигнал его незрелости. И сколько бы он лет ни работал в ИТ, из-за такого отношения ему не достичь значительного прогресса.

6. Неспособность воспринимать критику

Неспособность воспринимать критику
Неспособность воспринимать критику

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

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

7. Нежелание обучаться

Нежелание обучаться
Нежелание обучаться

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

Заключение

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

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ