2018年持续一整年的架构设计分享,2019年我希望持续分享的同时,能真正意义上帮助到部分读者成为一名架构师。
学习的同时请千万别:只见树木,不见森林。
所以我会让大家先俯瞰完整的森林,我们再从树木开始,一起去穿越整个森林。
最新阿里技术P系列薪资:上图薪资结构*2
阿里P5(高级研发工程师)
1.工作要求:
能独立完成日常工作,并能够对一些方案提出自己的建议。
基本考核就是能上手独立完成工作,熟练掌握。
2.技能要求(熟练):
1、程序设计和开发。
2、工作中需用到的Java开发的技术点以及相关的其他技术点。
3、工作中需用到的Web开发的技术点以及相关的其他技术点。
4、工作中需要用到的数据库技术点以及相关的其他技术点。
5、运维能力
应用发布和运维,线上故障分析和排查
1-5的技能能力:程序设计和开发、java web、数据库的技能要求熟练。
备注:技能要求我会在文章末尾解读。
阿里P6(技术主管)
1.工作要求:
能独立解决问题,制定系统的技术实现方案,考核会涉及部分技术深度。
2.技能要求:
除P5的技能外,还需掌握以下技能,以下技能至少需要做到熟悉。
1、架构设计
2、运维能力
3、操作系统
阿里P7(技术专家)
1.工作要求:
能独立带领产品或业务向前发展,并在产品或业务的规划上具备一定的能力。
这里我强调一句,是独立带领的能力,并且有一定的产品和业务的规划考核,比如:对业务的了解程度,是否可以掌控,这一条很多人会忽视业务的重要性。
2.技能要求:
在P6的基础上,需要在Java开发、Web开发上至少有一项能做到精通。
在架构设计上至少在某一架构领域达到精通。
架构相关的技能要求请参考如下阿里P8架构师技能。
阿里P8(高级技术专家)
具体请参考:想想成为阿里160万年薪的P8架构师?你必须掌握如下6大技能体系!
技能要求解读
1.编程能力
对工程师而言,编程是最基础的能力,必备技能。其本质是一个翻译能力,将业务需求翻译成机器能懂的语言。
常见的编程范围:
-
数据结构算法,比如: 经典排序:插入排序、冒泡排序、快排(分划交换排序)、直接选择排序、堆排序、合并排序等。
-
高级语言特性: JVM、类装载机制、多线程并发
-
设计模式:常见的单例、工厂等。
-
UML建模:详细设计必备。
-
网络与安全:网络协议、安全等。
-
开源系列:spring、maven、redis、memcached、activeMQ等。
2.调试能力
本质上讲,通过不断调试可以持续强化其通过静态代码去预测运行状态的能力。
所以调试能力也是编程能力提升的关键手段。
3.编译部署能力
编译并在线上部署运行程序是系统上线的最后一个环节。
随着微服务架构的普及以及业务复杂度的增加,本地编译和运行并不能完全模拟系统在线运行。
为了快速验证所编写程序的正确性,编译并在线上部署就成了必要环节。所以编译部署能力是一个必备技能。
4.性能优化能力
随着使用量的增加和业务复杂度的增加,大部分系统最终都会碰到性能问题,性能优化能力是一个综合能力。
因为影响系统性能的因素众多,包括:数据结构、操作系统、虚拟机、CPU、存储、网络等。
性能调优集中在:JVM调优,线程池调优、SQL调优、索引优化、数据库垂直拆分等。
具体可以参考:常用的后端性能优化六种方式:缓存化+服务化+异步化等
5.在线运维能力
如果说性能优化能力体现的是静态思考能力,在线运维能力考验的就是动态反应能力。
残酷的现实是,无论程序多么完美,Bug永远存在。
为了对线上故障进行快速处理,标准化的监控、上报、升级,以及基本应对机制当然很重要,通过所观察到的现象,快速定位、缓解以及解决相关症状也相当关键。
在线运维本质上是一个强化学习的过程。
很多能力都可以通过看书、查资料来完成,但在线运维能力往往需要大量的实践来提升。
6.架构设计能力
具体请参考:大型网站架构设计2018年度88期专题
里面涵盖了几乎90%左右的架构设计:并发编程、缓存、消息队列、大数据等。
请加优知学院微信公众号,回复关键词【我要88】获取!