阿里 P8 Java 高级工程师,都需要掌握哪些技术栈?

大家都知道,阿里P8高级技术专家,基本上是一线技术人能达到的最高职级,也是很多程序员追求的目标。

达到年入百万的P8 Java高级架构师级别,不仅要具备优秀的编程能力和系统设计能力,在技术视野和业务洞察力方面,也要有很深的积淀。

小团队一般 10 人左右,其中常常是技术最牛的人做架构师(或TL)。所以,架构师在广大码农中的占比大概平均不到 10%。而架构师也可以分为初级、中级、高级三档,江湖上真正高水平的软件架构师就更少了。

所以,大部分(超过九成的)码农干上许多年,还是做不了架构师,这是什么原因造成的呢?

  • 1:码农分为真的能写代码的,以及自认为能写代码的。
  • 2:真的能写代码的码农又分为自认为写的不错的,以及真的还不错的。
  • 3:真的能写不错代码的码农又分为会钻研会不断优化的,以及安于现状的。
  • 4:会钻研的码农又分为喜欢广度了解新技术蜻蜓点水的,以及深入钻研用到知识的。
  • 了解广度的码农又有少部分愿意深入某些技术,喜欢深入研究的又往往缺乏广度知识。
  • 5:极少深度广度都关注的码农又分为为技术而技术和为业务而技术的。
  • 纯为技术而技术的码农在国内的软件行业需求太少,且需求的往往不是应用软件领域了。
  • 6:为业务而技术的深度广度都了解的码农,又需要有良好的沟通能力。
  • 7:而沟通好的,又有一部分当PM去了。
  • 8:然后剩下的,又有一部分慢慢脱离实际开发(不再做任何实现)或者开始依靠拿各种中间件搭积木来作为“架构”手段。
  • 9:除去这些,剩下对业务有一定了解,对技术广度上有多种涉猎,深度上对部分技术研究彻底,还有很重要的一点,考虑问题足够细致全面。
  • 10:细致全面善于沟通,技术上深度广度都没问题, 又喜欢这个工作,还会不时做底层实现,从业务和开发两个角度出发,搭出“架构”来是为了开发效率,为了运行效率,为了开发质量,为了业务灵活和运行稳定,为了维护方便等等这样的人,个人认为可以称为“架构师”。

而真能满足这种需求的,别说10%的比例,1%能不能达到我也持怀疑态度。其实现在的“架构师”大多数都停留在8这个层次,甚至很多在5这个层次就当上title上的架构师了。

总之,成为架构师,不仅仅是工作上的简单积累,更需要主动接纳工作外的大量知识,同时,对性格上对于非技术能力上也有一定的要求,不仅如此连思维方式都很重要,要不断找准自己定位,不断思考如何搭建架构师知识体系?

一、学会如何分析源码?

大部分程序员都会「写」代码,或者至少会抄代码和改代码。但是,会读代码的并不在多数,会读代码又真正读懂一些大项目的源码的,少之又少。因为它是两个原因造成的:

1:我们所有的教育和培训都在强调怎么写代码,并没有教大家如何读代码

2:大多数工作场景都是一个萝卜一个坑,我们只需要了解一个系统的局部便能开展工作,读不相干的代码,似乎没用

所以,要养成源码三问的习惯:

“为什么要有这样的架构”

“他是什么样子的”

“他是怎么工作的”

阿里 P8 Java 高级工程师,都需要掌握哪些技术栈?

二、为什么是分布式?

首先需要说明的是,分布式系统是一个复杂且宽泛的研究领域,学习一两门在线课程,看一两本书可能都是不能完全覆盖其所有内容的。

阿里 P8 Java 高级工程师,都需要掌握哪些技术栈?

三、微服务为什么会这么火?

相信大家都了解业务越来越复杂,服务分层,微服务架构是架构升级的必由之路,而对于微服务的优点相信大家都不陌生。

比如:易于开发与维护 / 微服务相对小,易于理解 / 启动时间短,开发效率高 / 独立部署 / 伸缩性强 / 每个服务都可以在横向和纵向上扩展 / 微服务架构可以更好将架构和组织相匹配 / 每个团队独立负责某些服务,获得更高的生产力 / 降低尝试新技术的成本......

阿里 P8 Java 高级工程师,都需要掌握哪些技术栈?

四、程序员到底要不要学习JVM?

总有人问这个东西好像用不上,于是要不要学这样的问题,然后又总有人担心一直搬砖成天做些重复没提升的东西。

如果你这辈子只甘心做一个平庸的Java码农,那么你完全没有必要去学习JVM相关的知识。

话不多说,附上学习体系图:

阿里 P8 Java 高级工程师,都需要掌握哪些技术栈?

五、被我们忽略掉的工程化专题

在IT产业中,寡头化出现代表着创业公司减少--没人再去用声势浩大的发布会讲故事、没人再去宣传自己拿了多少融资。

这一代中国人自小的教育不比欧美的STEAM,而是重学术、轻手艺。我们往往会为工科和产能过剩画上等号。强大的资本和技术门槛为这些产业蒙上了一层神秘的面纱,让普通人很难真正了解到其中技术和工艺的复杂程度,也就更难明白其中的价值。可正是因为中国的工程化能力,才让我们有机会走到AI时代的第一梯队,而不仅仅是靠学术研究能力。

附上思维脑图:

阿里 P8 Java 高级工程师,都需要掌握哪些技术栈?

六、没有高并发经验,想进大公司该怎么办?

假如没有靠谱的公司,接触不到高并发的业务场景怎么办?你永远解决的是小问题,工作10年技术也未必提升多少。

很多程序员也经常找我说,没有经验就没有靠谱的公司收,没有靠谱的公司也就没有经验,我看了无数的书,自己做了无数的实验拼命想找个靠谱公司去深入,但是感觉好难,简直是个死循环

大家都比较关注高并发,原因很简单,想去BAT这样的大公司,你必须要有高并发的经验。今天普及下高并发的知识,希望大家对高并发有一个正确的认识。

阿里 P8 Java 高级工程师,都需要掌握哪些技术栈?

七、学习千遍,不如项目实战成功一次

有人说:项目实战相信很多程序员都多少会有的,可是我们这个还要学习什么呢?

我的回答是:那就要看你想不想成为一个架构师了,为什么98%的程序员工作10年,一辈子还只是一个开发者,程序员们都要想一想这个问题,我是不是需要提升了。

我认为,学习项目实战最重要的还是学习项目管理,作为程序员,都应该学点项目管理。

凡事皆为“项目”项目的两类属性(复杂的逻辑,庞大的信息量)

这才是我们学习“项目实战”的终极意义。

阿里 P8 Java 高级工程师,都需要掌握哪些技术栈?

现在作为程序员的你,或许想提升自己,却找不到突破口,公司没人带。又或许你已经工作6年了,却还是很迷茫,很多知识都还是不懂,也没有达到自己期望的一个职位,薪资。

相信大家,在学习的路上也遇到了不少的坑,有人放弃,有人坚持,但是我相信作为程序员的你不会想终其一生也只是一个开发,到年龄就会被公司辞退。

所以,大家如果想往技术路上走的,想成为架构师的,一定要保持终生学习的态度,让学习力成为核心竞争力,才能不被时代所淘汰,这里我也分享自己收集的系统的学习资料,和几套学习路径图给大家,真心的希望能帮助到大家。

学习资料获取方式:转发+关注后私信回复【架构资料】免费获取

转发+转发+转发才能领取

阿里 P8 Java 高级工程师,都需要掌握哪些技术栈?

阿里 P8 Java 高级工程师,都需要掌握哪些技术栈?

阿里 P8 Java 高级工程师,都需要掌握哪些技术栈?

架构师面试

阿里 P8 Java 高级工程师,都需要掌握哪些技术栈?

学习资料获取方式:转发+关注后私信回复【架构资料】免费获取

转发+转发+转发才能领取

相关推荐