很多人问我,你怎么效率那么高,工作很忙,又要带娃,还写博客,还有时间运动。今天就写写这个话题:程序员如何提高工作效率
保持高工作效率,我觉得主要有一下4个方面,希望能对大家有帮助。
集中目标
工作列表 不论是开发还是设计,还是其他职业,工作列表都很重要,工作目标很明确。工作的时候才能格外专注,才不会走神。 用自己最熟悉的工具(我用Evernote),把待办工作列表(今天要做什么)记录下来,很重要的一点是记录分解后的小目标(分解任务也是一个很重要的能力)。同时也保持工作中产生的新的问题(任务),经常性地调整当前工作任务列表,根据重要性对这些任务进行划分,经常想着那些最重要的问题。
专注目标 专注目标不是那么容易做到的,需要学会分离与当前无关的任务/问题,工作中经常会碰到的问题可以首先寻找简单可用可靠的方案,并将心中的疑虑记录下来,集中成一个列表,工作之外翻翻书,系统思考和学习,而不会因为这个问题而叉开思路对相关的内容研究一番。总之,专注当前的任务,把新问题记录下来,回头再专心攻克。 学会避繁就简,在基本功的增强后,会发现很多问题可以简单阅读或查找文档,或浏览问题相关的库的源码解决;
学会简化问题
无论是在广义的工作方法/工作态度上,还是在针对具体问题上,很重要的一个个人能力就是化繁为简了。化繁为简是所有工作方法/软件设计的核心。将那些可以砍掉的工作砍掉,做到尽可能地简单。
从工作方法和态度上来讲,真正需要去做的工作才值得去做,大力砍掉那些不应该在当前工作中处理的事情。例如不必要的优化,不必要的扩展性,不必要的性能,不必要的功能,可以不要的技术,不必要的流程,不必要的文档,统统砍掉,一切可以没有的全都不能有。
工作中也可能遇到非关键的难题,通常绕过它们,使用更简单的方案就是了。纠缠于这些不重要的难题,最容易浪费时间。
从设计/实现来讲,最好的方案就是最简单直接、一眼就能看懂的方案。而且通常最简单直接的方式,通常性能也最好。
基本功
基本功的内容十分复杂。 第一项基本功是对整个计算机体系的理解,对操作系统/虚拟机/数据库本质的理解,对语言基础类和库的理解,这些是核心基本功。 第二项基本功是学习能力。 通过快速阅读核心文档理解核心思想,然后其他的东西总是能从文档中查到就行。细枝末节的东西,即学即用,学过就忘可也。 第三项基本功是文档、代码、资料的搜索和收集,技术问题建议大家用Google搜索,有意识的整理出自己的代码库。
工具
选择工具核心标准,就是简单朴素可信赖,如果一个工具出几次诡异现象,那就干脆丢掉它。 熟悉工具,实际上我们工作中,就是和各种各样工具打交道,各种IDE,编辑器,版本管理工具,命令行终端,TODO工具等等。要想在工作中如行云流水,一定要熟悉工具,包括工具快捷键,命令,原理等等。 写自己工具,很多时候,我们需要重复的做一件事情,当你做第2遍,第3遍的时候,就应该想一想,能不能自动化,很多简单的几句shell就可以搞定,麻烦的一点的,可以先记录下来。比如,我就写了非常多的脚本:一个命令反编译APK并查看源码、提取当前版本号打git tag并提交等等。很多时候几分钟到几十分钟的事情可以压缩到几秒钟完成,也避免了对工作的打断。
前3点靠大家各自的修行,第4点工具部分,我会在中进一步分享。
关于作者:Tiny熊:博主