我成为一名更好的远程开发人员的秘诀

2020-09-21 13:17:26

在过去的五年里,我一直是一名全职的远程开发人员。做兼职/自由职业者至少有十年了,在这段时间里,我收集了一些关于如何在这种环境下变得更好以及如何取得成功和交付成果的提示和诀窍。我写这篇文章是为了分享其中的一些诀窍,而这只是一个简短的清单。我总是在测试这些东西。我认为做这个并定期创建一个新的来分享一些更新会很有用。

如果你是TLDR的读者,我在这里分享字幕列表:

现在,如果你发现了什么有趣的东西,跟我在一起,让我们学习一些东西。

这可能是陈词滥调,并不是每个人都是积极的人(也不需要是)。不过,在挑战或请求面前保持积极的态度是很酷的;我不是说你应该是一个唯唯诺诺的人,我是说,当你收到请求时,试着把它想成是一个挑战,而不是一个无聊的请求,或者有人想要窃取你的一些时间。

要精力充沛,展示当你克服一些艰难挑战时会发生什么,推动时间变得更加积极(例如)。积极地表达成功会提高你和你的团队的士气,而高涨的团队士气会增加成功的机会。

我的工作空间对我的精神状态甚至工作效率都有很大的影响;回到我开始远程工作的时候,我的办公室一团糟。我的桌子上有很多东西,其中很多我从来没有用过,甚至从来没有碰过。这一切都是在我患上严重过敏的一天结束的,这一过敏持续了两个多星期。我注意到那是因为我办公室里的灰尘。它失去了控制,如果不是因为我桌上的所有东西,清理它会更容易。

当时,我还注意到我会在办公室以外的任何地方工作。那天之后,我打扫了我的办公室,把桌子上的所有东西都拿走了。在一周的时间里,我注意到在我的办公室工作时,工作效率提高了,平和的感觉也好多了。然后,我开始阅读所有关于“整洁”运动的文章,这立刻就有了意义。因此,我开始了如何在不增加工作时间的情况下提高工作效率的旅程,我决定全力以赴。我不再购买我很少使用的电子产品,取而代之的是,我用这笔钱让我的办公室变得更简单、更干净,更具生产力。我买了两把符合人体工程学的椅子,开始使用一台更大的单一显示器,而不是两台。我有一个机械臂来悬挂它,因此我不会用支架占据我的桌子。我把我的有线鼠标和键盘换成了无线,在我的办公桌上加了一株植物,甚至还有一盏花哨的灯。

自从这些变化以来,我注意到我的工作效率和幸福感有了更大的提高。我有时仍然在办公室外工作,比如在我家的花园、咖啡厅或图书馆工作,但现在我觉得,在一天中安静的时间里,没有比办公室更有效率的地方了。我对自己进行了测试,看看如何回到旧的混乱环境中。我在桌子上的键盘旁放了一页纸,那天结束时,我感到筋疲力尽。那一天感觉一点也不富有成效。让我惊讶的是,今天一点小混乱就能对我的健康造成多大的影响,我怎么可能在这么混乱的环境中工作在这么近的过去。

在做任何承诺之前,我的秘诀是我会让我的编辑问我,改变容易吗?这个建议来自几本编码或软件设计书籍。一个有用的特性、项目、软件、方法和提交的最重要的工厂就是它需要很容易地更改。这个信息的想法来自“实用程序员”一书(这是一本我推荐给任何级别的程序员的优秀书籍)。当我读到它的时候,我知道这将是一个好主意,时不时地问我自己这个问题,一旦每次承诺似乎都是我目前所拥有的最好的。

在我的日常笔记中,我为任何项目打开的每个公关都有一个核对表。这将帮助我确保公关将是好的,并将很容易通过审查。我还将对Grammarly进行语法检查(稍后我将在Grammarly一章中详细介绍)。检查我添加的变量名(您知道命名有多难),检查方法的文档(所以我要确保我记录了所有关键信息),检查API文档(公共API的更改通常很少,但当它们发生时,您最好记住也要更新它们的文档)。烟雾测试(当然,在本地运行测试,看看结果如何)。最后,改进我认为不好的东西(我尽我所能不急于打开公关,让最后一步来改进我喜欢的东西,并且“在这一点上不可能匆忙”。问题是,我通常会在这一步中发现代码中的其他小问题,并将其视为最重要的问题之一)。

#PR自审检查表-[]在PR Body中传递Grammarly-[]在测试规范中传递Grammarly-[]重新访问变量和方法名称-[]检查每个公共方法文档-[]检查API文档-[]冒烟测试一切-[]改进。

有些人认为日常会议很无聊,但我认为它们可以而且应该是有趣和富有成效的。我每天写会议笔记,就像记日记一样,讲述一个关于昨天和今天早上的小故事,以及我今天计划做的事情,以及一周的计划是否需要改变。我通常在下一个团队成员醒来前4个小时开始工作(我在巴西和一个位于美国的团队工作),所以我在开始工作后2到3个小时内写下每日会议的笔记,这有助于我弄清楚昨天的情况,我应该继续做什么,我应该避免什么,什么是阻碍。

此外,笔记将给你一个直接的信息,让你在日常会议上说,我避免在会议开始时说,“让我记住我昨天做了什么!”你会看起来很专业,你需要提供的更新触手可及。它还能让你对这几天的情况有个了解;你可以回顾一下你的日常记录,看看你是否取得了进展。

时间追踪器是你做笔记时的盟友;这将帮助你不会忘记任何细节,即使你在3天后的周一做笔记。过一段时间,这将是很自然的,你不需要记住去做它们,要开始这个习惯,我建议在日常会议开始前1小时在你的议程上增加一个任务,这样做笔记一旦在日常会议开始,你就会准备好了。

对我来说,Grammarly是我日常生活中最重要的工具之一,无论是作为我的文本编辑器还是电子邮件校正器。对我来说,写作对于远程工作者来说是一种超强的力量,我们必须确保我们的文本是合理的;你不需要校对你制作的每一份文件,但这有助于你没有任何打字错误或结构问题。我确实过度使用了Grammarly,而且在过去的三年里,它已经带来了回报。自从我开始攻读硕士学位以来,我就让它审核每一篇文章和每一篇硕士论文。从那以后,我常常说这是我每年做的最好的投资。

时间跟踪是一种超级功能,它可以让你看到你把时间花在哪里了,即使你的雇主不要求你这样做,我也会建议你有一个这样的工具,原因有很多。

你可以通过知道你当天工作了多少小时来避免过度工作,而不要相信你的“我是工作太多还是工作太少”的感觉。

今天我使用嘉实,但在过去,当我作为独立的承包商工作时,我会使用Toggl,我会实时跟踪我的活动,而不会关心所有的细节(比如我不会停止时钟,如果我出去喝咖啡或看电子邮件),但我会建议使用任何你喜欢使用的工具。

一张图片胜过千言万语,但它必须是好的,因为有时你需要向人们解释复杂的主题,而这些主题与你所谈论的主题的上下文不同。在这一点上,Skitch是一个很好的工具,可以拍摄照片,显示关键点,并做简短的解释。请看下一张图片,我正在解释一个图表,只是作为一个例子。

除了写作,以视频形式显示信息也可以是一种超强的力量。有些主题以视频形式演示要比以文本形式演示容易得多。例如,模拟错误或显示问题需要涉及多个服务以及多个监控图表和来源。录制一段好的视频,展示您如何发现错误、如何确保错误得到修复,甚至解释您已实施的流程,都可以为您节省几段文字,并避免您的公关被拒绝。任何复杂的新功能或错误修复,我建议您在公关中提供一个出色的文本、很棒的代码注释、显示关键区域的很好的自我回顾,以及一个解释修复并显示如何测试、调试等的好视频。

为什么是OBS?OBS是“用于视频录制和直播的免费开源软件”。它是一个功能齐全的免费视频录制工具。QuickTime是我以前使用的一个工具,用来尽可能快地录制视频。尽管如此,OBS的视频看起来更像是“自制”的,而且你可以使用多种来源的摄像机、屏幕和媒体。视频通常很无聊,但如果你的视频看起来更吸引人,人们会更愿意看。

我喜欢把我的手机当做侧面的外置摄像头,如果视频太长,我会添加背景音乐,这样在测试期间就不会变得无聊,也不会增加运行时间。我没有在我的视频中做任何花哨的编辑,但我花时间以更好看的方式记录它们的简单事实让我的公关更受欢迎。

掌握录像艺术需要一些时间,所以我建议你多做几次,直到你觉得它们看起来不错为止。我在编写一些个人项目的代码时开始流媒体,以使我的视频录制效果更好。结果也很有趣(在Twitch结账),接下来我打印了一段我的视频,只是展示了它的样子。

做笔记是一种超能力,但并不是每个人都意识到了。当我在YouTube上看到一个医生使用Vim做笔记的视频时,我开始认真地做笔记。这引起了我的注意。我一直在努力保持一种系统,在这个系统中,我可以记下我每天做的事情,并将其记录下来。我试过很多不同的应用程序,但都没有找到任何好的地方。使用Vim让它变得有趣和高效,这就是我所做的。

做笔记有两种支持力量:减少必须记住东西的压力,锻炼你的思维,思考主题和如何用语言表达。我的笔记系统很简单,这就是我很容易遵循它的原因。对于每个重要的项目,我的.git中都会有一个文件夹。文件夹中,我将有另一个名为Notes/的文件夹,在该文件夹中,我将添加任何命名的重要注释。默认情况下,我会有一个名为‘Day.md’的文件,我在其中记录日常活动、公关核对表等。在我写这篇文章的时候,我正在做的一个更重要的项目的笔记有1454行。

文本是你能找到的最便携的格式,你可以在任何有屏幕的设备上阅读它,而且你可以很容易地预测未来任何新的设备或操作系统都会支持文本。

如果你想做的话,你可以用降价(我愿意)让它变得性感和漂亮。

我是一个早起的人(事实上,我是在周一早上6点54分写这篇文章的),早上的工作让我交付的东西比我想象的要多得多。我一年多来一直醒着5M,在那之后,到了上午10点,我通常已经比过去全天的工作做了更多的事情。为什么?

你想做什么就做什么。没有人敢在早上5点问你为什么不在开始工作前洗碗。

没有社交媒体,没有通知,没有电子邮件,没有懈怠,没有电话营销的电话,没有孩子跑进你的办公室,没有快递到达,没有邻居帮忙。早上5点,世界一片寂静,每个人都在处理自己的事情。

我有一些例程的子集。我没有任何证据表明它们是最好的,或者它们是你唯一应该遵循的。即使是我,通常也会每周尝试不同的例程。对我来说,对我来说,最重要的是有一套自己的例程,帮助你驾驭你的一天,或者更重要的是,帮助你度过一周。我会向你概述我的例程,以及它们如何帮助我的日常工作,并提供更多的结果。

这是给我的生活带来巨大改变的第一个习惯。我在硕士期间就开始了这个例行公事,当时我在一家公司远程全职工作(10倍)。我需要学习很有挑战性的科目来完成我的学分,然后再写我的论文。我找到了一个解决办法,早上5点开始工作,一直工作到早上10点,当我开始这样做的时候,我感觉到我的主人的成绩有了很大的不同。我注意到,与全职工作相比,我在硕士的活动中获得了更好的结果和更多的生产力。

论文答辩结束后,我继续早起工作,早上我做了一天中最重要的事情。今天我喜欢在清晨编码4个小时,一般来说,与这个习惯之前的一整天相比,有了这4个小时,我交付了更多的东西,而且我产生的代码和工作的质量要好得多。

这不仅归功于早上的工作,也归功于我在这段旅程中学到的其他一些技巧,但这是其中很大的一部分。我从不在上午10点之前看电子邮件,因为我不想让任何人改变我一天的优先事项。如果有什么事情需要我注意,它可以等到我一天的后半部分来解锁、配对和解决“其他人”的问题。

起床后,我当天的第一个任务是煮咖啡(如果我一个人睡觉,第一个任务是整理床铺,但现在一旦我结婚了,这很少见,而且大多数时候我妻子在我之后醒来,每天我都会准备香蕉煎饼和一瓶V60咖啡。)(如果我一个人睡觉,第一个任务就是整理床铺,但现在一旦我结婚,我妻子就很少在我之后醒来,我每天都会准备香蕉煎饼和一瓶V60咖啡。)。

一旦我完成了这项任务,我就以成功开始了我的一天。我会吃得更健康,完成一项至关重要的任务,现在我可以精力充沛地度过我的一天了。如果我那一天没有其他任务成功,我会在清单上一次成功地完成这一天。

通常,我在去健身房之前要工作两个小时。我喜欢用第一次激励来编写当天我需要编写的最难的东西。两个小时后,我想去健身房,所以在回到代码之前我会出汗一段时间。我锻炼得很重,而且很专注。我喜欢去健身房是因为两个原因。

我的大多数其他活动都需要我全神贯注和思维敏捷。我在健身房花了1个小时,几乎是在冥想,专注于音乐和锻炼。一旦我回到工作岗位,重点通常会比以前突出得多。

您不能通过视频格式学习所有内容。今天,你想知道的每一个主题都有视频教程。我认为视频是学习一些东西(如食谱)的绝佳方式,但不是任何科目,复杂的科目,大的概念最有可能成为阅读形式的更好的学习者。任何看过关于他们读过的书的电影的人都会承认,在这本书中,作者可以更详细地了解环境,人们的想法和感受。在电影中,即使有了所有的图像和你已经习惯的名字的脸,很明显有多少细节丢失了。

而且,一段时长超过1小时的视频可能太长了,而普通书籍会花费你大量的阅读时间。我的观点是,你应该放弃寻找学习每一件你想知道的新事物的机会。不要指望世界上所有的知识都能在10分钟的视频中为你消化。今天就开始多读书吧!

我每天都在阅读,从博客帖子(从黑客新闻抓取)到书籍(这里将有关于一些书籍的部分)和学术论文。我在这里的目的不是驱使你们阅读和我一样的资料,而是要让你们相信阅读是一种超能力。

我学到了新的东西(人们在做什么或放弃做什么)(开始通过阅读来学习铁锈、榆树和其他的东西)。

我知道人们做了什么已经奏效了,更重要的是,什么没有奏效为什么我要离开榆树,[PS]:我仍然喜欢榆树作为一种语言,但这篇博客帖子相当不错。

我已经学到了通往失败的方法(你从其他失败中学到的比从他们的成功历史中学到的要多得多),ReThink DB:为什么我们失败了。

对我来说,阅读是一种学习,花时间从你的角度思考、分析和理解别人的观点。

远程工作是一项通信挑战。一旦你能迅速摆脱所有干扰,随时专注于重要的工作,你的工作效率就会得到很大提高,而且没有人会在这个周末戳你告诉他们的狗学会了一个新把戏。但另一方面,很难做出明智的决定,很难交流信息,甚至知识可能会在组织中四处流动,因为我们的工作是异步的。那么,我们如何克服这一限制呢?我们要写作!

是的,例如,我强烈建议分享知识和决策,将它们写下来,并提供给关心它的人。

如果您正在打开一个Pull请求,以供您的两个人审阅,请评论代码、您正在进行的权衡,以及您为什么要这样做。在公关正文中指出代码中的关键点,将人们的注意力集中到重要的主题上。

写下你的日常会议笔记:每天,花10到30分钟写下你昨天做了什么,今天你计划做什么,你有什么障碍,如果你需要重新评估/重新计划。你可能会想,“我每天还会有30分钟的时间在写我已经做过的事!”但是你会为你节省很多时间。

1-永远不再“让我看看我昨天在日常会议上做了什么!”2-在每天开始的时候,你在笔记中回顾你当天的目标,这有助于你推动你的一天和决定(取消什么会议,接受什么会议)3-你创建一个数据库,记录你的一天是如何进行的。如果你只把时间花在没完没了的任务上,你会清楚地看到你是否卓有成效。

为您的私人项目创建一份出色的自述文件。自述文件对于任何开放源码项目都是必不可少的。自述文件有数百个提交,人们花费大量时间试图使它们变得更好、更受欢迎,但在封闭的项目中,我从未见过它们被如此考虑。我喜欢使用自述文件来指向其他信息来源(例如入职),甚至记录项目中的宏观决策。让我们在自述文件中花费与在开源项目中一样多的时间在封闭源代码项目上。

睡眠对你来说很重要。几年前,我会牺牲睡眠,转而学习或加班做个人或不同的项目。尽管当时我认为这是绝对必要的,但现在我已经越过了个人目标的界限,我宁愿推迟一周的分娩,而是为了有一个良好的睡眠习惯。因此,我注意到,在我开始优先考虑睡眠之后,我制作的工作的质量提高了很多。我的代码产生的错误数量减少了,查找/调试硬生产错误的时间减少了几个数量级。最后,工作少了,我的产量就多了。现在我很少每天工作超过8小时,或者一周工作40小时以上,我通常每天工作2到4个小时。

.