作为一个职场新人,或者刚刚入职某个公司,总会有一种感觉自己啥都懂一点点,但是动起手来又不知道从哪里入手,甚至开始有点怀疑自己的记忆,自己真特么会这个东西么。今天给大家带来 Java 新人含笑7步癫,吃下去不保证你能平步青云,但保准你乐呵呵胸有成竹。
step1?
找公司的前辈帮忙搭建开发环境,拷环境要文档,最好坐在前辈旁边手把手,不然搞死你都不知道这个公司的环境怎么配,而且很浪费时间。这在我之前几个公司基本都是这样子,JDK版本是什么,Tomcat 版本是什么,甚至IDE 的环境变量怎么调,maven 库需要什么repository,git 或者 svn 的玩法是怎样的,这些都搞通,顺利的话一天,不顺利的话,你一周都出不了活,所以还是大胆请教前辈,虽然很烦。完事后请前辈吃顿饭喝个咖啡啥的,多好呢,一举两得。
step2?
下载一个 IDEA,装一个好的代码提示插件,比如 Alibaba Java Coding Guidelines。对于你的代码风格有非常非常好的促进作用,毕竟现在的你,基本不知道什么叫好代码。而且也基本别期望公司的前辈能在代码里留下什么好代码,毕竟绝大多数人可能也写不出什么好代码。所以好的代码风格是跟大家保持一直,没有涉及的地方,按业界好的实战来实施,好代码从自己做起。
step3?
一开始别想太多,因为一开始想也想不明白,动手调试起来就是了,反正就当练手了。搞个 @Controller ,不管咋样,先盘他再说,动起来,搞一波事情,这个阶段别管那么多, it works 最重要。搞点 if、else、for、try catch,一把梭。
step4?
提交代码前仔细斟酌,多多请教下前辈,我见过有一这么一个人,想提交下代码,结果因为公司也比较小,权限管控也不是很好,操作失误直接把库删了。。或者把分支瞎 merge,原来的库已经够乱了,被你一操作完全没法看。
step5?
用 mybaties 写个 sql,玩一玩数据库查询,看看别人是怎么写的,如果别人写的 sql 都巨复杂,最好别学他们。如果别人写的 sql 都比较简洁比较单一,好好学习一下。
step6?
搞搞缓存 Redis 啥的,消息队列 RocketMQ 啥的,配置中心 Apollo 啥的,你们现在有没有在用不要紧,想办法把这三个东西用起来,把他们变成你的工具,时刻记在手里,别什么事情都想用自己的 Java 解决,多一种锤子多锤一种钉子不是?
step7?
CURD 疯狂搞起来,实现人生价值,代码堆起来。
别跟我扯什么技术挑战,别跟我聊什么业务挑战,就刚出来工作这种水平,给你挑战你估计就直接跪在地上,还说我为难你了,别坑自己也别坑我。老老实实谦谦虚虚的,把很多很小很小很小的需求,很杂很杂的小需求做了,熟悉起来,先完成公司对你的要求,等你成长到一定程度的时候,再来跟我聊增加挑战的事情。走路都还不会就想学会跑,要么你天赋很高,并且比其他人更早付出了更多的努力,而且还有一个还不错的导师,(如果您是这类人上面这么多字当我没说)。但是这些很小很杂的需求,对于这个阶段的你来说,其实也足够挑战了吧?
ps:之前也有很多小伙伴跟我聊过,关于他们在 Java 这条路上的职业规划以及进阶建议。我根据自己的经验,其实也只能给比较浅显但是又很吃香的东西。第一是 SpringMVC 原理和源码,这对于目前任何一家公司来说都是必备的技能,熟练掌握 SpringMVC 你肯定可以上手任何一个公司的简单需求。第二是 SDK 源码,每天我们都在使用 SDK,但是真真正正能了解能理解它们背后的设计,能理解它们背后的局限性的少之又少,所以这是一个非常非常必备的加分项。第三是 JVM,Java 虚拟机我们每天都在使用,但是知道它的运作机制的更是凤毛菱角,甚至很多工作了很多年的老油条,对它都只是觉得它会自己处理内存有垃圾回收机制,就没了。这三项是寻找 Java 工作的基本素养,希望你们也能好好认真投入精力,去深入他们巧妙的设计和用法。