您的位置:首页 > 其它

提高工作效率之法

2017-03-01 08:42 246 查看

整体

生活组成

对于工程师而言,生活主要由六部分组成:沟通、开发、事务、学习、休息、运动。

沟通: 参加会议或讨论,就议题达成合理一致的共识【6% 10h】

开发: 完成产品需求,优化产品服务,切实帮助客户解决问题和麻烦【15%->17% 25h->28h】

事务: 解决线上问题和使用过程中的麻烦【3% 5h】

学习: 增强解决问题的能力、技能和见识【7% 12h】

休息: 睡眠、冥想、轻松游玩,恢复精力和能量【35%->32% 60h->54h】

运动: 提升活力【7% 12h 】

其他: 吃饭、走路、聊天等【27%->25% 44h->42h】

百分数按照一周168小时以及当前状况大约耗时折算而成。比例还是很不协调的。

身心调养

保证精力充沛、健康有活力是效率的基石和前提。

保证有质量的晚睡:23:00-6:30 ; 20分钟冥想

坚持早半小时适度地运动训练,晚半小时休息活动

一日三餐准时足量,水果、蜂蜜等辅助

调节身心气息;均匀、自然、适度

效率法则

事件重要性/紧要性/影响力策略:重要影响力大的事情立即做;重要而不紧急的事情分阶段做。

首要提高占比重大的事项的效率;主要是开发与沟通。

针对不同类型的工作制定不同的方法来提高效率。

观察和分析不同的干扰类型,分别建立行之有效的策略和方法来应对。

不定期记录、观察和调整生命中时间分配比重。

探索创造性和深度的时候, 可适当降低对效率的要求。

珍惜时间

要提高工作效率,就要做一个对时间吝啬的人;不仅是尊重自己的时间,也尊重别人的时间。

低效几乎来自于:不知、不熟、低质、手工、拖沓。不知道的,通过搜索、学习和请教转变成知道;知道的,通过练习和积累规律成为熟练的;熟练的,通过工具自动化变成可传承和无需手工的;拖沓的,坦坦荡荡休息15分钟(可以变成一种仪式感)再干活吧!

开发效率

精力充沛、专注、常用库与组件、拆分明细任务与划分边界、搭建可运行原型、通用一致化处理、不变与可变隔离、复用与可测、代码与设计Review、理解实现。

在精力充沛的时候做高产出创造性编程工作。

编程专注投入,将手机、邮件、微信、沟通、事务等干扰降到最低,除非值班的需要。

熟悉和使用优秀的代码库、成熟组件和框架,借鉴现有成熟方案,尽可能避免重复造轮子;构建和积累常用代码库及可复用性,可以在不同项目和工程中复用。通常是字符串、日志、Json、日期、金额、容器、并发、网络调用、数据库访问、过滤器、回调、切面等。

对任务目标不太清晰时,先拆解任务目标为一系列可以实现的子目标,明确地写下来;含糊的地方,务必也要明确和记录,即使暂时不做。

涉及多种业务交互时,先沟通交互接口和划清边界,避免多方做重复的事情。

先搭建原型和系统骨架并使用Mock技术,把系统跑起来,再逐步求精细化; 意图导航编程、逻辑单元连接。

遇到局部问题暂时难以求解时,可以先抽离出来,保证整体通过,再找时间解决这个问题。

有多项相似需求时,提炼出通用的工具、流程和微框架, 快速支持后续相似需求。

自动生成部分单测,提高单测质量和编写效率,并用密集单测覆盖代码行。

编写短小单一职责的系统方法和业务方法,增强复用性和可测试性。

采用函数式编程隔离通用技术逻辑和定制业务逻辑。

隔离通用和可变,增强程序的可配置性和可扩展性,用尽可能少的代码实现新功能。

认真执行代码review,项目初始设计请教有经验的小伙伴进行审查确保无设计缺陷和漏洞。

提升信息搜索技能,快速获取高质量信息。

解决应用部署中遇到的看似无关紧要的错误后,部署速度会提高。

阻碍开发效率的因素

中断性事务处理; ----> 要适应语境切换

对所面临问题还没有思考出解决方案; ----> 知识经验累积不够, 需要学习或请教

身体不适或心情不佳; ----> 需要停顿休息和调适状态

工作量大,产生畏惧心态; ----> 拆解任务和评估工时

沟通效率

充分倾听、观察、理解和思考,开放心态,简洁凝练地发表建议。

在交谈或会议前对话题进行充分准备,面对面的时候更深入讨论。

限定时间不拖沓,不废话不啰嗦,无疑勿议,不懂聆听。

紧急重要事项,面对面沟通谈清楚;不紧急事项,异步沟通,避免影响别人的专注。

评估个人在会议中的作用和比重。比重小的,弄清楚该做什么事;比重大的,做好充分发言准备。

请教问题时,提供充分信息,说明事项紧急程度及最迟答复时间; 回答问题时,先确认事情原委和细节;先及时回复确认收到消息再内部消化。

从小处着手,积微知著。

问题排查和运维效率

日志、工具、自动化、流水线

增加恰当关键的日志,减少问题的排查和调试的时间。

持续新增和完善工具箱,能够用30秒钟自动化解决,不要折腾10分钟去手工操作。

持续完善程序,减少和消除因为程序的不完善导致的手工操作和维护。

及时识别费时繁琐的且有规律可循的手工操作,通过自动化程序减少和消除。

自动化工具支持大规模、批量、安全处理,输出友好,自动确认处理状态。

使用alias 和命令行工具通用化和配置化已有的自动化解决方法。

将已有自动化工具串联成流水线工程,流畅地诊断和修复问题,建立稳固的工具防线。

能全自动化的,不要半自动化或不彻底的自动化。

持续优化完善程序,严格测试,减少程序里的坑,减少上线后维护的时间。

聚焦和及时消除焦点问题和低效区域,容忍偶尔的次要问题。

注重细节的改进和优化。

工作与时间管理

建立适合自己的专属工作台和快捷键,随己所爱。

建立适合自己的工作生活节奏,吃好喝好休息好。

建立时间管理和工作事项管理;专注、专一、专属时刻。

对工作事项进行估时和反馈,逐步量化工作效率;

关注大局,确立优先级,先解决关键重要事项;

谨记主目标,勿为次要不紧急事项分心和转移注意力;勿因钻研非关键技术细节耽搁项目主进度。

处事干净利落,不懂就请教。

积累和定时备份在线工具软件网站;

移除鼠标,学习和熟悉全键盘操作;

建立可复用可移植的工作环境, 源码、文档、软件包、可执行程序、项目文件、参考资料等,请分别单独置一处。

提高学习效率

每天花半小时学习一个新的知识、技术点或理念, 保持新知和热情。

非常重要的文章,找个安静的地方,集中全部注意力和才智来研读。

实验探索式学习,从学习中有所发现和洞见。

学习关于提升效率的知识、技能和经验。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: