首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

#cto

一名优秀的架构师应该具备哪些"非技术性能力"?

架构师之路“架构师之路”作者,到家集团技术VP,快狗打车CTO。前58同城技术委员会主席,前百度高级工程师。
你是不是以为架构师懂技术就行,我告诉你,大错特错。一个好的架构师,至少要具备以下六大技能。 技能一、架构能力与编码能力。 这一点毋庸置疑,如果不是写过多年代码的优秀程序员,一定不是好的架构师。“架构师”这是一个听上去比较虚的职位,可它的主要价值在于“架构落地”,而不只是“指点江山”。 团队要做一个产品,架构师要帮助团队把握技术可行性,技术方案权衡取舍。 技术方案权衡取舍出来了,架构师要设计整体的技术实现步骤。 技术实现步骤出来了,架构师要和开发团队一起,设计与编码。可能架构师无法细究全部细节,常见的实践是,系统最困难最核心最关键的部分往往由架构师亲自操刀。 技能二、逻辑思维与抽象思维。 “逻辑思维,抽象思维”比“写代码”对架构师而言更为重要,如果你不能让某个非技术人员明白某个概念在说什么,这个架构师注定也是失败的。 逻辑思维不用展开多说,程序员的代码都是逻辑,if怎么样else怎么样,switch怎么样case怎么样,缺乏良好的逻辑思维能力基本不可能成为好的架构师,甚至好的程序员。 抽象思维又分两点,一个是将实在的事物概念化,一个是将模糊的感觉数字化。一个苹果,抽象为质量、大小、颜色、形状、味道等,这是概念化。至于质量、大小、颜色、形状、味道如何转变成数字来描述,这是数字化。 有了上述两点,架构师能将一个“虚”的架构概念描述清楚。 技能三、技术前瞻性。 架构师与技术高手的区别在于,架构师不仅局限于如何调用、如何并发、如何扩展等架构细节(技术高手对这些也非常熟练),还跳出三界,考虑未来问题和潜在风险的应对之道。 要培养自己的技术前瞻性,必须要是学好英语,看懂外文技术文章,能与业界专家沟通交流,学习别人的实践方案。 反面的例子是,成天将技术前沿的名词挂在嘴边,大谈“云计算,SaaS,微服务,AI”这些东西。架构师不能天天吹水,而落不了地。 技术前瞻性还提现在对新技术的选型上,哪些东西适合自己团队,哪些不适合。学习成本、维护成本、硬件成本、潜在风险等等都是架构师需要考虑的。而不是哪个流行,就选型哪个。 技能四、透过问题看本质。 架构师要有将“业务需求”转化为“技术需求”的能力,这是一个本质的挖掘。 例如,业务层面看到的是一个“电子商务网站”,架构师看到的是一个多人在线,并发交易,需要保证数据一致性的站点、服务、数据系统,功能、性能、扩展性、维护性、安全性、可用性这些字眼会惯性的蹦到架构师的脑子里。 架构师之所以是架构师,他在庞大系统的面前,仍然能够敏锐发现其底层之真实,这就需要,他有多年多领域知识和经验的沉淀。 技能五、跨域知识。 架构师作为一名技术领袖,需要通过散发知识的光芒来温暖开发团队,如果只对一个领域内的知识烂熟于胸,那也仅仅是一名技术高手。 要想更进一步,系统分层层面,需要对APP层面、服务层面、数据层面均要了解。职能层面,要对研发、测试、运维、安全也要有所了解。宏观与细节层面,上要对接口,下要对原理都有所了解,甚至,要在多个业务领域都有所涉猎。 初级架构师所害怕的,是跳出自己的“独门绝技”,在一定程度上说,在一定深度之内成为一个“杂家”也没什么不好。 技能六、沟通能力。 架构师和项目经理,对沟通能力的要求都很高,很多互联网公司甚至直接由架构师担任项目经理的角色。 如何成为一名“善于沟通”的架构师呢? 在目标清晰的前提下,首先做到平和,不能将自己所在象牙塔上,颐指气使的发号施令,这样的态度必然遭恨,大家都是技术人员,只是分工不同,为何要受你的气呢?其次,架构师要有一定的绘图能力。人对图形的理解远大于对文字的理解,一个层次图,一块小白板,几只笔,真的更容易把问题讲清楚。 总结,好的架构师少要具备这六大技能: 1. 架构能力与编码能力; 2. 逻辑思维与抽象思维; 3. 术前瞻性; 4. 透过问题看本质; 5. 跨域知识; 6. 沟通能力。 最差劲的架构师:看不清需求,讲不清概念,看不懂英文,写不了代码。项目失败后,只知道说“团队的技术能力不够”。而团队反馈是“这是一个无法落的大忽悠”。 以上,希望对你有帮助。... 展开详请
你是不是以为架构师懂技术就行,我告诉你,大错特错。一个好的架构师,至少要具备以下六大技能。 技能一、架构能力与编码能力。 这一点毋庸置疑,如果不是写过多年代码的优秀程序员,一定不是好的架构师。“架构师”这是一个听上去比较虚的职位,可它的主要价值在于“架构落地”,而不只是“指点江山”。 团队要做一个产品,架构师要帮助团队把握技术可行性,技术方案权衡取舍。 技术方案权衡取舍出来了,架构师要设计整体的技术实现步骤。 技术实现步骤出来了,架构师要和开发团队一起,设计与编码。可能架构师无法细究全部细节,常见的实践是,系统最困难最核心最关键的部分往往由架构师亲自操刀。 技能二、逻辑思维与抽象思维。 “逻辑思维,抽象思维”比“写代码”对架构师而言更为重要,如果你不能让某个非技术人员明白某个概念在说什么,这个架构师注定也是失败的。 逻辑思维不用展开多说,程序员的代码都是逻辑,if怎么样else怎么样,switch怎么样case怎么样,缺乏良好的逻辑思维能力基本不可能成为好的架构师,甚至好的程序员。 抽象思维又分两点,一个是将实在的事物概念化,一个是将模糊的感觉数字化。一个苹果,抽象为质量、大小、颜色、形状、味道等,这是概念化。至于质量、大小、颜色、形状、味道如何转变成数字来描述,这是数字化。 有了上述两点,架构师能将一个“虚”的架构概念描述清楚。 技能三、技术前瞻性。 架构师与技术高手的区别在于,架构师不仅局限于如何调用、如何并发、如何扩展等架构细节(技术高手对这些也非常熟练),还跳出三界,考虑未来问题和潜在风险的应对之道。 要培养自己的技术前瞻性,必须要是学好英语,看懂外文技术文章,能与业界专家沟通交流,学习别人的实践方案。 反面的例子是,成天将技术前沿的名词挂在嘴边,大谈“云计算,SaaS,微服务,AI”这些东西。架构师不能天天吹水,而落不了地。 技术前瞻性还提现在对新技术的选型上,哪些东西适合自己团队,哪些不适合。学习成本、维护成本、硬件成本、潜在风险等等都是架构师需要考虑的。而不是哪个流行,就选型哪个。 技能四、透过问题看本质。 架构师要有将“业务需求”转化为“技术需求”的能力,这是一个本质的挖掘。 例如,业务层面看到的是一个“电子商务网站”,架构师看到的是一个多人在线,并发交易,需要保证数据一致性的站点、服务、数据系统,功能、性能、扩展性、维护性、安全性、可用性这些字眼会惯性的蹦到架构师的脑子里。 架构师之所以是架构师,他在庞大系统的面前,仍然能够敏锐发现其底层之真实,这就需要,他有多年多领域知识和经验的沉淀。 技能五、跨域知识。 架构师作为一名技术领袖,需要通过散发知识的光芒来温暖开发团队,如果只对一个领域内的知识烂熟于胸,那也仅仅是一名技术高手。 要想更进一步,系统分层层面,需要对APP层面、服务层面、数据层面均要了解。职能层面,要对研发、测试、运维、安全也要有所了解。宏观与细节层面,上要对接口,下要对原理都有所了解,甚至,要在多个业务领域都有所涉猎。 初级架构师所害怕的,是跳出自己的“独门绝技”,在一定程度上说,在一定深度之内成为一个“杂家”也没什么不好。 技能六、沟通能力。 架构师和项目经理,对沟通能力的要求都很高,很多互联网公司甚至直接由架构师担任项目经理的角色。 如何成为一名“善于沟通”的架构师呢? 在目标清晰的前提下,首先做到平和,不能将自己所在象牙塔上,颐指气使的发号施令,这样的态度必然遭恨,大家都是技术人员,只是分工不同,为何要受你的气呢?其次,架构师要有一定的绘图能力。人对图形的理解远大于对文字的理解,一个层次图,一块小白板,几只笔,真的更容易把问题讲清楚。 总结,好的架构师少要具备这六大技能: 1. 架构能力与编码能力; 2. 逻辑思维与抽象思维; 3. 术前瞻性; 4. 透过问题看本质; 5. 跨域知识; 6. 沟通能力。 最差劲的架构师:看不清需求,讲不清概念,看不懂英文,写不了代码。项目失败后,只知道说“团队的技术能力不够”。而团队反馈是“这是一个无法落的大忽悠”。 以上,希望对你有帮助。

架构师和CTO的差距是什么?

总架构师主要负责设计系统的技术架构,确保系统的可扩展性和可维护性。而CTO则负责制定和执行公司的技术战略,支持公司的业务目标,并管理技术团队。两者在职责和职能上有一定的区别,但同时也需要紧密合作,以确保技术和业务的协同发展。

作为架构师,CTO问你,企业上云还是保持现状,你该如何考量?

毛剑Work Hard, Play Harder
这取决于你当下的IT基建情况以及业务规模。 如果企业总体IT成本在5亿内,我认为应该全部在云上来构建(云为主)业务生态,因为没有硬件规模效应和人才储备很难在系统层做好,导致总TCO自建可能会偏高; 如果IT成本在5-30亿,建议走混合云架构(云为主、自建为辅助),CDN、对象存储、有典型生命周期(游戏)、峰值弹性业务特别合适大规模上云。自建部分主要是 PaaS 层,需要贴合业务使用云原生生态组件,这样避免 vendor-lock; 如果IT成本在30亿以上,混合云架构(自建为主、多云混合云架构),同上CDN、对象存储、边缘计算、弹性业务(调研型GPU、游戏、弹性暑期等峰值流量)需要构建多家云的混合云管理系统,屏蔽底层云差异,拉通专线到数据中心构建VPC后,形成自建 PaaS,横跨云和IDC的业务形态; 欢迎补充细节交流... 展开详请
领券