Java架构资源分享

Java架构资源分享

行文之前,先问大家几个问题:

1,你开始逐渐担忧自己的年纪?

2,你开始觉得加班熬不过小年轻?

3,你开始因未知新兴技术而慌张?

4,你开始跳不动槽?

如果以上的回答都“是”,那么你确实陷入“怕老”行列了。

作为程序员,你“怕老”吗?-LMLPHP

“青春饭”这个词,程序员肯定不陌生,因为上了几年班,做到一定年纪,再想突破就会明显发现力不从心,开始陷入“怕老”的焦虑。

这种焦虑无关你的年纪,刚进入行业两三年,如果水平还和刚入职场差不多,那你肯定也会怕老,因为不确定哪一天你是否会被更年轻的新人所取代;这种焦虑也无关你是在大公司或小公司,这是编程行业通病总的来说,原因有如下三点:

  • 大公司丨纵向发展强,横向发展弱

在大公司,往往都是一个萝卜一个坑,对于各个编程岗位分工明确。比如很多大公司的前端开发直接细分了CSS和JavaScript两个部分,这样细分所导致的结果是,你大部分工作时间只能接触自己职责所在部分,而对于其他领域不太了解。

可是做程序员最怕的,就是在一个领域钻研太过,因编程技术飞速迭代,新技术层出不穷,各种语言,框架每年都会更新,如果你只专注单一领域,假若市场萎缩,你就处境尴尬了...... 10几年前做MFC或赢的程序员不就是实实在在的例子吗,包括这几年的C / C ++,Linux的市场空间也在逐渐减小,而热门领域几乎已是年轻人的天下,而此时你再想转,就再也杀不动年轻一代了。

作为程序员,你“怕老”吗?-LMLPHP

  • 小公司丨技术面广,但沉淀不深

反过来,在小公司往往更强调的是花更少的钱,请更少的人,实现更高效率。因此在多数时候,一个程序员要兼顾多角色,前端和后台混合着写是经常的事儿,甚至还可以一个人包揽了整个业务模块的开发工作(就是传说中的全栈开发),更别提还要偶尔帮公司修修电脑,整整网络了。

这样的结果就是,你的青春熬没了,虽什么都会一点,但都不太精,如果真要你操刀一个大项目就有点心虚了。

笔者是做的Java架构师的,身边有一个工作8年多的同行朋友,之前一直在小公司摸爬滚打,大部分工作都是用Java的从事集中式业务系统开发(网络),对于微服务和分布式系统的业务一般是浅尝辄止。可目前互联网公司的产品,随着流量的不断增长,大多都会用到分布式相关的技术来完善业务系统,所以当他跳槽去大型互联网公司面试被问到分布式这一块时,明显感觉心有余而力不足,最终导致跳槽失败,高不成低不就。

  • 寒冬风向丨企业偏爱高端人才,竞争愈发激烈

加之,近两年资本寒冬,BAT,TMD以及一些大型互联网公司对于程序员校招明显放缓,远不如前几年的鼎盛辉煌,与之相对的是对高端技术人才招聘的需求愈发旺盛,甚至愿意给出高出市场薪资水平的30-50%来挖人。

  • 原因之一在于互联网企业野蛮生长期已近尾声,无需再野蛮扩张人员规模;
  • 其次在于基础型人才已趋于饱和,而对于能帮助公司继续引领风骚的高端人才求贤若渴;
  • 最后是人工智能的崛起,导致很多研发岗位都有可能被更高效的程序所代替。

从大环境来讲,BAT等巨头企业的动作一般是行业风向所在,不难看出,他们对人员调整的节奏基本是一致的,即缩减普通岗位,吸引顶尖人才。可见,在人才需求趋于平稳状态下,程序员之间的竞争只会越来越激烈,尤其是基础型程序员。

由此可见,无论你处于何种年纪,如若不够强,都要面临着“未来我该何去何从”的职场焦虑。

只不过,我并不赞同“青春饭”一说,各行各业都有,说白了就是营造“大龄恐惧症”,源于这个时代变化太快,谁也不知道下一场取代互联网的变革何时会来,但这并不是死结。

年轻程序员的优势在于年轻和激情,年长程序员的优势在于阅历和经验,各有千秋。而一般被时代抛弃的是原地踏步的人,只要时刻保持最佳的核心竞争力及学习力,行业想淘汰你都难。

那么,如何让自己竞争力时刻处于上游呢?

  1. 确定职业规划,把握职场节奏

程序员想要延长自己的职业生命周期,首先要根据个人爱好来做好职业规划。总的来说,有4条轨迹可以挑战。以JAVA为例,如果想走技术管理,可以走“CTO”方向;喜欢做产品,可以走全能型的“产品经理”之路;想钻研技术理论,可以考虑“技术专家”方向;想无尽的探索编程的奥秘,可以走“资深架构师”路线。

作为程序员,你“怕老”吗?-LMLPHP

其次是基础知识很重要。继续以Java的为例,你想走得更远,就必须把Java的基础知识掌握牢固,比如最入门的Java的程序如何运行,很多人只是会单纯通过IDE去执行的Java程序,但是底层IDE又是如何执行呢?再比如基础的数据结构与算法,不要连二分查找,排序,二叉树遍历,链表,栈之类的都不熟悉,就说不过去了。

另外一个关键是把握好职场节奏,按部就班的进阶。可以根据下图,看你目前的节奏都对了吗?

作为程序员,你“怕老”吗?-LMLPHP

  1. 跳出舒适圈,拓宽横向技能

舒不舒适,从你跳槽面试时就能试出来。

我目前服务互联网金融公司,在面试一些大龄Java程序员时,明显发现他们惯常使用的框架和技术偏旧老旧,而对较新技术(例如Spring Boot,SmallSQL,MyBatis等)虽然了解但涉足不深,源于他们平时长时间只投入一类技术的研发,而忽略了横向技能的拓宽,这自然不匹配目前互联网企业高速发展的人才需求。

下图是我总结的目前比较主流的<爪哇架构师横向扩展技术学习的大致框架图>,你们可以看看是否都驾轻就熟。由于版面有限,无法放出全部学习专题,有兴趣者可找我私聊或者加。

作为程序员,你“怕老”吗?-LMLPHP

是不是发现自己还有进步空间?所以啊,不要被当前从事的领域所束缚,要多去学习不同领域的实现技术,你可以通过坚持自学来加深认知,也可以选择跳槽新公司跟大牛一起实战进阶。

小结:

别怕老,真的,写代码没有年龄限制,学到老写到老,毕竟世界是公平的,咱们都凭实力说话。

刚说到圈子,我做Java架构算起来也10年有余,带过一些人,也认识许多行业朋友,其中不乏BAT大牛,如果你正好对Java架构技术感兴趣,欢迎来我的Java学习群:725219329,谈不上指导,但咱们可以一起玩笑吐槽,一起上下求索。

群里会随时更新一些免费共享的热门源码,学习视频等资料,希望真正能帮到大家走出迷茫。下扫描码方二维点击或者阅读原文也是一样可以加入进来的。

作为程序员,你“怕老”吗?-LMLPHP

关注我的公众号:Java的架构师学习,可以获取更多程序员技术干货哦!

作为程序员,你“怕老”吗?-LMLPHP

11-24 08:23