极客:构建和谐社会?

作为一名程序员,肯定对极客这个词不会陌生。很多人标榜自己具有极客精神,但是观察他们的说话方式,行事风格,其实是与极客精神相去甚远的。但这可能也不能怪他们,也许很多人并不真的了解极客一词的内涵。

极客,又译为技客、奇客,是英文单词 geek 的音译兼义译。原本的俚语是指反常的人。
这个词在“美国俚语”中意指智力超群,善于钻研但不爱社交的学者或知识分子,含有贬义,因为极客常常醉心于自己感兴趣的领域,可以牺牲个人卫生,社交技巧或社会地位(但并不是所有的geek都会这么做)。但近年来,随着互联网文化兴起,其贬义的成分正慢慢减少。
但这个词仍保留拥有超群的智力和努力的本意,又通常被用于形容对计算机和网络技术有狂热兴趣并投入大量时间钻研的人。所以俗称发烧友或怪杰。如计算机怪杰(Computer Geek),技术/科技怪杰(Techno-geek),玩家怪杰(gamer geek)等。
———— 源自维基百科

我对极客的理解非常简单:追求极致。

好吧虽然只有四个字,这个词可是包含了很多东西,发散出来,可以概括很多场景。追求极致,也就是追求更快的速度,更高的效率,更棒的设计,更好的质量等。美剧『硅谷』里有一句经典台词:

Make the world a better place . 构建和谐社会 :)

很好的诠释了追求极致的最抽象话的说法(笑)。为了这些目标,可以想尽一切办法,以期做到更好。换句话说,极客精神就是,不断追求更好。别的行业不太清楚,但在 IT 研发领域,极限编程就是这一精神的体现。

工程师们为了提高产品质量,所以有了 TDD;为了提高协作效率和人工成本,所以有了 BDD;为了追求程序的健壮性,所以有了 DDD。为了追寻极致的效率,工程师们创造了数不胜数的工具,节省了大量的时间,这也是送给世界的巨大财富。

那么,现在说起来,你还会标榜自己是个极客吗?至少我是不敢说自己是一名极客的,只能说自己是向往极客精神的。我也希望有一天自己在重复做一件事情的时候,能够小宇宙爆发,创造出一个强有力的工具,立马给大家节省 N 多的时间精力,那就真的很棒了。不过一时半会可能做不出什么伟大的工具,但至少给自己节省一点时间还是可以做到的:比如多使用 IDE 里面的代码模板(Live Templates),觉得不够也可以把自己经常会用到的代码段贴进去,下一次再用只要敲几个键就出来了,从一次看节省的时间有限,但是从长期来看真的能够省却大量的时间。

腾讯的 Apk 加固服务总是不稳定,所以有的版本需要加固,有的又不加固了,但是之前配置的 Jenkins 是自动加固的,这就导致每次都需要改 Jenkins 的配置,有点麻烦。所以花了点时间把是否加固做成参数可配置,通过重新编写构建脚本来实现勾选加固然后一键打包发布。你要说相比之前我节省了多少时间吧,其实也就一分钟吧,但是构建这个事情以后可是会执行非常多的次数的啊,每次一分钟,很快就能补回我用来编写脚本的时间,再继续下去,就是稳赚不赔啊。

从另外一个角度,我本身并没有学过 shell 语言,写起来确实有点困难,但是最终还是能写出来,并且 work well,这也是个有价值的学习过程吧。

可能写得乱七八遭的吧,主要也就是想表达,将现有重复性工作自动化,是迈向极客的第一步。在此基础上,不断地改进。如果你总觉得工作比较无聊,那么就可以先专心做好自动化,说不定一段时间以后,你就会成为一名自动化大神呢。