入职新公司半个月了,,
作者:沉默王二
Java程序员进阶之路:https://tobebetterjavaer.com
大家好,我是二哥呀。
昨天给公众号的小伙伴分享了一篇星球的主题:垃圾国企,离职也罢
阅读蹭蹭蹭地涨的很快,发今天这篇文章前已经 1.5 万阅读了,有小伙伴留言说想看后续,二哥这人一向信守承诺,我把话撂这了,到时候有新的消息一定给大家同步。
今天继续给大家分享一篇二哥编程星球里的主题:入职新公司半个月了,学不到东西,只会对着业务 CRUD,想半年后跳槽,拿到 15k 的 offer,该学什么?
其实这个问题蛮有代表性意义的。先来看一下球友提问的具体内容。
球友的提问
二哥你好,我是应届生三本Java,目前在上海一家公司上班,入职半个月了,薪资转正后应该是10k,但是入职这几天感觉学不到什么东西,就是对着业务crud。
我想半年之后跳槽,希望能有15k以上。请问我该学什么,我知道要学多线程 juc 并发 jvm理论和调优 redis 消息中间件 mysql 调优 springcloud ssm 微服务项目 基本算法 计算机基础等 但是就是不知道学多深
例如我尝试去看线程池源码 但是我实在看不下去了 看了一会就想睡觉 还有ssm也要学到源码级别吗?我的诉求就是去一个更好的公司(但不是大厂,我也认为自己没有那个毅力)
二哥的回答
其实刚入职,感觉在公司学不到东西是非常正常的现象,公司不可能一上来就给你安排核心任务,即便是小厂,也不会。所以球友这种现象挺正常的,只不过这个问题还是值得重视的。
下面👇🏻是二哥的回答。
球友好,其实这是大多数普通人新入职时都会遇到的问题,我也遇到过。
所以我就结合我的亲身体会来谈一谈。
我的一份工作,是一家日企,10 多年前了。当时用到的技术叫 flex(已经被淘汰)。
我刚入职那会也是做一些边缘化的工作,因为刚去嘛,没什么经验,也不会和领导打交道,所以一直打杂。
但我那时候不知道为什么,好像是听某个前辈说的吧,公司接下来会接一个 flex 的项目,于是我就开始强迫自己去看 flex 的源码,以及日方人员封装的 flex 组件源码,看的过程非常痛苦,因为很多东西我真看不懂。
但我心里莫名地笃定,这是我一个机会。如果我能比团队的其他成员,比我一起进来的成员,更早一点的接触 flex 源码,也许我就很快能超过他们。现在回想起来,确实属于提前预判了,因为我之前压根就没有参与到任何正式的项目,包括实习的一年,和试用期的仨月。
我只是偶然在一个聚会上,听一个前辈说,公司在接下来的一段时间里可能会有团队非常依赖这个 flex。
很快,经过半年时间的默默无闻,我在 flex 这个领域算是有点小成绩了,我给同事们做了一个内部的聊天软件,供他们聊魔兽用。公司内部不允许用 QQ、飞秋这类通讯软件的(那会还没有微信和企业微信,用的一款通讯软件叫 spark,见下图),并且公司会记录聊天记录,钥匙被公司领导发现这群前辈在聊魔兽,那就不得了了。
所以我这个主动去钻源码并写出来聊天工具的举动,很快就被前辈们认可了。
于是我就被调到一个项目组去解决有关 flex 的问题了,解决的还不错,因为没有新人比我更了解 flex 组件的源码,我可以自定义组件了,其他新人还停留在会用的基础上。
解决完这个项目组的问题之后,部门里一个新的flex项目要启动了,非常重要,我毫无疑问,就被选做了 team leader,作为技术攻坚者。
工资待遇提升了,团队的地位提高了,参与的工作内容质量也提升了。
这就是去读源码的好处。
当你需要超过其他人的时候,就得做点不一样的。啃源码就是一个不错的办法,你要说这个过程痛苦不痛苦,那肯定痛苦。
学多线程 学 JUC 学 JVM 学 Redis 学 MySQL 调优 学 SpringCloud
这个过程注定是痛苦的,因为这些都是技术当中最难的一部分,有一些我自己也学不会,每次去看也头大,因为学习能力是有差别的,不是每个人都是学霸,不是每个人都有很好的学习方法。
怎么办?
你可以去挑一家 15k 薪资的职位要求,看看人家要求什么,你就去学什么,面向跳槽学习,这样就能主主重点,因为 Java 后端的知识体系实在是太庞大了。
我去某招聘网站帮你看了一下,比如说这家,1-3 年工作经验,13-25k 薪资,一年 13 薪。
职位要求:
计算机专业有限,有项目开发经验 精通 Java、熟练使用网络、IO、多线程、JDBC,熟悉 JVM 原理 熟悉 SpringMVC、Spring、Spring Boot、Spring Cloud、MyBatis,熟悉分布式、缓存、消息通信 熟练使用 Maven、Git 熟悉 MySQL,有 SQL 优化能力
基本上没有逃开二哥一直给球友们讲的 Java 后端开发四大件:Java 基础(SE)、Spring Boot、MySQL、Redis。
你去学这些重点就行了,也不一定非要都达到源码的程度,比如说 Java 的常用类,String 类、HashMap 类的源码要看吧?
但 Spring Boot 的源码就不一定非要去看,熟练使用就可以了。
面试当中也不是所有的问题都能答上来才能过了面试官这一关,而是针对某一个技术点,你的答复能真正打动面试官,让他觉得你确实很厉害。
那比如说 Java 并发编程中,把 并发编程的原子性、可见性、有序性,以及内存模型 JMM 拿下,把 volatile、synchronized 关键字拿下,把这个领域当中的某些必须拿下的部分拿下,那面试当中就赢了。
挑重点,日积月累。
学会一个知识点,就是真的学会了,如果忘了,就重新温故,不要追求大包大揽。
即便是下一次面试中某一个点答不上来,可以用你真正掌握的去弥补,也是 OK 的。
所以,总结一下。
源码层面,要看你自己的诉求是什么,如果你简历上说自己掌握某一部分内容,OK,那你还是要去学的,硬着头皮学的,学不会理解不了,先背会,去刷星球置顶帖里的面渣逆袭部分。
另外,及时调整自己的学习方法,让自己更高效一点。
比如说,做出来点什么东西,比如说看看编程喵的源码,结合星球的专栏《编程喵实战项目笔记》去看,通过 debug 调试的方式去看源码,效率会高很多。
比如说在学习 HashMap 的时候,为什么要扩容,为什么加载因子是 0.75,这样肯定只看源码是不行的,可以结合《Java 程序员进阶之路》网站上的内容看,加上自己调试,加上总结,你就不会那么枯燥了。
还有,就是可以在二哥的编程星球的 VIP 群里和大家讨论,交流。
最后,15k 没问题的,我之前一个读者,去银行外包都拿到了 18k 的薪资,还是非科班转行学习 Java。
你已经拿到 10k 了,那么只需要在这个基础上提升 5k 的含金量就 OK 了,对吧?
最后
一个人可以走得很快,但一群人才能走得更远。二哥的编程星球里的每个球友都非常的友善,除了鼓励你,还会给你提出合理的建议。
二哥的编程星球(戳链接加入)上线2个月,已经有 320 多名 小伙伴加入了,如果你也需要一个良好的学习氛围,戳链接加入我们的大家庭吧!这是一个 Java 学习指南 + 编程实战的私密圈子,你可以向二哥提问、帮你制定学习计划、跟着二哥一起做实战项目,冲冲冲。
没有什么使我停留——除了目的,纵然岸旁有玫瑰、有绿荫、有宁静的港湾,我是不系之舟。
推荐阅读: