去年毕业以后入职深圳某公司,在产品岗待了 4 个月后,定岗 Java 岗。实际上定岗 Java 也只有半年左右,但是工作极其不饱和,平均每天只有 20%的时间有任务。分配的任务基本上也都是 CRUD,目前除了数据库外,几乎没有操作过任何别的工具。
上面说每天有大量空闲时间,因此我也在每天坚持学习。最开始学习的框架以及一些工具:Docker,ES,Spring Cloud Alibaba 等。当时都是看着视频学习的,大多都能听懂,使用这些并不难,但是学完以后没地方用,没过多久就都忘光了。还看了《鸟哥的私房菜》,像 docker,liunx 这些学起来都还挺有乐趣的,但还是一样的学完就忘。
后面我就想着既然框架和工具学完暂时用不上,那就再去夯实一下基础,看 Java 容器,并发,JVM,I/O,算法等。但是问题还是存在,平时给我写的业务似乎也用不上这些,用得最多的恐怕就是容器...,I/O 也用过一两回。学完的东西不能完全吸收并好好的运用,让我很是苦恼,感觉和没学一样。
框架方面我想学以致用的方式就是自己写点项目,现在在看某大佬的开源博客( mogu )。想像大佬们一样,把平时学习的知识,在实践中吸收。不知大家有没有更好的方法?
但是上面提到的基础知识,像 JVM 和并发这种知识,不知道有没有什么好办法能深入理解和掌握。平时分配的任务压根没有场景让我写并发,网上的博客一般也都是浅尝辄止的 demo 。JVM 更不用说了,我甚至也没听过同事们说我们的项目需要 JVM 调优。
希望大家能够提出宝贵的意见!
1
yeqizhang 2021-04-19 11:10:47 +08:00 via Android
这样还不舒服?我四年,就有三年多时间,每天 90%以上饱和,有两年忙的那些成长还特别低,工作上学的有限,有空闲时间自己学一下就好,想去大厂就有目的的学。我基本上只有下班后有点时间学习
|
2
liuxingdeyu 2021-04-19 11:13:29 +08:00
我的思路和实践是,在不影响生产的情况下造轮子,这样能更好的理解。。。
|
3
enaxm 2021-04-19 11:13:36 +08:00 1
老哥你醒醒,JVM 调优、并发 这都是死记硬背的
网上找视频看过硬背下来就完了。关键是自己逻辑要顺 珍惜空余时间,别往 996 火坑跳 |
4
sososi 2021-04-19 11:17:12 +08:00
题主的疑惑是在空闲时间如何更高效的提高技术水平,真正的化为已用。
我也有这方面的疑惑,期待大神的优质回答。 |
5
louisdio 2021-04-19 11:19:17 +08:00
跟我一样的烦恼,虽然已经有三年经验了,但感觉自己就是一个 CRUD BOY ;回想起来,发现只有两个场景是能让我明显成长的,一个是工作中解决实际问题,另一个就是尝试自己做点小玩具;现在终于不是很忙了,打算做个 APP 玩玩,既能提高技术又能保持兴趣。
|
6
enaxm 2021-04-19 11:24:47 +08:00
而且工作之后不光要面对工资编程,还要面对绩效编程
天天 CRUD 能在公司内加薪么?必然不能,业余鼓捣点小轮子公司用的上的时候再提出,让领导爽了之后才有机会提拔你。 现在有点思路了么。 |
7
mingl0280 2021-04-19 11:39:03 +08:00 3
学公司代码不是成长。
自己学了东西拿来用才是成长。 |
8
tinyuu 2021-04-19 12:47:56 +08:00
别着急. 大部分人都用不上,学都越底层在开发应用时越用不上。学会做好产品和快速完成开发任务。
|
9
xianyukang 2021-04-19 13:22:56 +08:00
"但是工作极其不饱和,平均每天只有 20%的时间有任务"
既然 "平时写业务用不上这些, 感觉和没学一样", 那就别学这些没用的东西啊 技术是学不完的, 要么面向「 兴趣 」学习编程, 要么面向「 更好的职位 」学习编程 我属于前者, 有想写的程序 or 想学的东西, 但是在公司写各种 CRUD 就把时间占满了 真羡慕你~ |
12
greatHair OP @xianyukang 嗯,确实是你这样的,兴趣和钱是第一驱动力。
|
13
jones2000 2021-04-19 14:00:02 +08:00 1
说实话 容器,并发,JVM,I/O,算法 这些真的是忽悠忽悠人的, 大家都是用开源来做的,只是参数配的不一样而已。现在谁还自己从 0 开发的。 只要你的业务逻辑不要写的太烂了, 顶不主就加机器, 基本都可以解决问题。
|
14
namelosw 2021-04-19 14:35:40 +08:00
不要焦虑
因为后面成长会更慢的… 讲真的,这么多空闲时间可以大概看看技术博客,然后去 Github 找项目,找个社区从修 bug 开始。不一定非得 Java,Go 很多社区比较活跃,代码库也好摸。摸到套路了之后也可以慢慢搞自己的项目。 |
15
helloZwq 2021-04-19 14:44:06 +08:00
工作四年半,感觉在写代码的时候可以加一些自己的思考;
比如学习了 redis 之后考虑怎么在项目中用上分布式锁(可以是很简单的实现,但是逐渐会掌握排查,解决问题的能力); 线上的故障,可以积极参与处理过程,看别人是怎么排查故障的,需要用到哪些命令,哪些工具,如果是你来定位问题,你的思路和解决措施(之前遇到过线上死锁,oom 的相关问题),慢慢练习; 并发可以自己先尝试在项目中用一用线程池,遇到一些问题,慢慢解决就知道一些了; 常用的中间件,MQ,kafka,ES 可以先看看,主要的概念,如何利用一些高级特性,在项目中整起来; 学习了 k8s 方面的知识可以试试怎么把项目打包成 docker 镜像,如何使用 k8s 部署无状态服务... |
16
slert 2021-04-19 15:33:22 +08:00
真羡慕有时间学习的
可以准备大厂面试 或者 加强计算机底层知识 |
17
lamesbond 2021-04-19 15:56:43 +08:00
有大把空闲时间不要太爽哦,可以学自己想学的
|
18
tan90du 2021-04-19 16:01:58 +08:00
我也有点类似的困惑,实战的项目不知道如何自己开启,github 上找的项目不知道如何才能吃透
|
19
3dwelcome 2021-04-19 16:25:41 +08:00
你不是在学习嘛,有些人忙的没时间学,那才叫惨。
要养成边看视频,边记笔记的好习惯。还要附加一点点实践,不能看番剧一样,看完就忘。 |
20
5200 2021-04-19 16:33:24 +08:00 3
|
21
5200 2021-04-19 16:34:02 +08:00
或许。。发快了
|
22
Qinmei 2021-04-19 16:35:04 +08:00
建议自己做个项目试试,先找个比较有意思的方向,然后各种高大上的技术用起来,理论上的东西只有做完才会有比较深刻的理解
|
23
5200 2021-04-19 16:35:13 +08:00
最近一直在朝这个路线方向学习巩固,收获颇多。
|
24
mazyi 2021-04-19 16:37:23 +08:00 via iPhone
卷
|
25
paoqi2048 2021-04-19 16:39:46 +08:00
还是规划下个人学习路线比较好,不然学得太零碎了
|
26
THESDZ 2021-04-19 16:51:46 +08:00
建立知识树,知识网格这样的东西,比如思维导图那种 ,然后一项项去学习就好了,做一些笔记
而不是这种碎片化的学习 |
27
ychost 2021-04-19 17:35:56 +08:00
很爽的,可以自己深挖自己喜欢的东西
|
28
s0nnse 2021-04-19 17:37:56 +08:00
找个开源项目,照着 issue 修 bug,提 pr 。
|
29
connection 2021-04-19 21:09:35 +08:00
我曾经也有这种困惑,建议可以对知识做做减法
|
30
lneoi 2021-04-19 21:19:42 +08:00
拿新技术优化业务代码,看看还有什么功能需要调整的,有什么用的不顺手的地方可以持续改进的。
或者找个开源项目修 bug 提 pr |
31
uselessVisitor 2021-04-20 09:12:47 +08:00
工资够就自己写轮子,或者找开源项目,这样提升比较快
|
32
JoStar 2021-04-20 09:48:07 +08:00
90%的公司里业务就是 CURD 学不到东西很正常,但凡把自己学不到东西甩锅给公司的(除非 996 ),都是为自己的懒惰找借口。
剩下 10%的公司里,对人员技术的要求通常都很高。 |