CTO训练营:用进化的思维做架构

原创
网络
经历国庆七天假期,又经历了七个工作日,在大多数人们忙不迭度周末的时候,CTO训练营第六课又开课了。

【51CTO.com原创稿件】经历国庆七天假期,又经历了七个工作日,在大多数人们忙不迭度周末的时候,CTO训练营第六课又开课了。

[[173608]]

  这期的CTO训练营活动,培训的主题只有一个:如何在公司不断发展的过程中,确保技术能够灵活地因需而动?这个话题非常有实战性,因为无论公司是刚刚组建还是发展到一定规模,语言的选择、架构的调整一直伴随其中。那么当面临老系统重构、拆分亦或是解耦,管理者们应当注意哪些问题?随着业务的发展,时间的推移,IT技术逐步在进化,在进化演变的过程中又应该如何把握,应该用什么样的思想去迭代产品?七乐康技术VP曲毅给出了一个新的思路:用进化的思维做架构,给与会者们开辟了更多思考方向。

  语言选型需要注意6大因素

[[173609]]

  曲毅,从事互联网研发工作12年,曾在高阳、空中网、新浪、乐蜂网等互联网公司担任构架师、高级技术经理、技术总监等职位。他对HTML5技术有非常深刻的认识和理解,有着丰富的实践经验,同时也是HTML5引擎Crow5的创造者。

  “是什么在左右你选择语言?”曲毅一开场就抛出了一个问题。经过六个小组的简短讨论,最终曲毅在白板上将选择语言需要考虑的问题归纳成六点。

  一是团队。训练营的一位小伙伴表示,招到优秀的人才最难得,***是能招募一个靠谱的团队,有了团队,语言的选择就顺理成章了。

  二是成本。这里面主要是时间成本和质量成本。曲毅认为此外还需要考虑人员培养的周期、学习的周期、团队配合的周期,以及人员流失带来的人力成本。

  三是控制。选择了这种语言能不够始终保持控制度。

  四是项目特点。根据不同的项目需求,最终选择最适合这个项目的语言。

  五是技术健壮性。所谓技术健壮性主要包括技术是否安全,文档是否健全,以及活跃性,例如这种框架社区是否活跃,是否有持续性。

  六是技术多样性。产品合作的需要取决于团队语言的多样性,曲毅认为前期搭建团队时,采取的语言***要统一,但是后期团队发展起来后,***能够有多样语言,因为经常会与外部合作,语言的多样性可以带来更多的选择。

  好的架构是设计出来的,还是改出来的?

  “好的架构是设计出来的,还是改出来的?”曲毅又抛出一个问题,***他谈出自己的观点:长远地看,架构是改出来,短期地看是设计出来的。

  他解释道,企业发展是从无到有,从小到大的过程,而企业产品演化的方向同样也是变化的,而且有时间和成本的限制,因此架构在前期、中期、后期需要考虑的点都不尽相同,应当因地制宜地选择语言,选择合适的容器,合适的架构。“在我看来,做架构就是做技术创业。”

  庞大复杂的系统如何进行解耦?

  “解耦主要用的逆向思维,这一点和写游戏外挂非常相似。”曲毅表示,“那么解藕是否有规律可寻?”答案显然是肯定的,曲毅给出5个方法,根据这5个步骤就可以逐一替换拆分出的模块。

  ***步,抽象+分层是一种解决方案,采用代理模式,从整体把握,按照业务拆;第二步,在模块内,熟悉系统,研究数据流。用逆向工程模拟交互接口,猜表;第三步,逐一替代,按照功能和数据流向对接。需要注意的是,前期涉及数据同步、脏数据等问题,需要写外挂处理脏数据;第四步,针对脏数据,收集bug。使用数学归纳法穷举问题,逐一修复;第五步,***打破现在方案,根据对现有业务的需求,重新设计,曲毅表示,这里要注意,是按照业务需要设计,并非技术架构。

主流电商业务流程介绍

  “在主流电商平台中,若需精细化管理各个业务流程,一般会涉及到上百个系统,系统之间的交互接口更是不及其数,任何系统环节出现问题,都会对业务带来或多或少的影响。”曲毅以电商为例。

系统解耦案例2

  设计的进化

  曲毅用发生在自己身上的真实案例给大家讲解设计前端,写代码的方法论。“如果都采用标准化语言规范和配置方式,给我30分钟就可以教会大家使用JS语言”

  他的方法是首先要编写公用模块给大家用,编写规则引擎大家可以按照相同方式编写。***阶段要编写完整的模块,并且书写风格优良。讲到这里,曲毅分享他的心得,他认为少写代码就可以减少复杂度,约定模式是一种很好的方式,用配置的方式可以减少代码的编写,而且降低具体细节的复杂度

  ***他提醒大家,要回归本真,标记替代配置,这样更简洁,更容易理解。

  “学会忘记,也许设计的本真就在开始的时候,就在你觉得简单的时候。”

  轻松热闹的沙盘活动

  瀚海商学院刘达开,是一位有丰富管理经验的老师,在下午沙盘活动环节,也给学员们带了轻松交流交流和项目管理的经验分享。

[[173610]]

  刘达开,瀚海商学院资深讲师、管理咨询师,是瀚海商学院沙盘【地租交易】【超级公司】【捕鱼达人】研发者,主要研究方向是“PDP测评”“工作压力和情绪管理”“沙盘管理”,掌握企业管理学、心理学、人力资源管理等知识,拥有丰富的教学经验。

  他首先让大家将座位调整成一个圆圈,每两位学员开始互相介绍自己,然后通过一两个互动的小游戏,让大家在轻松愉悦过程中认识彼此。

[[173611]]

小伙伴们开始面对面互相握手介绍自己

  在体验活动中,刘达开将学员分成7个小组,每个小组自己领取了不同形状不同颜色的任务卡,只有小组之间相互合作,互相共享信息,齐心协力才能完成。最终学员们经过“激烈”的沟通,顺利地完成了任务。

  【CTO 训练营】是51CTO高招旗下,面向中高端技术管理人才,提供技术和管理的学习以及人脉和资源平台,旨在打造技术经理的MBA,为行业输送更多CTO人才,第三季CTO训练营课程内容参照CTO胜任能力以及延展能力设计,包含技术与架构、技术与管理、商业运营、敏捷个人管理4大模块,聘请一线互联网平台 CTO担任导师,完成为期12天的课程学习之后,参与毕业典礼,辅修学分,完成结业。

【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】

责任编辑:周雪 来源: 51CTO
相关推荐

2016-08-30 18:14:43

管理51CTO技术

2016-08-05 20:21:51

CTO导师技术

2016-08-05 18:53:25

CTO导师技术

2017-05-23 18:13:26

CTO训练营曲毅团队

2016-09-10 19:39:34

CTO训练营

2016-01-05 13:44:39

2016-09-13 19:21:07

CTO管理技术

2016-04-27 10:42:44

宜人贷CTO段念

2016-06-02 14:29:27

CTO训练营创业公司

2016-12-05 20:20:15

CTO训练营公开课

2017-03-19 20:45:08

CTO训练营,技术管理

2016-04-05 15:23:35

CTO训练营,技术管理

2016-02-29 14:48:38

51CTO高招

2016-07-15 16:58:12

cto训练营团队激励

2016-07-05 18:15:37

池建强ctocto训练营

2016-09-26 11:17:30

CTO创业技术

2016-08-04 13:41:27

CTO训练营,技术管理

2018-09-13 15:21:36

CTO训练营

2016-06-16 10:16:12

CTO训练营技术创业

2016-08-17 14:59:38

CTO训练营
点赞
收藏

51CTO技术栈公众号