架构师的核心能力 (Copy and modified from 解密微软的架构师之路 )
为了让开发者逐渐成为架构师,基础的能力还是需要具备的, 必须学会的第一件事情就懂得如何进行权衡。因为我们面对的都是相互矛盾的一些设计要素和限制,但事实却要求你在这些相互矛盾的要素限制和约束条件之间取得非常巧妙的平衡。
架构师必须足够成熟。因为他们往往需要在无法获得完整信息的情况下,迅速领会问题,根据经验做出审慎判断:
首先是在专题领域的经验和对软件开发工程的经验。
第二个就是判断力、决定能力和领导力,推动各个团队的技术进展,并且能在压力下作出关键性的决策,然后将开发贯彻到底,而且要提高效率。架构师有权在技术上作出决定,在大家意见不一致的时候,他要能给出自己的一个意见。
第三则是善于沟通。这其中首先就是赢得他人的信任。只有这样,才可以对他们进行说服,而后进行指导。
第四点,是通常说的抽象思维和分析的能力。具体思维的人可能比较注重细节,但往往也会将问题复杂化,使头绪增多而无法收敛。 抽象思维可以帮架构师地从大量信息、系统文件中,看出一些规律来,而且找出与之相关的方面,归纳关键问题,表述模糊的概念并将其变成相关各方能够理解的项目构件。
最后,无论是什么样的架构师都要具备一定的商业头脑,业务的知识要充分把握,因为对业务把握能够带来一个拥抱变化的能力,而且可以在设计的时候留出一点扩展的余地,适应将来可能来临的需求变化。