Fred:如果你从程序员的职位转型,决定自己不再是程序员了,那么你的架构师生涯将是短暂的。最好的架构师都在写代码。Kent Beck曾经写道:“代码就是设计与残酷现实之黄昏的交汇(Code is when design meets the harsh reality of dawn.)”。他的意思是,我们画出来的设计都是美好的,但最好的设计仅仅是被翻译为优雅代码的那些。一个无法将愿景带入代码的架构师将永远无法了解我们这个急速变化的行业所展示的深度。
所以说,不编程的架构师的职业生涯是短暂的。
做为一个架构师,我需要实现(这个过程是结对编程,我会有一个搭档)一个系统最难实现的一部分。我将其称之为“先锋”,因为这是我检验我脑中的主意是否真的是一个好主意的过程。我在第一次实施中会细化这个主意。然后我才会放心的让编程团队的其他成员按照这个模式来走。这就是“架构”。
有点跑题了。对于一个菜鸟架构师而言,最大的障碍就在于承认你并不知道详细的答案,但你信心满满的认为可以和程序员和设计师一起找到这个答案。
另一个新手架构师经常遇到的问题是“优美”以及“简约”。每次当进行决策的过程中出现这些概念的时候,项目经理往往对这样的理由不置可否。项目经理通常有短期目标要实现,而对优美还是简约这样的概念并不感冒。但事实上,他们这是对系统未来健康状况的不重视。
最后,菜鸟架构师往往是出色的程序员。而他会发现团队中的其他程序员贡献的代码看起来不太美。菜鸟架构师必须要学会界定哪些丑陋的代码是可以接受的,哪些是不能接受的。
架构师是艺术家,他们的成就往往不会在他们活着的时候被赞赏。