Что такое технический долг? Это издержки в результате следования «по пути наименьшего сопротивления», когда вместо этого следовало бы применить более действенный технический подход.
Прочитайте книжку-другую. (Согласен, призывать «Читайте больше книг!» со страниц книги — не лучший способ донести подобное послание. Если все это звучит слишком очевидно, то скорее всего потому, что так оно и есть.) Посетите конференцию или курсы. Подпишитесь на рассылку. Станьте постоянным читателем блога, а еще лучше — автором. Говорите с другими о том, что вас озадачивает.
Креативные программисты успешно устанавливают связи между предметными областями, а не просто в пределах привычной им сферы программирования
Придание разнообразия означает две вещи. Во-первых, не стоит класть все яйца в одну корзину. Если вы Java-разработчик, прочтите о потоковых моделях на JVM, а также о горутинах в языке Go и о модели акторов, реализованной в Ruby. Представление о том, как многопоточность реализована в других языках, даст вам возможность лучше понять, что́ работает в языке, с которым вы имеете дело, а что́ — нет.
Упражнение Каковы ваши источники новых данных? Когда вы в последний раз активно раздумывали над содержимым этих источников, а не просто бегло просматривали их? Когда вы в последний раз делали заметки? Наконец, когда в последний раз вы эффективно использовали что-либо извлеченное из этих источников?
По существу, творчество — это продукт смешения различных ингредиентов, и я обычно активно ищу эти ингредиенты <...>
дает несколько советов о том, как нарастить силу воли и как избежать ее растрачивания, например, вырабатывать привычки, создавать ориентиры, за которые можно держаться, и преодолевать трудности, ставя перед собой цели.
Дневник Сенеки служил трем основным целям: (1) самоисследованию; (2) сбору и усвоению информации; (3) сохранению знаний
Заметьте, что, восхищаясь творческой работой, мы почти всегда восхищаемся продуктом — конечным результатом всех пролитых потоков крови, пота и слез. Продуктом может стать умный алгоритм или изобретенный паттерн проектирования. (Подобные вещи вызовут восхищение в основном у разработчиков ПО.) А конечным результатом может явиться и целое приложение, которое, в идеале, сочтут креативным ваши пользователи.
Однако творческим может быть не только продукт, но и процесс, предшествующий созданию этого продукта.
Типичный творческий процесс состоит из следующих взаимосвязанных этапов: подготовка, инкубация, озарение, проверка и представление/принятие.