开发人员的时间管理技巧
有一种让生活变得更好的方法。确实,一些时间管理原则可以为我们的生活带来成功,并将软件和 Web 开发提升到真正有利可图和迷人的水平。
引言
软件和 Web 开发可以非常令人兴奋,经过多年的努力,它可以让你赚到一百万美元,或者让你进入一个稳定的状态。我们中的许多人只关心勉强维持生计。但这难道不是我们的目标,或者我们曾经在学校和童年时梦想过的事情吗?
为了赚更多的钱,我们中的许多人会寻找额外的工作,而对其他任何事情都不予理会,只管埋头编程。我们无法休息,无法花更多的时间与家人和朋友相处,除了工作,我们什么也做不了。这会导致压力和不满意的生活。
但是等等。有一种让我们的生活变得更好的方法。确实,一些时间管理原则可以让我们的生活变得成功,并将软件和 Web 开发提升到有利可图和迷人的水平。
设定你的目标:长期和短期
为了让生活变得更好,首先你需要知道对你来说“更好”是什么。你希望下周、下个季度、未来两年,甚至未来 20 年(如果你足够年轻的话 )达到什么状态。你必须自己决定你想要什么的人生。
不要懒散地计划
拿破仑曾经说过,只有经过妥善规划的事情才能产生预期的结果。不要忽视这个原则,并投入时间进行规划。记住,瞎忙不是计划。我喜欢这句经典的引语:“有时候我坐着思考,有时候我只是坐着”。通常这种现象会耗费大量时间。如果你发现自己在瞎忙,就切换到另一项工作,看看窗外,或者简单地放松一下眼睛。
根据实际情况定期更新你的计划。
如果你无法规划,那就记录
如果你现在无法规划任何事情,不用担心,你以后可以做到。只需在纸上、Excel 表格中记录你所做的一切,或者使用任务管理软件。每两个小时更新一次列表,或者至少在一天结束时或开始时更新。这将帮助你找出常见的干扰因素和重复性任务,这样你就可以为将来做计划。即使是一周的日常时间记录也能让你明白我们是如何生活的。
查看你的时间日志,并尝试找出那些实际上不需要做的事情,那些可以由别人来做的事情,那些可以更有效率或更快完成的工作,那些浪费别人时间的操作等等。
你可以在 这里下载一个简单的时间跟踪模板。
将所有任务收集到待办事项列表中
有时我们手头没有工作,之后我们才想起(或者老板提醒)一系列重要且非常紧急的任务。避免这种情况的唯一方法就是将任务收集到待办事项列表中。每当你的老板、同事或你自己想到一项任务时,就将其添加到列表中。如果你无法访问电脑,或者记不住任务,就写在草稿纸或其他任何媒介上。尽可能将其转移到主列表中。
估算每项任务,自己设定截止日期。这将帮助你避免在最后一刻才做事。
调整优先级
德鲁克有句名言:“把事情做好不如做正确的事情重要”。在软件和 Web 开发中,可能会花费大量时间在那些为客户带来的价值不足,甚至根本没有带来任何价值的任务上。例如,编写一个正则表达式来拆分逗号分隔的数组,或者编写一个 CORBA 应用程序来访问远程服务器上的两个方法。没有万能的方法可以解决所有的优先级排序问题,但有一些技巧可以帮助你。
- 首先向客户或经理询问正确的任务排序和优先级。务必提前进行:并非所有客户都能立即回答。
- 如果其他人依赖于某项特定任务,请先完成它。
- 对于同等重要的任务,根据任务难度设置优先级:先做最棘手的任务(有些人喜欢先做有趣的任务,为什么不行?)。
在可能的情况下委托
如果有人可以承担你的一部分工作,请不要犹豫与他分享一些工作。明确目标,而非流程,承担责任和问责。清晰地描述任务。提供“如何测试”的示例。
可以使用以下规则来确定是否应委托某项特定任务
- 他/她能做得比你更好或更快吗?如果是,毫不犹豫地委托。
- 如果你有更重要的任务要做,你会把这项任务委托给别人吗?如果是,委托。
- 如果有人可以在你不在办公室等情况下独立完成工作,可以吗?如果是,委托。
- 当然,你甚至可以把工作委托给你的老板,但不要滥用。
在多项目环境中,整个团队的工作不能平均分配给每个成员。有些人会做得更多,有些人做得更少。根据戈德拉特的约束理论,在最慢的成员完成工作之前,项目就无法完成。因此,委托应该在团队内部推广,而不仅仅是从经理到开发人员。只有在诚实开放的沟通团队中,例如 XP 和敏捷团队,这个过程才能有效。
完美不比好更好
例如,在编写代码时,按时完成比纠结于一个适合所有情况的完美解决方案更重要。把工作完成,然后你可以在以后添加更多功能。尽力而为,“一次就做对”。不要在编码规范和代码质量上省钱。整洁的代码通常会增加后期的支持时间。考虑单元测试,它可以提高质量并加快开发速度。自动化测试会带来信心。
将困难任务分解成小块
人们通常会回避困难的任务。把它们分解成更小的步骤。完成可管理的块,很快你就会发现问题已经解决。一个非常有用的方法是为每个任务添加“如何测试”的说明。这将设定一个微观目标,并有助于确定任务的完成度。当然,如果这些测试可以自动化,重复测试的时间就会减少。
找出你的时间浪费者
人是社会性动物,我们每天每小时都在与人打交道。我们有同事、朋友或亲戚。他们可以以各种方式帮助你或拖慢你。有些人会直接通过电话、即时消息或电子邮件联系你。这会导致打断以及时间的消耗。一次 6-9 分钟的打断通常需要额外的 4-5 分钟才能恢复。五次打断会浪费一个小时。总是想办法减少这种打断的频率总是有益的。很难在周围设置防火墙或忽略他人。例如,忽略配偶的电话可能会导致不可预知的结果 ;) 减少这种时间花费的唯一方法就是找出重复性的时间浪费者。一旦你了解了整体情况,就可以轻松决定在哪里节省,在哪里花费。
计划休息和娱乐
牛津大学人类代谢学教授 Keith Frayn 告诉 TV Plus:“任何正常人都可以仅靠水生存长达 60 天而无需进食”。但没有足够的睡眠,人会更快地退化。1964 年,一名高中生兰迪·加德纳试图打破吉尼斯世界纪录,创造了最长时间不睡觉的记录——260 小时。斯坦利·科伦在《睡眠盗贼》一书中描述了兰迪的逐日影响,该书由美国海军医学精神病学研究部门的约翰·罗斯在圣地亚哥记录。兰迪在第二天眼睛难以对焦,第四天出现幻觉,最后一天则说话含糊不清、注意力短暂。
当你疲惫时,不要指望高效率。睡眠可以为我们的大脑充电,帮助我们更清晰地思考。充分计划你的一天,不要牺牲睡眠。
开发人员通常每天在工作场所坐在电脑前 8 小时或更长时间。这会导致身心疾病。我们暴露在外的器官之一是眼睛。长时间盯着显示器工作,即使是昂贵的显示器,也会损害我们的视力。为了减少对眼睛的不良影响,有很多眼部训练的方法。在搜索引擎中输入“训练眼睛”并找到适合你的训练。每天安排一次,最好是在晚餐前,或者任何其他方便的时间。
不要犹豫向朋友或同事寻求建议
几乎所有 IT 项目都涉及风险;它们要么隐藏,要么在开始时就显而易见。开发人员必须解决它们。处理其中的任何一个,即使是一个小风险,也可能需要几天甚至几周的时间。为了避免这些时间的浪费,只需听取同事或朋友的建议或帮助。我有许多例子表明,这个规则缩短了处理困难任务的时间,并避免了项目失败。我个人的一个例子:我们最近项目的客户要求应用程序具有额外的安全性,以防止可能的破解。保护的一部分是从服务器下载一个组件,并将该 DLL 加载到应用程序中,而不写入磁盘。即使经过两个小时的研究,我也找不到任何有用的信息。我停顿了一下,试图回忆起能帮助我的人。我问了一个在我另一家公司工作的开发人员朋友,他帮助了我。他给我发了一个我正在寻找的教程链接,问题就解决了。
奖励自己
每个人都期望为自己的工作获得奖励或赞扬,特别是完成某项工作后。缺乏奖励会扼杀我们的工作欲望。这通常会导致生产力下降。这就是为什么我们宁愿为别人工作,而不是为自己做事。在完成一项任务或一项工作后,承诺给自己一个奖励。例如,完成一个页面或一个新功能开发后,允许自己看一部有趣的电影,或者吃点甜食,或者其他任何东西。
结论
这份时间管理技巧列表只是通往新生活的新起点。每天遵循这些原则,可以为成功的职业生涯、健康的身体和幸福的生活指明方向。
我的大学老师总是告诉我,每个细节都很重要。通常,某件事的失败是由于我们忽略或跳过了一个微小但重要的细节。帮助自己实现梦想。避免杂乱无章的行动,计划并管理你的时间,保持成功和健康。