高薪Java工程师自述:这些方法,让我如愿斩获大厂offer
“当你决定要放弃某一件事情的时候,先想想你为什么要放弃,你是因为讨厌这件事,还是你觉得这件事情很难做,当你还没想明白时那就再等等。”
六个月时间,从Java小白到成为用友网络团队的一员,本期的学员故事分享,就让渡一优秀学员蔡同学用亲身经历告诉你什么是Hardwork pays off!
大家好,我是渡一Java培训班的学员蔡锦鸿,毕业于暨南大学软件工程专业,在去年秋招的时候拿到了用友网络的offer,目前也是用友技术团队的一员。
转眼已经从渡一毕业将近一年,想对这六个多月的学习经历做一个复盘,分享从开始学习课程到成功进入用友以来的全过程,希望能给大家一点点帮助~
我把自己的故事分为三部分:
1.学习
2.进步
3.未来
无论你是正在开始入门Java开发,还是已经有了自己的部分Java知识体系,或是目前处于入职后的状态,希望我这些经验都可以为你提供一些参考。
从“小白”到“有体系”
我花了不到半年的时间
严格意义上来说,我不算半路转行的“纯小白”,我本科的专业是软件工程,平时的专业课也会学到C语言和C++等,在大一大二时对计算机编程领域有了一定的了解。
大三的时候正好赶上了疫情在家学习,想着为了秋招找工作做准备,就在网上找了些线上的公开课了解一下。接触到Java方向,也是因为恰巧在腾讯课堂看到了阿拓老师的公开课。
在报名课程之前,我有了几年的计算机学习经验。日常也一直有通过各种书籍、博客进行学习,为自己规划各种学习路径。
虽然我的知识量有一定程度的积累,但总感觉我的知识都是零散孤立的点,没有集合起来,也不知道哪部分缺失,而且对于Java领域我也没有入门,更没有一个系统的编程思想。就一直想报一个课程来帮我建立完整的知识体系,让自己对自己的能力有一个更加清晰的认识,好查漏补缺。
所以,在试听免费课程后,我报了名,成为了渡一Java的一名成员。
图片源自网络,仅做配文展示
有的同学会认为Java入门很难,在我看来,跨过第一道关很关键。
对于我自己而言,从0到1的改变确实是困难的,尤其是入门之后会发现整个整个Java的体系架构非常庞大,需要去不断学习新的框架甚至底层的知识,这方面看,Java的确不太容易。
但学习任何编程语言,都需要有一定的逻辑思维,以我当初选择C语言入门为例,如果想跨过第一道关,首先就是去熟悉它。熟悉的过程就是不断敲代码,当你熟悉了之后就会发现容易很多。
建议你听不懂的时候就照着书本敲代码,然后看运行结果,然后试着去修改部分代码来改变运行结果。动手后你就会明白一些之前不明白的理论知识,此时再把书好好看看来补充理论知识会事半功倍的。
不积跬步无以至千里,不积小流无以成江海,语法是基础。如果你觉得难,只不过是因为你对他很陌生,恐惧源于未知。
图片源自网络,仅做配文展示
阿拓老师经常在课堂中强调思想,这里我个人推荐C语言和Java作为第一门编程启蒙语言,会帮助大家更容易打好编程思想的底子。
从疫情期间在家学习Java到20年9月开始秋招,我花了不到半年的时间,构建了属于自己的Java体系,向职业工程师迈出了关键的一步。
为了深入思考
我成为了“笔记达人”
名师指路,只是成功的踏脚石,更重要的,是自己的不懈努力。我已知自身缺点,在集中学习的大半年里,我想的便是如何克服缺点。
疫情在家我基本上是早上睁眼到晚上睡觉都在学习,至于周末,更是我整理笔记的黄金时间。因为时间紧迫所以也没有想偷懒放松的想法,紧迫感的驱使让我的学习效率一直很高。
我的学习方法也很简单:把基础打好,但是不要过于深。一开始先打牢基础,等到后面遇到了再慢慢去拓展。
像我前文中提到过的,编程的学习过程就是多敲代码,但是不要照搬去抄,一定要有自己的思路。
一开始不会可以先去模仿,但之后要用自己的思路再复写一遍代码,如果在写的时候能把自己的思路说出来,那么学习效率会更高~
图片源自网络,仅做配文展示
最重要的一点是编程中的思想,编程就是为了解决问题,一开始的时候肯定会有一个直接的想法,这也就是你最先想到的第一个解法,当你解出来之后再去想最优解,然后一直去想有没有更好的解决办法,用不同的思路解决相同的题。
总之一句话:保持学习动力很重要!
想想自己为什么学,督促自己学习的源动力是什么,然后不断地警醒自己!多看书、多学习、多投资自己,才能让自己保持行业竞争力。
至于学习上的技巧,我非常推荐大家写笔记,无论是之前学习时还是现在工作后,我都会花大量的时间记笔记,一开始是有道笔记,后来跟着语晴姐用markdown。
因为写笔记才会把知识真正内化为自己的东西,毕竟好记性不如烂笔头。
整理好的笔记就是我的小词典,我不会定期去看笔记但是碰到一些不懂的还是会去翻一翻,有时候也会重写,因为当时可能理解不是那么正确或者深刻,所以定期复盘重新,不断巩固。
要有删掉代码的勇气,笔记也一样!
除了记笔记,我在学习的过程中还会把不懂或者没学透的知识反复学习两遍以上,比如Java的基础上中下、框架中的SSM部分、SpringBoot的一些底层原理等等,反复的阅读学习对于加深印象很有帮助,另外一些专业书籍,比如《Java编程思想》、《核心技术》上下卷这些我都很推荐大家反复阅读。
图片源自网络,仅做配文展示
对于额外补充理论知识方面,大家也可以在GitHub和各种博客上学习大神们的经验,不过对于0基础的小白最好报班学习,不要觉得网上资料那么多,你一定会去看去学,很多时候学习是个强迫自己的过程,不仅是IT,很多其他事也是这样。
要自学编程得有强大的意志力,特别是面对自己不能理解的知识,你会卡住,渐渐地就会觉得自己其实也没有想象中的那样热爱,所以如果不想你的热爱和坚持被消耗完,他说报班是一个很好的系统学习IT的选择。
关于更多的学习技巧,因为我自己还需要先提升,也希望自己有更多的内容和学习心得以后,可以将真正有用的知识分享给更多的人。
如果要给学弟学妹一个建议的话,那我建议大家不要把学习当作压力,如果不赶时间找工作的话慢慢学,想要做好IT这行,急于求成是不可取的,需要一点点的积累,稳扎稳打的学习,才能一路坚持下去。
图片源自网络,仅做配文展示
遇到问题,能自己解决,就自己解决,自己找不到解决办法或毫无头绪,我建议一定要寻求帮助,同学也罢,老师也好,总之不要自我纠结。
总之,选择Java培训需要你坚定不移的持续学习,紧跟着老师指引的方向走,打好专业基础,等到做项目的时候,就能把之前所学的东西给用上,要是能做出一个有模有样的项目,那还是很有成就感的。
拿到offer
只是我的开始
在秋招中我通过面试后,顺利加入了用友团队。
用友面试时主要还是以Java基础知识、数据库方面为考核方向,另外还有一些框架的问题。面试官比较看重基础,尤其是Java编写代码的一些规范,面试也让我明白了:学习的最终目的其实不是知识本身,而是学习方法,思维方式,心理素质,独立解决bug的能力。
上班和上学比起来一开始会有不适应,熟悉了之后也慢慢适应了,感触最深的就是学的东西在项目里会时时刻刻遇到。
举个例子,今天在排查问题中就要去深入到Spring的底层框架,如果我之前没有学过根本就不知道Spring底层是怎么做的,那今天排查问题时我将遇到很大困难。
还有就是设计模式,在项目框架里面尤其是我们公司自己封装的一些框架很多都用到了设计模式,如果你不知道设计模式的一些思想以及他是怎么处理的,那就根本找不到这个方法以及他为什么这么做。
因此,不断地学习和吸收新知识、新内容,不断地拓宽自己的认知,打破能力边界和认知边界非常重要。
图片源自网络,仅做配文展示
我一直想加入一个大的团队,可以跟着学习,现在的我,如愿以偿加入了一个大团队。
但这,只是我的开始。在团队中,我会——
1.抓住跟大牛学习的机会
2.认真钻研团队内的项目,让自己能把项目做得更好
3.提升自己的项目经验,从深度和宽度两个维度上全方位提升。
未来的我,想提升积攒自己的经验,有机会再战大厂,去学习见识更多的东西,也希望自己可以在未来做出一个属于自己的产品。
不过实现这些理想的关键还是现在扎实的走好每一步,要做的就是好好提升自己,不要想太多,成功是一件水到渠成的事情。
技术之路从来就没有捷径,希望大家可以日积月累,永远持之热情。最后,给学弟学妹们一些切身感言吧:最好给自己定一个目标,不管是找一份高薪工作,还是学习一技之长,都可以。
在渡一学习培训的这几个月里,耐住性子,好好学习,也许过程会有些辛苦,但是只要你付出了足够的努力,就没有完不成的目标。祝愿渡一能够越办越好,培养更多的人才!
RECOMMEND