码个蛋(codeegg) 第 902 次推文
作者:浪迹在
链接:https://mp.weixin.qq.com/s/_0ChR0t2gm15jC950HVlMA
技术成长
这一讲想画两张图,来简单讲讲职场的技术沉淀曲线,以及一个人在这个过程中的心理图。成功人士走的大多数都是曲线,而我们习惯去直线的去看。
他们的痛苦挣扎被我们主观的忽略,只为了突出他们成功的难得以及他们的本事。
我们喜欢侥幸化的分析成功的故事,然后说服了自己,否定了自己可以成功,给自己的平凡找理由。而我这一讲想说的是,你只要有目标在前行,你就会迎接你的成功。
成功不是一定要丰功伟业,成功可以很简单。从简单的加班领到薪资,吃了一次海底捞,从简单的接活,赚了一个手机钱。我们总是把成功看的比较远,也只是给自己够不着的理由。
我想用这两张图,来反映一下真实的状态,一个技术人成长起来需要的时间投入,以及心理建设。
每个平凡的人都值得成功,当我们把时间拉长,就能看到,技术成长起来是经过了太多的波折,每个人都不是轻松赢得成功。
第一张图
以下是这一讲的第一张图:
这里我标记了 1,2,3,4,5,6. 正常情况我们刚进入职场,是 1,2,3的某个状态,在职场积累了几年后,会进入重叠区域。这里我按照自己的职场经验,将其按照三年一个阶段来分。
三个三年,九年,一般职场就进入到自己的天花板的状态,这时候还没有走到职场的巅峰(比如管理公司,创业,或者是合作),有了自己的人脉关系,以及生意网,能够从容的面对职场风险。
从上图我们能看到,前三年的技术积累,不管是平凡的2,还是进入职场冲劲十足的1,以及慢悠悠工作的3,会在某个点重合,重合后才是决定你后期职场的走向。
而往后走向是4,5,还是6,这个就是在重合点这个时间,你前三年的工作,到底给你沉淀了什么,什么是技,什么是术?想起之前做的 C trace32 分析,以及 MASM 汇编,反编译,perl 脚本, lua 脚本,bootloader 分析,ARM汇编,OBJDUMP工具。
这些都是工具,都属于术的范畴。我不知道大家怎么去看一个新的语言,对于我来讲,学习这些新的语言,都有一些标准的套路,看下大概写法,看看数据结构,看看实战项目,然后运用即可。
因为这些东西,都会变成以 ELF 可执行文件,或者是解析器的框架,在我这里所有的都归为 数据结构+算法。语言只是表征而已,不会触及到本质。
当你把这些东西理解透彻,从细枝末节进入到架构思维里面去,就发生了迁移能力。类比是我们常用的技巧,而要迁移过去,就是要去掉那些枝叶,而提携主干。
比如我从 C 语言项目,移植到 JAVA ,JAVA 移植到 js 。或者是 C 编译成 so 库,或者是 C使用 ARM GCC编译成嵌入式汇编,等等。一套源码,如果你不能把语言忽略掉,去理解它的设计模型,那么你会困在表象里面,技术做不到巅峰。
你有没有发现一点,那些技术牛人,吸收新的知识也非常快,他能够精准的用几个提问,就把你所做的东西,快速的梳理出来。因为世界整个逻辑,都是在 MVC 这个逻辑里面。
这个叫 输入,输出,控制。IOC,你现在想想,你所做的东西,都是由这几部分组成,而控制这里,是 数据结构和算法。
当你三年工作之后,能够脱离本身的技术语言,沉淀出来商城的设计框架,它的数据库以及并发访问。把这个流程熟悉之后,什么语言都是表象而已,它不是阻力,用什么表示不影响你总结出来的实现理念,设计流程。
我希望我们能够在重叠的地方,能够多思考,多输出,把这个基础拉长,沉淀出来。然后走向6的这个曲线。
在讲完这个之后,大家会出现一个问题,我又没这个本事,你说的这个对,但是我做不到。于是我画了如下的另一张图,来说这个疑问。
第二张图
在大学时候,想进入计算机行业,就是想赚钱。而我是一帆风顺的吗?也不是。
那个时候可以用走火入魔来描述,梦里能够想着问题,地址总线,中断,这些一个个谜团,搞得我一度怀疑自己可以不?
我学习技术的过程,可以说就是上面这个曲线,学习 C51 ,从先学习概念,感觉自己懂了(成长区),然后也可以做项目了,觉得沾沾自喜(稳定区),然后我翻到了操作系统,以及 UNIX 系统开发,这个直接摧毁了我的自信,进入了焦虑区,焦虑区持续一段时间,就开始进入下一个阶段,成长区,稳定区。
我觉得这个就是上面第一张图上面直线,或者曲线放大的细节化,我们都不是平坦的起飞,都是经历了不断地成长,坍塌,变成一个个核(可迁移的本领,比如理解操作系统,理解了数据结构)。
当你进入焦虑区的时候,其实你已经开始了第二次的觉醒,这个过程看似痛苦,其实走出来就是涅槃。
退缩只是让问题暂时藏了起来,而没有解决掉。这个就如同我们解决问题,一直使用补丁的方式,最终的结果就是,后面的人看到代码,不知道为什么这么写,一堆已经注掉的注释,以及乱七八糟的人,补进来的变量。
这个在公司里面叫做技术负债,你越往后用,越没法修复,但崩掉的几率越大,最终没法修复,而把项目做死。
提前预知出现的问题,在使用中不断更新,迭代修正,同时迎难而上,系统化的解决掉问题,才是我们应该去做的。
总结
回到个人成长曲线,你会发觉一个问题,就是你看到别人的辉煌,其实也是由这些曲线叠加而成的,你需要的是设定自己的目标,知道自己也会迎来焦虑区,去克服它,解决它。
为什么伟人的故事都精彩纷呈,其实也是因为曲折而已。你只有最终走出困境,你之前的曲折,才有了承载的意义。
这一讲核心就是让大家了解,成长过程大都一样,只是我们以为的不对而已,当你知道牛人也是这样出来的,你就有了榜样和目标。
建立信念很重要,而这个我们每个人都可以做到的。希望看完这一讲,大家能够了解,一个人成长的曲线样子,然后再从自身出发,制定可执行的目标。
相关文章:
笔算登月轨道的NASA传奇科学家、[人型计算机]凯瑟琳·约翰逊去世
Android 11 首个开发者预览版新功能抢先看
让人耳目一新的 Jetpack MVVM 精讲!
今日问题:
你有自己的成长经验来分享一下吗?
专属升级社区:《这件事情,我终于想明白了》