从事计算机科学领域工作最棒的部分之一就是我们的工作重心是解决问题。虽然我们许多人开玩笑说,不断努力解决问题令人沮丧,但我们这样做是因为没有什么比找到解决方案的感觉更美妙的了。当然,短暂的兴奋结束后,我们又转向下一个问题。
我们希望我们的解决方案是另一个数据点,推动我们成为更成功和更高效的工程师。但是,当我们遇到一个旧问题,一个我们已经解决过的问题,却记不起我们在哪里找到了那一条微小的、帮助我们解决问题的信息时,该怎么办呢?作为一名工程师,有时感觉就像在过着《土拨鼠日》,总是身处一个你明明知道自己以前解决过类似问题的地方。我的解决方案是使用开发者日志。
开发者日志的益处
开发者日志背后的理念是,在执行任务时做相关的笔记可以帮助未来的你。科技行业要求我们不断学习新技术,加深理解,并能够处理对各种工具的快速、一次性使用——这些都是这项工作的一部分。拥有日志可以帮助你记录你的学习成果。即使你只短暂地使用某个工具,下次使用该工具时,能够参考你的日志也可以减少肌肉记忆的丧失并提高你的回忆能力。然而,这并不是它唯一的益处。
爱因斯坦的建议 “永远不要记住你可以查找的东西” 是许多工程师铭记于心的概念。选择不记住某些东西可以腾出我们大脑中的一些空间,以便专注于更宏大的问题。然而,当我们查找东西时,我们正在消耗时间和精力,并将自己从开发流程中抽离出来。开发者日志使我们能够在记住所有内容和每次遇到问题都查找内容之间取得平衡。如果你要查找的内容是用你自己的语言写成的,并且容易访问,那么你作为工程师的生活就会变得更加轻松。
开发者日志的最终益处之一是士气方面。我们往往看不到我们每天的进步;只有当我们回顾一段时间时,我们才会意识到自己成长了多少。拥有成长的物质体现是一件美好的事情。也许你在一年前写下了一些东西,现在不再需要参考了。也许你已经从更简单的任务成熟到更复杂的任务,或者掌握了一项你以前几乎无法理解的技术。开发者日志是你所做一切的绝佳历史记录。
开发者日志的类型
开发者日志是个人化的,但它们通常包含解决方案、笔记、有用的技巧和指向资源的快速链接的混合。因为它们是为了适应个人偏好而创建的,所以它们可以采取多种不同的形式。
例如,它们可以是离线的(例如,物理的、书写的日志)或在线的。数字日志内容可以使用 Markup 或其他工具格式化,或者如果你喜欢,也可以使用纯文本。日志可以按时间顺序或按主题组织。最后,日志可以是公开的或私有的。
使用任何能使你的日志最容易访问和使用,以便记录内容并在需要时找到内容的解决方案。幸运的是,有很多出色的开源工具可以用来帮助你创建开发者日志,例如各种 Linux 日志应用程序、Evernote 风格的应用程序 和 命令行笔记应用程序。
日志中应该放什么
如果你不确定在开发者日志中应该包含什么,请考虑你经常使用或作为参考的资源类型。日志可能包含代码片段或指向存储库中特定行的链接。通常的做法是放置一个指向特别有用的博客文章或教程的简单链接。我最有用的条目之一是关于我用来将固件刷入板子的过程的简要说明。
这里有一个来自我的开发者日志的快速示例。去年,我注意到我经常使用的一个进程会卡住。我总是忘记在终端中手动终止它的命令,所以我把它写了下来。以下是我的日志条目的屏幕截图。它是纯文本的,可以离线使用,并且没有格式化。它很简单,而且对我来说很有效。我的日志的编年史对我帮助很大,因为我倾向于记住我上次需要答案是什么时候,即使我不记得答案。

因此,下次当你因解决了问题而感到欣喜若狂时,请记下一些快速笔记。下次当你遇到真正有帮助的资源时,请复制链接。几乎更重要的是,记下你下次谷歌搜索的简单语法。拥有一份自我整理的文档,其中包含最常应用于你的开发过程的快速查找内容是无价的。随着时间的推移回顾它,并认识到你学到了多少,这是一种额外的奖励。
9 条评论