2

本文仅用于学习和交流目的,不得用于商业目的。非商业转载请注明作译者、出处,并保留本文的原始链接:http://www.ituring.com.cn/art...

访谈嘉宾:刘传君

图片描述

刘传君,创过业、做过产品、一个爱读书,喜欢分享的程序员。先后在图灵社区出版了《HTTP小书》《Git小书》《Vue.js小书》《Swift iOS开发小书》。


访谈实录:

创业的经历让我无比清晰地认识到,我更愿意把时间花在技术本身

“如果你认为自己可以应对各种不期而来的事件,也有比较强烈的改变世界的动机,那么不妨试试!这次创业的经历让我无比清晰地认识到,我更愿意把时间花在技术本身。”


介绍下自己曾经创业的经历。有哪些感悟想跟其他创业者分享?

那次创业已经是10年前的事儿了。我和一位同样是技术出身的合伙人,一起做了款OA产品。我们计划通过朋友推介的方式推广这款产品,如果客户想要定制的话,我们也不拒绝。但是实际工作中,我们发现销售过程占据了我们更多的精力,而且和客户沟通过程中的模糊需求、关于工期和价格的谈判都令我感到不适。因为我本人还是希望可以有大块的时间专注于技术,所以放弃了这次创业。

创业很有挑战,对个人的综合能力要求很高。什么样的人适合创业是需要评估的。如果你认为自己可以应对各种不期而来的事件,也有比较强烈的改变世界的动机,那么不妨试试!这次创业的经历让我无比清晰地认识到,我更愿意把时间花在技术本身。

目前,从事什么样的工作?

目前,我在一家ERP提供商工作,负责平台开发和新技术研究。和团队一起,我们创造了公司内第一个ERP产品的二次开发平台。这个平台最初只在公司内部小范围使用。2008年“512大地震”时,我带领团队基于此平台的快速交付能力,开发出并在一周内上线了赈灾物资分配系统。随后,公司开始更大规模地基于此平台开发产品。

关注哪些技术领域?

产品开放和技术关注是相辅相成的。目前,我关注Swift、Node.js等技术。

语言的选择很重要。iOS系统的Objective-C语法比较特别,我无法接受。但是,Swift就很有主流语言的样子,并且苹果官方也非常支持它。至于Node.js,我喜欢它的自由开放,会考虑把它作为后台开发语言逐步替换之前的C#。这样的话,未来的产品就可以运行到Linux系统下。在我看来,这可能是ERP开发的技术机会。

业余时间,我也会学习操作系统开发,准备花几年时间做一个“能跑”的系统。

倾慕Unix哲学

“甚至,在写书和写文章的时候,我会认为单行命令远超过若干个截图,简洁可以带来更高效地知识传递。”


您曾说过自己倾慕Unix哲学,可以分享下自己对Unix的理解吗?

是的。我欣赏Unix的极致简洁,还被Unix成功地灌输了不少观念,比如说管道的设计理念,这使得各命令可以非常方便地进行组合。每个命令都专注于特定的功能,组合起来就可以做到多样变化。

甚至,在写书和写文章的时候,我会认为单行命令远超过若干个截图,简洁可以带来更高效地知识传递。我在写《HTTP小书》的时候,不会像大多数人一样使用浏览器发起访问、显示响应,而是尽可能地使用curl命令。前者往往需要截图,一个操作截图就可能需要占用半页篇幅;而命令行可能就是一行命令和几行输出。

常年混迹互联网技术圈,您认为技术人身上有哪些闪光点?存在哪些不足?

我曾经做过地区的.Net技术俱乐部,组织技术人士进行线下的交流。事先,我会征集活动主题和会议地点,然后召集对.Net技术感兴趣的技术人参加。这段期间里,我和微软有了良好的互动关系,一方面传播了技术知识,一方面聚集了不少热心的技术高手,彼此间分享观点、相互支持。

我也常常混迹一些线上的论坛,像是Stack Overflow、SegmentFault、掘金等。因此和很多技术人员有了比较深层次的交流。他们低头做事,专注技术实力的提升,或许沉默寡言,确是专注认真、勤奋上进的典范。

不足的话,少部分人身上是存在的。我曾看到过一些网络论坛上的评论,其中不免有些卖弄、推销或是鄙视他人价值观的,阮一峰的博客上就常常可以看到类似的言论。我在Stack Overflow上也会查找问题,偶尔提些问题和回复问题。在这里,很少存在卖弄或是攻击他人价值观的情况。我希望技术人士能够更加专注问题讨论本身,而不是其他。

有书相伴,时光总是美好的

“农村长大的我,对山水风景很喜爱,对周围的人文则只想躲离。读书可以让我以最低的成本看到外部的世界,给我源源不断地提供新的知识和乐趣。”


您平时酷爱读书,读的书全部是技术书吗?

以IT技术书为主,医学史类也很喜欢看。医学史让我从发展的角度了解常见疾病及其预防方式的来龙去脉,帮助我了解身体的运作方式,做到有意识地爱惜身体,这本身就是很酷的事儿。也会看些历史和地理方面的,小说也有不少。

有哪些钟爱的读书方式?

就是一字一句地读。每当看到有触动或者关注的,就用笔画下来。技术书的话,一定要写代码验证。还有一个“恶习”,就是把认准要读的书封撕掉。因为我喜欢纸的感觉,不喜欢封面的塑料。

有价值的书,要反复读。比如我在研究HTTP的时候,就买了几本一样的书,车上、办公室、家里各放一本。6个月里,写了很多验证代码。

练太极的“读书机器”

“小说《假如明天来临》对太极的描写,让我认识到太极原来可以那么酷!总之,我爱上了太极,并且坚持了下来。”


我们想知道,除了读书,平时还有哪些消遣活动?

听到我每年读50本书的时候,很多人都很惊讶,说我是“读书机器”。农村长大的我,对山水风景很喜爱,对周围的人文则只想躲离。读书可以让我以最低的成本看到外部的世界,给我源源不断地提供新的知识和乐趣。从小就爱读书,它已经成为了我生活中最可信的一部分。

有一段时间,“量化生活”的说法很流行。所以,我就想观察下自己读书的数量,我发现,可以做到每年阅读超过50本的书。有书相伴,时光总是美好的。

除了读书,我有一段时间真就不知道干啥。不看书的话,会散散步、爬爬山。知道不健康,但是不知道怎么改。后来我发了狠,尝试了一些运动。但是,我总觉得是为了解决问题不得已而去做的,所以内心对运动也并不积极。

闲暇时,我看过一本叫作《假如明天来临》的小说。故事里女主角特雷西蒙冤入狱,在狱中不断求生,越狱后惩治恶人,最终走向自由。特雷西被禁闭在狭小的黑囚室的时候,决定练习太极来保持体力。

小说对太极的描写,让我认识到太极原来可以那么酷!总之,我爱上了太极,并且坚持了下来。

坚持写作短小精悍的小书

“因为喜爱读书,我会关注读书的成本问题。我一直坚信,存在一种降低阅读成本并且可以快速入门的方法,这个方式可以由作者把信息更好地组织来达成。”


您曾在图灵社区先后写作了四本电子小书。为什么会坚持写作短小精悍的小书?

因为喜爱读书,我会关注读书的成本问题。我一直坚信,存在一种降低阅读成本并且可以快速入门的方法,这个方式可以由作者把信息更好地组织来达成。

坚持写短小精悍的小书,是因为我有自己的原则。

  1. 关注单一。讲某个问题时,去掉和当前问题不直接相关的信息,一点也不要。

  2. 代码优先于文字。读者可以很容易地把代码跑起来,代码懂了,文字不必看。

  3. 命令优先于截图。能够用命令和它的输出说明的,不要去截图说明。实际上,我在《git小书》里没有添加哪怕一张的截图。

  4. 最佳方案优先。完成一件工作可以有多种方法,首先介绍当前我认为最好的。

电子书的优势是,你在阅读的时候可以直接复制代码来做验证。比如《Swift开发小书》里的代码都是一整段的,读者可以直接复制粘贴到IDE内运行。这样就不必通读全章,然后把分散于多处的代码拼起来去运行。电子书的另外一个好处是,当我觉得我把整本书需要承载的知识都讲清楚的时候,就可以收手,不必为了篇幅的问题而勉强自己。

是否有计划出版一部“大书”?

是的,我也在琢磨出一本厚书的问题,毕竟铅字对我还是有诱惑的。《Swift iOS 开发小书》出来后,我依然在继续Swift的研究。目前,关于Swift的博文也积累了很多。

什么样的技术书是您所推崇的?

我挑书的话,一般会看前言和第一章。如果前言部分有作者自己的感受,而不是仅仅罗列事实,那么我会认为他的文字有温度。如果从第一章的内容就可以看出全书的脉络,我基本上认为作者的架构能力强,组织材料精确。《重构:改善既有代码的设计》就很符合上面的标准。

不符合我的希望怎么办?事实表明,这样的好书总是比较少的,特别是新技术刚刚出来的时候。这时的官方文档常常是唯一的选择。阅读下来确实不容易,有技术本身的障碍,有语言的障碍。硬着头皮看下几章后,也就顺了。有个说法叫作温书,反反复复地看直到把一本冷书变得温暖,回报也就来了。


更多精彩,加入图灵访谈微信!


图灵访谈
3k 声望1.2k 粉丝

对话国外知名技术作者,讲述国内码农精彩人生。你听得见他们,他们也听得见你。