1、客户需求重于个人履历

<span class='yzk_title_1136'>软件架构师应该知道的97件事</span>-Maxchen个人博客

不要为了学习新的知识或丰富自己的简历而选择新技术解决问题,要尽量选择切合实际的技术解决客户的难题。
脚踏实地的为客户着想,选择正确的方案可以降低项目的压力,团队工作起来更开心,客户也会更满意,从而你也会有更充裕的时间去学习新的知识。

2、简化根本复杂性,消除偶发复杂性

<span class='yzk_title_1136'>软件架构师应该知道的97件事</span>-Maxchen个人博客

根本复杂性是问题本身就很复杂,所以它是无法避免的。偶发复杂性是在解决根本复杂性的过程中衍生的,即解决方案本身带来的新问题。
如为了解决某一个问题而设计的一个软件框架,设计该框架本身,就是引入的偶发复杂性。所以,如果原本问题比较简单,但设计或引入一个太过灵活的框架,可能得不偿失。(避免过度设计)

3、关键问题可能不是出在技术上

<span class='yzk_title_1136'>软件架构师应该知道的97件事</span>-Maxchen个人博客

简单的项目也可能会出现问题,这并不是因为我们选错了某种语言或者系统,根本原因还是“人”
所以,要帮助团队完成项目,多与项目成员沟通,及时改正团队成员不正确的工作方式。
沟通的技巧:
a)不要把对话看成对抗
改变心态,发现他人的优点,把沟通视为请教,就会有所收获,并且能避免引入对方的戒备之心。
b)不要带着情绪与人沟通
当你处于愤怒、沮丧、烦恼等情绪中时,对方可能会误以为你的举动不怀好意。
c)尝试通过沟通设定共同的目标