查看原文
其他

我为什么坚持在博客写技术文章

兔纸铲屎官 FCC广州社区 2021-01-11

最近 freeCodeCamp 广州社区主导举办 30 天写作挑战活动,在此我想分享一下我自己为什么会在博客上写技术文章分享给大家。
首先,写技术文章可以帮助自己回顾、总结自己学到的知识。
其实我们用于学习技术知识的时间是碎片化的。即使是软件工程这种“科班出身”的人,在工作中也经常需要接触新的知识,例如针对 Oracle 数据库的强制索引的优化方式、IBM J9 JVM 的 GC 调优、配置 Spring Boot 结合 Dubbo 与携程的 Apollo 配置中心做微服务架构、在 Jenkins 中做版本号控制等等。这些知识很多都只有在你需要用到的时候你才会去学。
如果你想把这些碎片知识沉淀下来,让你和你的团队成员甚至其他人在以后可以更方便地查找到这些知识,那你就需要把这些知识及时地记录下来,就好像你上课的时候听到重要的知识点要及时记学习笔记。
而为了让你和你的团队成员甚至其他人在以后可以更方便地查找和利用到这些知识,你记录这些知识的时候最好还需要将其进行一些整理和归类,这跟你上学时整理学习笔记或者错题集也是一样的。
你需要把内容相近的知识放在一起,例如 Java 的 ArrayList 和 HashMap 的扩容方式你就可以整理到同一个地方,比如叫“Java util 进阶”。而这些知识又可以再跟 Java 的并行并发、Java 的内存管理与 GC 等等知识归到一个更大的类别“Java 知识”里面,与“Git 的使用”“HTTP 协议”“数据库的调优”这些知识区别开。
当你把许许多多的碎片知识整理归类好了以后,你就会形成一个类似教学 / 考试大纲一样的目录,到你或者他人需要查找使用这些知识的时候,就会很容易地找到。

我整理的 Java 进阶知识点


假如这些整理和归类都是你亲自做的,那很可能这个目录你也能记在心里了,你自己在需要运用这些知识的时候(尤其是面试资深的技术岗位的时候)就会有很大的优势。


还有一点就是你写文章来总结学到的知识的时候,很可能会帮助你理清一些你之前其实没弄清楚的知识。例如我在写《如何选择编程语言》系列文章的时候,就发现自己之前对 JavaScript 里是否“一切皆对象”的认识是错误的,自己对 V8 引擎是解释执行还是编译执行 JavaScript 也是不够了解的。


其次,写技术文章可以锻炼和提升自己对技术问题的表达能力。

我发现很多人在问问题的时候,往往不能把问题表达清楚,导致大家需要追问很多问题才能回答。


例如有一个人问了这样一个问题:“远程服务器通过 sxell 下载 mysql,然后我本地连接数据库,常规连接和 ssh 连接有什么区别?”


大家追问了半天才发现,他想问的其实是在本地电脑用 Navicat 连接服务器上的 MySQL 数据库,本地的 Navicat 和服务器的 MySQL 分别要怎样配置的问题。这个就暴露出来很多人对技术问题的表达能力是有待提升的。


而写技术文章往往是要给别人阅读甚至是学习的,这就需要你将一些技术问题表达得清晰明确。


当你能够把技术上的问题表达得清晰明确之后,不仅能在你自己遇到问题时帮助你更快找到解决方法,还能帮你在与团队里的其他成员或者其他人讨论技术问题的时候,让别人可以准确理解你的意思而不会误解你,这对你在团队里的协作或者与他人的技术交流也是有帮助的。

FCC 广州线下活动中,小伙伴们在讨论
最后,写技术文章与大家分享更是能获益。
一来,可以让他人给予意见和建议,纠正自己对技术理解不正确不准确的地方。
二来,当自己的技术文章能帮助到许多人的时候,你自己也就在技术圈子里积累起了口碑和声誉,这对于自己未来的职业发展是很有帮助的。鸟哥、廖雪峰等大佬就是很好的例子。
以上就是我坚持写技术文章的原因,希望大家也能坚持写作或者开始培养写作的习惯,不断提升自己。


欢迎大家在 4 月 5 日前报名参与 30 天写作挑战活动,我们已经陆续收到一些伙伴的报名信息,期待更多人加入。30 天内的写作目标(写一篇还是几篇文章)是由参与者自己确定的,所以大家不用觉得有压力,重在参与。
这个活动采用朋辈互助的方式,以促进作者之间的交流,大家可以借鉴他人的写作经验,比如,如何把一个复杂的技术点向读者阐述清楚,如何引用资料充实文章的内容,甚至是如何克服懒惰坚持做一件事情。



文案 | 兔纸铲屎官

排版 | Miya




freeCodeCamp 广州社区,由爱好者利用业余时间组建的技术社区,为技术爱好者、程序员和产品经理搭建一个交流、提升技术的互助平台。

www.freecodecamp.org

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存