文档章节

提升软件开发者效率的10个提示

玛雅牛
 玛雅牛
发布于 2014/01/03 19:56
字数 2424
阅读 310
收藏 26

Ilias Tsagklis是电信领域的一位资深软件工程师,以软件开发者的身份参与了多个应用与服务的开发工作。目前,Ilias是PCRF解决方案的技术领导者。他感兴趣的领域包括多层架构、中间件服务及移动开发。近日,Ilias撰文谈到了提升软件开发者效率的10个提示,这些提示很具有普遍意义,希望能为各位软件工程师工作效率的提升带来帮助。

在参加过几次关于效率与时间管理主题的研讨会并阅读过一些关于这方面主题的图书之后,我理解了一些意义深刻的概念,并对日常的工作方式有了更清醒的认识。通过这些学到的知识,我对日常的工作方式进行了完全的改造,并取得了极大的效率提升。我希望能与大家一同分享这些可以极大提升效率的重要提示,从而增进你的整体输出。也许最重要的是,能够让你抽出时间做些别的事情。值得注意的是,下面这些提示既可以用在个人管理方面,也可以用在专业管理方面,这些原则本质上是一样的。

1.绝不要将阅读邮件作为早上的第一件事

请千万别将阅读邮件作为早上的第一件事。如果这么做了,那么你自然而然地就处于一种被动的状态之下,而不是你希望的那种积极、主动的状态。只在每天预先设定好的时间窗内查看和回复邮件,可以在午饭前,比如说12点到13点之间,然后在16点左右再看一次,因为这个时候你的能量可能处于下降的趋势,查看邮件并不会导致效率的降低。别担心,那些所谓的“紧急”邮件在绝大多数时候并没有那么紧急。

2.如果可能就别去开会

在企业环境下,会议是头号效率杀手。其实道理每个人都知道,只是有人不愿意承认罢了。Dave Barry曾说过“会议让人上瘾,导致人们过于放纵,很多公司与大型组织都是习惯性开会,否则有些人可能就无事可做了”。值得注意的是,会议会导致多人效率的同时下降。如果不是那种非参加不可的会议,那就别参加了。你可以说手头还有很多事情要做(也许事实就是如此),然后在会议后问一下参会的同事,了解一下重要的内容就行。

如果真的有必要参加某个会议(这种情况其实并不多),那么请记住下面这些原则:

  • 在下午效率下滑时开会。

  • 一定要设定好要讨论的主题,别随意发散。

  • 设定严格的会议结束时间,时间到了就立刻散会。

  • 会议结束时一定要确定好清晰的下一步行动计划。

3.别分心

这个话题很大。在当今这个信息时代,导致我们分心的事情比比皆是,这些事情阻碍了我们正常地完成工作。我将分心划分为两类:一是我们自己造成的,二是别人造成的。

首先说说第一种。看起来很奇怪吧,但实际情况却是我们自己导致自己效率下降,甚至有时都是无意识的。这种情况比比皆是:邮件、社交媒体的“重要”通知,在不同任务间频频切换,看到Hacker News或是Reddit上的有趣新闻等等。

你应该创造这样一种工作环境,那就是在工作时没有任何东西能够令你分心。首先关掉所有通知,比如说手机上的短信、Facebook更新等等。接下来,退出邮件应用,如果开着的话,请确保禁用掉自动发送/接收选项。然后,不要访问任何不会提升你效率的网站。我们都是极客,我相信你应该知道如何做到这一点。你可以通过比较底层的方式来编辑机器的hosts文件,将facebook.com指向127.0.0.1,或是使用插件来临时禁用掉这些站点。我自己使用的是Blocksite插件。

下面谈谈第二种。你可以说上面这些令你分心的情况是由其他人造成的,不过真实情况却是你自己造成的,因为没有人强迫你访问Twitter或是Facebook。第二种我称为“强迫”分心。这些情况是否出现在你身上呢?比如说,你收到经理发的一封邮件,然后他问你是否收到了,诸如此类。事实上,这种分心是比较难抵御的。有些建议,比如说戴上耳机(不过有时这样也不管用)、让来电进入语音邮箱,然后再去查看,或是在PC上放一张纸,写上“请勿打扰,编码中”等等。你要看看哪种情况比较适合你的工作环境,然后采取相应的行动。总的目标就是让工作能够连贯下去。

4.前一晚准备好任务清单

你应该在前一晚准备好一个第二天要完成的任务清单。我这里指的并不是那种巨大的清单,这样根本就没效果。相反,列出两三个重要任务即可,这应该是会对项目产生重要影响的任务。比如说:如果今天搞定这两个任务,那么我的效率就非常不错了。

5.先做重要的事

如前所述,邮件绝不应该是一天当中首先要处理的事情。那什么是首先要处理的呢?当然是清单中最重要的任务了。你应该识别出最重要的任务,然后坐下来专心解决,而不要再去考虑别的事情。理想情况下,你应该一气搞定,然后休息一会,再来做第二重要的任务。

6.批处理并不是数据库才有的

我相信很多人都应该很熟悉批量查询的概念。一言以蔽之,你将相似的数据库查询放在一起,然后在一个请求中发送出去,这样可以提升性能。你也可以在自己的任务中应用这条原则。也就是说,将某个任务的代价、各种开销最小化。邮件、电话以及任何重复性的工作都是批处理的最佳应用场景。

7.自动化

添加到效率工具箱中的另一个东西就是自动化。作为程序员,本质上我们生活在一个相当自动化的环境中,不过我曾看到不少开发者使用手工的方式来解决本可以轻松自动化完成的事情。人类的可靠性不如机器,特别是在面对那些无聊和不太重要的事情时。请尽可能自动化你所面对的任务。比如说通过一键的方式来执行完整的应用构建,使用一个脚本将应用部署到产品服务器上。严肃地说,请不要将你的精力浪费在机器能够更快、更可靠完成的事情上。

8.调整工作与休息,实现效果最大化

现在来谈谈如何创建良好的工作框架这个问题。我的建议是为工作分配特定的时间,同时为休息,或是娱乐分配特定的时间。比如说,你可以使用45分钟的时间进行持续、集中的工作,然后花15分钟休息一下,看看社交媒体更新情况,阅读一些文章等。在休息时就别再盯着屏幕看了。久坐是非常不好的习惯,适当地站起身,走一走。

9.将事情记录下来

将一切都记录下来。无论是新想法,还是新的做事方式,要知道,大脑有时是不可靠的,你需要将这一切记录下来才行。你可以将大脑看作是一个CPU,分配给它的东西就好比是在后台启动的进程。有时,进程会挂起,不能正常工作。将事情记录下来则会解放大脑,可以让其以更加优化的方式执行任务。

10.利用心流,专心工作

这是个圣杯,正是我们通过恰当地设计工作框架而要实现的东西,也是前面那些提示所要实现的终极目标。我敢肯定你经历过“心流”的状态,这指的是你的思维完全专注的一段时间,聚焦于特定的任务或是难题,甚至忘记了时间的流逝。头脑中除了编码,没有其他的东西存在。外部刺激也不会令你分心。你需要将自己置身于能够实现心流的状态下,尽量保持更长的时间,这将极大提升你的生产率,我敢肯定你会非常喜欢这种状态,为什么不让自己尝试一下进入这种状态呢?


本文转载自:http://www.infoq.com/cn/news/2014/01/10-productivity-tips

共有 人打赏支持
玛雅牛

玛雅牛

粉丝 480
博文 113
码字总数 27287
作品 4
高级程序员
Sublime、Webstorm,还有CLI、Atom,这些开发工具的更新你清楚吗?

APICloud App开发平台一直在不断升级开发工具库,这一年增加了众多开发工具。目的就是让开发者可以选择使用任何自己喜欢的HTML5开发工具去开发App。 那么2016年到现在,这些开发工具都有了哪...

达斯雷马
2016/12/15
371
0
上线一周年 华为云软件开发云为何如此受欢迎?

软件开发云之于软件工程,就如同机床之于制造业。华为云软件开发云正在努力成为软件业的“工作母机”。 去年12月,华为云在大连正式上线发布了软件开发云平台(DevCloud),平台刚一上线就受到...

m59ht9d0j
2017/11/29
0
0
Opera 10正式版9月1日发布 速度提升40%

8月28日消息,Opera宣布,桌面型浏览器Opera 10 RC正式版第一版在9月1日开放下载,与Opera 9.6正式版相比,新版处理资源密集度高的网页如Gmail与Facebook等,将会快上40%。 Opera公司说,为因...

红薯
2009/08/28
430
1
全栈开发必备的10款 Sublime Text 插件

Sublime Text 具有漂亮的用户界面和强大的功能,例如代码缩略图,多重选择,快捷命令等。Sublime Text 更妙的是它的可扩展性。所以,这里挑选了全栈开发必备的10款 Sublime Text 插件,让本已...

殊麒
2014/11/23
3.2K
1
新一代 Windows 系统重磅曝光:全局标签化

在Windows 10中,微软为资源管理器添加了Ribbon特性,也就是朝着Office看齐,将很多常用选项集成到顶部,比如显示/隐藏扩展名、调整组织结构等。 据外媒报道,微软内部现在提出了Tabbed Shel...

达尔文
2017/04/17
5.4K
35

没有更多内容

加载失败,请刷新页面

加载更多

00.编译OpenJDK-8u40的整个过程

前言 历经2天的折腾总算把OpenJDK给编译成功了,要说为啥搞这个,还得从面试说起,最近出去面试经常被问到JVM的相关东西,总感觉自己以前学的太浅薄,所以回来就打算深入学习,目标把《深入理...

凌晨一点
今天
2
0
python: 一些关于元组的碎碎念

初始化元组的时候,尤其是元组里面只有一个元素的时候,会出现一些很蛋疼的情况: def checkContentAndType(obj): print(obj) print(type(obj))if __name__=="__main__": tu...

Oh_really
昨天
6
2
jvm crash分析工具

介绍一款非常好用的jvm crash分析工具,当jvm挂掉时,会产生hs_err_pid.log。里面记录了jvm当时的运行状态以及错误信息,但是内容量比较庞大,不好分析。所以我们要借助工具来帮我们。 Cras...

xpbob
昨天
113
0
Qt编写自定义控件属性设计器

以前做.NET开发中,.NET直接就集成了属性设计器,VS不愧是宇宙第一IDE,你能够想到的都给你封装好了,用起来不要太爽!因为项目需要自从全面转Qt开发已经6年有余,在工业控制领域,有一些应用...

飞扬青云
昨天
4
0
我为什么用GO语言来做区块链?

Go语言现在常常被用来做去中心化系统(decentralised system)。其他类型的公司也都把Go用在产品的核心模块中,并且它在网站开发中也占据了一席之地。 我们在决定做Karachain的时候,考量(b...

HiBlock
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部