
Разработчики совершают ошибки, причем часто. Я пишу код уже 5 лет, 3 года занимаюсь коммерческой разработкой. За это время я успел обнаружить довольно много типичных проблем, которые мешают программисту развиваться.
Иногда бывает нелегко признать стандартные ошибки в собственной работе, но обратив на них внимание, можно довольно быстро повысить профессиональный уровень.
Я стараюсь писать код осознанно, ищу способы его усовершенствовать и люблю делиться мыслями на этот счет. В этом материале я обобщил свои наблюдения, которые могут помочь начинающим коллегам. Рекомендую обратить внимание на пять самых распространенных ошибок.
Ошибка № 1. Не задавать вопросов
Получив задание, вы хотите немедленно углубиться в написание кода, сделать первый коммит и поскорее продемонстрировать свою эффективность. Через такой период прошли многие программисты, в том числе и я.
Драйв и мотивация — это отлично. Но работая без плана и понимания задачи, вы рискуете всего лишь потратить время и силы. Иногда разработчики боятся задавать вопросы, чтобы не испортить первое впечатление, и стараются решать любые проблемы самостоятельно. Иногда это может закончиться настоящей катастрофой. Задача, на решение которой отведено два дня, иногда остается нерешенной и через неделю. Оценить, сколько времени уйдет на нее после этого, еще сложнее: чем дальше отодвигается дедлайн, тем сложнее обратиться за помощью.
Значит, задавать вопросы, натолкнувшись на препятствие, важно и нужно. Чем раньше, тем лучше.
Ошибка № 2. Игнорировать общую картину
Когда вы сосредоточены на структуре кода, то можете легко упустить из вида общую картину проекта. Начинающие разработчики часто предпочитают не смотреть техническую документацию и работают только в хорошо известной им области. Это может привести к неоптимальным или даже неверным решениям на уровне проектирования и реализации.
Документация нужна, чтобы развеять возможные сомнения. Базовые знания про проект имеют решающее значение для полного понимания требований бизнеса. Профессиональный разработчик должен хотя бы в общих чертах разобраться в сфере деятельности каждого заказчика, чтобы принимать правильные решения. Когда вы работаете в проекте, связанном с финансами, важно понимать, что такое главная бухгалтерская книга или возмещение расходов. В электронной коммерции вы должны знать, что такое воронка продаж и конверсия, в морских перевозках — чем отличаются понятия порт и причал.
Ошибка № 3. Доверять своим предположениям
Неверные допущения при моделировании предметной области могут привести к серьезным проблемам в работе приложения. Иногда из-за них приходится переписывать код, тратить время и деньги, в том числе и заказчика.
Вот только часть неправильных предположений, с которыми мне доводилось сталкиваться:
- системой будут пользоваться в одном часовом поясе;
- сайт не будет отображаться в более низком/высоком разрешении;
- пользователь всегда будет иметь доступ к интернету;
- два пользователя не cтанут одновременно редактировать одни и те же данные;
- пользователь не будет использовать AdBlock.
Вы можете найти намного больше подобных допущений, просто набрав в поиске «заблуждения программистов».
Делать предположения естественно и даже необходимо, и полностью избежать ошибок при этом не удастся. Хорошо, если вы будете иметь это в виду и тщательно изучите проект системы, прежде чем сядете писать код. И не постесняетесь задать вопросы там, где у вас возникают сомнения (см. пункт 1).
Ошибка № 4. Не обосновать решение
Иногда в поисках решения конкретной проблемы вы можете найти подходящий фрагмент кода на GitHub или StackOverflow. Причем такой, который можно просто вставить в собственный код и радоваться, что система функционирует без сбоев. Однако этого недостаточно — вы должны уметь объяснить, почему это решение работает. Копирование кода вслепую может сэкономить время, но потом поставить вас в настолько неудобное положение, что эта экономия не покажется достаточной компенсацией. Я не раз был свидетелем таких ситуаций при проверках.
Способность обосновать каждое решение — надежный показатель профессионализма. Это значит, что вы делаете осознанный выбор и уделяете время тому, чтобы вникнуть в архитектуру приложения.
Ошибка № 5. Избегать ответственности
Готовность отвечать за свои действия — признак зрелости. К сожалению, этой готовности многим не хватает: люди забывают проверить код или выходят за рамки оговоренных сроков работы без каких-либо объяснений. Безответственному разработчику сложно рассчитывать на более серьезные и интересные задачи, так что и перспективы роста для него выглядят крайне туманными.
Заботиться о профессиональном имидже совсем не лишнее. Если вы понимаете, что не сможете выполнить задачу вовремя, сообщите об этом всем вовлеченным коллегам как можно раньше и установите новый дедлайн. Будьте готовы взять на себя более сложные задачи — это подчеркнет ваши ответственность и готовность профессионально расти.
Что делать нужно
Давайте еще раз пройдемся по пунктам и сформулируем простые правила?
- Задавайте вопросы. Способность к самостоятельному решению задач — один из основных навыков разработчика, но важно знать, когда стоит обратиться за помощью.
- Всегда помните об общей картине. Учитесь вникать в суть проблемы и оценивать свою работу с разных точек зрения.
- Проверяйте свои предположения.
- Делайте осознанный выбор и всегда будьте готовы обосновать свои решения.
- Берите на себя ответственность. Будьте верны своему слову и не бойтесь трудностей.
-
11 октября