作者:迈克·布朗
你听说过谁是法官但是没有当过律师,或者谁是外科主任但没当过外科医生的事情吗?人们认为法官和外科主任是律师和外科医生职业生涯的顶峰。但即使在己经达到职业顶峰之后,这些身居要位者仍然需要继续跟进各自领域内的最新发展。对软件架构师,应该也秉持同样的标准。
不管解决方案设计得如何优秀,决定实现能否成功的最重要因素之一是让开发人员愿意接下任务。让开发人员肯接受最快捷的方法,是获得他们的尊重和信任。我们都知道获得开发人员信任的最快捷方式:你的代码就是你的资本。如果能向开发人员表明,你不是那种只会吹得无花乱坠但不会编程的空想家,你就会很少听到许多报怨。假若要把数据显示在页面上,你命令“把数据集绑定在数据格子上,这样速度快些”,他们就不会说你在强迫他们走冤枉路。
虽然不是工作所要求的一部分,我仍然会经常去处理一些比较复杂的任务。这样有两个目的:第一,这是一种乐趣,而且还能帮我做到宝刀不老;第二,这有助于向开发人员表明,我不是碰到麻烦时只会吹烟圈却束手无策的那类架构师。
作为架构师,主要目标应该是创建可行、可维护的解决方案,当然,也一定要能够解决当前的问题。其中,要知道解决方案中什么是可行的,就要求架构师拥有相关知识,能够实际参与到解决方案的开发活动中去。因此我建议,如果是你做的系统设计,你也应该能够编程实现自己给出的设计。