远程软件工程师的10个最佳实践

【引子】最近又要关注研发效率,《如何提高团队的研发效率呢是一些总结与思考,当然,阅读与学习也必不可少,这一篇编译自 “The 10 Best Practices for Remote Software Engineering”,作者Vanessa Sochat,发表在“Communications of the ACM, May 2021, Vol. 64 No. 5, Pages 32-36 10.1145/3459613”,很有参考价值,融入了老码农的一些视角和观点。

从表面上看,当考虑软件工程师研发效率的时候,我们可能会想到时间管理、沟通和任务完成的有效性。问题是完成任务或者有一个预期的时间表并不一定等同于生产力。对于远程工作的软件工程师而言,正面临着常规思考、责任和目标设定的新挑战。

远程软件工程师的10个最佳实践

最佳实践之四:建立工作习惯和工作环境

工作环境和工作习惯中的一些小细节都会极大地影响我们的工作效率。一般地,我们会注意工作空间的照明、噪音水平和舒适度。如果发现自己会被某些事情分心,可以考虑改变当前的工作环境。另外,明确的选择习惯性的重复可以建立良好的工作习惯。

越是能够在特定的环境中重复一个行为,就越有可能变得轻松自如。例如,如果享受网上冲浪,可以让自己在午餐后干这件事,并选择在不同地点用不同的设备浏览,以避免与工作联系在一起。如果喜欢在咖啡店工作的感觉,可以尝试在家里模仿这种体验,营造几个不同的工作场所,并通过午间散步来模仿在不同场所间切换。如果想摆脱一个不适应的习惯,可以考虑改变自己的的工作环境。例如,远程通常会是单独工作,但如果不喜欢这样,可以考虑尝试一个与他人有更多规律互动的环境。如果感觉效率不高,可以考虑换个工作场所,或者锻炼十分钟。

环境的切换是在工作时间和非工作的时间之间建立一个明确的分隔。这对于在家工作来说尤其重要,因为原来上下班的行为方式都不复存在,家变成了唯一的空间。最后,要包括工作以外的日常安排,也就是为了个人快乐的一些活动,例如,与家人在一起的时间等,这些也是必须考虑的。

最佳实践之五:对工作负责

如果自己的一种角色是为用户提供支持,或者团队中已经有一个设置好的任务列表,那么,就有了被动工作的倾向。虽然每天都会从待办清单上划掉一些项目,但这并不一定意味着已经对自己的工作拥有了所有权或承担了责任。拥有这种所有权可以让我们更关心自己的工作,从而提高生产力水平。

这是一个如何独立识别和处理团队或社区问题的挑战。越有能力决定去做一些重要的事情,制定计划并且执行这个计划,我们就越能拥有独立性,学习新的技能,并且感觉到对自己的工作拥有所有权。如果与老板或团队分享自己的想法或项目经验,他们也会看到这些积极的品质,这有助于建立信任,这在远程工作的环境中非常重要。事实上,参与组织决策可以给人一种心理上的主人翁责任感,这也会进一步自己的满足感。在这两个层面上都拥有所有权,通过它建立信任,可以巩固团队对自己的看法,他们会对我们更有信心。

最佳实践之六:承担人际沟通的责任

在刚刚开始远程工作的时候,沟通负担的沉重在团队中是很常见的,更不可能有既定的协议和最佳实践。很多人都是在偏离正轨的时候才艰难地认识到这一点。如果我们与团队乃至社区脱节,就会感到孤独,并对快乐程度产生负面影响。

在这种情况下,问题在于缺乏人际沟通。寻求人际沟通意味着要参加虚拟研讨会,电话会议,或者参加例行会议。如果要寻找更多一对一的人际互动,可能需要建立一个虚拟的“快乐时光”让其他人参与进来。虽然在工作中与同事沟通是常见的,但是我们缺少的可能是与朋友或家人的联系,因此与家人共进晚餐或者好友的云聚会都是非常有意义的。在工作环境中,分享工作的技巧和心得可以作为建立人际沟通的工具。不管具体策略是什么,改变一些工作方式,就会感觉不那么孤独。

远程软件工程师的10个最佳实践

最佳实践之九:学会说是

作为一个软件工程师,参与的每一个项目都有一系列的问题需要解决,需要与他人合作,以及需要学习新的编程语言或新技术。我们都可能是一个很容易说“是”的人,为一个项目做贡献,或者提供帮助。

虽然这是一个获得成长的好方法,但是也要知道什么时候说“不”: 当我们可用时间受限的时候。当然,说“是”也是可以的,但是要把自己的贡献限制在一个可控的时间范围之内。为了最大化我们的生产力,保持对自己任务清单中的项目有着清醒的意识,以及什么时候提高或者减少参与度,专注于那些对团队或者社区来说最有价值和重要的项目是必不可少的。

最佳实践之十:选择正确的沟通渠道

当远程工作时,有许多方式可以与他人交流。人们有着不同的工作环境和时间表,理想的情况下,通信是异步的。但是,应该根据交流的需要谨慎地选择方法,而不只是依赖于IM工具。文档的讨论首先可以使用协作文档工具,但是经过一些增强之后,可能要将其转移到版本控制中。有时候,一个快速的电话比试图写出一封冗长的电子邮件更有效率。

重要的细节是,无论选择视频电话、电子邮件还是IM消息,都需要考虑是否适合所讨论问题,考虑交流的透明度和开放程度,以及自己的舒适程度。如果对视频或者语音聊天感到不舒服,可以划出特定的时间段,让它成为日常工作中可以预测的一部分。

远程软件工程师的10个最佳实践

结束语

这里推荐了10个最佳实践来激发远程软件工程师的快乐,从而提高远程开发人员的生产力:

  • 在关心的事情上工作

  • 为自己定义目标

  • 为自己定义生产力

  • 建立日常习惯和工作环境

  • 对自己的工作负责

  • 承担人际沟通的责任

  • 练习同理心

  • 自我同情

  • 学会说是

  • 选择正确的沟通渠道

这里的大多数要点都可以归结为确定控制点。软件工程师应该感觉可以控制自己的工作,并且有处理不确定性和压力的心理技巧,这样就能更好地应对不确定性,随着时间的推移,会变得更有效率,而且更快乐。成功和生产力不是出现在我们面前,而是我们选择去创造的东西。

【关联阅读】

  • 关于软件开发,都应该知道的10个常识

  • 醉袖迎风受落花——好代码的10条认知

  • “他山之石”,语音技能开发的10个要点

  • 纸上得来终觉浅——成长的10个建议

  • 浅析dashboard的10个实现原则

  • 软件架构的10个常见模式

  • 10行Python代码的词云

  • 性能,10点系统性思考

  • 无我编程的10条诫律

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91442 人正在系统学习中

来源:半吊子全栈工匠

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年4月13日
下一篇 2021年4月13日

相关推荐