Я точно не говорю о устойчивости вашего кода. Но самый большой ментальный мускул, который определяет разницу между неудачей и успехом.
Устойчивость также является очень личным определением. Устойчивость имеет совершенно другой контекст и поведение для врача и спортивного профессионала. Для первых это означает медленный и внимательный подход к лечению пациента, в отличие от более агрессивных и быстрых действий игрока.
Недавно я посетил тренинг Повышение устойчивости, где устойчивость сравнивали с облеганием. Я подумал, что это так подходит к тому, что происходит в жизни программиста. Много раз в начале моей карьеры я отказывался от решения после нескольких часов отладки проблемы и ложился спать, решив обратиться за помощью на следующий день. Но только для того, чтобы вскочить в постели на рассвете с совершенно новой идеей решения проблемы. Много раз эти решения были моими лучшими идеями. Я не говорю, что просить о помощи — это плохо, но прилив энергии и энтузиазма, которые я почувствовал после решения задач, — вот что такое удовольствие от работы программистом. Вы не согласны?
Так как же программист каждый день тонизирует эту умственную мышцу? Мало что приходит на ум.
- Настойчивость в постоянном обучении и внедрении лучших практик. Требуется много самодисциплины и упорства, чтобы продолжать изучать новые языки и/или инструменты. Одна хитрость, которой я научился, заключается в том, чтобы следить за несколькими выдающимися людьми, которые постоянно внедряют инновации, и смотреть, где они проводят время.
2. Способность видеть вещи с разных точек зрения жизненно важна для решения проблемы. Ничто так не отражает эту идею, как это видео. Если отдел контроля качества вашей команды не может правильно определить намерения, как поступит конечный потребитель или программное обеспечение? Стремитесь быть кратким и ясным, чтобы убедиться, что все понимают, что решается. Не уклоняйтесь от второй попытки проектирования и решения задачи.
3. Пытаться разработать лучшие решения, а не жаловаться на текущие проблемы. Чем крупнее организация, в которой вы работаете, тем меньше автономия программиста. Это была моя правда, не уверенная в исключениях. Так что даже с ограничениями всегда старайтесь понять дизайн или придумать лучший в голове/на бумаге. Это развивает нестандартное мышление, которое в основном заключается в устойчивости к инновациям и готовит вас к будущим ролям.
4. Плохой код — это не постоянное состояние. Код можно рефакторить и перепрофилировать. С новыми инструментами и утилитами, встроенными в редакторы кода, удивительно, как одним щелчком мыши можно убрать ручное изменение нескольких файлов, которое было так распространено десять лет назад. Это также помогает при постоянном изменении кода на основе отзывов или экспертных оценок. Рецензирование — это не критика кода друг друга, а ваша система резервного копирования для устранения честных ошибок, и вы обязаны создать такую систему резервного копирования в реальных рабочих условиях.
5. Неудачный код означает, что мы можем сделать это снова с лучшим результатом. Способность честно признать неудачу кода или проекта для себя — это самое сложное, но и самое освобождающее. Чем быстрее мы сможем смириться с неудачей, тем скорее мы сможем выбрать правильный путь решения проблемы или задачи. Но я также не предлагаю объявить миру, что вы потерпели неудачу. Вместо этого вернитесь с доказательством лучшего рабочего решения или дизайна, и именно так мы оправимся от неудачи в реальном мире.
Вывод:-
Никогда не сдавайтесь из-за препятствий на пути к автономности, плохого кода или сложных проблем, которые необходимо решить. Будь водой, которая течет сквозь скалы. Я оставлю вас с цитатой ниже.