Rational软件工程师:工作时间组织指南

2021-06-06 23:42:52

我是一名软件工程师,他使用科学的方法来解决问题,并优化我的表现。作为软件工程师,我经常试图了解如何优化我的生产力 - 我想在不再做更多的工作的情况下完成更多的工作。

我觉得我已经获得了一些洞察力,这对他人可能有用。在本文中,我将分享我对良好工作时间结构中的重要性的看法,同时提供媒体/科学来源和笑话。

这是&#34的第一篇文章;理性软件工程师"系列。我将介绍更多与优化个人流程,教育,职业道路以及如何在软件工程背景中充满热情的更多主题。

有许多事情有助于提高我是一个软件工程师的效率:我工作多久,我是如何聚焦的,我多久休息一下,我如何度过它们 - 还有更多。如果我构建了我的一天,它可以提高我的生产力,而在一个方面失去控制可能导致我的生产力下降。所以让我们弄清楚什么是“精美的工作日''实际上是。

通常,我们每天花8个小时。一些时间去了会议,检查电子邮件,午餐,制作咖啡等。每天编写8小时的编写代码不是很现实。

我看到很少有人设法为这么长时间做到这一点,同时保持高效性高。另一方面,任何试图每天代码8小时的人直接(特别是没有休息)可以说明这是多么疲惫。这就是为什么持续尝试减少一些国家的工作时间的原因。

这使我们解决了一个问题 - 我们对写作代码的软件工程师有多少时间?

我的大多数同事告诉我,在最好的日子里,当他们没有分心时,他们可以写入代码最多4-6小时。有些经理(通常是缺乏经验的人)如果您告诉他们他们最富有成效的开发人员每天只编写4小时的代码,可能会得到恐慌攻击。 “他们到底是怎么回事?!” - 他们可能会问。

与您的经理的心理健康有所体贴,不要与他们分享这些信息:大多数受监管的人实际上甚至不到那样!

平均而言,只有39%的工作时间都花在实际工作上,并且仍然不是意味着一个人这次效率有效。

就个人而言,我试图每天瞄准5个小时的专注工作。如果我在家里有一个备用会议和短暂的午休,我的工作日可以短至5.5小时。自从我的产出好的日子以来,我感到伟大,我之后有很多闲暇时间。但请记住 - 它只适用于5小时的专注工作。否则,您可以在10多小时内工作,无论如何都不会产生更少的输出。

但是,除了编写代码外,我往往每天往往每天工作5.5小时,并参加日常站立会议。如果我有一些额外的重要电话,阅读一些专业文献,参加知识共享会话,并在午休期间锻炼,我的工作日将持续8小时。

通过“重点工作”,我的意思是:我做了重要的东西,我用很多集中度。

如果我们没有足够的纪律(我们大多数人没有)并且有很多分心(我们大多数人做),我们倾向于花时间在非必要的东西上。本研究表明,检查新闻网站,通过社交媒体浏览,与同事聊天通常会消耗2小时的员工'工作时间。以及3人中有1人报告说,他们每天花2-5小时在他们没有完成任何事情的会议上。

由于我的目标是为了获得最大的生产率,有些方法可以减少与分心的上下文切换并增加焦点时间。我将在这里详细介绍他们:

跳过会议,除非您需要在那里。作为一个经验:如果你不确定你需要在会​​议上 - 你没有,跳过它。是的,你会偶尔想念一个半重要性,但你会节省几个小时,这足以赶上。此外,有一种检测无用会议的好方法。如果没有议程,你不明白你要讨论的内容,那么可能会浪费时间。所以要小心会议,帮助别人了解你的时间,而且他们不应该邀请你邀请你没有想过的会议,或者你不需要在哪里。此规则适用于您作为一个组织者:创建会议计划,写一个很好的议程,邀请必要的人,并记下会议摘要。警告 - 您不想错过一些会议。例如,如果贵公司的首席执行官想要分享某些东西,您可能会考虑参加 - 即使没有议程,没有人知道会发生什么(͡°͜ʖ°°)

在重点和生产力方面,通知是邪恶的。关闭手机通知并将手机放开以摆脱检查它的诱惑。让我们说实话,你得到的大部分通知并不重要,不需要你的立即回复。你的朋友可以等待回答你是否可以在酒吧加入它们,并且新的突发新闻标题只是另一个点击条目。

当您也不被同事中断时,创建时间是重点的。快速聊天夜间的新版本和一个非常重要的问题,通过谷歌曲的实际上是15秒的谷歌曲的回答是不值得中断,可以等到你的休息时间。在日历中预订关注工作的一段时间,请打开“忙碌”状态在松弛(或在您的信使中的替代品),通知您的团队您将在一小时内开放,或者有关你忙的头部的注意事项。做任何事情,但将信息传达给您现在没有中断的其他人。一些极端的编程支持者可能不同意这一点。尽管如此,我仍然认为,全天持续的临时会议或悬挂在一个不和谐的频道,以便立即沟通通常可能会带来更多的伤害,因为他们打断了你。但是,如果你不回应人,你可以阻止他们的工作。如果在没有输入的情况下,有人无法进入的情况,如果您在这种情况下被中断,则很好。此外,如果您的角色是团队'铅,团队的生产力可能比您的生产力更重要。在这种情况下,总是可用的可以是一个有效的选项。

当你新鲜时,你最富有成效。尝试使用这次硬认知工作。这项研究表明我们的生产力如何随着白天工作的时间而下降。因此,第一个工作时间可能会给最好的输出,明智地使用它们。

无情地优先考虑。设置您需要执行的一天的任务,并按照列表进行操作。它可以采取几分钟才能使其成为,但它有助于跟踪您需要做的事项和优先级。如果您的活动没有促成完成日常任务,也许您正在做一些不必要的事情。

有时我们觉得我们已经工作了一整天,但是当我们被问到究竟完成了什么时,我们没有Сlear答案。这可以表明你正在做一些不必要的东西 - 有机会改进它。在工作日期间,您可以记下您实际的事情,多长时间,以及为什么切换到其他活动。看看一天结束的“活动”报告。问自己是否已经在你应该拥有的东西上工作,如果有立即任务,他们是什么以及为什么他们出现了,如果你没有完成任务列表,那么妨碍你在实现它时。您可能会发现您可以消除的东西,以提高您的生产力。

如果您发现难以跟踪您的操作,您可以在机器上安装跟踪系统 - 每隔5/10/20分钟将拍摄截图,以便您可以在下班后查看“报告”看到你的分心。

我们不仅在加班期间生产的产出要少得多,但它也与健康风险相比,在工作,疲劳和压力水平上不满。以及斯坦福大学的研究,如果您每周工作超过55小时,那么生产力下降了,在斯坦福大学的研究中,在斯坦福德大学的研究中,在任何时候都会进入几个小时几乎毫无意义。换句话说,工作更多的时间导致输出递减。就个人而言,如果我每天工作重点超过6小时,我的思绪开始是模糊的,我越努力地推动自己继续工作,我觉得更加毁灭。

但是,我们都知道有时会发生累计的时间。工作时间较长,以满足发布截止日期,修复了影响用户的生产的严重错误,并有一个迟到和紧急会议 - 所有这些都可能发生在一起,它可能是偶尔工作更长时间工作的有效理由。这里最重要的部分是“偶像”。

如果在每次发布前总有一个紧张,你的大多数生产发布会导致你必须在晚上调试的错误,你每周3天举行延迟会议,这意味着流程糟透了。在流程上工作!

例如,一旦我在一个项目中以“事件驱动的架构”方式在单个管道中连接的项目。一旦我们部署了一个微服务,我们必须测试整个管道结束,因为它是确保一切都在一起工作的唯一方法。由于一些团队同时工作,微野跑之间的转换契约是一个常见的失败点(这个过程需要改进,但它更难修复)。如果我们在发布后遇到破碎的管道,我们将首先尝试最后一次提交并再次部署,以最小化停机时间并调查错误。等待CI / CD完成,测试管道,让另一个恢复提交,确保。所有这一切都花了一个多小时,并且会不断地让我的状态长于我在工作中的时间。最终,我花了2天写在部署前运行的第一个E2E测试。之后,我从不需要等待并在发布后手动检查管道 - 我知道如果出现错误,那么它就会部署它。这个过程得到了改善,我的工作日结束得再次预测。我见过很多情况,在过程改进可以减轻超越的情况。

关于“家中的工作”和“加班费”怎么样?控制你不加班时甚至更难控制。我见过大量的开发人员说这样的话:

“感觉就像我在家里不工作 - 我住在工作。家庭之间没有明确的分离并再次工作“。

一个良好的建议,阻止我进入一个不断加班工作的循环是在工作时间后立即制定计划。

例如,由于我在下午4点完成,我倾向于计划下午5点:预订健身房时间,与朋友一起,或在餐厅预订桌子。这确保了我大部分时间都准时完成。显然,如果我必须加班地修复我自己搞砸的生产,我可以取消我的安排,但如果它只是关于我们是否应该介绍一个新的JavaScript库来处理价格格式或写入的“非常重要”会议在下午4:30,我们自己自己的功能,对不起,但我正在去健身房的路上。

并且有一个小但重要的一点:如果我每天工作12小时,我根本就不能做其他令人愉快的活动。我打赌你想要除了工作之外的生活。

如果你的目标是每天有5个小时的重点工作,那并不意味着你应该在一次坐着一切。事实上,你应该休息,而且经常是,因为它有助于保持高效。着名的Pomodoro技术可以帮助您更富有成效。工作循环约50分钟,然后休息约15分钟是一个良好的开端。一世

如果您发现连续50分钟难以集中精力,您可以尝试一个名为“Forest:保持专注”或某种替代方案的免费应用程序。 “森林”关闭电话通知,并为过程添加了游戏。我用它一段时间了一段时间然后停止,因为我注意到我没有太大的问题,我自己没有专注于30-50分钟。此外,我通常不会跟踪工作和休息的1个“循环”的时间,并每当我觉得它时休息一下。这对我有用,但也许你更容易以更受控的方式做到这一点。

尝试从您的主要工作中选择与自然不同的休息活动。在工作时间期间编写代码并在休息时间读取文档既耗尽,因为它们都是认知的硬件任务。然而,小运动,冥想,散步,一些唱歌或打音乐仪器,而且小谈话一般帮助我回到很多能量。

它并不总是写作代码。您可以在工作中进行更多的活动,并发现它们更加富有成效和娱乐,以结合它们。每天写入代码5小时可以产生良好的输出,但如果我每周工作5天,我可以厌倦。

我享受我可以写3-4小时的代码,花费3-4小时的写作文章,指导,面试,教育,知识共享以及许多其他活动。参与不同的活动也促进了我对一般的工作感到更满意。所以,如果您感到无聊的写作代码,请尝试拿起一些新的东西。你可以找到它的娱乐。

新知识对每个职业都很重要,但它对软件工程师来说更为重要。我们的领域正在不断扩大,如果您不想留在路边,您应该随时随地跟上并尝试获得新的知识。教育值得一篇专用文章,但它部分与工作时间结构相连。

在工作周期间献上教育的时间。每周3-5小时应该是一个很好的开始 - 并且随时可以在日历中免费预订,因为您在该过程中不想中断。如果公司没有常见的做法,有专门的教育时间,请尝试与您的经理讨论这个想法。这并不像它的声音=),如果他们不同意,也许是时候脱掉你的简历了?

Covid Pandemic给我们带来了一个非常有趣的含义:许多人开始从家里工作并适应新的工作惯例。这对一些是一个积极的变化。其他人抱怨。当你在家里工作时,你应该关注一些有用的东西。

尝试将一些空间与工作相关联。仅为与工作有关的活动献上一个角落;然后,在您在工作时间表结束时将其专注于那里的工作并停止工作。如果你能负担得起 - 将专用房间设置为“办公室”。

买好工作设备。让你的工作场所舒服。虽然我没有发现自己是非常必要的,但很多人都说一个好桌子,椅子和几个监视器都是必备的。许多公司在家设立工作场所的特殊预算,所以至少尝试。记住 - 你的脊椎和眼睛是你的面包制造商,就像手指一样是钢琴家。不要便宜。

试着不时见到你的同事。独自工作可以是社会挑战性的,很容易忘记你在团队中工作。如果是可能的话,你觉得这样,尝试每两周一次见到你的同事并一起花一些时间。

我希望混合工作计划 - 我可以运动,淋浴,烹饪,休息,避免在家里的分心更容易。此外,我在通勤上至少节省了一个小时。另一方面,我觉得在常规办公室有点动力。因此,如果在您的情况下,尽量从每个世界中获得最佳状态。

最后但并非最不重要的是健康。健康是一切都开始的基础。如果你有头疼,那就不可能富有成效,对吧?如果我不吃好吃,停止锻炼一段时间,有一个挑战的情绪形势,或者睡眠不好,我的生产力下降。

在当天的高峰期生产力下,我采用更好的睡眠卫生,开始锻炼更多,失去了过量的体脂,更健康地改变了饮食,开始冥想,保持日记,并在常设桌子上工作时。所有这一切对我来说都是必不可少的,并且是最富有成效的。

另一方面,我谈论许多开发人员忽略了这些生产力和幸福的钉书针。这不是一个关于健康生活方式的指导,但如果你觉得你大部分时间都懈怠,你想在2小时的工作后睡着了,你停下来看看你的肚子后面,这是一个好时刻才能得到你的好时机狗屎在一起。

锻炼,保持良好的饮食,采用良好的睡眠卫生,并在您需要专业的帮助或不知道要从什么开始时注册,请访问医生,心理治疗师,营养师和私人教练。

以下是文章中提到的所有建议书的简短清单

如果您的主要责任,请尝试瞄准约5小时的纯编码

找到您最富有成效的工作时间,并尝试当时执行最困难的任务 我列出了大部分工作的生活仪式,我发现对自己有用,但我还想听到有关您的生产力的贡献。 因此,请随时分享意见或在LinkedIn上联系我。 感谢所有审核本文的朋友,特别是Maksym Bekuzarov,彻底检查和许多有用的见解。