【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

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

  • 2014-01-02
  • 本文字数:2680 字

    阅读完需:约 9 分钟

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. 利用心流,专心工作

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

2014-01-02 07:362448
用户头像

发布了 88 篇内容, 共 258.7 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

分布式锁的实现方案

360技术

初识Golang之声明函数

Kylin

3月日更 21天挑战 Go 语言

网络连接之协议栈

Kylin

协议栈 3月日更 21天挑战 网络连接

智能时代与华为路标:手机影像的文艺复兴史

脑极体

如何定义错误码

编号94530

Java 错误码 错误处理

第十二周作业

MR.X

[译]用@WebMvcTest测试MVC Web Contorller

麦芽面包

spring unittest

通俗讲解分布式锁,看完不懂算我输

Java小咖秀

Java 分布式 多线程 并发

【LeetCode】删除排序链表中的重复元素 IIJava题解

Albert

算法 LeetCode 3月日更

搞懂 ZooKeeper 集群的数据同步

HelloGitHub

Java zookeeper ZooKeeper原理

QCon全球软件开发大会:推动创新,实现技术落地

博文视点Broadview

Wireshark数据包分析学习笔记Day21

穿过生命散发芬芳

Wireshark 数据包分析 3月日更

在全面拥抱人工智能前,这 6 步您的公司做到了吗?| 云途专栏

亚马逊云科技 (Amazon Web Services)

亚马逊云科技和德甲为 2021 赛季新推出三项赛况统计数据,强化实时比赛分析

亚马逊云科技 (Amazon Web Services)

看东鹏饮料如何从150亿条数据中洞察先机 | 精选案例

亚马逊云科技 (Amazon Web Services)

异步机制和CPU架构对 Redis 性能的影响

escray

redis 学习 极客时间 3月日更 Redis 核心技术与实战

华为云PB级数据库GaussDB(for Redis)揭秘第六期:Feed流场景中的应用

华为云开发者联盟

数据库 redis 华为云 GaussDB Feed流

C++ 中的 task based 并发

赖猫

c++ 后端 多线程 并发 服务器开发

学习方法记录

风翱

学习方法 3月日更

数据结构队列

我是程序员小贱

3月日更

数据去哪了?:从一次生产事故聊聊并发编程原子性问题

海拉鲁

Java 并发编程 多线程

NoCode 实战 | 零代码应用开发,轻松搞定任务跟踪管理难题(上)

亚马逊云科技 (Amazon Web Services)

镜像仓库学习笔记

lenka

3月日更

Python基础之:Python中的模块

程序那些事

Python Python3 程序那些事

Gas费用持续攀升!NA公链NAC公链如何破解高额Gas费用的困局?

区块链第一资讯

Java泛型最全指南

xcbeyond

Java 泛型 3月日更

Redis - 缓存穿透、缓存击穿、缓存雪崩

insight

redis 3月日更

用 Redis 实现消息队列是一个好主意么?

escray

redis 学习 极客时间 3月日更 Redis 核心技术与实战

设计与思考,关于资源和生命周期

程序员架构进阶

设计实践 生命周期 28天写作 3月日更 池化技术

C++ socket通讯详解及注意事项

赖猫

c++ 后台开发 后端 服务器开发

Rust从0到1-基础概念-数据类型

rust 数据类型

提升软件开发者效率的10个提示_语言 & 开发_张龙_InfoQ精选文章