• 欢迎访问 优知学院 请加入我们的架构交流分享群优知学院-架构师进阶
  • 坚持原创分享BAT面试+架构+CTO进阶干货!

阿里P8架构师谈:java程序员到架构师,需突破的7大必备技能!

Java 优知学院陈睿 1年前 (2018-08-17) 903次浏览 0个评论 扫描二维码

阿里P8架构师谈:java程序员到架构师,需具备的7大必备技能!

优秀的架构师的核心能力模型包含:编程、性能调优、架构设计等能力等。

阿里P8架构师谈:java程序员到架构师,需具备的7大必备技能!

编程能力

对工程师而言,编程是最基础的能力,必备技能。其本质是一个翻译能力,将业务需求翻译成机器能懂的语言。

提升编程能力的书籍有很多。精通面向对象和设计模式是高效编程的基础。初级工程师应该多写代码、多看代码。找高手做Code Review,也是提升编程水平的捷径。

常见的编程范围:

  1. 数据结构算法,比如: 经典排序:插入排序、冒泡排序、快排(分划交换排序)、直接选择排序、堆排序、合并排序等。
  2. 高级语言特性: JVM、类装载机制、多线程并发
  3. 设计模式:常见的单例、工厂等。
  4. UML建模:详细设计必备。
  5. 网络与安全:网络协议、安全等。
  6. 开源系列:spring、maven、redis、memcached、activeMQ等。

调试能力

本质上讲,工程师们通过不断调试可以持续强化其通过静态代码去预测运行状态的能力。所以调试能力也是工程师编程能力提升的关键手段。

调试能力是项目能否按时、高质量提交的关键。即使一个稍具复杂度的项目,大部分工程师也无法一次性准确无误的完成。大项目都是通过不断地调试进行优化和纠错的。所以调试能力是不可或缺的能力。

编译部署能力

编译并在线上部署运行程序是系统上线的最后一个环节。随着SOA架构的普及以及业务复杂度的增加,大部分系统只是一个完整业务的一个环节,因此,本地编译和运行并不能完全模拟系统在线运行。为了快速验证所编写程序的正确性,编译并在线上部署就成了必要环节。所以编译部署能力是一个必备技能。

让盘根错节的众多子系统运行起来是个不小的挑战。得益于SOA架构的普及以及大量编译、部署工具的发展,编译部署的门槛已经大大降低。基于应用层进行开发的公司,已经很少有“编译工程师”的角色了。但是对于初级工程师而言,编译部署仍然不是一个轻松的事情。

性能优化能力

衡量一个系统成功的一个重要指标是使用量。随着使用量的增加和业务复杂度的增加,大部分系统最终都会碰到性能问题。 性能优化能力是一个综合能力。因为:

影响系统性能的因素众多,包括:数据结构、操作系统、虚拟机、CPU、存储、网络等。为了对系统性能进行调优,架构师需要掌握所有相关的技术。

精通性能优化意味着深刻理解可用性、可靠性、一致性、可维护性、可扩展