17611538698
webmaster@21cto.com

聊聊如何提高程序员的编码效率

资讯 0 2593 2017-06-02 12:01:35
focus-xiaolv.png


我是一名软件开发者、设计师,同时也是一名企业家。
 
我是团队效率软件 Asana 的联合创始人,很多大型公司都使用它来运作公司(如 Uber、Pinterest、Dropbox)。当我以前在 Facebook 做工程经理时,我设计了公司至今仍然依赖的内部团队协作效率工具。
 
总体来说,我痴迷于效率提升已经有很久一段时间了。
 
下面这些,都是我发现对于我的创造性产出非常关键的小贴士。每一条都和优化这三个领域的其中一个有关:你的工作环境、你的心智、以及你的工作流程。
 
优化你的工作环境 
 
关掉所有干扰。 结论非常明确:"多任务"让人们 觉得 自己更高效,但研究发现它只会降低我们的效率。查收电子邮件的诱惑很强,但是频繁的中断会 让我们更笨 ,而且重新回到状态需要花费的时间 比你想象的多得多 。所以当你需要集中精力时,可以进行如下操作:
 
1、把手机调成"勿扰模式"。在 iPhone 上从手机底部向上滑动,然后点击月亮图标。
2、关掉所有跟手头任务没有直接联系的浏览器窗口。
3、如果撰写邮件是你工作的一部分,那么保证你在写邮件时不会看到新邮件提醒。
4、退出与工作无关的聊天软件。
 
找到你的"心流"时间 
 
如果你的白天不断的被各种会议打断,那么要进入 "心流" —— 一种你真正深度投入到复杂任务中的状态,会非常困难。
1、在你的日程表中排入三小时的"会议时间",其实只有你一个人参与。同事们会避开这个时间段来安排其他事情,那样你就能不被打扰的完成工作了。
2、如果你可以的话,让整个公司的人达成共识 —— 每周有一天不能有任何会议。在 Asana,我们有 "无会议周三" 。
3、跟踪在一天中,什么点干什么活对你来说最合适。在你的"超人时间"完成最困难的那部分工作。这是我的判断过程: 找到你的"超人时间" 。我的超人时间是上午十点到中午。
4、精通你的工具。 如果你一天到晚都在用电脑,每一次你伸手去抓鼠标,都会让你慢下来一点,然后你丢失了一点点"心流"的状态。 
 
让你操作电脑的速度跟上你思考的速度 ,这需要去学习那些你使用最频繁的软件的键盘快捷键。
1、每次你发现自己在使用鼠标时,找找看有没有对应的键盘快捷键。通常情况下,它就被标注在菜单栏的旁边,或者在鼠标悬停按钮后弹出的小提示上。在 Mac 上:⌘ 表示 Command 键, ⌥ 表示 Option, ⇧ 表示 Shift, ⌃ 表示 Control。
2、使用软件 SizeUp 来脱离鼠标调整你的窗口。 
 
优化你的心智 
 
关于这个主题,我最喜欢的书之一是 Tony Schwartz 的 The Power of Full Engagement: Managing Energy, Not Time, is the Key to High Performance and Personal Renewal 。就连这本书的名字都是一条有力的提示。
 
规律性的休息一会。 常识告诉我们,我们花在工作上的时间越多,能够完成的工作也就越多。但这并不是事实。人类并非机器人,我们的精神力需要时间来重新充能。研究结果建议,每工作 90 分钟休息 15 分钟,是帮助达到 "做的更少,完成更多" 很好的规则。
 
冥想。 这是我如何培养这个习惯的过程,见下面链接:
http://www.quora.com/How-do-I- ... stein
 
照顾好你的身体
 
1、水合物 (Hydrate)。 每一天开始时,我会在我的桌子上摆 5 大杯水。到这天结束时,我会把它们全部喝光。看到那些水杯摆在那,有很好的进度提示作用。
2、健康饮食。 一顿高碳水化合物含量的中饭,通常会成为下午能量供给的灾难。
参加体育锻炼。 每周至少进行两次有氧运动和你的工作效率息息相关。
3、斋戒。 让一月一天变成 一周一天 。
4、简而言之,保证你有营养的度过工作以外的时间,那样你才能有足够能量在工作的时候全力以赴。
 
直面不适来克服拖延症。 我并不是因为懒而拖延,我拖延是因为我的最高优先级任务让我隐隐约约(或者没那么隐隐约约)的感到不舒服。
 
当这事发生时我们应该:
1、诚实面对那些让你感到不舒服的东西。用怜悯的心态的把不舒服的根源写下来(或者和某个朋友分享)。为什么它让你感觉那么糟糕?
2、找到一个舒适的下一步。
关于如何通过直面不适来克服拖延症,我写了更多关于这个技巧的内容 。https://www.linkedin.com/pulse ... mfort
3、如果当下没有足够的能量来直面你的恐惧,那么至少去完成你清单上第二重要的事情,而不是转而去刷 Facebook。多产的斯坦福大学教授 John Perry 把这个叫做"结构化拖延症(Structured Procrastination)",在网站 StructuredProcrastination.com 上,他把自己大部分的成就都归功于此。
 
优化你的流程
 
弄清楚你的计划。 很多低效工作都起因于缺乏优先级概念。对于具体要做什么来达到目标、什么事情优先级最高这种事完全不清晰。

1、如果下一步工作对你来说还不是 100% 清晰,或者你的团队成员没有达成共识,不要做 任何 更多的事情。
2、开始之前打好基础:我们的目标是什么?为什么我们想要达到这个目标?为了达到目标需要哪些步骤?每个步骤的3、责任人都是谁?这些步骤应该以什么顺序被完成?
这里是更多 关于弄清楚计划的内容 。http://firstround.com/review/A ... vive/
4、找个伙伴一起。 有些人就喜欢单枪匹马工作,但是对于复杂任务来说,我发现独自工作通常很痛苦而且非常容易分心。
5、找一个乐于协作的同事。有时候我一个人需要花两天完成的任务,和合适的搭档一块两个小时就能搞定。"结对编程"在软件工程领域中很常见,但它其实适用于任何领域。
6、换种方式,你可以通过文本编辑器或者日记和自己来一次对话:从问自己一些很宏观的问题开始,并写下你的答案。通过简单的用随意样式写下问题并回答它们,我有了一份战略、高效以及很长的和我电脑的对话。
7、公开的承认 deadline。 把压力当做动力。如果某个重要的任务没有 deadline,我会自信的告诉别人,"在这周五下班前,我会把拷贝发给你。"为了不在同事面前出丑,我自然会保证在周五一定把东西准备好。
8、用软件来追踪你的工作。 毫无意外,我相信 Asana 是干这事最好的去处。用它不光能追踪你自己的 to-do 列表,还可以管理整个团队的任务流,那样你就不需要通过无数的会议来让团队同步进度了。它还把对话放在了工作内容的旁边,让你你再也不必费力从邮件中找到你要的信息。
 
花一点时间来总结反思。 在每天结束前留下几分钟的预算,想想今天哪些事进行的不错、那些进行的没那么好。下一次能否对你的工作流做一些改进?
 
如果每天你可以变得 1% 更有效率,那么到当年结束时,你将会变得更有效率 15 倍。
 
 

原文链接:https://www.quora.com/What-are ... sions


评论