06.20 送给架构师的几个建议,基础不能忘!

首先架构师应该有个深厚的编码基础,专业技能方面必须是没的说的。架构师要帮助团队把技术可行性,技术方案权衡取舍一一剖析清楚;要设计整体的技术实现步骤,架构师要和开发团队一起,进行编码,常见的实践是,系统最困难最核心最关键的部分往往由架构师亲自操刀;完成各类测试,协助解决最困难的bug,和团队一同完成线上部署、并一同排除上线初期系统的故障。

送给架构师的几个建议,基础不能忘!

“正好足够”的预先设计!

除了非常简单的项目,一定时间的预先设计(例如,1到2周)是绝对必要的,其时间长短会取决于应用的类型——网络应用程序、智能客户端(smart client)、移动或批处理,基本的功能需求是什么,是长期的解决方案抑或是折衷的、暂时的方案,都要弄清楚。预先设计的目的是要决定:使用什么技术——例如,ASP.NET或MVC,应用程序是什么类型——2层、3层抑或是面向服务的应用,如何访问数据库——存储过程、实体框架、LINQ、依赖注入(DI)。

编写代码!

架构师应该知道代码的质量如何,这样才会对他做出的决定所产生的影响有更好的理解。他也可以整明白何时重构是必须的。 编写代码的架构师在开发团队中有更好的声誉。也就是说,Hollander并不认同(设计和开发)职责的泾渭分明。他还认为,架构师仍然是架构师,他不一定要像普通的开发人员一样擅长于编写代码。

当业务的需求发生了变化或者产品经理想做第二期时候,架构师又开始进行上一阶段的复用,开始修改接口契约文档、扩容机器等,演变成一个文档“高手”。

送给架构师的几个建议,基础不能忘!

架构师要懂得用户需求,理解用户真正想要什么,这使得架构师必须要和分析人员不断沟通,反复确认需求规格说明书,以此来保证他精准清楚用户需求。

一个产品会有多部门合作,架构师在其中的沟通极为重要,直接影响产品进度与质量。架构师不仅要与开发人员沟通,也要和项目经理、分析人员甚至用户沟通,来实现产品的各种可能性。

所以,对于架构师来讲,不仅有技术方面的要求,还有能够横向沟通的要求。

推动质量文化!

个成功的团队,一个人人都想成为其中一分子的团队,是建立在质量文化之上的:没有人偷工减料;没有人提交拙劣代码;如果设计中有一个重大的缺陷,它绝不会不知不觉地混过关;所有人都是诚实和开放的,寻求整个团队达到最佳的结果。Hollander承认,建立这样一个团队很难,但并非不可能。首先,架构师应该在一开始就创建一些规则,这些规则不会因为开发人员不喜欢就随着时间而改变。比如决定编写单元测试,再比如在每次提交以前都要进行代码评审,包括由架构师提交的代码。如果评审人员(可以是团队中的任意一位)不认可代码,代码就不能提交。

送给架构师的几个建议,基础不能忘!

综上所述,架构师应该确保他从理论上和实践上都是团队的一分子。架构师不应该编写所有的代码,而只是其中一小部分。但是,不推荐不热爱编程的人去做架构师,对于团队工作和个人发展来说,都会带来糟糕的后果。

尚学堂立志解决中国教育不公平和低效率问题,帮助千千万万被传统教育方式耽误的人,传授实用、前沿的知识,成就学员个人理想,为爱你的人和你爱的人创造美好的生活。尚学堂12大精英团队+各类实战项目,真正实现1+1>10的目标效果。帮助学员迅速成长,持久腾飞,成就学员“高富帅”人生。


分享到:


相關文章: