任何方面都能推动架构师的工作:客户、他的团队、体系结构、小故障和各种问题。我认为体系结构更多的是一种态度、完美地建起软件“大厦”的热情,但现实却往往使得这不那么完美。不过,追求完美的想法与现实之间的平衡会让架构师保持一定的清醒态度,因为他必须向客户交付一个正常运行且性能良好的系统。
回忆:我看到自己参加会议、在白板上画图、处理一个接一个的问题。在团队的帮助下,我尝试利用过去所积累的知识在问题领域中的各种力量和约束之间求得平衡。模式?或许吧。我喜欢体会团队活力在周围流动的那种感觉——每一分钟,我都能在同事仔细描述各种情况的细枝末叶时获得启发和学到新的东西:为什么这个情况略有不同,因而必须修改模式,以处理实际情况。
编写代码的日子:编写代码是孤独的探寻过程。这个探寻过程同时也是永不停止的。有时候还没有回报。找到错误,会得到表扬。如果最终的交付内容/版本中没有错误,则不会提到这些代码中的重要性和您在其中投入的精力!
我喜欢编程——不过现在很少进行此类工作了,仅在学术中需要时才会做这样的工作。处理项目时,我已不再进行代码编写工作了。
香港,1980 年:我开始使用 BASIC 和 Fortran 进行编程。我非常喜欢编程。转眼到了 1995 年,我开始进行 Java™ 编程,享受接口实现和松散耦合所带来的纯粹乐趣。但应该如何设计系统结构呢?
即使获得了最好的运行代码,仍然需要一个能够承受非功能需求冲击的结构。因此,您需要能够对各种相互冲突的约束进行权衡,在重复考虑当前情况的细微差异的前提下进行决策。
我比较认可“模式生成体系结构”这样的学术流派。从蓝图(一组基本模式)开始,然后根据自己的实际情况进行扩展和自定义。这就在最佳实践和现实具有特定的无名品质(QWAN,Quality Without a Name)之间获得了最佳的平衡点,这一点我非常喜欢。
我喜欢自己的架构师工作。 :)
评论:架构师必须依赖于自己的团队,接受团队提出的意见,架构的设计也最好与团队一起做,这样可以集思广益。因为一个人很难掌握所有的知识。