5 ошибок (начинающих) разработчиков

18 сентября
Петр Мачларц, .NET-разработчик, DataArt, Люблин
5 ошибок (начинающих) разработчиков
Разработчики совершают ошибки, причем часто. Я пишу код уже 5 лет, 3 года занимаюсь коммерческой разработкой. За это время я успел обнаружить довольно много типичных проблем, которые мешают программисту развиваться.

Иногда бывает нелегко признать стандартные ошибки в собственной работе, но обратив на них внимание, можно довольно быстро повысить профессиональный уровень.

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

Ошибка № 1. Не задавать вопросов

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

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

Значит, задавать вопросы, натолкнувшись на препятствие, важно и нужно. Чем раньше, тем лучше.

Ошибка № 2. Игнорировать общую картину

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

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

Ошибка № 3. Доверять своим предположениям

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

Вот только часть неправильных предположений, с которыми мне доводилось сталкиваться:

  • системой будут пользоваться в одном часовом поясе;
  • сайт не будет отображаться в более низком/высоком разрешении;
  • пользователь всегда будет иметь доступ к интернету;
  • два пользователя не cтанут одновременно редактировать одни и те же данные;
  • пользователь не будет использовать AdBlock.

Вы можете найти намного больше подобных допущений, просто набрав в поиске «заблуждения программистов».

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

Ошибка № 4. Не обосновать решение

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

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

Ошибка № 5. Избегать ответственности

Готовность отвечать за свои действия — признак зрелости. К сожалению, этой готовности многим не хватает: люди забывают проверить код или выходят за рамки оговоренных сроков работы без каких-либо объяснений. Безответственному разработчику сложно рассчитывать на более серьезные и интересные задачи, так что и перспективы роста для него выглядят крайне туманными.

Заботиться о профессиональном имидже совсем не лишнее. Если вы понимаете, что не сможете выполнить задачу вовремя, сообщите об этом всем вовлеченным коллегам как можно раньше и установите новый дедлайн. Будьте готовы взять на себя более сложные задачи — это подчеркнет ваши ответственность и готовность профессионально расти.

Что делать нужно

Давайте еще раз пройдемся по пунктам и сформулируем простые правила?

  1. Задавайте вопросы. Способность к самостоятельному решению задач — один из основных навыков разработчика, но важно знать, когда стоит обратиться за помощью.
  2. Всегда помните об общей картине. Учитесь вникать в суть проблемы и оценивать свою работу с разных точек зрения.
  3. Проверяйте свои предположения.
  4. Делайте осознанный выбор и всегда будьте готовы обосновать свои решения.
  5. Берите на себя ответственность. Будьте верны своему слову и не бойтесь трудностей.