优秀的架构师需要那些专业和软技能?
2016-12-19 00:36
351 查看
这段时间时间一直在想,优秀的架构师需要那些专业和软技能?参考了网上一个资料并结合自己的切身体会和想法,分享如下,希望能对同道中的朋友有所帮助。
# 专业技能
@面向对象的OOP理解,真正的理解,而不是只知道概念
@丰富的web应用系统设计经验,有大型网站系统架构经验者优先;
@优秀的数据库设计和优化能力,熟悉Oracle、Mysql或MSSQL等主流数据库管理系统、相关技术及工具。
@深入理解数据结构及算法,熟练掌握面向对象设计的基本原则和常用的设计模式并有丰富的使用经验;
@熟悉性能优化、精通分布式、多线程等高性能架构相关技术;
@常用的消息中间件: ActiveMQ, Mosquito,
RabbitMQ
@如何设计一个一个高可用性,高性能的系统,所以负载均衡相关的知识比不可少,现在比较流行的有Nginx,HAProxy
@ 对NoSQL数据库的原理和优缺点
@ 缓存是解决大型网站性能和高并发的比不可少的设计,了解当前流行缓存设计的可用框架,比如,Redis等
@ 面向服务的体系结构(SOA),微服务和分布式系统的优缺点和应该场景
@主流的开源框架,Spring, Hibernate,Spring MVC, Apache,Google, 或者Github上的一些流行开源框架
@ DSL: Domain Specific language,面向业务领域的语言,这样可以让我们和非开发人员更方便的进行思想交流和沟通
@如果没有大数据方面的经验的话,至少要了解其基本的原理,已经当前流行的框架。
@常用的数据结构和算法,比如Hash散列算法,最优化方法,贪心算法等等。
@ 有超过两种语言的使用经验,比如Java, Ruby
@ 关注良好的编程专业方法和质量,比如,TDD,BDD,绝对是加分项。
# 软技能
@优秀的学习能力,分析和解决问题的能力和强烈的进取心;
@诚恳、踏实,对技术和工作充满热情;
@具备良好的沟通能力和团队合作精神。
@良好优秀的英语能力,能自己看懂英文电子书,能在国外的StackOver,Github等平台上用英语进行提问或者发布自己想法
@如果能够参与开源项目,绝对是加分项。
@ 如果能够看懂技术英文视频,你的学习效率将会大大提高。
@对于项目风险和客户需求的游刃有余的把控能力。
@能够把复杂的概念用简单形象的语言表达出来。
# 专业技能
@面向对象的OOP理解,真正的理解,而不是只知道概念
@丰富的web应用系统设计经验,有大型网站系统架构经验者优先;
@优秀的数据库设计和优化能力,熟悉Oracle、Mysql或MSSQL等主流数据库管理系统、相关技术及工具。
@深入理解数据结构及算法,熟练掌握面向对象设计的基本原则和常用的设计模式并有丰富的使用经验;
@熟悉性能优化、精通分布式、多线程等高性能架构相关技术;
@常用的消息中间件: ActiveMQ, Mosquito,
RabbitMQ
@如何设计一个一个高可用性,高性能的系统,所以负载均衡相关的知识比不可少,现在比较流行的有Nginx,HAProxy
@ 对NoSQL数据库的原理和优缺点
@ 缓存是解决大型网站性能和高并发的比不可少的设计,了解当前流行缓存设计的可用框架,比如,Redis等
@ 面向服务的体系结构(SOA),微服务和分布式系统的优缺点和应该场景
@主流的开源框架,Spring, Hibernate,Spring MVC, Apache,Google, 或者Github上的一些流行开源框架
@ DSL: Domain Specific language,面向业务领域的语言,这样可以让我们和非开发人员更方便的进行思想交流和沟通
@如果没有大数据方面的经验的话,至少要了解其基本的原理,已经当前流行的框架。
@常用的数据结构和算法,比如Hash散列算法,最优化方法,贪心算法等等。
@ 有超过两种语言的使用经验,比如Java, Ruby
@ 关注良好的编程专业方法和质量,比如,TDD,BDD,绝对是加分项。
# 软技能
@优秀的学习能力,分析和解决问题的能力和强烈的进取心;
@诚恳、踏实,对技术和工作充满热情;
@具备良好的沟通能力和团队合作精神。
@良好优秀的英语能力,能自己看懂英文电子书,能在国外的StackOver,Github等平台上用英语进行提问或者发布自己想法
@如果能够参与开源项目,绝对是加分项。
@ 如果能够看懂技术英文视频,你的学习效率将会大大提高。
@对于项目风险和客户需求的游刃有余的把控能力。
@能够把复杂的概念用简单形象的语言表达出来。
相关文章推荐
- 成为java架构师需要具备那些技能?
- 成为一个高级Java架构师所需要具备那些技能呢?
- 一位优秀的Java开发工程师需要哪些技能呢
- 个人总结的一个中高级Java开发工程师或架构师需要掌握的一些技能
- 成为一名优秀程序员所需要知道的那些事
- [转载]成为一名优秀程序员所需要知道的那些事
- 优秀的Java工程师需要掌握的10项技能
- 优秀项目经理应备技能01-项目管理需要知道的几个概念
- 作为一名Java开发工程师需要掌握的专业技能
- 成为一名优秀程序员所需要知道的那些事
- 成为一名优秀程序员所需要知道的那些事
- 架构师需要具备的几项技能
- 个人总结的一个中高级Java开发工程师或架构师需要掌握的一些技能
- 做游戏开发需要具备那些知识或技能?
- Java就业前需要掌握的专业技能
- 优秀的UI/UX设计师需要具备哪些技能?
- 成为一名优秀程序员所需要知道的那些事
- HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数
- 程序员需要那些具备最基础的知识和技能
- 一个资深java开发需要掌握的专业技能