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