文档章节

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

玛雅牛
 玛雅牛
发布于 2014/01/03 19:56
字数 2424
阅读 308
收藏 26
点赞 0
评论 0

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

共有 人打赏支持
玛雅牛

玛雅牛

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

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

达斯雷马 ⋅ 2016/12/15 ⋅ 0

上线一周年 华为云软件开发云为何如此受欢迎?

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

m59ht9d0j ⋅ 2017/11/29 ⋅ 0

全栈开发必备的10款 Sublime Text 插件

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

殊麒 ⋅ 2014/11/23 ⋅ 1

全栈开发必备的10款Sublime Text 插件

全栈开发必备的10款Sublime Text 插件 来源:梦想天空博客园 时间:2014-11-28 10:16:28 阅读数:218406 分享到:6 [导读] Sublime Text 具有漂亮的用户界面和强大的功能,例如代码缩略图,多...

thinkyoung ⋅ 2015/11/05 ⋅ 0

Opera 10正式版9月1日发布 速度提升40%

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

红薯 ⋅ 2009/08/28 ⋅ 1

新一代 Windows 系统重磅曝光:全局标签化

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

达尔文 ⋅ 2017/04/17 ⋅ 35

浅谈软件项目上的长期慢性需求问题

本文的作者Capers Jones是Namcook Analytics公司的副总裁和首席技术总监。他一直在收集软件质量和开发效率上的数据。他写了几十本关于软件质量、最佳实践方法、评估、测量方面的著作。 在处理...

firerain ⋅ 2013/01/18 ⋅ 3

【开源访谈】 JFinal作者 詹波 访谈实录

关于开源访谈 开源访谈是开源中国推出的一系列针对国内优秀开源软件作者的访谈,以文字的方式记录并传播。我们希望开源访谈能全面的展现国内开源软件、开源软件作者的现状,着实推动国内开源...

丫头潘潘 ⋅ 2013/07/11 ⋅ 68

高手问答第 192 期 —— 深入认识 React Native — 跨平台移动开发必备

OSCHINA 本期高手问答(4 月 4 日 - 4 月 10 日)我们请来了张益珲@珲少 和大家一起探讨关于使用 React Native 进行移动端跨平台应用开发的问题。 张益珲,工学学士,一位经验丰富的程序员,曾...

局长 ⋅ 04/03 ⋅ 39

OSChina 技术周刊——Java 9 终极特性列表

每周技术抢先看,总有你想要的! 移动开发 【翻译】创建一个跟分辨率无关的 iOS 8 应用 【软件】NextApp —— 开源的手机博客 App 自动生成系统 【软件】哎嘛——来自 @Tonlin 开发的 OSC 客...

OSC编辑部 ⋅ 2014/09/21 ⋅ 6

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Kubeflow实战系列:利用TFJob导出分布式TensorFlow模型

介绍 本系列将介绍如何在阿里云容器服务上运行Kubeflow, 本文介绍如何使用TfJob导出分布式模型训练模型。 第一篇:阿里云上使用JupyterHub 第二篇:阿里云上小试TFJob 第三篇:利用TFJob运行...

全部原谅 ⋅ 4分钟前 ⋅ 0

007. 深入JVM学习—老年代

老年代空间的主要目的是用于存储由Eden发送来的对象,一般在经历好几次“Minor GC”还会保存下来的对象,才会被复制到老年代,这样就可以存放更多的对象,同时在老年代中执行GC的次数也相对较...

影狼 ⋅ 5分钟前 ⋅ 0

常见的一些C#开源框架或者开源项目

原:https://blog.csdn.net/qq_27825451/article/details/70666044 Json.NET http://json.codeplex.com/ Json.Net 是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用Json更......

whoisliang ⋅ 5分钟前 ⋅ 0

设计模式基本原理

刚开始接触编程这行的时候看过设计模式,当时感觉学这些模式没有太大的用处,当时也看不太懂。但是随着慢慢接触这一行,经过一段时间的编程以后,再回过头来看设计模式,发现设计模式的确是太...

王子城 ⋅ 9分钟前 ⋅ 0

阿里云全面支持IPv6!一文揽尽4位大咖精彩演讲

摘要: 自从去年11月以来,阿里巴巴高度重视数据中心的网络改造、云产品改造、应用及网络改造等多个维度,经过半年以来的建设,阿里云已经完成了域名解析等关键产品的分析,现在阿里云已经完...

传授知识的天使 ⋅ 19分钟前 ⋅ 0

windows Android sdk 配置

1、下载Android SDK,点击安装,直接默认路径即可! 下载地址:http://developer.android.com/sdk/index.html 2、默认路径安装后,安装完成,开始配置环境变量。 3、打开计算机属性——高级系...

阿豪boy ⋅ 22分钟前 ⋅ 0

bash shell script 简明教程

User <--> bash <--> kernel shell is not kernel or part of kernel various shells: tcsh, csh, bash, ksh find the using shell: echo $SHELL find all the shells: cat /etc/shells what......

mskk ⋅ 24分钟前 ⋅ 0

Service Mesh简史

William Morgan Service Mesh是一个相当新的概念,讲它的“历史”似乎有些勉强。就目前而言,Service Mesh已经在部分企业生产环境中运行了超过18个月,它的源头可以追溯到2010年前后互联网公...

好雨云帮 ⋅ 25分钟前 ⋅ 0

10个免费的服务器监控工具

监控你的WEB服务器或者WEB主机运行是否正常与健康是非常重要的。你要确保用户始终可以打开你的网站并且网速不慢。服务器监控工具允许你收集和分析有关你的Web服务器的数据。 有许多非常好的服...

李朝强 ⋅ 37分钟前 ⋅ 0

压缩工具之zip-tar

zip 支持目录压缩。使用yum安装zip包,使用yum安装unzip包 zip 1.txt.zip 1.txt #将1.txt文件压缩,新生成的压缩文件为1.txt.zip,原文件保留 zip -r 123.zip 123/ #-r对目录操作。将123/目录...

ZHENG-JY ⋅ 38分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部