从技术框架的演进可以看出专业性越来越强,门槛越来越低,我们经常强调要解耦合,把公共模块功能做抽取,减少重复劳动,使主要精力专注于特定场景特定业务的处理。老美在设计框架的时候也是这么干的。殊不知,我们跟跑的时候,学的哪里只是局部,哪里只是专注某一块业务。国内面试很多企业会要求你什么都要会。年轻的时候觉得企业说什么都是对的,年长后才明白其中的套路和坑。看下高级工程师的招聘要求是A,B,C,以前我啥也不会时就想,等我先集齐了A,B,再去补C吧。后来等我学会了 A和 B,我竟发现C是另外一个领域的东西,你可能要为了这个C跳槽到一个新的项目组甚至一家新公司,好比公司需要一个有三头六臂的人,而我并没有。全能的人凤毛麟角,分工协作才更常见。这样的就业市场只会扼杀劳动者的积极性和良性发展,同时公司也无法从中获益。
被封装了再封装的框架,抽茧剥丝后的核心原理几句话就能说清,硬是被包装了很多层,对调用者来说是方便了,但对学习者来说,确是加了一层又一层的阻碍。什么敏捷开发,什么低代码平台,不过是一些篡头,真的变简单了吗,一个没写过代码的人能搞的明白吗?最终专业的事还是得留给专业的人做。
学java的时候,感觉是在大厦的顶层,人家不会问你顶层的风景,恰恰要问你,停车场是如何分布的。为了看停车场,我得一层一层下楼才能到达。殊不知Linux开发直接有门让你直达停车场。让搞应用的搞底层,又拉着搞底层的人去搞应用。损失的是大量的时间,体力和脑力。既分散了注意力,又没有达到预期目标。人不可能把有限的生命投入到学习无限的知识中去。我也算领教了学 C 的去学 Java 是降维打击,学 Java 的去学 Python 也是降维打击。只有遇到外行人时,你才会听到诸如“你以前做 Java 的啊,C 语言看不懂吧”这样的话。这不就是包子饺子汤圆的关系嘛,一家人才懂一家人的门道。
运动会上无数人拼命想要夺冠,而换一个思路,你去杂技团随便拉个人过来估计也能轻轻松松拿个冠军吧。入的门不一样,结果也就不一样。
代码只是一个工具,最终还不是为了实现自动化。本应该是越做越轻松的活,现实中的企业却开始卷完员工的脑力,接着卷员工的体力,也难怪很多人宁愿去送外卖了。之前很多软件都是用的外国公司开发的,这一块我们基本没什么积累,应用层都跑不动了,那就好好做底层开发也行啊,不缺人却没能好好发挥每一个工程师的价值。
一次偶然的机会,让我发现老美的系统还有个厉害的地方,就是他们不管做什么,都能有一堆测试工具去检验你的成果,检验你写出的代码是否规范,是否会导致极端情况下的异常,指出问题点并给出修改意见,从而反过来纠正代码的编写。还有他们在做一些研究时,会使用超高速摄像机之类的对全过程进行监控,而这些东西,除了专门的实验室,普通人是很难接触到的。不止一个领域,是很多领域都能利用输出反推输入,有一套完善的检测机制。