November 2016


因为工作的关系,最近面试了很多软件架构师,遗憾的是真正能录用的很少。很多候选人有多年的工作经验,常见的框架也玩得很溜。然而最擅长的是“用既定的技术方案去解决特定的问题”,如果遇到的问题没有严格对应的现成框架,就比较吃力。这样的技能水平或许适合某些行业,但很遗憾不符合我们的要求。

软件架构师到底应该做什么,又为什么这么难做好,这都是近来的热门问题,我也一直在和朋友们讨论。正巧,最近我看完了新鲜出炉的《微服务设计》,所以大概可以谈谈自己的看法了。因为这类问题比较抽象,也没有统一答案,我努力尝试把思路整理清楚,把表达变得流畅。最终有没有讲清楚,说的对不对,欢迎大家给我留言。

(more…)

最近的面试中我发现一个很有意思的现象。问“还记得数据库范式吗?”,大多数工作了几年的开发人员都答不上来,但是其中大多数人会补充说“虽然我不记得范式了,但我可以保证自己设计的数据库肯定都是符合范式的”。

身为技术人员,大家都知道逻辑的重要性,那么逻辑的结论就是:范式这东西完全不重要,不记得了也不妨碍使用,而且不会出错。这种结论似乎有点不合逻辑,所以有必要专门谈谈范式。

(more…)

最近有好几个朋友同事问我,一直都在做软件开发,想做软件架构,要如何入门呢?我从一些提问里感觉到,架构有时会被一些人理解为《葵花宝典》、《九阴真经》一类的秘籍,功力不到绝不能碰,功力到了才能专门修行。

可惜这种认知是不对的。架构的工作虽然比开发复杂,但脱胎于开发,它与开发之间并没有绝对的界限。即便只是做开发,也不妨碍你积累架构经验,从架构方面理解和看待问题,而这些,都是未来成为专职“架构师”的必要积累。所以,我现在尝试回答“做软件架构该如何入门”的问题,为各位正在做开发,但未来希望从事架构的同学们提供几点参考意见。

(more…)

2014年,我接连失去了两位亲人。

年初是奶奶去世。当天是过年期间,正轮到我家做东,与母亲这边的亲戚齐聚。午饭的菜肴刚刚上桌,忽然一个电话从医院打来,父亲神色凝重地匆匆赶去。过会儿他打电话来说,奶奶去世了,你们赶紧来。于是我和母亲私下托舅舅招呼大家,匆匆赶去医院。

我还记得当天从医院出来,各位亲戚去看爷爷。他看到来了这么多人,忽然意识到什么。等到一位长辈真的把消息告诉他,他掩面长叹一声,半晌没有说话。于是奶奶就这么去了,之前她已经瘫痪在床六七年,我们潜意识里大概知道,声音洪亮、做事麻利的奶奶,终会走到这样一天。

(more…)

上海的很多朋友可能已经知道了,最近我们(沪江)正在大力招聘架构师和Java工程师。招人过程在紧锣密鼓进行的同时,我们内部也在不断总结数据,收集反馈,提高效率的同时尽力照顾候选人的感受。

我们也注意到,候选人的部分反馈是比较有共性的。经过仔细分析,我们确认这些反馈是可以理解的,但是我们更确认在技术招聘中必须有所坚持,最终才能得到好的技术团队和系统。所以今天我想“私器公用”一把,讲讲我对技术招聘和技术人员成长及评价的若干观点。

(more…)

小时候经常在一些杂志上看到“偷懒读书法”,说的是某些身居高位的人很忙,没时间读书,又不得不读书,于是就安排手下人读完了给他复述书的主要内容,或者是摘抄重要文字出来做成“精编版”,这样读书的效率就高很多了。

这样的描述让我印象深刻,而且羡慕不已:我们读书读得再快,终究得一段段一页页地看过来,怎么样也比不了人家直取精华的待遇。这样比下去,大家的差距只会越来越大,这可怎么得了。

这个问题也不难解决:能享受这种待遇的毕竟只是少数人,大部分人还是得自己读书的,所以即便不公平,对大部分人来说也还是公平的。这样一想,心里也就平衡了。加之我仔细观察,发现大部分有学问的人都不是这样读书的,心里就更平衡了。

不过最近的情况似乎有所改变:一方面,越来越多的人反感“一本书里翻来覆去讲同样的道理”,不耐烦“几句话就能说明白的道理,何必读一本书”;另一方面,有些人、有些媒体,大张旗鼓地宣称“我替你读书,你只要听我的就好了”,并且讲得还挺像那么回事,真的让许多人相信,读整本书不再有必要,让人替你读书,自己只要听听这些“精华论述”就好了,效率反而更高。

刚开始和这些追求“读书效率”的人打交道,觉得“他们怎么可能知道那么多事情,那么多理论”。然而不久就会发现,这种“效率”未必真的站得住脚,对那些知识,他们也不过是“知道”而已,真的要分析点新问题,或者遇到相反的观点,不是左支右绌,就是进退失据。这种状态,只适合夸夸其谈,距离“掌握”还差十万八千里呢。

(more…)

之所以写这个话题,是因为最近见了不少的分享,觉得甚为惋惜。这些分享的演讲者往往有很多的积累,在某些领域确实掌握了非常多的知识,也非常真诚,希望把自己掌握的知识和盘托出。可惜的是,分享的效果往往不如人意,哪怕听众本来对这个话题有兴趣,真正聆听的时候也感到枯燥乏味,因而意兴阑珊,听完之后一头雾水。

问题出在哪里呢?在我看来,问题出在演讲者没有重视“演员的修养”。

什么是“演员的修养”?很多人听到这个词会有朴素的想法,觉得无非是虚头巴脑的伎俩,刻意把真实的自己藏起来,巧言令色,迎合其他人的喜好。这种作派对于分享和演讲,真的有什么帮助吗?

确实没有什么帮助。但是,这并不是演员的修养,因为演员的修养包括更重要的内容——移情,也就是放弃自我,进入另一个角色,用完全不同的方式来思考和行为的能力。

(more…)

“全站HTTPs”俨然成了目前的热门话题,很多网站都在摩拳擦掌要实行全站HTTPs。凑巧,我们(沪江)也在推行这个计划。

一开始大家想得都很简单,把证书购买了、配好了,相应的路径改一改,就没有问题。事实也确实如此,单个独立站点的HTTPs改造是很容易的。一旦走向“全站”,才发现事情远远比想象的要复杂,全站意味着所有资源面对所有客户端,涉及的因素异常多,网络上又没有太多资料,只能自己摸索。下面我简单讲讲遇到的几个问题,提供一些经验给大家参考。

(more…)