В мире существует огромное количество достойных программистов. Ведь программист — это не только тот, кто вызубрил все функции, но ещё и тот, кому смекалка позволяет писать грамотный и работающий код.
Но бывают и ужасные разработчики...
Разница между хорошим и ужасным программистом не так хорошо проглядывается, даже в случае с дизайном (но и там есть свои нюансы). Ведь глядя на арт каких-либо двух людей вы с уверенностью отметите наиболее понравившийся вариант. С разработкой так не получится и дело тут не в коде, а ведь именно он является "оружием" для программистом, а в привычках.
Бороться с вредными привычками – и в жизни, и в работе – очень сложно, но возможно. И необходимо, если вы хотите добиться успеха. Проблема в том, что мы не всегда понимаем, какие из наших привычек – плохие. Тут нужен взгляд со стороны – вот он, пользуйтесь.
«Мой код — самый лучший»
Это самое большое заблуждение кодеров. Старайтесь рассуждать объективно и профессионально. Не судите свысока ни чужой код, не, тем более, свой. Скромность ещё никому не навредила, учитесь у окружающих вас людей во всём. Ведь не существует идеального программиста. Настоящий программист растёт и совершенствуется каждый день.
И запомните:
Любой команде нужны скромные, голодные и смышленые кодеры:
- Скромные — более сосредоточены на командой работе, чем на индивидуальной
- Голодные — хотят всё больше и больше работать, трудится на и во благо команды, стремятся привнести общий вклад
- Смышленые — не просто заучили код, но ещё и понимают его, зачастую более сообразительные и находчивые программисты, чем дефолтные.
Помните, что ваше эго мешает вам расти и развиваться. Когда вы поверите в вашу непогрешимость, вы убьете в себе творца. Когда вы решите, что вам больше нечему учиться, вы остановитесь.
«Я мигом это поправлю»
Не получится. Просто у вас не выйдет. Если вы видите лёгкий путь решения бага в коде — значит вы что-то упустили. Невозможно так просто что-то подправить, если конечно же дело не в синтаксисе.
Одна малейшая поправка в коде повлечёт за собой тысячи новых нюансов.
Ведь эта самая поправка может сэкономить вам несколько минут, дней, недель, но в последствие гарантированно отнимет у вас месяцы или даже годы. Блеснув сейчас, вы рискуете потерять свою репутацию, которую так быстро не заработать.
Срезанный путь хорош далеко не всегда, помните об этом.
«Я всё помню, мне не нужна документация»
«Документация – как секс.
Если она хорошая – это замечательно.
Если она плохая – это лучше, чем ничего.» Дик Брэндон
Под документацией тут подразумеваются комментарии в коде. Программисты ненавидят её писать, почти все. Даже я. И это очень плохо.
Сделайте её необходимой частью вашей работы, ведь, работая на крупную компанию, вам не избежать взаимодействия со своим кодом спустя пару месяцев или даже лет. Так же будут случаи, когда вам в руки будет попадать чужой код. Согласитесь, гораздо приятнее взять свой или чужой код и сразу понять, о чем идёт речь в конкретной строчке. Попробуйте вернуться к своим старым проектам.
Любая команда – образование нестабильное. Люди нанимаются и увольняются, переходят в другие отделы, заболевают и уходят на пенсию.
Никто не любит «незаменимых» программистов, в коде которых невозможно разобраться. Не будьте таким, пишите документацию.
«Это не я!»
Возможно, это утверждение – самая важная характеристика хорошего разработчика.
Всегда можно найти оправдание своим косякам (и мы регулярно это делаем). От плохих программистов часто можно услышать, что корень зла – в клиентах, которые неправильно используют продукт. Ответственность за ошибки перекладывается, перекладывается, перекладывается… и в итоге за нее никто не отвечает.
Не бойтесь сказать «извините, ребята, мой косяк, давайте попробуем вместе исправить его». Это правильный и здоровый подход хорошего специалиста.
Все ошибаются и все это понимают. Чем раньше вы признаете свой промах, тем быстрее он будет исправлен, тем меньше вероятность, что вы его повторите.
«Готово!»
Серьёзно? Ты трудился над проектом пару месяцев и учёл все исходы твоей программы? Вы делаете что-то невнятное на скорую руку, говорите, что «все готово», и идете мирно спать.
Помните: "готово" для программиста и "готово" для пользователя – совершенно разные понятия.
Хороший разработчик стремится узнавать новое, подняться на архитектурный уровень и оценить свое творение с высоты. Он учится разбираться и в частях, и в целом. Он всегда сомневается и критически относится к любому решению – он всегда в поиске идеала.
Плохой разработчик крепко привязан к своей любимой технологии/фреймворку/шаблону. Он выбрал для себя «идеальный» метод, но не задумывается о том, что пользоваться продуктом будут другие люди с другими запросами. Он выбирает инструменты и зависимости «под себя», а не «под проект».
Удачи вам и не забудьте прочитать другие мои статьи)