3位1体学习法(smart哥)

3位1体学习法(码农最正确的学习姿势)

前言

3位1体这个概念来源于刘慈欣的科幻小说《三体》,smart哥本人非常喜欢这部小说,感叹作者作为一个技术狂,他这种技术狂特有的冷酷具有非凡的吸引力,更关键的是他天马行空的想象。

基于这个概念smart哥独创了3位1体的码农学习法,该学习法是码农在浩瀚的技术海洋中的指南针,面对浩瀚的技术和自己有限的职业生涯,那么码农如何自处?35岁后被淘汰还是继续保持优良的竞争力?

996,007等冷酷的数字将天朝猿浪们拍死在一个又一个的滩头,前不久某宁公司又猝死一个。smart哥感叹码农的无奈和麻木,以及被摧残的体无完肤的肉体和摇摇欲坠的意志。

讲师介绍

smart哥,互联网悍将,历经从传统软件公司到大型互联网公司的洗礼,入行即在中兴通讯等大型通信公司担任项目leader,后随着互联网的崛起,先后在美团支付等大型互联网公司担任架构师,公派旅美期间曾与并发包大神Doug Lea探讨java多线程等最底层的核心技术。对互联网架构底层技术有相当的研究和独特的见解,在多个领域有着丰富的实战经验。

何为3位1体打法?

所谓3位1体说白了其实很简单,就是把我们所学的技术专题分为快速入门篇,实战进阶篇,源码解析篇这3位,这3位将作为1个整体而存在,缺一不可。
在这里插入图片描述

1、第1位

比如学习redis这个专题的时候,我们先从第1位快速入门开始,先学会它的基本使用方法,对redis先有个感性的认识;然后我们进入第2位实战进阶,比如redis的一些高级专题(集群,哨兵,缓存击穿,穿透,雪崩,秒杀,分布式锁等等),这一阶段,有人把它看做是一个高深的阶段,其实在smart哥看来,依然很low。

2、第2位

市面上绝大多数的培训机构号称很牛逼的价格上万的架构师课程全部都是来自于这个第2位的实战进阶专题,我为什么说它很low,因为本质上这样的课程卖的就是信息差,说白了就是讲课的人比你先知道这个知识点该怎么玩?那么玩法可能来源于很多地方,有官方文档,有其他人的博客等,都是些烂大街的,只不过他们知道在哪里可以找到,但是你可能找不到,或者你找到了你也不愿意去看。

就拿vue3.0来说吧,这个新版本刚出来的时候,有些培训机构就准备割韭菜了,推出了最新的vue3.0课程,然后一些懒惰的小白码农就上当了,像飞蛾扑火一般的被割了韭菜。其实那些课程内容全部来自于官方文档,稍微有点脑子的都不会去买这种课程,为什么这么说?你想想,新版本才出来,第一手资料在哪里?肯定是官方文档啊!他们推出的新课内容来源于哪里?闭着眼睛用屁股想都知道,肯定来源于官方文档,然而就官方文档来说,鉴于很多技术官网都是英文的,很多同学看不懂英文或者没有耐心看下去于是就放弃了,然而给你上课的那些所谓的牛逼讲师们把官网英文都翻译过来,然后讲给你听,还号称这是他们自己总结的,然后你还对他崇拜的不要不要的,这情何以堪呐,这智商税交的值吗?

这就是外面无良培训机构割韭菜的全部过程,小白码农也真是可怜,花了钱买了一堆其实自己完全可以免费得到的知识。这里说的是第2位的实战进阶相关的问题。

3、第3位

那么重点是第3位的源码解析部分,我们说80%码农止步于第2阶段,从此停滞不前,smart哥早先的工作单位是国内某大型通信设备供应商,当年在我们部门就有个40多岁的老码农,从c语言,到vb,到java都会,但是都不精通,他的直属领导都比他小10岁以上,整天被别人呼来唤去,唯唯诺诺。

这也是大多数码农今后的写照,这不是危言耸听!因为很多码农绝大多数的工作就是curd,对技术没有追求的码农就仅限于此,浑浑噩噩,被淘汰那是迟早的事。这是第一种码农,我们可以把他们叫作得过且过型。那么第二种码农刚好跟他们相反,他们对技术很敏感,喜欢追新,这本来是一件好事,但是这群码农依然是对技术的追求只达到第二层,他们只是停留在会用的层面,干活可以,但是解决问题却束手无策。归根结底就是不懂原理,更不懂源码层面是怎么实现这个原理的。因为在某些场合只有手撕源码才能知道问题所在,smart哥就亲身经历过手撕源码才能解决问题的场景。所以这就决定了这类码农他的角色注定只是一个干死活的角色,可以随时被替代,因为他具备的知识别人也能轻易获得,他没有不可替代性,而且这类码农是被996,007的重点对象,因为他们给领导的印象就是此类人貌似很喜欢追求新技术,貌似能力很强,于是很多工作都会丢给他们。smart哥不是叫大家不追求新技术,在这个行业混,追求新技术,不断学习是必然的,关键是要学到什么程度,如果止步于第二阶段而不去深挖,那么你迟早会被新技术玩死,因为新技术、新框架版本迭代太快了,然而新技术背后和底层的东西却是一层不变的。

举个简单的例子,tomcat大家肯定都很熟悉,毕竟用了这么多年,从刚入行就开始用了,但是有多少人知道tomcat10大核心线程的?分别有什么用?tomcat底层网络模型本质上是io多路复用,这又有多少人知道?io多路复用对应的三大核心线程是哪三个?netty的底层其实也是io多路复用,redis的底层网络模型同样也是,nginx底层其实都是这种reactor线程模型。你只要对一个组件的底层模型理解的非常深刻,甚至研究过源码,那么你再来学习其他组件,那不是轻而易举的事吗?因为底层都是一样的!

很多大厂的基础架构部,就像smart哥现在所在公司的部门就是基础架构部,那么基础架构部是干什么的呢?基础架构部一般来说我们会根据公司的特殊需求将一些开源组件拆解了重写或改写,从而达到特殊需求。说白了就是把一些开源组件加固,从而达到更高效,更安全。比如阿里就有自己的tomcat,叫ali-tomcat,也有自己的mysql,他们自己的mysql部分功能都是经过改写的,改写过的mysql更安全,处理并发能力更强。那么请问,进入这样的部门难道不需要全面深入的理解tomcat,mysql的源码吗?

**基础架构部的同学是纯做技术的,通常不太涉及业务代码的编写,所以正常情况下不会996,更不会007,就问你香不香??**当然香了,但是要进入这样的部门真的不太容易,需要对常见开源组件源码有非常深入的理解,甚至自己动手修改过。

而且根据目前的趋势和同学们面试的反馈,大厂面试越来越多的问源码,问算法。那么为什么前几年不会问这么难呢?答案只有1个,水涨船高,大家的水准普遍上来了,那么只有挑更优秀的人了,就这么简单!

结语

目前国内互联网行业竞争激烈,而且整个国家经济形势也处在上行通道中,这就决定了行业竞争的必然性和残酷性,所以大环境决定了996,007的必然性。

那么国内码农既然改变不了的996,007的悲催现状,所以不管是从自身角度还是公司的层面,码农还是应该尽最大努力的提升自己的能力,努力突破第三层-原理源码,把能力和精力用在刀刃上,而不是日日夜夜无休止的只做个curder。

好,想和smart哥技术交流的童鞋请加下码炫课堂技术交流q群:963060292

欢迎大家和smart哥探讨任何技术和非技术问题,谢谢!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值