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

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

(more…)

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

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

(more…)