一. 开发者为什么要写技术文章进行分享
开发者在刚刚进入到岗位的第1年时,我们缺乏的是实际项目经历以及在项目开发过程的协调与沟通能力. 而当我们成为开发之后的第二年之后,就需要去给你自己梳理技术树. 去发现自己的在技术方面的薄弱区. 在开发过程中,也会遇到棘手的需求.在这个火车,我们寻求解决策略,到决定解决方案以及解决BUG的过程都是一次次非常值得分享的经历. 积累的经验和心得,我们会选择用自然语言记录下来,形成文章并在不同的平台上分享. 但是大多数不会去做这样的记录以及分享.
- 记录和备忘
就像刚刚所说,在遇到棘手的需求时, 寻找策略到解决方案的确定以及项目的调优这些过程本身就值得被记录.
我遇到过非常开发者, 不去记录这些过程. 但是在更新简历时, 却无处下手;而且人脑的思考和记忆是有限.
在项目开发进程中,我们大多数开发都会遗忘已经开发完毕的功能板块上所应用的技术. 等到面试过程, 向面试官阐述的过程,就显得磕磕绊绊.
在记录这一次需求解决的过程, 无形中间也是对其他开发者帮助. 因为帮助的累积,你的名气才能得以累积.你只有帮助了别人,别人才会记住你.
- 深入挖掘技术
在项目开发过程, 公司要求的是我们不断输出价值. 面试时,询问你的每一个技术都是在考虑你的价值最大化. 却很少给你时间以及机会去积累你的技术. 开发者的技术和七八十年代的技术工种不一样的地方在于 开发者不是孰能生巧,就代表你技术卓越. 反而如果你做到庖丁解牛的功夫,倒是像是陷入到开发的"舒适区"里.
我们往往需要付出额外的时间来沉淀技术. "费曼学习法"通过输出倒逼输入. 这样的沉淀既是为了后续自己的公司项目输出上带来层出不穷的技术和惊喜也是为了去通过写文章分享,"逼"自己拿出最好的水平,去把要分享的内容研究的更加透彻,并且字字也是斟酌.
- 发现技术缺口
技术分享能给我们带来鲜花掌声以外,常常在文章分享的过程,你可以收到其他的开发的更优秀的解决方案. 这些解决方案是一个人默默琢磨想不到,更是你目前团队无法给予你的.
- 技术应该是开发的态度
我始终相信, 一个人可以走很快,但一群人才能走很远. 如果你对于技术分享的态度是竞争力下降. 这是几乎不存在的狭隘的想法. 相反越是分享,越是对技术开放的人,他的收货越大,成就也会越大.
-
个人名气的提升
目前在iOS技术圈子颇有名气的开发者其实早期都是通过分享技术而出圈的. 例如大家可能都了解的唐巧
(只是举个例,并没有想让唐巧来在为我这篇文章做什么其他作用)
.也是通过技术博客分享. 他早期是做java 开发的,你可以看到java圈子其实要把iOS 早很多. 但是iOS元年能做持续iOS分享的人其实都已经出圈了.名气的提升,可以带来什么. 技术圈子的橄榄枝和知识变现. 大多数书编邀请作者时,都是在各大平台上找到能长期更新有质量文章的博主. 才会开始他的技术书写作. 当然如果你能通过写文章分享走上写书. 你已经是一个非常具有名气的技术博主了.
求职,也是一个非常关键的需求. 在求职的时候,如果在你的简历上附加了博客的内容,往往会得到更高的通过率,因为这样可能会给面试官留下善于总结,深入研究问题的好印象。
二.如何去写好技术文章
- 有计划的输入
写技术文章,并不是单纯的将项目中遇到的技术困难记录下来,进行分享. 如果是这样的,这顶多算一个笔记. 并不一篇好的博客. 要想做到好的技术输入,你首先得对技术是有诉求的. 那怎样去增加输入,给大家几点建议:
- 付费直播/视频学习
- 专业书籍
- 官方文档阅读
- 国外技术网站
- 第三方框架源码阅读
- 优质开源项目研究
- 有规律的输出
大多数开发加班相当严重的职业. 比如996,大小周等.光工作就已经占据了大部分时间. 剩下的时间需要生活. 哪里有时间学习或有时间输出.
其实时间,你想想办法总是能挤出来的. 实际上写一篇优质的博客需要3-5天.你并不着急一天就产出一篇文章. 你用3-5天的时间,每天挤出来1-2小时来完成并且完善是绰绰有余的.
例如,我就比较喜欢利用工作的间隙,打开MarkDown 开始写. (推荐一个MarkDown工具-MWeb 非常好用)
- 成系列的文章分享
为什么要做系列文章分享,一个值得挖掘的技术,不可能通过一篇寥寥几千字的博客说清楚的.一定是需要有一个周期的文章来进行分享.
- 小点怡情
分享技术文章时,其实一篇好的博客只需要解决一个问题就可以了.不用通篇带着开发者走马观花似的看了一下技术. 这样你只是秀了肌肉,而看你文章的人其实收获太少.既然读者交付了10-15分钟时间,你就需要为这10-15分钟反馈读者真正有价值的技术.
- 写做技巧
很多开发不是不愿意写,是想要一次能写好一篇优质文章.觉得写的不好,很丢脸. 如果抱着这样的心思写博客那么你永远也写不好. 那么有什么好的写博客建议;
问题型博客:
- 技术背景
- 问题出现的场景
- 解决的方案
- 总结
技术型博客:
- 技术背景
- 使用场景下的使用方法
- 技术背景底层探索
- 总结
总结
技术博客,是一个成熟开发者都需要去搭建的自我的生态意识完善的过程.当你看着自己曾经的技术博客,如果觉得"写的真的很菜",那么恭喜你,你已经技术进阶到新的高度了.