作为一名程序员,你可能听说过撰写技术博客可以带来诸多好处。鼓励你开始写作的文章数不胜数,而这篇博文、这篇博文也加入了这个合唱。但是,虽然这些建议很可靠,但常常缺少的是如何开始撰写技术博客的旅程。根据我10多年的经验,我想分享一些想法来帮助你入门。
据我所见,许多程序员不撰写技术博客的原因并非他们不想写——而是他们不知道如何回答以下问题:
- 我应该写什么?
- 如何构建我的内容?
- 我应该多久写一次?
- 真的会有人阅读我的文章吗?
- ...
让我们逐一解决这些问题,我希望到最后,你会受到启发,尝试一下写博客。
我应该写什么?
我的许多程序员同事都在苦苦挣扎于这个问题:“我应该写什么?”答案很简单:写你每天都在做的事情。作为一名开发者,你的时间花在编码、调试、测试和研究上——所有这些都可以作为博客文章的绝佳素材。以下是一些想法:
- 安装……指南:无论你是在安装Git、Go、Rust还是任何其他工具,记录安装步骤都可能对其他人非常有帮助。尤其是在你发现安装某些东西并非易事或者在谷歌上难以找到安装方法的情况下。
- 修复……的一个问题:调试是任何程序员生活中很大的一部分。如果你花了数小时或数天时间来解决一个棘手的问题,那就写出来。反思一下哪里出了问题,你是如何诊断问题的,以及你是如何解决的。这不仅对其他人有用,还可以作为个人参考。
- ……是如何工作的:也许你正在研究JWT是如何工作的,或者Base64编码在你的项目中扮演什么角色,或者数据库配置中的字符集如何影响你在提取包含中文的数据时看到的内容。总结你对这些主题的理解可以构成一篇内容丰富的文章。
你不需要写关于突破性想法的文章。写你每天遇到的东西同样有价值,谁知道呢——对你来说似乎微不足道的东西,对其他人来说可能是救命稻草。你可能不会写爆炸性新闻,你可能会写一些破坏性的事情,没关系,也许有一天你会把这些破坏性的事情变成爆炸性新闻。
我该如何写作?
一旦你确定了一个主题,下一个问题是如何呈现它。你不需要写一篇内容详尽的论文或创作出完美的作品。从小处着手。
例如,如果你在你的机器上安装了多个版本的Go,只需记录下步骤即可。如果需要,添加屏幕截图,但不要过于纠结于撰写完美的段落。
另一个例子:假设你在生产环境中遇到goroutine泄漏,并花了几天时间用pprof
调试它。在发现问题是由于通道没有写入,因为读取器提前退出了之后,你可以写一篇关于pprof
如何帮助你识别阻塞goroutine的文章。
写博客最难的部分往往是开始。从小的、易于管理的文章开始,随着你获得信心,你可以处理更复杂的主题,这些主题涉及更深入的见解和分析。
我应该多久写一次?
不要把写博客变成一项苦差事。把它当成一种爱好。你不需要每天或每周都要写文章的KPI。当你受到启发或有一些你认为值得分享的东西时再写。
此外,不要觉得必须一鼓作气完成一篇文章。有时,一篇文章可能需要几天甚至几周才能完成。先记下你的想法,然后稍后再整理和润色。
真的会有人阅读我的文章吗?
不要太担心这个问题。你的首要目标应该是为自己写作——记录你自己的学习和经验。如果你的内容对你来说有价值,那么它很可能对其他人也有价值,你也会逐渐建立起受众。
作为一名面试过数百名候选人的面试官,我发现将你的博客添加到你的简历中比列出你的GitHub个人资料更有影响力。博客展示了你沟通和分享知识的能力,这可能会对潜在的雇主非常有吸引力。
每个人都可以撰写技术博客,而且好处多多。无论是为了你自己的参考,为了帮助他人,还是为了向未来的雇主展示你的知识,都没有理由不开始。为什么不试一试呢?