2019是日无暇晷的一年。

从年初的大四准毕业生到现在半年经验的职场少年,一路走来,从技术菜鸟到小有成就,从稚嫩到沉稳,这是成长的印记。

2019前3个月是艰难的。犹记得2018年9月秋招经历过的恐惧,大三时“听信了”大学老师的谗言:PHP是世界上最好的语言。大三一整年都在学习PHP,某马程序员官网放出的PHP视频教程看了80%多。但现实终究是残酷的,国内大部分企业后端都还是以Java语言为主(别跟我讲百度用PHP)。秋招的PHP岗位实在是太少了,加上我只是一个双非普通一本学历,又没有什么拿得出手的获奖证书,根本就没有一点竞争力。于是修改了简历,项目经验写上了大学Java Web课程设计写的JSP+Servlet项目,就开始转向投递Java岗。

终于过了一家深圳互联网公司的笔试,来到面试阶段,跟面试官聊了一下大三学PHP的事情,然后开始问技术方面的问题,现在回想起来,当时的问题算得上是非常基础的知识点了。例如:int和Integer的区别?int和Integer作为同名方法的参数,算不算重载?

这是我的第一次Java面试,面试过程中满怀信心觉得自己都答对了,面试出来后查了下百度,发现好像一个都没答对。“电子竞技,菜是原罪”。

当时深刻认识到凭当时的自身技术能力想找Java开发的岗位几乎是不可能的,于是做了一个很果断的决定,停止投递简历,系统学习Java知识体系,等待春招。

某北大学计算机学院的学生宿舍在校外(俗称“三期”公寓),没有独卫,没有空调,六人间。自学是很考验人的,那个时候刚转向Java,疯狂的找学习资料,某马程序员,某硅谷,某学堂,某客网,某宝…几乎所有的免费视频教程我都下载了。面对几十个G的资源,我陷入了迷茫,该从何学起呢?

那个时候我的知识体系基本是一片空白,只有大学的Java基础课程和J2EE课程学的一点知识储备。听了同学的建议后,决定从某客网高级项目课开始学起,跟随项目需求,对项目中用到的知识点,技术框架进行细致学习。然而一切都是艰难的,这个项目用的技术栈主要是Spring Boot、Mybatis等,对于当时连Spring都不知道的我,实在是太难了。

于是我打开了某马程序员的Spring入门到精通视频,从传统的Java Web到引入DI/IOC,大概能听懂一点,我开始打开IDE对着视频敲代码,经常一个视频重复播放三遍甚至更多,第一遍是听大概的内容,第二遍是细听,然后跟着敲代码,第三遍是总结性的听,做一些笔记。

但是我发现,我对Java语言的一些基础性的语法和概念还不是太熟悉,于是我打开了2018年双十一买的《Java编程思想》,开始了解Java语言的一些特性。同时还看了某马程序员创始人张老师的《Java高新技术》视频课程,对我影响甚大,视频内容基本是JDK5的新特性,包括静态导包、可变参数、增强for循环、自动拆/装箱、享元设计模式、枚举、反射、类加载器、双亲委派模型、注解、泛型和动态代理等。这套视频算得上是彻底改变了我,真正的让我入了Java的门。

此后,还看了张老师的《Java多线程与并发库》这套视频,这套视频奠定了我的Java基础,视频主要讲解了传统线程同步与互斥技术、ThreadLocal类、Callable和Future类、Timer定时器类、线程池、读写锁、闭锁、栅栏、计数器、阻塞队列、原子操作类和同步集合等内容。

再之后,我接触到了Spring,Spring MVC,Mybatis,Maven,Spring Boot,Redis…等一些技术栈。

基本熟悉这些框架之后,我继续了某客网高级项目课,春节在家的一个月,跟着视频把代码写的差不多了。然后把这个项目当做项目经验填充在自己的简历上。

对于这个项目,我并不是完全照搬视频中所讲,而是采用标准前后端分离开发模式,前端选择了Vue全家桶技术栈,后端则是视频中的Spring Boot技术栈,这对于我的项目经验来说是一个加分项。

经过为期五个月的学习,我开始春招的步伐,经过二月底三月初一个多月的跑宣讲会,参加笔试面试,最终收获了一家武汉的Offer,一切都挺幸运的,这家公司的薪资,技术栈都比较满意。终于是功夫不负有心人。

7月,入职。

进入新公司,新环境,成为了社会人,很激动。

9月,参与的第一个需求上线。老总请喝酒,喝吐了一片人,我也吐倒在门外。

10月,开始了今年最大的一个项目,加班通宵了两次。很累。

12月,出差来到了北京,看了天安门,看了紫禁城,看了恭王府,看了水立方,看了鸟巢。不虚此行。

末了,12月的最后一天进行了转正答辩,应该是转正了。

且行且珍惜。

2020年,希望可以遇见更好的自己,提高时间规划能力与自控力,形成自己的知识体系,并深入到技术中。