1.从Java语言本身的特点来看
首先,Java是一种语言,具有优秀的通用性、高效性、平台可移植性、安全性、多线程、分布式等特点。正是因为这些优点,所以被广泛使用,如图:
可以看出,在java学习的过程中融合了多领域知识;不同的领域需要不同的技术,但基础是共通的。无论你是在哪个领域开发,如果你想轻松的将相关技术收入囊中,除了学习上层框架的应用知识外,更要关注它们的底层结构,这就需要你在学习过程中加入更多与Java编程相关的底层基础,比如:
计算机体系结构
计算机网络
数据库
......
这些基本的“内功”可以帮助你对语言特性有更深入的了解,知道不同技术之间的区别和联系,明白为什么要使用这种技术而不是其他技术。就像盖房子一样。基础越牢固,房子建得越高,你的基础就越深厚,你看到的和学到的就会和别人完全不一样。
再者,Java语言虽然很老,但是更新很快,一定要做好终身学习的心理准备。
除此之外,不可忽视的一点是,Java语言是用英文写的。因为庞大的知识体系,与其他计算机语言相比,它要求你掌握更多的英语词汇。新兴技术的很多初期资料可能都是英文的,能看懂英文技术文档也是很大的优势。从长远来看,不仅有利于自己的技术提升,对企业也很有吸引力。所以英语能力也是一种需要在学习过程中不断提升的基础能力。
2.从目前企业的招聘需求和自身的职业期望来看
企业java程序员招聘要求越来越高?
企业要求高吗?其实不是的。只是Java初学者数量多,导致门道拥挤。就像我们早上上班坐地铁,有的单子上写着每节车厢门口都很挤,很多人进不去,但是中间相对宽松。
市场对Java程序员的需求依然旺盛,但对于初级程序员来说,由于人数众多,竞争加剧是必然的。随着这几年技术的沉淀,企业对程序员的要求也逐渐从会用变成了不仅会用,还要懂为什么用。
给我一个“栗子”!现在面试官在面试中很少会问“链表是什么”,而是变成了“链表和数组的区别”,或者比较各种算法的优劣等这些综合知识题。目的是考察你对知识的理解。不了解底层,很难理解这一层。只有知道怎么用,为什么要用,才能保证产品的长期稳定性。因此,我们得出了和以前一样的结论。在学习java应用的同时,需要进一步学习计算机的基础知识,努力思考,多总结,深入理解。这也是逐步训练我们逻辑能力的方法。
你的目标是小企业还是大企业发展?
不同的企业自然对Java程序员有不同的技术要求。
初创型小企业要求略低,主要侧重于技术的运用,但过了起步阶段,对技术人员的基础知识要求会有所提高。俗话说,打江山容易,守江山难。如果第一次进入小企业,忽视了基础内功的持续修炼,很难跟上公司的成长步伐和需求,只能跳槽到另一家初创企业。
中型企业比初创企业要求更高,要做的工作也差不多。但是面试的时候对基础能力的考查会增加,不仅仅是计算机和数学相关的基础技能,还会有一些软实力的考查,比如沟通合作能力和独立思考能力。
大厂就更不用说了,底层会全方位考察你对Java特性和源代码的理解,对软实力的要求也更高。如果你的目标是学完之后进大厂,那就要衡量你目前的基础能力和你能为此付出的学习时间,你是否能达到大厂的要求。至于学什么,学到什么程度,这是另一个话题了。这里就不做过多的延伸了,想了解一下这方面的情况。
想成为高级技术专家?
不是每个军队的士兵都想当将军,在Java职场,也不是每个人都想当高级架构师。大部分人可能只是想在Java领域找一份合适的工作,薪水相对不错,还是很容易实现的。但是,如果你想在Java技术的道路上走得更远,你需要花费比谋生多得多的时间和精力去学习。基础内容掌握的越深越好。这个也要看个人的职业期望。
好了,关于Java的特点和社会招聘的情况,我们分析的就这些了。总而言之,你要注重学习Java,计算机相关的基础知识,数学知识,英语阅读能力,逻辑思维能力,以及其他软实力的培养。你是否适合学习,除了基础条件,还要基于对Java的理解和行业要求来分析。