架构设计之大道至简
作为一个架构师,他最重要的工作是让事情的实现越来越简单,大道至简。管理技术的复杂度。
做架构,什么叫做架构?
分而治之,降低管理的复杂度。
有什么样的组织结构,就会设计出什么样的软件系统。
组织结构设计了软件系统,同时架构服务于组织结构。
如果你想让一个系统越来越内聚,那么你就把维护这个系统的人放到一个团队里,让他们向一个老板汇报,让他们的KPI目标一致,因为这将符合你的最终目的。
架构师是干什么的?
解决问题,提高效率的。失败的经验,然后对应的解决方案,
架构师的工作职责,
1是解决问题。你必须得解决所有的技术问题。
2是提高效率,面对快速的迭代和市场的快速变化,如何低成本的去追上发展趋势,去满足用户需求,是一门大学问。
工作中,懂得如何提高研发的效率,提高组织结构的效率,提高产品迭代的速度,将是你打败竞争对手的核心竞争力。
3架构师要不断地应对变化。
市场是变化的,组织机构和业务形态是变化的,用户的需求是变化的,所以架构师要不断跟着这个产品发展思考,我们下一步该往哪个方向走,该怎么去组织我们的团队
领导者要定一个比较疯狂的目标,给大家一些士气和冲的动力。团队管理者定目标切忌不要定长目标,因为人的士气,一鼓作气,再而衰,三而竭。
第二是不要太相信大团队。做任何突击的事情,最好是两三个人,超过这个数字,效率肯定很低。
第三不要太盲目相信一些权威的意见,其实那些专家都不是你,不是那么值得相信,你可以借鉴,你可以听取,但你要盲目的完全照搬没有任何意义,因为你的团队只有你自己清楚,你自己的能力,你所面临的问题,也只有你自己清楚。
适当的环境中,动态语言的优势没有那么明显。一个相对来说灵活性差一些,约束比较强的工程性语言会给你更多的帮助。虽然程序员的个体效率可能会有下降,但就团队的整体效率来说,会有明显的提升。
互联网公司讲究的是快,什么都要快,
使用Java来做开发。为什么要用新语言呢?PHP真的招不到合适靠谱的人。