paint-brush
🚀 提高软件工程师的工作效率 🚀经过@maximchenko
35,050 讀數
35,050 讀數

🚀 提高软件工程师的工作效率 🚀

经过 Andrew Maksimchenko11m2023/04/19
Read on Terminal Reader

太長; 讀書

在我 10 年独特而多才多艺的软件开发和工程管理经验中,独家生产力技术帮助我登上了顶级 IT 行业专家的名单。我真的希望它也能帮助你!学习我的专业知识!我很乐意联系并协助您解决 IT 职业生涯中的任何生产力问题!
featured image - 🚀 提高软件工程师的工作效率 🚀
Andrew Maksimchenko HackerNoon profile picture


生产力一直是成功的基本标准。在如此快速发展的信息世界中,软件工程师始终如一地专注、专注和坚持是极其重要的。尽管如此,我们都知道,在一整天内保持高效可能是一项挑战,尤其是当我们需要在紧迫的期限内完成任务、处理复杂的任务并减少许多干扰时。


我在软件开发和工程管理方面拥有超过 10 年的专业经验,在我的整个职业生涯中遇到过许多生产力问题。我不得不像你一样为围栏摇摆,并“适应、即兴发挥、克服”一些不断扩大在我盘子里的任务。


因此,我决定分享我每天使用的前 5 个生产力提示和技巧,以在生活中取得成功并提高我的生产力。这些做法成功地帮助了我、我的学生和我的客户,让他们顺利完成任务。我会给你一系列的例子,这样你就能认出这种模式,并使它适应你自己的生活。我真心希望您也能从中受益!

1. 一件事

由 Gary Keller 和 Jay Papasan 开发的改变游戏规则的方法 -“只有一件事:非凡结果背后出人意料的简单真相” .这个想法如下:一次只专注件事——你可以用更少的努力取得更重要的结果。


一件事多米诺骨牌效应


当你早上醒来,在开始你的日常工作之前问问自己—— “我今天要做的一件事是什么,通过这样做,其他一切都会变得更容易或不必要?” .不是 2、3、4 - 只拿一个。一旦你确定了一件最重要的事情,就把它作为你的首要任务。


当你的经理在你的工作中分配了大量任务时,问问你自己或你的经理:“今天最重要的一件事(任务)是什么”。这可能是修复严重错误、实施新功能或优化性能,无论它是什么。通过首先专注于最重要的任务并消除干扰,您可以在最短的时间内取得最大的进步。


一开始,定义你的“一件事”会很复杂。你可能会错误地认为你的大部分任务都应该得到同样的重视,但老实说,一次管理所有这些任务是不现实的,所以你必须排忧解难。相信我,在这条路上,不仅是你,甚至你的同事也会开始注意到你变得更有条理,你的生产力提高了,你成为了公司更有价值的员工。


我还想让你在这里学到两件事


1)没有分心。确保在执行任务时消除任何可能的干扰:

  • 关闭手机上的通知;
  • 静音不重要的聊天;
  • 关闭浏览器中不需要的标签;
  • 推迟背景对话;
  • 找一个安静的工作空间。


记住!你越专注,你在白天的效率就越高。有没有想过中断的工作流程会如何影响您的日程安排?看看这张图:


2) 休息一下。是的,是的 - 不要错过休息时间!在一项任务上坐上几个小时可能会让人身心俱疲。我什至偶尔会把我的 ONE Thing 和番茄工作法:专注工作 25 分钟,然后休息 10 分钟,喝杯咖啡、散步、阅读电子邮件和聊天、接听未接来电等。短暂的休息将帮助您保持精神焕发和精力充沛。

2. 优先级的后果

结果和优先级都是做出正确决策和设定目标的重要因素。优先级帮助我们确定什么是最重要的以及我们应该关注什么,但是,如果我们不考虑我们行动的潜在结果,我们可能会无意中为自己和他人引发许多问题。


优先事项的后果


让我们看一个例子。当你有两个或多个优先级相同的任务在你的盘子里时,不要着急,只需问问自己这些任务中的每一个:

  • “如果我现在不完成这个任务,会发生什么不好的事情?”或者
  • “如果我不先解决这个任务,结果会怎样?”


并确保你从不同的角度来处理这些问题,包括对你自己、你的团队、你的客户、你的老板和你的整个组织的影响。如果您明天没有完成这项任务,您会被解雇或失去客户吗?该任务将如何对产品整体产生负面影响?它会降低代码的简洁性、可读性、结构化或可维护性吗?并根据答案采取行动。我注意到,即使是一些 TOP 经理在做决定时也忘记了这个直截了当的原则。


如果您花时间确定您的行为的潜在结果,您将在考虑潜在风险和收益的情况下做出更明智的决定。这最终将帮助您评估您的选择的有效性,确保您的优先事项是一致的,并确定您是否走在正确的道路上。


可以帮助您深入研究它的一本书是“掌握你的时间”布赖恩特雷西。

3. GTD:把事情做好

如果你想成为行业专家的TOP,你无法抗拒—— GTD:无压力生产力的艺术.这种方法论无疑是我见过的最有效的生产力系统之一。它由 David Allen 创建,并引入了一种独特的方式来以更有效和更有条理的方式管理任务和优先级。它已经帮助了世界各地的许多名人,如巴拉克奥巴马、埃隆马斯克、奥普拉温弗瑞、威尔史密斯、汤姆克鲁斯、托尼罗宾斯等


在过去的 5 年里,我个人阅读了这本书大约 5 遍,自从我在担任软件开发人员、工程经理、导师、解决方案架构师和 CTO 的过程中习惯于将它应用到我的日常生活中后,我的生活发生了彻底的变化。我真的希望它能改变你的生活!


让我们切入案例,看看它是如何工作的。简单来说,这是一个5 步工作流程:


GTD 方法论工作流

  1. 📥 捕捉

假设你的老板要求你整理每日报告、发送电子邮件或帮助你的团队成员,但你已经在做你的一件事了。确保在休息后立即将这些任务放入收件箱。无论您想到什么任务 -收集一切!


  1. ✏️ 澄清并确定优先次序

没有下一步行动 (NA),一切皆有可能。仅当没有后续步骤需要完成时,才认为该任务已完成**。** 在这里您可以确定哪些任务处于次要状态,哪些需要立即关注。明确它们,分解它们,并设置下一步。


示例:假设您有一项任务是帮助您的队友完成项目 ABC。这听起来太抽象了,所以我将其分解并转换成如下所示:

  • NA #1: ABC // Me //学习任务要求;
  • NA #2: ABC // 我 //和我的队友一起集思广益并提出建议;
  • NA #3: ABC // 我 //发送通话摘要并达成协议;
  • NA #4: ABC // Teammate //给我回信进度。 (注意:我委托它并让我的队友在他前进时ping我以确保他在正确的轨道上)


  1. 📆 组织

每个任务都必须有截止日期受让人。


问问自己: “我确定我必须自己完成这项任务吗?我可以委托吗?应该什么时候交付?我期望得到什么结果?”


如果您不设置具体的截止日期和受让人,迟早您会陷入不断错过最后期限的境地,并且想知道您的老板、团队领导或客户为什么对您的工作感到失望。他们的期望可能不仅仅符合您的期望。确保您是完成这项任务的合适人选,并与您的老板、领导或客户确认截止日期(最好是在纸上,而不是口头上)。


让我们看一个您何时需要帮助您的队友的例子:

  • ABC // 我 //(20 分钟)了解我队友的任务要求 //今天下午 5 点
  • ABC // 我 //(30 分钟)与我的队友一起集思广益并提出建议 // tmrw 下午 2 点
  • ABC // 我 //(15 分钟)发送通话摘要并达成协议 // tmrw 6 pm
  • ABC // Teammate //在两天的下午 4 点内给我回复进度 //


将其发送给您的经理进行确认,然后毫无压力地开始处理它 🤝。它会让你确保每个人都在同一页面上,并且你和你的领导之间没有误解。


  1. 🔎 评论

当您处理任务时,事情可能会发生变化,优先级可能会发生变化,或者可能会出现新任务。所以习惯于经常回顾和修改你的任务。做更小的每日回顾和更大的每周回顾。它将保证一切仍然相关并且是最新的。在这里,您还可以确保为第二天、即将到来的一周、一个月等正确设置您的“一件事”。


这就是我的做法(与每月/每年的任务相同):

  • 每日:当我上床睡觉时,我会回顾我第二天的所有任务,确保它们仍然相关,并按正确的顺序组织它们,完善截止日期,将一些重新安排到其他日子,添加新的受让人,并设定后续步骤。最后,我定义了我今天的一件事。
  • 每周:在周日,我分配大约一个小时来回顾下一周的任务,并像我在每日回顾中所做的那样做。


  1. 🚀 参与

就是这样!开始做你的工作!


🛠️工具

哪些工具可以帮助您采用这种 GTD 方法?


以下是我最喜欢的 TOP-3:

  1. 🏆 Todoist
  2. 🥈全方位焦点
  3. 🥉事情


在使用了数十个生产力应用程序之后,我终于选择了Todoist因为它具有最灵活的功能、直观的用户界面、跨平台支持以及与 GTD 方法完全一致的能力。 LMK 如果您希望我为您创建一篇单独的文章,以了解更多有关如何在日常生活中有效使用它的信息。我会很高兴与Todoist应用分享我自己 4 年的实践


4.重要与紧急

可能很多人都听说过 **艾森豪威尔矩阵**这可以让你避免紧迫感陷阱。我不敢苟同你遇到过这样的情况:你在收件箱中收到一封以“紧急”、“现在”“尽快”这些词开头的电子邮件——你放下所有其他任务立即处理这封电子邮件,因为它看起来非常紧急, 正确的?如果你这样做,你就陷入了紧迫感陷阱!停下 🛑 片刻,将注意力转移到其他事情上,喝杯水来绕过情绪,再次仔细阅读电子邮件,问问自己: “它真的那么紧急和重要吗?”并根据以下步骤做出反应。


创建一个2x2 网格并按如下方式标记象限

  • 紧急重要- 去做吧!你的一件事和你的第一个焦点。
  • 不紧急,但重要- 没有明确的截止日期?安排并推迟。
  • 紧急,不重要- 紧急,但违背你的一件事?代表!
  • 不紧急也不重要- 有任何干扰或不必要的任务吗?这是你的后炉!


艾森豪威尔矩阵


如果你总是专注于紧急但不重要的事情,你就更有可能感到压力、不知所措和精疲力尽。根据任务的紧迫性和重要性对任务进行分类将使您能够专注于具有最高优先级并对您的工作效率产生最重大影响的任务。你会注意到你是如何明智地投入你的时间和精力的。


5. 聪明

SMART方法是设定目标和按时完成任务的普遍生活窍门。作为软件开发人员,根据这种方法设置每天、每周甚至更长的任务可以帮助您更有效地实现目标。让我们看看它是如何工作的!


聪明的。目标

具体的

Your task has to be specific and clearly define what you need to do.


❌ 不好的例子:我想学习 React(太抽象了)

✅ 好例子:

  • 我将在本月之前在 Udemy.com 上注册并通过有关 React 的在线课程;
  • 下个月我将深入学习 React 官方文档;
  • 我将创建一个宠物项目,以在夏天磨练我的 React 技能。

可衡量的

The task should allow you to track your progress


❌ 不好的例子:我想在工作中提高我的 KPI。

✅ 好例子:到下个季度,我将反复灌输 GTD 并以两倍(或 30%)的速度执行我的工作任务。

可达到的

Your task needs to be realistic and easily achievable


❌ 不好的例子:我想学 AWS。

✅ 很好的例子:我将每天花 1.5 小时通过 AWS 在线课程并在我喜欢的项目中进行练习,这样我就可以在今年年底前获得 AWS Associate Developer 认证。

相关的

Your task needs to corelate with your priorities, values, dreams, and ambitions.


❌ 不好的例子:我想报一个 Python 的在线课程,所以我会先练习 Java 来学习后端开发的技巧。

✅ 很好的例子:我想报名参加一个关于 Python 的在线课程,所以我会在 Udemy.com 上为初学者找到一个相关的 Python 在线课程,并找一个高级 Python 开发人员作为导师来跟踪我的进度。

限时

Your task needs to have a due date. Do NOT ever start a task without a deadline on it.


❌ 错误的例子:我需要尽快修复错误

✅ 很好的例子:我将在周三之前修复错误,在周五之前进行验证,并在周一之前部署修复程序。

结论

通过设定明确的目标、尽量减少分心、休息、使用正确的工具以及有效协作,您可以掌控工作并更高效地交付高质量的软件项目。不要等到正确的时间才开始——这是一个失败的策略。如果您觉得开始某件事很困难,请尝试着手采取小步骤并逐渐增加。


重要的是要注意每个人都是独一无二的,对我有用的东西可能并不适合你。因此,为了提高您作为软件工程师的生产力,您需要尝试各种技术,包括本文中列出的技术,并找到最适合您的个性和能力的技术。


不要忘记,生产力不是更努力地工作,而是更聪明地工作。我希望我的专业知识至少能帮助您更加专注、更有条理和更有动力。不要犹豫,通过电子邮件给我写信 - [email protected] ,我会竭尽全力帮助您确定合适的实践和工具来提高您的生产力,这样您就可以为自己的成就感到自豪!