QCon2016全球软件开发大会随笔(三)

今天是QCon2016的最后一天,我就不说天气了,反正比武汉好。照例上两张图吧。

奥林匹克公园1 奥林匹克公园2

今天一共44场演讲,使用和昨天一样的 10M听课法 听了8场,对我有意义的列在下面(按时间排序)。

  1. 移动端 IM 开发如何拥有 SaaS 级体验
  2. 架构选型之道:如何选择靠谱的 Javascript 应用架构?
  3. Facebook 的项目开发流程和工程师的绩效管理机制
  4. Rust 语言的核心优势和核心竞争力
  5. 见微知著,技术人如何选择靠谱的合伙人?
  6. 老树新花——Lua在聚划算App动态化中的应用

编号为1的演讲者是一个提供IM级别云服务的厂商。碰巧他们的服务我也使用过,就是融云。虽然由于各种原因我们改用了其它的服务,但这次的演讲的确是很精彩的。融云技术副总裁杨威在演讲中分享了低延迟的IM服务的协议选择、服务器优化和版本迭代中的宝贵经验。看得出很多经验都是在一线开发中积累下来的。杨威在演讲的时候抛出了很多语录级别的句子。例如:“程序员要像产品经理一样思考,产品经理则要像COO一样思考”;“让程序员交流的最好方式,就是不要交流“;“快速迭代是互联网精神,正确迭代是开发者的服务精神”等等。这些句子很值得深思。

和某厂商派了个副总像没吃饱饭一样讲满45分钟但却啥也没说比起来,杨总太厚道了。我是实在听不下去才换场次听杨总的报告的,后来和听完那场没吃饱饭报告的哥们印证,我的10M听课法还是相当管用的。

编号为2的演讲者是Dojo的作者之一Dylan Schiemann。老外的演讲深入浅出,看起来好像都是你完全知道的道理,但仔细琢磨起来好像还是他讲的比较有道理……恩,就这么回事。该演讲的内容主要是分析了目前的Javascript生态,从Dart/TypeScript/CoffeeScript/ES6/ES7讲到对目前如火如荼每年火一个的Javascript框架的选择。当然最后的结论依然是选择最适合你的选择这种烂大街的理论。这类演讲者的高明之处就在这里,虽然是烂大街的理论,但你听起来就是觉得:嗯,好像是有那么点道理。

Dylan Schiemann

不过我能不能吐槽一下QCon的同声传译同学。本来听英文能听懂一半儿的,为啥听了你们的口译之后就完全听不懂了?

编号为3的演讲主要内容是Facebook的工程师文化,绩效制度和薪酬体系。这中间有非常多值得参考的地方,干货极多。例如Facebook使用的是OKR而不是KPI,使用360 PerfReview 并允许员工自行决定是否公开4种不同的Review类型等等。历年统计居然有85%的公开率。这意味着大多数的互相评价都是能被所有人看到的。Facebook的权限也非常open,所有工程师都能看到所有的代码和公司的运营报表。当然,这种开放的文化并不是一朝一夕形成的,而是长期以来不断努力的结果。

Facebook OKR Facebook 360review

Facebook的CodeReview文化也很有趣。每个人的代码只需要一个人Review就可以进入master主库,如果上线产品出现了问题,不会扣钱也不会批评,通过 git blame 把出现问题的代码的提交者和review者找出来,把代码打印出来挂在墙上供人参观。呵呵!

Facebook open culture

编号为5的演讲提到了合伙人问题。演讲者是5次创业的徐凯强,也曾经是一个技术合伙人。总结的4点相当精到,能早看到就好了。

靠谱的合伙人

编号为6的演讲者提到了Lua的使用。聚划算使用Lua开发了一套LuaViewSDK,在iOS和Android中使用了Lua来调用Native的API实现高性能的界面展现。这样的实现比HTML5的性能要高出不少。他们在Native的Bridge层面统一了iOS和Android的API,然后完全使用Lua语言来开发。这和ReactNative的实现方式是类似的,但Lua的引入更符合C++等传统程序员的习惯。我在场提了几个问题,发现他们的确在Lua方面颇有研究。实在是没有想到阿里巴巴还居然还真有使用Lua开发App的团队。LuaViewSDK可以在 Github 中找到。

总算是在火车上把这篇写完了。左边右边的熊孩子把我闹腾得不轻。中国移动的信号在火车上还算稳定。

在火车上居然能搜到这么热点,这是几个意思?

wifi hotpoint

周末愉快!

(全文完)