常人眼中的程序员往往是闷骚的,他们总是有加不完的班,他们只会默默的写代码,他们也不怎么发表什么意见,偶尔发声也只是一些抱怨或者自嘲。
我认为我自己还是一个很典型的程序员,上班写代码,下班有时也会去验证一下自己的想法,去做一些原型实现。同样,作为一个典型的程序员,我也有程序员的通病——懒,懒得去触碰自己不擅长的领域,比如写作。
对于大部分是理工科出生的程序员来说,写作可能是从学生时代起的短板。就拿我自己来说,从小就不是很擅长写作文,尤其是叙述文,写着写着就成了流水账。
从上个季度开始,我抱着试试看的态度,我在在博客园上发表了第一篇比较正式的博客——个人十年程序员的经历,没想到引来了几千的阅读量和首页的推荐位,也有十几位博友给我发了回复。从此激励我写作的热情。我在短短一个多月的时间里发表了近十篇文章。
我为什么会坚持去写文章呢?除了文章发表后带来的“虚荣心”的满足,我切实的感觉到写作给自己带来的益处。
提高表达能力
作为一个程序员,你是否有以下的体验?
- 发邮件的时候老是觉的自己啰嗦?
- 在Code Review中无法辩过同事?
- 做出来的PPT总是虎头蛇尾?
- ……
程序员在理解吸收能力上有天然的优势,因为计算机技术的宽泛性,程序员可能需要学习不同的编程语言、框架、工程,锻炼出可以迅速理解并转化应用的能力。但与之同时,表达能力却是很多程序员所欠缺的。
我自己便是一个典型的例子,在工作后经常碰到以上的场景。每次隔一段时间去反观自己之前写的文字,都会觉的这样那样的不合适。
就我个人的感觉,在表达上长犯的错误有:
- 文不对题 —— 明明自己想要说的是A,但是却说成了B。
- 轻重不分 —— 没有抓住重点,而只是说一些边缘性的不痛不痒的点。
- 重复逻辑 —— 列举了好几点理由,但实际上好几条本质上是重复的。
之所以自己写出来的文字会有以上的问题,本质上在于自己的文字仅仅跟随了自己的思维。我是在用生活中和别人说话的方式来写文字。文字再精炼的大师,在生活中也会说废话。
发布在公共的平台上的写作,因为自尊心的缘故,希望可能有一个好的“卖相”,这样自己会更加注意逻辑和行文上的通顺,反复修改。日复一日,你会形成自己一套觉的比较舒服的写作风格。
直到现在我的文字能力还是很稚嫩,一眼望去文章中还是会有这样那样的语病,不通顺的地方。但是我还是会坚持的写下去,因为我相信,总有一天,业余的写作经历会提高我的表达能力。
逼迫自己学习
写作也是逼迫自己完善知识体系的过程。
程序员的学习大部分是比较“功利”的,比如今天需要在工作中用到MySQL,就去网上查一下MySQL的语法;明天又要用到CSS,也会去临时抱佛脚看看CSS的文档。
长此以往,在我们的脑海中,会保留着很多的技术碎片,这些碎片会给人一种“我懂的很多”的感觉。但是不成体系的知识始终像无根的浮萍,不足以能够形成自己的“领域知识”。
比如你在工程中有一次MySQL调优的经历,想要分享出来。面对你的同事,你可以跳过MySQL的底层知识侃侃而谈,说你是如何利用EXPLAIN语句一步一步找到INDEX的最优使用。但是当你真的去写作发布到公共平台的时候,你的受众一下子变成了平台上的所有用户,可能有些人对MySQL查询的底层实现并不是很清楚,于是你需要从MySQL的执行引擎讲起,将这个故事讲完整。
当你尝试去讲这个完整的故事时,你常常会发现自己其实并没有那么了解MySQL,MySQL的底层存储结构,执行引擎里对常用查询语句有哪些优化等等这些知识点,你甚至完全不了解。于是为了将这个故事去将完整,你需要付出额外的努力,去补全自己缺漏的知识,以达成完成文章的目的。
就拿写这篇文章为例,我去查看了以下的知识点
- 表达能力的定义
- 常见表达错误的原因
无形中,在写文章之外,我为自己补全了一些知识,这甚至超过了将文章写出来发表本身的意义。
营销自己
Linus Torvalds说,"Talk is Cheap. Show me the code.", 被很多程序员挂在口中,奉为座右铭。很多程序员认为提高自身技术水平才是硬道理,而宣传自己完全没必要。
提升自身水平当然是硬道理,但是首先,我们不得不承认自身水平的提升不是一蹴而就的,它需要常年累月的积累。而我国程序员数量的庞大,使得马太效应(Matthew Effect)非常的明显——有名的程序员越来越有名,没有名气的程序员越发默默无闻。
现在,我们可以在网上看到很多程序员留下来的文字,技术博客更是无数。但是实际上,在网络上留有文字的程序员占整个程序员群里的比例却并不大。你可以观察一下,来公司面试的程序员中有多少人的简历中留下个人技术博客的地址,并且真正的有一定量的产出?至少在我面试过的程序员当中,这样的人凤毛麟角。在这样的情况下,事想一下,如果有一位应聘者,他有技术博客,并且还发表了一些不错的见解的文章,事想一下作为面试官你会不会对他刮目相看,无形中这位面试者的印象分就会大大提高。
所以,对程序员来说,在本职工作上的发挥是“场内锻炼”,而在公共平台上对自我的宣传则是“场外作弊”。“场内锻炼”是本分,是基础,但是“场内锻炼”的曝光度和被认可度一旦跨越公司(跳槽),将会大打折扣。而“场外作弊“则不会因为你的跳槽也褪色,甚至它还有一定放大的效应。
所以,对我来说,开始写作是我对自己个人品牌的投资。在短短的一个多月中,我达成了以下的成就:
- 今年5月底我发表了第一篇正式的个人博客,获得首页推荐位。
- 6月初连续两天两篇博客得到博客园的首页推荐位。
- 在这之后,收到了某大学出版社编辑的站内信联系合作写书的意向。
- 6月中旬发表一篇博客之后,收到了《脚本之家》公众号的投稿邀请
- 7月初成功在《脚本之家》公众号发稿,并即将收到首笔稿费。
写出以上这些并不是想炫耀什么,因为我相信很多和我一样有一定工作经验和自己感悟的程序员都可以做得到,但是“做得到”和“去做”是0和1的本质差别。虽然写到现在我也没有给自己增加多少流量,但是我相信如果我坚持下去,总有一天我会创造出自己的品牌。
最后分享一下我今年来感悟最深的一句话:
“种下一棵树最好的时间是十年前,其次是现在。”
本文作者:ChaosYang,在海外的互联网开发者,以创业为目标的全栈程序员。
声明:本文为 脚本之家专栏作者 投稿,未经允许请勿转载。