工作5年的Java程序员,才学会阅读源码,可悲吗?
最近一位5年开发经验的群友与我聊天
他说:最近慢慢的尝试去看spring的源码,学习spring,以前都只是会用就行了,但是越是到后面,发现只懂怎么用还不够,在面试的时候经常被问到一些开源框架的源码问题,即使在网上各种百度,当时回答出来也会是很皮毛,不痛不痒的解答。
对于目前碰到的瓶颈,他不知道怎么办。
我相信,绝不仅仅只有他一个人遇到这样的瓶颈,中国上百万的Java程序员中,大部分Java程序员都卡在这个苦恼中,或者还有更多的程序员们不知道自己不知道,因为他们看不到冰山下是什么。
回到为什么工作五年才会看代码这个问题。当工作五六年,随着自身职称的提高,遇到的问题越来越难,面对企业的高并发,高可用这些问题,已经不能用CRUD 来解决了,这个时候底层知识才迎来了应用的机会。回想以前的职业生涯,总结经验,然后把底层知识捡起来,去解决 CRUD 解决不了的难题,才懂得了代码的深层意义。
最后说一下我是如何帮他避免工作很久之后才发现底层知识的缺失吧,不废话,直接给出如下:
1. 未雨绸缪,不要太功利主义,不要觉得之后能赚钱的知识才是要学的知识,平时多看些编译原理,数学方面的知识,不是计算机专业的同学可以去搜一下国内外计算机专业名校的课程安排,然后去慢慢学习;
2.多写代码,没有时间看底层,就反向去学底层,以代码为手段,遇到问题就深挖原理,在编程中深入底层,熟悉原理;
3.培养全栈思维,全栈不是一个岗位,而是一种思维,可以用一种系统的观点让你重新认识自己目前的工作与岗位,获得全栈的简单方式就是多用新技术,然后横向对比,最终回到自己目前所用的语言,也就是跳出语言学语言;
4.寻求大神帮助,大神的经历与能力都是经过实践验证的,大神的能力提升方法也一定是高效率的,通过大神的提点,能够避免许多走弯路的情况。推荐一下自己的Java架构大牛群:669275137。我会定期上传阿里技术大牛讲解的互联网架构技术视频分享在群内。
5.对于以后想要成为大神的同学也是最重要的一点:警惕碎片化方式。不管是生活还是工作,大众的生活习惯已经趋向于碎片化,这是社会高速发展的结果,而编程需要的核心能力却是与碎片化相对的深度思维方式,不要小看碎片化,长时间在这种方式下生活,会丧失大脑的深度思考能力。是不是看超过5分钟以上的长文会有头晕不适的情况,是不是短视频app看的停不下来,有多久没有读一本超过300页的长篇书籍了?适度的娱乐是没问题的,但长时间如此的生活方式,会使大脑处理信息的能力退化。
那么,究竟要学什么?
七大Java架构专题
你可以不学底层,你可以继续靠 CRUD 就能月入过万,但寒冬来临时,如果被裁了,那就不能怨社会了。如今都在谈论寒冬有多可怕,但只有系统化思维的人才能看到原因,也只有这样的人,将来的路才会越走越宽。寒冬不可怕,在寒冬里没有生存能力,才是最可怕的。以上技术知识点你想学吗?转发此文并加群669275137免费获取Java架构师思维导图,每晚还能免费听阿里技术大牛直播授课七大技术专题,并且获取往期录播!
工作5年的Java程序员,才学会阅读源码,可悲吗?的更多相关文章
- 正式工作的前奏——一个Java程序员的实习总结(1)
不知不觉,到深圳实习已经三个礼拜了.跟在暑假的三个半月实习不一样,这次收获更多,感受更好,算是摆脱了那次实习给我带来的阴影(这个会放到以后才说). 在知乎上,有这么一个问题,你现在最想跟刚工作时的你说 ...
- 一个工作三年左右的Java程序员和大家谈谈从业心得
转发链接地址:https://mp.weixin.qq.com/s/SSh9HcA5PgMHv7xiolQkig 貌似这一点适应的行业最广,但是我可以很肯定的说:当你从事web开发一年后,重新找工作时 ...
- Java程序员的推荐阅读书籍
作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水 ...
- 工作3年的Java程序员,轻松拿到阿里P6Offer,只因为他搞明白了Redis这几个问题!!
Redis中的多路复用模型 Redis6用到了多线程?那多线程应用在哪些地方,引入多线程后,又改如何保证线程安全性呢? 同时,如何在性能和线程安全性方面做好平衡? 关于Redis的单线程模型 在Red ...
- 工作了3年的JAVA程序员应该具备什么技能?(zhuan)
http://www.500d.me/article/5441.html **************************************** 来源:五百丁 作者:LZ2016-03-18 ...
- 工作了3年的JAVA程序员应该具备什么技能?(转)
工作了3年的JAVA程序员应该具备什么技能? 因为和同事有约定再加上LZ自己也喜欢做完一件事之后进行总结,因此有了这篇文章.这篇文章大部分内容都是面向整个程序员群体的,当然因为LZ本身是做Java开发 ...
- 2017年 Java 程序员,风光背后的危机
不得不承认,经历过行业的飞速发展期,互联网的整体发展趋于平稳.为什么这么说?为什么要放在 Java 程序员的盘点下说? 的确,对于进可攻前端,后可守后端大本营的 Java 程序员而言,虽然供应逐年上涨 ...
- 9大行为导致Java程序员薪资过低, 你有几个?
Java程序员薪水有高有低,有的人一个月可能拿30K.50K,有的人可能只有2K.3K.同样有五年工作经验的Java程序员,可能一个人每月拿20K,一个拿5K.是什么因素导致了这种差异?本文整理导致J ...
- 五月的仓颉大神写的 三年java程序员面试感悟 值得分享给大家
感谢 五月的仓颉 的这篇文章 , 让我重新认识到自己身上的不足之处 . 原文地址http://www.cnblogs.com/xrq730/p/5260294.html,转载请注明出处,谢谢! 前 ...
随机推荐
- 【JAVA】反射总结
反射是什么? 反射就是指程序在运行的时候可以知道一个类的自身信息. 自身信息有哪些:类方法.属性.成员变量.构造方法.包等 动态编译和静态编译 静态编译:在编译的时候进确定类型,如果绑定对象成功,n ...
- GLSL ES 3.0 和 2.0 的区别
GLSL ES 3.0 和 2.0 的区别 语法区别 attribute和varying. 取而代之的是 in和out 头文件多了个#version 300 es 纹理 texture2D 和 tex ...
- python url参数转dict
from urllib import parse url='_from=R40&LH_BIN=1&_sop=13&LH_Complete=1&LH_Sold=1& ...
- 六、OpenStack—neutron组件介绍与安装
一.neutron介绍 Neutron 概述:传统的网络管理方式很大程度上依赖于管理员手工配置和维护各种网络硬件设备:而云环境下的网络已经变得非常复杂,特别是在多租户场景里,用户随时都可能需要创建.修 ...
- 四、OpenStack—glance组件介绍与安装
一.glance介绍 Glance是Openstack项目中负责镜像管理的模块,其功能包括虚拟机镜像的查找.注册和检索等. Glance提供Restful API可以查询虚拟机镜像的metadata及 ...
- Unity 图形处理(切分与拉伸)
素材的导入设置 1.导入的图片要设置为 Sprite 才能作为UI使用 2.如果需要进行切分,Sprite Mode 选择 Multiple 进行切分和拉伸设置 1.点击进入精灵编辑视图 2.点击按钮 ...
- C++入门笔记(一)零碎基础知识
零碎基础知识 一.创建和运行程序 1.使用文本编辑器编写程序,保存为文件,该文件就叫源代码. 2.编译源代码:运行一个程序,将源代码翻译为主机使用的内部语言----机器语言.包含了 编译后程序的文件就 ...
- hrbust 2384 相同的不相同的字符串
Description 研究证明,汉的字阅读序顺是不会影响你明白这句话的意思的. 但是如果顺序差的太多也是会影响的,比如汉阅读顺的序字你就看不懂什么意思了. 那么多少算多呢?科学家芦苇给出证明,当两个 ...
- 重写Object类里equals方法
package com.fff; public class Pet { private String name; private int age; public Pet(String nume,int ...
- webpack学习最基本的使用方式(一)
网页中引入的静态资源多了以后会有什么问题.? 1.网页加载速度慢,因为我们要发起很多的二次请求 2.要处理错综复杂的依赖关系 如何解决上面的问题 1.合并,压缩图片,使用精灵图 2.可以使用之前学过的 ...