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

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

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

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

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