首先必须搞清楚:时代的发展是客观的,是不以某个人甚至不以某些人的意志为转移的。最近有2句话很火,意思相近。
一句是:时代抛弃你时,招呼都不会打。
另一句是:时代淘汰你,但与你无关。
你仔细体会下这两句话里的冷冽和无情,其实这才是天地至理。狼吃羊并不是因为羊犯了错,而是因为狼自己饿了。美国天天找我们茬也不是因为我们中国人错了,而是因为我们的崛起挑战了美国人的霸权。
所以首先心态上摆正了。时代一定会发展,有些东西就得被淘汰,有些东西就是会变化,不要掩耳盗铃觉得我不停否认就能蒙混过关。
你把头埋进沙子里也不能阻挡时代猎人的脚步。
有个段子很好笑,但是里面蕴含了至理。说考试题目问小偷被判刑的根本原因是什么?学生答:被抓住。
你仔细品品是不是还挺有道理的,如果小偷不被抓住当然不会被判刑了。
同理,羊被狼吃掉的根本原因是什么?也是被抓住啊。你要是和喜羊羊一样猴精猴精,那又怎么会被吃掉呢?
两个人在森林里遇到老虎,一个人系鞋带,另一个说没用的,你跑不过老虎。第一个人说你错了,我不用跑过老虎,我跑过你就行了。
你看,很简单的道理,你被淘汰、你被落后其实根本原因就是你跑得太慢了,你被追上了。
追上并干掉你的人,要么是时代发展,要么是你的竞争对手。
方便面被外卖干掉了,这就是被时代发展淘汰。邮局被快递干掉了,也是被时代发展淘汰。国企员工下岗了,这是国企被民企和市场竞争淘汰,本质是被竞争对手淘汰。你被公司干掉了而你同事留下来了甚至还加薪升职了,本质是你被竞争对手(同事)淘汰了。
不,淘汰你的永远是你的同事,也就是新进入的新手程序猿,或者和你一样的存量老程序员。
譬如显像管电视机你现在完全看不到了,都是液晶电视。我记得我2009年毕业时四川长虹去我们学校招聘,岗位是做等离子电视的。
现在你看全是液晶,所以等离子显示等技术显然也是竞争失败了。
OK,技术本身也存在竞争,技术也会在竞争中被干掉,被淘汰。
技术被淘汰,技术会痛苦吗?技术有痛感吗?Nokia手机没人用了它会哭吗?技术又不需要吃饭,不养活老婆孩子,它怕什么被淘汰?
搞清楚了:技术是技术,你是你。技术被淘汰了它自己无感,而你被淘汰了日子就难过了。会喘气要吃饭要养家糊口有欲望的物种才需要担心被淘汰。
所以如果你把自己和某种技术绑定,然后随着技术被淘汰你被淘汰了,那只能说你XX。
有人说我也想掌握新东西啊,我也不想被淘汰啊,所以我才问你你的课程2015年录制的是不是不够新了?我是不是要学更新的才会不被淘汰呢?
先别着急,
你需要先搞清楚我们学习的知识和技能是分2类的。
我先举个栗子。
很多人都知道我们平时吃的药其实分2类,一类药物起效果是通过增强自身免疫力,提升自身抗性的,也就是所谓的强身健体,治标治本。
而另一类药物是所谓的针对性治疗药物,譬如你发炎了我就给你消炎,你肌肉坏死了就给你切掉,你破皮流血了就给你缝合住。这都属于直击目标式药物治疗。
哪种好呢?
要说快肯定是第二种了,西医大多是这类的,直接明了,清清楚楚,目标明确,原理清晰。
而中医大多是第一种的,有点迂回战略。
本质上的原理是我通过药物增强你身体的免疫力,提升你的身体活性,然后真正治病还是靠你身体的免疫力,靠你的自愈能力和抵抗力来战胜病魔。所以按照第一类医学理论,只要你身体免疫力很好,只要你身体素质够好,实际上大部分病根本不会得,得了也能自然好,根本不用吃药的。
实际上你在工作和生活中用到的知识和技能,也类似于你抵抗疾病的能力,也分为这2类。
我把第一类对应身体免疫力的称为本质型知识技能,而把第二类对应精准治疗药物的称为应用型知识技能。
本质型知识技能是一个人自身的基础和修养,最典型的就是我们说的基础知识、基本原理、基本技能。譬如一个软件工程师,编程语言的掌握就属于本质型知识技能。而应用型知识技能就是那些针对特定任务和需求的解决能力,譬如熟练使用word来排版文字就属于应用型知识技能。
那哪种好呢?
答案是都好,都有用,而不是只要一个。
这就好像治病一样,有时候就需要吃中药强身健体,有时候就需要吃西药针对治疗。如果你因为偏见只接受某一个而深恶痛绝另一个,那其实是你自己的损失。
因为时代会淘汰的就是应用型知识技能,而本质型知识技能是不会被淘汰的。
这就好像新冠来了,以前的药根本没用,没法针对新病毒,而针对新病毒的新药还需要一段时间来开发。而你的免疫力和身体抗性却仍然可以发挥作用,所以大家发现病死率比较高的都是老年人,实际上年轻人只要医疗资源充足情况下死亡率很低的。就是因为年轻人身体素质好,抵抗力强。
同理,时代发展会首先淘汰那些只掌握了应用型技能的人。现在很多行业就非常担心被人工智能的发展所取代,担心的都是应用型技术工作者。
譬如司机很担心被自动驾驶系统所取代,工厂流水线工作者很担心被自动化生产所取代,电话销售和电话客服人员很担心被语音AI所取代,等等太多了。
程序员这个行业来说,互联网软件开发就比嵌入式软件开发更容易被时代淘汰。
因为这2类开发虽然都属于软件开发,但是它们有本质的不同,这个本质不同就是2类开发工作中本质型知识技能和应用型知识技能占比差异很大。
互联网行业本身变化大,发展更快速,甚至每隔几年就会有革命性的变化。大家你去看看这几年新出现的编程语言(譬如GO、Dart、Cotlin、Swift等)都是互联网行业的。连语言都经常变,更不用说各种框架那简直是一年三变。
所以这些行业技能中应用型技术的占比很高,你刚熟悉了一种语言或框架,结果时代迅速变化这东西迅速被淘汰,新东西迅速火爆开来,你如果没有及时赶上那就惨了,被快速行驶的时代列车抛下了。
所以互联网开发就是个高速快节奏舞池,这也是为什么互联网行业普遍996普遍加班严重的原因。
当整个舞台都在高节奏运转时,你要么咬牙快速跟上,要么被快速淘汰出局。
更不用说还有很多新人每年进入,后浪随时准备把前浪拍死在沙滩上的。
任何技术领域都会发展变化,不可能一直维持原状。这就好像任何列车都在开动,只是绿皮车慢而高铁快而已。
如果说互联网开发是高铁,那嵌入式开发就像是绿皮了,单纯从速度来说。
嵌入式开发有他自己的游戏规则,嵌入式开发的知识和技能中,本质型的占比非常高,而应用型的占比低。
这就造成嵌入式开发的特点是:
很难学会,但是一旦学会很难被淘汰。
实际上互联网开发行业刚好相反,是:
很好学会但是也很容易被淘汰。
所以你不得不佩服马克思,他很早就说了:价格决定于价值,而价值决定于产品中凝结的劳动量。真的是容易得到的他肯定容易失去,而很难得到的他也很难失去。
譬如编程语言,嵌入式底层开发这么多年了还是C语言挑大梁。而C语言现在在用的主流还是C89标准(1989年制定的C标准),连C99都没几个用的。而嵌入式应用层开发主体是C++语言,虽然出了不少新标准(C++11、14、17、20等)但是实际差异很小,90%的主要特性和难度基调还都是多年前定下来那些。
所以你想想,如果你做嵌入式开发,你一旦深度掌握了C/C++语言,多少年你都可以笑傲江湖。
你再看看互联网开发,前些年“PHP是最好的语言”,现在已经没几个用了。Java前些年一统江湖,现在经常被Python压着打。谷歌、facebook、苹果等动不动还发明点自己的语言和编程框架,基本上你做下个项目会用到什么鬼都不知道......
嵌入式开发只要你学会了linux这一套,你再去看什么你都发现似曾相似。
譬如我们最近在讲的华为LiteOS,它的kernel配置完全移植了linux的Kconfig这一套,他的工程管理完全使用Makefile和链接脚本这一套,它的内核源码编程风格和技巧等都在linux内核的范围之内。
所以对于一个熟悉linux内核知识体系的人,可以几天之内熟练掌握LiteOS,甚至只要你功底够好可以立马加入为LiteOS撰写和拓展内核的工作中。
这就是嵌入式开发,它的难不在于变化,而在于它不变但是本身难度高,你很难掌握。但是你掌握了它之后就舒服了。
从这个角度讲,嵌入式开发有点像打篮球和田径比赛。你想成为也篮球高手不容易,得经过刻苦的训练,身体素质得非常好,偷懒要准确也是靠拼命苦练得来的。
即使你更改了篮球赛场的规则厉害的还是厉害的,你让我随便改规则我也打不过詹姆斯是不是?
当你学会了很多,尤其是掌握了很多本质型知识技能后,你就发现你遇到的东西都似曾相识,都能很快掌握,你每天只需要花很少时间学习就能始终保持领先。
越过那道高崖,往后余生皆是坦途。越不过去,那就只能在浅滩徘徊几年,然后无奈的被时代淘汰,被冲刷而走。
这就是为什么35岁以后的“中年人”会两极分化了,实际上他们的“分化”早就决定了,只是到35岁时有些人才开始认命,或者外部压力迫使他认命。
若觉得文章不错,转发分享,也是我们继续更新的动力。
5T资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、单片机、等等!
在公众号内回复「
更多资源
」,即可免费获取,期待你的关注~