相关英文:There Are Only Four Jobs in the Whole World – Are You in the Right One?
今天忙,没时间写 Sea.js 源码解析,闲聊点其他话题。
最近冯大辉和陈皓都有发文讨论「加班和效率」,阐述得很明白,我补充说说效率与工具的关系。
很多程序员,包括我自己,都正在迷恋或曾经迷恋过各种工具,最常见的是代码编辑器。经常一有人「亵渎」某个神器,就会引起激烈的口水战,甚至上升到哲学高度……
谈工具与效率之前,想先谈下另一个话题。
最近看到 一篇文章,讲我们这个大千世界上,实际上只存在四种职位。
生产者(Producers)。楼下的快餐店员工、公交车司机、去广州的大量打工者、建筑工人、商场服务员等等,这些工作的最大特点就是重复。但这是社会的主流生产者,价值巨大。没有重复工作,现代社会将停止运转。
改进者(Improvers)。重复工作的特点是流程化、规范化。但所有的流程、规范,都有改进空间。无论是餐饮行业,还是软件开发行业,流程等各方面的改进,都是很多企业的竞争力。改进者经常是资深生产者,经历过大量重复工作的「摧残」后,才往往能做出改进。改进者的价值也很大,不断的改进,可以把一个行业,做到极致。
构建者(Builders)。构建者不同于改进者,构建者可以将想法变成现实,可以将很多概念设想,变成实体。在互联网行业,很多创业者都是构建者。科技行业也有很多,比如 3D 打印机能从概念变成现实,离不开构建者。这个世界,构建者改变世界,虽然成功者并不多。
思考者(Thinkers)。思考者富含远见,对未来充满想法,并能给出实际可行的指导。比如爱因斯坦,没有他的思考沉淀,原子能就没这么快走进现实。思考者很少很少。
我们大部分人,都会同时具备多个角色,比如是生产者也是改进者,改进者也是构建者,偶尔我们也会是思考者。
不同的角色,工具对其工作效率的影响有很大不同。
对于生产者来说,好的工具可以极大提高工作效率。比如跨省的快递员,如果有飞机协助,效率直接比电动车高非常非常多。
对于改进者、构建者和思考者来说,工具往往并不会带来工作效率的飞跃。
回到我们程序员,一般刚毕业时,工作前一两年很可能是生产者。这时工具的确很重要,因为这个阶段我们是「码农」,用什么锄头干活,有没有自动打谷机等工具,很影响工作效率。熟练掌握一些顺手的工具,很重要。
工作几年后,工作内容会逐步变成改进者的角色。这时最影响效率的是大脑,学会如何去发现问题,如何总结沉淀经验,如何扩充自己的视野思路等,这些方面,才是影响效率的最重要因素。
如果有幸成为构建者,技术的广度和深度,做事的心态和眼界,环境的认可和人脉等等,是影响事情能否做成的关键。这个阶段,都不再会怎么谈效率。
最后举自己的一个实际例子。Sea.js 的开发,目前介于改进者和构建者之间。这一块的工作效率,核心取决于我对模块化开发的理解,对同类产品实现细节的深入,以及自身编码技能的积累上。目前效率最高的时候,是静下心来,用传统的纸和笔勾勒思路的时候。大概理清楚了思路,用 notepad 也能很快把功能实现出来。
掌握基本的工具是有必要的。比如对于前端开发来说,学会使用至少一个浏览器的开发者工具是必要的。合理的使用,会让整体工作更顺畅。
但不要执迷于工具。工具能将效率提升到某个量级,但很快就会碰触天花板。真正的效率突破,不在工具上。
提高效率的核心,是去找到效率的「梗」。工具只是辅助,加班也只是临时措施。从「梗」上去探寻,才能实现效率的真突破。