最近读到 Kevin Kelly (KK) 的一段话,深有感触:
Separate the processes of creation from improving. You can’t write and edit, or sculpt and polish, or make and analyze at the same time. If you do, the editor stops the creator. While you invent, don’t select. While you sketch, don’t inspect. While you write the first draft, don’t reflect. At the start, the creator mind must be unleashed from judgement.
放在作为软件工程师的自己身上,creation 就是 building applications,improving 就是 refactoring and algorithms。我们常常讲不要过度优化,那是在宏观的设计层面。而在具体的实现过程中,也不该太在意代码的优化,否则会妨碍自己的创作者思维,拖累从 0 到 1 这个最重要的里程碑的进度。
这并不是说要刻意写出丑陋和低效的代码,而是顺应自身当前的代码素养,不额外付出抛光打磨的精力。维持创造者思维的惯性,专注在将脑中的想法转变为可工作的最小实现的过程中。完成实现后,我们再切换到评审者思维,去重构和优化代码,提升工程能力。这样两件事情都可以做得足够专注、高效。
KK 的个人网站有个名为 LIFESTREAM 的页面,上面是他日常想法的记录和分享。发现这个页面后,我很受震撼。在我的刻板印象中,像 KK 这样的当代著名作家,书籍是一般人了解他思想的唯一途径,他应该生活在自己封闭的圈子里,所见所闻都与我们有着巨大的差异。
如今我发现,他也有自己的互联栖息地,并且持续地保持着与开放世界的信息交换。LIFESTREAM 有时一天两更,有时三四天一更,这位 70 岁的老人有着超过年轻人的旺盛好奇心和创造力。
我非常钦佩 KK,不仅是因为他的思想,更因为他在身体力行的告诉我,什么是一个纯粹的创作者,和一个取悦自己的灵魂。