一、前言

为什么要写这篇博客,一方面是自己最近遇到一些事情然后刚想清楚,一方面是跟以前的同事朋友们聊天,发现他们都很沮丧,感叹学不完的知识以及焦虑年龄会影响职业生涯。在群上劝他们的我似乎成了那个唯一的奋斗逼,格格不入的感觉,也罢,有这种焦虑也是正常的,但是日子还是要过,时光也不停留,可以但是没必要。

二、为什么感觉有学不完的知识

一开始从编程语言学起,一开始以为只要语法熟悉就好了,但是呢,发现面试都要问实现原理和源码的。
然后呢,接触到了各种中间件,比如`redis`,`mysql`,`mq`这些,依然是学习使用和原理。
再之后呢,docker和k8s开始火起来了,还要学习k8s的使用和原理,要学习k8s衍生出来的一系列组合。
再之后呢,单一的语言不够了,学py方便写脚本,学c++优化性能,学nodejs等等,先学语法,再学实现原理。
最后呢,还剩下linux内核要啃,所有的语言和中间件最后的实现原理都离不开内核。
最后,心态就崩了。

以上是比较片面的后端案例,但是也反映了当下后端同学的无奈。要学习的东西很多,如果能用工作时间学习还好,但是大部分人还是靠私下用功学习的,如此巨大的学习量,可能目标就要列个好几年,想想就有点崩溃。

三、不要用身体的勤奋掩盖思想的懒惰

这个标题是我最近听过比较震撼的一句话,我们有时候总会陷入盲目的学习中,却忘记了思考这些时间花的到底值不值。比如博主,最近2个月吧,一直在看c++相关的语法和特性,从菜鸟教程到c++新语法特性pdf。学到东西了吗,学到了。至少每天都会感觉自己在学新东西,在精进。
      可最大的问题是,有必要抠着这些细节学习吗?用的时候查一下文档找不到吗?c++是我吃饭的家伙吗?自己吃饭的家伙学精通了吗?时间很宽裕吗?答案都是no,那么这两个月的时间似乎不是那么有用,学到了一些无关紧要的语法而忽视了自己吃饭的家伙。特别是时间也非常宝贵,晚上的学习时间应该用到刀刃上,而不是这些无聊的语法细节。
      为什么会造成这种情况呢?因为自己缺乏了思考。拿起来教程就开始学习,却没有好好思考下这些学习是否符合自己的定位和自己的方向。身体的勤奋告诉我你很努力在学习,可是思想的懒惰导致花了太多时间在无意义或者意义不大的事情上。

我想大家有时候也会遇到跟我一样的情况,浪费了时间而且没有太多的效果。要学习的东西很多,时间却很有限。每一份浪费的时间都会加大我们的焦虑,毕竟这个行业一直都这么着急。

四、审视自己,细分领域

计算机的知识很多,除了上面列出来的,还有很多前端的知识,各平台编译原理等等。哪怕是内核贡献者们或者go贡献者们也都不是全能的,我们为什么要要求自己是全能的呢?

而且扪心自问,学习了很多的知识,又有多少是工作或者面试上面会遇到的呢?我们总期望可以通过大量的学习来增加自己知识的广度和深度,达到专家的水平。可是我身边的这些专家们,并不是全能的,一个都不是。

他们凭什么可以做到专家,除了计算机知识以外,最重要的就是在他们自己的领域内,他们是专家。不需要前后端通吃,也不需要每个中间件都知道原理,他们只是对自己所在的领域非常熟悉,有从0-1000的经验,有丰富的业务演进经验,可以随时指导下面人接下来的演进方向和帮忙解决领域内的技术难题。

那么我们呢,是不是该看看自己从业这么多年,到底处在哪个领域上,或者当下处于什么领域上。你所在领域内的知识都很精通了吗,业务上的0-1000演进或者极致的性能优化都ok了吗?该领域国内外的发展都关注了吗?是否可以高屋建瓴的指导同事们该怎么学习和解决相关的问题呢?

比如博主所在的ASR语音识别算法工程化领域,传统的语音识别模型熟悉吗?端到端的算法原理知道吗?pytorch,onnx,openvino等推理引擎为什么快?指令集都做了哪些优化?业务演进都了然于胸了吗?国内大厂和国外大厂的新模型新算法都了解吗?工程化方向上的k8s有源码级了解吗?go常用库的源码看了吗,实现原理知道吗? 至少博主感觉自己还是有很长的路要走的。

从自己所在的领域出发去学习才是有的放矢,如果这些问题你都已经了然于胸,那么你就是这个领域的专家,你的知识面也足够让你轻松找到一份工作的。

五、学术不学道,空中楼阁也

所谓的术可以指我们学习的编程语言语法,各种中间件,云原生相关的组件等。学会术让我们可以做上层应用的活儿,但是怎么分出高下呢?那就需要道了,道可道非常道的道。

不管是编程语言的编译到执行,还是中间件的各种网络模型,缓存和通信,以及云原生实现的资源隔离等等,都离不开linux内核的支持,毕竟我们的应用是跑在linux内核上的。

比如:

学习内核的收发包可以让我们对tcp/ip,docker虚拟化和k8s的网络通信更加清晰,
学习内核的进程线程管理让我们对内存泄漏,锁,多线程编程更加理解,
学习内核的文件管理让我们对于所谓的网络io,磁盘io,epoll等网络模型更加理解,
学习内核的内存管理让我们理解程序执行时候的内存分配以及gc原理等

博主是比较建议结合内核学习下的,我们不需要达到内核开发者的程度,我们只需要从根儿上出发去理解应用层的东西,这样看山不是山的境界,自然就高出一筹。

六、关于35岁危机以及现状

所谓35岁危机,这个也跟身边的大佬们聊了下。两个大佬都是超过35了,但依然坚挺。对他们来说,30岁以前也都在学习的路上,只是刚刚进入深水区。35岁之后呢,成为一个领域的专家或者管理者,再加上履历加成,自然也就打破了35岁魔咒。

可是35岁又是客观存在的事情,那么35岁淘汰的是哪些人呢?从最近的面试上可以看出来,年龄35+,面试的时候发现没有深入的知识点,所在领域也停留在会写应用层的阶段,脑子里也没有相应的演进和规划等。。这能怎么办,人家27-8表现比你强太多,只能淘汰了啊。。

博主以为,要克服35岁魔咒,要么是成为一个领域的技术专家,定海神针,这需要超过5年的同行业和技术积累。
      要么就是在知识广度和深度都达到一定层次的时候,比如资深开发,然后转向管理者这个角色,从此研究的就是管理学和人性,打造自己的团队,成为不可随意替代者。

七、未来可期

互联网行业虽然一直为人诟病,但是不得不承认我们是吃到了行业的红利。那些高中同学或者大学其他专业的同学就比我们差吗,凭什么现在的互联网应届生毕业就20k+,他们真的值吗?也许吧。

行业在走下坡路,但是行业并不会消失。也许未来为淘汰很多人,但只要我们一直在前进的路上,我相信不会轻易的被淘汰掉。

想起来之前跟朋友聊天,说35岁+的互联网中高层被淘汰的问题。仔细想想这些p7以上的大佬们,有可能会随着年龄增长被淘汰,但是这批互联网人履历都很好,人也聪明,从业这么多年积攒下的人脉也十分可观。他们真的会随便被淘汰然后被时代的洪流覆盖吗?
      博主觉得不会的,哪怕是换到传统行业,这批人依然是非常优秀的,可能专业知识会没用,但是见识还在,软实力还在,必定也不会沦落到送外卖开滴滴上去。

未来是否可期,关键还是看自己要怎么选,怎么走。提升自己总是没错的,加油啊。

end

要学的东西太多了怎么办相关推荐

  1. python建站越学越累、感觉要学的东西太多_工作以后感觉需要学习的东西太多,但是时间和精力有限,如何才能更好的安排学习时间?...

    刚好在微信上回答了一个类似的问题: 这个问题起源于一次一对一的聊天,后来发现很多人都会遇到这个问题: 可以花些时间把自己要学习的东西列个清单,按硬技能与软技能进行分类: 硬技能:通常具有可见的,可计量 ...

  2. 记录自己学到东西-2017-08-26

    2012年大学毕业,大学里学的网络优化(其实就是玩过来的拉).出来后就一心想做自己的行业.一直做到今年年初,一直都没啥出息,工资也是一直就那样,没啥变化.网优也是一直要出差,对以后也不方便,就放弃了. ...

  3. python大游戏_玩游戏就能学Python?太炫酷了!

    原标题:玩游戏就能学Python?太炫酷了! 要说现在最火的语言,那一定是Python了. 各种排行榜里,Python的排名都是蹭蹭蹭地往上涨.Python也确实是最适合新手入门的语言了,语法简单,应 ...

  4. 嵌入式Linux要学哪些东西?你真的造吗?

    嵌入式Linux要学哪些?一些人总在寻思,怕走了弯路,又怕学的东西离企业需求远.那么今天就请华清远见高级讲师曹大神告诉你,9点浅析嵌入式学习步骤.下面是他本人亲笔. 1.要学习Linux,首先要会用, ...

  5. 嵌入式Linux要学哪些东西?你真的造吗

    为什么80%的码农都做不了架构师?>>>    嵌入式Linux要学哪些?一些人总在寻思,怕走了弯路,又怕学的东西离企业需求远.那么今天就请华清远见高级讲师曹大神告诉你,9点浅析嵌入 ...

  6. 3d建模一般学多久?太长的话,我就不玩了。

    一 3d建模一般学多久?太长的话,我就不玩了. 3d建模学多久这个问题不是很好回答,鬼才知道你的实力怎么样,努力的态度怎么样,如果你三天打鱼两天晒网,我估计一万年也学不会.如果你全力以赴认真的学,五六 ...

  7. 【转】一个小公司老板的日常管理,希望能让创业的朋友学到东西

    [转]一个小公司老板的日常管理,希望能让创业的朋友学到东西 1. 小公司如何留住骨干: 2.关于授权 3.有的钱不能省 5.关于招聘 6.老板尽量唱红脸 7.公司里的亲戚 8.当老板和开车 9.按时发 ...

  8. Spring Boot 要怎么学?要学哪些东西?要不要先学 SSM?松哥说说看法

    可能很多刚接触 Spring Boot 的小伙伴都会有这样的疑问,Spring Boot 要怎么学,要不要先学 SSM?今天结合自己的经验,和大家说一说我的看法,也顺便推荐几个 Spring Boot ...

  9. 【考CCNA需要学哪些东西?】

    报考ccna需要学习的内容包括网络基础.路由技术.无线局域网WLAN.广域网技术等内容等,可以买一些相关的书籍,并且和网上相关的视频结合进行学习,基础薄弱的考试建议找个专业的中心系统的学习下再考. 为 ...

最新文章

  1. 多租户数据库性能测试手册
  2. C# WinForm程序App.Config数据库连接配置文件的使用过程
  3. java如何把string转化E_java将string转为代码执行
  4. java如何实现信号量_使用二进制信号量实现通用信号量
  5. 安卓机更新系统会卡吗_安卓机可以用AirPods Pro吗?告诉你真实体验
  6. 用命令行快速打开软件
  7. 如何在应用内设计一份调查?
  8. Android ProgressDialog示例
  9. html5shiv 无效,解决低版本IE关于html5新特性的兼容性问题html5shiv.js和Respond.js
  10. HHUOJ 1050: 屁屁上的巴掌
  11. 分析QQ和QQ游戏的价值特性极其快速发展的原因,并对其盈利模式进行探讨
  12. 实体-关系图转换为关系模型
  13. 安装 Git 之后系统自动添加自定义快捷命令列表
  14. 使用NtCreateThreadEx将Dll注入目标进程
  15. java long保留两位小数
  16. python CV 趣味项目 答题卡识别
  17. 青春三部曲(《且听风吟》,《一九七三年的弹子球》,《寻羊冒险记》)--[日]村上春树...
  18. LambdaMart
  19. java后端开发面试题总结(一)
  20. Unity 手机摇晃检测

热门文章

  1. linux tao环境 安装_linux编译TAO的问题,求高手指导!!!!
  2. 计算机英语世界 中英文版,看世界=SEEING THE WORLD(英文版)
  3. 网易开源的分布式存储系统 Curve 正式成为 CNCF 沙箱项目
  4. JavaEE#JCA
  5. 蕉下招股书里提了26次的DTC,到底是啥?
  6. 【高并发】解密导致并发问题的第二个幕后黑手——原子性问题(文末有福利)
  7. python中shelf对象_shelve 用来持久化任意的Python对象实例代码_python_脚本之家
  8. [电脑组装]记录第一次组装电脑+win10激活
  9. c语言如何宏定义枚举型结构体,C语言学习笔记--枚举结构体
  10. python 青少年人工智能_青少年人工智能教育的典范 优必学教孩子用Python编写一部人工智能的字典...