是的,离开之后我就去了那家名字和火箭有关的外企,这个火箭公司开发了一套分布式的软件平台,名字不能提,因为老外的版权意识太强。我曾经的一位同事都移民到加拿大去了,只是在自己的开源项目引用了一点平台文档,结果被一纸法院传票追杀到异国他乡,而且直接导致这个同事的上司被辞退。 这家公司给我留下的财富之一就是见识了什么是真正的分布式开发平台。他们的平台技术架构很强悍,是由很多年纪一大把的老程序员(据说是制定CORBA标准的牛人)开发的,代码简洁优雅,我一边像读诗一样阅读他们的代码,一边感慨此生写不出如此优美的程序!他们底层用C,中间层用Python,上层用Java,还构造了自己的通讯协议和运行在各个节点的服务,形成了一套完整的架构体系。在使用这套平台的过程中,我学到了很多从书里很难学到的东西,当然我也为他们修复了很多bug。 在和这些资深老外程序员交流的过程中,我还学会了如何提问。如果你想提交一个bug,那你应该说明这些内容:什么情况下会出现这个bug,为了解决这个bug,你做了什么尝试,你觉得引发这个bug的原因可能是什么。然后还要把所有的log,crash,dump之类的文件都给他。详情可以参看“如何提问”这篇文章。很多人提问的习惯不太好,比如有人说:内存溢出了,怎么办?上下文都没有,我怎么知道怎么办! 在这家公司我还知道了,国外公司的老程序员远远多于国内,很多程序员都四五十岁了,有的级别和VP一样,但依然在编程。他们只是不需要去经营公司而已,他们做架构、编程、咨询、写书,每样都做得非常棒。 中间你在洪恩时的小伙伴有没有召唤你? 在这期间有一天池宇峰给我打电话,说,我们开始做游戏了,你回来吧。我当时那个团队里的很多人都回去了,但是我对网游的前景看不清,另外对做游戏这件事已经没有太大的兴趣了,所以委婉的拒绝了池宇峰的邀请。之后他们有一段时间确实很艰苦,打拼了几年,我当时还开车找这些小伙伴吃饭,他们骑的是破自行车。后来人家终于熬出来了,就开着奥迪A6来找我了,还是2.8L的(笑)。 冷静的思考一下,一家公司成功了,真正重要的是你在这家公司起到了多大的作用,如果你没去,人家成功了,那你还去干嘛呢? 之后你怎么又回到了用友的? 在我离开用友软件工程两年后,有一天公司的业务负责人找我,说第一任技术主管走了,第二任也走了,想让我回去。我想,洪恩没回去,要不这个就回去吧。外企也见识过了,确实没有太大意思,于是就回去了。现在这家公司已经改名叫瑞友科技了。 刚回去的时候还是挺艰难的。我去的平台部就只有三个人了,还都要离职。我开始重建团队,不仅要自己写程序,还要招人,还要帮助项目组解决问题。当时的所有项目都需要用我们研发的软件开发平台,压力特别大。以前平台部的人过于技术化,和其他项目组的关系搞得特别僵。技术人员的想法就是:我做出这个开发平台,你们爱用不用,不用拉倒。结果项目组就会投诉,恶性循环。我刚去的时候,很多问题没人解决,比如一个给客户做的实时业务系统,有个问题就是每天凌晨都要手动重启一下,否则系统第二天就可能宕机,这个问题困扰了项目好几个月,我去看了一下,其实问题很简单,原来是一个线程池的使用出现了问题,稍稍修改一下问题就解决了。 慢慢地,我把这些问题和关系都捋顺了,后来就开始做自己一直想做的平台产品,再后来公司成立了 IT 应用研究院,我开始负责公司的整体技术发展,目前我们做的产品在研究院的网站上都有介绍。 我从2006年回到瑞友科技,一直工作到现在,也算是公司的元老了,我主导研发的产品GAP平台服务了成百上千的企业客户,我的很多代码还跑在客户的服务器上,这是我比较开心的事情。当然,期间还有很多好玩的事情,以后我再和大家说吧。 成为Mac君 “大家提的问题多是Mac相关的,但也有问职业发展阶段的,问如何选择的,还有,问姻缘的。” 怎么开始使用Mac的? Mac我用的不算晚也不算早,大概是2008年开始的。之前还是Windows和 Linux用的比较多。我在洪恩和那家外企的时候大部分时间是在Unix和Linux下工作,所以对Linux环境、Shell、Vim这些都比较熟。我在08年的时候买了一台MacBook Pro,开始了我的Mac生涯。我个人使用电脑对软件环境的要求比较高,就像普通人开车就是开车,玩车的都喜欢把跑车改造成战斗机。Mac就是电脑里的跑车,还特别容易改成战斗机,尤其适合程序员使用,我自己越用越顺手,就经常和我们的开发人员说,这个东西特别好用,很多程序员需要的环境和工具,Mac都是默认配置好的,包括编程语言环境、构建工具,版本控制工具,命令行工具、Shell 脚本等等,应有尽有。 你不光自己使用Mac,也影响了其他人? 是的,我影响了一些人,比如原来我们研究院只有我一个人用,现在有一半人在用Mac了。我在博客上写了一些关于Mac的文章,有一篇文章还挺有影响力的,叫《开始使用Mac》,在网上很容易搜索到,阅读量比较大。我们那原来有一个同事很喜欢Mac和iOS 移动开发,他说:我想学Objective-C,做移动 App。我们当时在做企业的移动互联平台,就让他去学iOS开发了,给他安排的工作内容也相对灵活。结果学完之后,走袅!我当时还想帮他推荐工作来着,结果他自己找了几家,问我的意见。我一看其中有丁香园,就说,这个丁香园的技术负责人冯大辉不错,你去那吧。现在他是丁香园iOS开发组的组长,所以冯大辉现在看到我还会感谢我一下,哈哈。 再后来我就开了微信公众平台。微信公众平台刚推出的时候我还不知道这是个什么东西,后来看了冯大辉开的“小道消息”,大概知道怎么玩了,于是申请了一个公众帐号,起名“Mac技巧”,ID 是sagacity-mac。Sagacity在英文里是睿智的意思,取自我女儿的一个字。后来因为审核认证的原因,Mac技巧改成了现在的“MacTalk By 池建强”。 你在写微信这一年中文章风格有什么变化? 我在刚开始写文章的时候花的时间并不多,当时主要推送一些Mac使用技巧。Windows的主要理念就是GUI,所以命令行几十年如一日的没有改变,也没什么使用技巧,无非是用鼠标点来点去,但是Mac缘自Unix,除了GUI,还提供大量的命令行工具和快捷键,把命令行、工具、快捷键和一些实用技巧用好了,效率就会有很大提高。所以前期主要是推送这些内容。 (责任编辑:admin) |