构架师和程序员的区别,就是一个是整体设计,一个是砌砖和泥。
软件工程最相似的就是建筑工程。
一栋大楼,不仅需要板砖、和泥的工人,更需要建筑设计师做大量的计算和丈量,保证质量、强度。这就是软件构架师的工作。
产品、客户往往只说需要一个多高的楼,多优美的外形,多壮观的大门,但是实际上,建筑材料能不能承受的住,建筑样式符合不符合物理规律,这样的需求有没有什么隐患,未来会遇到什么样的挑战,这些都需要很专业的经验和知识。而如何在整体上建造这样一个强健的,不会倒坍,不会被大风刮到,不会被大雨淹没的大楼,这就是构架师该干的。
如果系统设计人员还仅仅停留在UI,用户体验、社交元素、成本计算、数据库设计,Backbone库, AngularJS等等上面。这不是构架师应该干的事,而是中级水平员喜欢的东西,因为刚刚脱离菜鸟的程序员,往往喜欢在自己的代码里大而全的塞进任何能证明他水平比菜鸟高的任何东西。
软件工程最相似的就是建筑工程。
一栋大楼,不仅需要板砖、和泥的工人,更需要建筑设计师做大量的计算和丈量,保证质量、强度。这就是软件构架师的工作。
产品、客户往往只说需要一个多高的楼,多优美的外形,多壮观的大门,但是实际上,建筑材料能不能承受的住,建筑样式符合不符合物理规律,这样的需求有没有什么隐患,未来会遇到什么样的挑战,这些都需要很专业的经验和知识。而如何在整体上建造这样一个强健的,不会倒坍,不会被大风刮到,不会被大雨淹没的大楼,这就是构架师该干的。
如果系统设计人员还仅仅停留在UI,用户体验、社交元素、成本计算、数据库设计,Backbone库, AngularJS等等上面。这不是构架师应该干的事,而是中级水平员喜欢的东西,因为刚刚脱离菜鸟的程序员,往往喜欢在自己的代码里大而全的塞进任何能证明他水平比菜鸟高的任何东西。