[译]提升程序员生活质量的八个建议

原文链接:https://dev.to/wraith/my-8-tips-for-a-better-life-as-a-developer-1hfg

上周在邮件推送里面看到的一篇文章,真的让我觉得应该分享给大家。中国内卷的氛围,包括非常强的竞争压力,让我们忽视了作为程序员这份工作,应该如何快乐享受它,希望这篇文章能够帮助大家解决一些忧虑。毕竟我们工作,挣钱,晋升都只是一生中的少数亮点,一生中往往更多的是平淡,如何平淡中增加些乐趣,真的很重要。

我担任软件开发人员和工程师已经有 8 年多一点了,从我自己的经验以及从一些非常有才华的人那里学到了很多东西。在这篇文章中,我想分享一些真正让我的体验变得更好、更愉快的事情。有些是技术性的,有些只是一般生活技巧。但所有这些都改善了我在软件开发方面的生活和经验,希望通过分享这些课程和技巧,我可以帮助您避免一些我为了弄清楚它们而必须经历的不愉快的时光。

找到一个你喜欢工作的地方

译者注: 工作地点真的很重要,自己公司会有居家办公策略,有时候自己回去咖啡馆,感觉哪里效率并不会差,反而会更加专注,于是乎打开北京咖啡馆办公,也是自己计划一部分

您的环境对您的生活贡献很大。它可以增加或减轻压力,帮助您集中注意力或分散注意力,让您感到安全或不安全等等。因为它在我们每个人的生活中都扮演着不可或缺的角色,所以我认为从这里开始是合适的。

无论您是在办公室还是远程工作,您很可能可以采取一些措施来找到一个让您感觉“合适”的地方。我说“对”是因为这里每个人都会有所不同。有些人想要感到舒适和“宾至如归”。其他人想要一个不太舒适的区域,而是真正让他们“进入状态”并集中注意力的区域。

多年来,我尝试了很多不同的地点,只是为了看看什么对我有用。我坐在阳台上,享受早晨凉爽的空气,喝着一杯热咖啡。我确实坐在桌子底下,身上盖着毯子。我坐在壁橱、角落、咖啡店、餐馆、酒吧、汽车、公园、餐桌和楼梯井里。通过所有这些实验,我已经能够找到在我需要时为我提供所需的地方。如果我需要集中注意力,我就需要独处。某处有一扇可以关闭的门,但没有窗户让我无法注意到有人走过。当我过于舒适时,就像依偎在柔软的沙发上的毯子里时,我的工作效果就不太好。如果我需要改变节奏,或者只是需要和人们在一起,我发现我真的很喜欢坐在不太拥挤的小酒吧或餐馆里。我可以在某个地方点一杯饮料和一份开胃菜然后工作,但周围仍然有几个人。

所以我鼓励你尝试几个地方。找出什么对你有用,同样重要的是,找出什么对你不起作用。如果你找不到地方,你总是可以花一点力气去打造你想要的地方!

“正确”对你来说意味着什么?

投资硬件

作为软件开发人员,我们使用的硬件数量非常多。可以说,我们使用键盘和办公椅之类的东西比生活中任何其他物品都多。当然,我们可以使用任何旧键盘来完成工作,并且我们可以坐在任何椅子上。但我发现,对“更好”的硬件进行一点投资会对我的工作体验产生很大的影响。

椅子

如果您在工作时坐着,并且您只想投资一件东西,那么它绝对应该是您的椅子。一把既提供舒适又提供支撑的椅子确实可以大有帮助。从您可以坐多久并集中注意力而不会感到不舒服,到日常生活中背部、颈部和肩膀的感觉,您的椅子对您的整体健康和福祉有很大影响。因此,一定要找到一款好的产品,而不要仅仅满足于会导致不良姿势的产品。

我个人使用Secretlab Titan Evo(蝙蝠侠主题),几年来一直对它非常满意。与许多高端桌椅相比,价格还不错。

键盘

译者注: 很多程序员都喜欢机械键盘,好的键盘,敲打的声音让人觉得愉悦

仅次于椅子(但相差不多)的是键盘。轻松地成为我们每天工作中互动最多的工具。那里也有很多选择,因此无论您的个人喜好如何,很可能有一些东西可以满足您的需求。

每个人选择合适的键盘都有很大不同。有些人更喜欢低调的钥匙而不是机械钥匙。有些人需要集成 USB 端口。成本、人体工程学、有线或无线、可定制的按键和开关、背光、可配置的 LED、支持配置按键布局、高度和大小、按键数量,这样的例子不胜枚举。寻找适合您的键盘无疑是一段旅程,但我强烈建议您继续下去。当然,我们可以使用任何键盘来完成我们的工作......但我保证,如果您尝试一下,找到“正确的”键盘将使您作为开发人员的一天和体验更加愉快。

我使用Moonlander Mark 1,绝对💙它!分体式的设计确实帮助我不再那么无精打采,也帮助我消除了长期以来的肩膀和手腕疼痛。再加上那些樱桃棕色的开关听起来很漂亮😍!

鼠标

译者注: 换了 Macbook 怎能少了 TrackPad !

谈论键盘就不能不谈论它们的助手——鼠标。就像键盘一样,市面上有很多不同类型的键盘,每个人都会有自己的偏好。幸运的是,即使是半像样的鼠标也有相当低的价格,因此尝试一些鼠标来找到适合您的鼠标相对容易。但与此处的所有其他项目一样,投入一点时间和金钱即可对您的体验产生积极影响。

我的鼠标是 ZLOT 垂直游戏鼠标。它是一款较轻(重量)的鼠标,但具有良好的人体工学感觉和响应能力,我已经喜欢了很长一段时间了。

显示器

这绝对是一个可选项目,但我发现它让我的工作变得更加愉快。并非每个人都需要外接显示器。有些人实际上更喜欢直接使用笔记本电脑工作。但如果您确实喜欢使用外部显示器,这是一项可以产生巨大影响的投资。

遗憾的是,由于多台 4k 显示器在 Mac 上工作时出现问题,我放弃了多显示器设置,现在使用 Scepter 35" 曲面显示器。它有很多空间,所以我仍然可以在上面打开大量窗口一屏。

耳机

耳机也是可选的(有些人可能会反对这一点😝),但它们的好处怎么强调都不为过。从减少干扰到帮助您集中注意力,一副好的耳机可以大有帮助。就像我列出的大多数项目一样,每个人的偏好都会有所不同。但是,投入一点时间和金钱来寻找一双适合您的好鞋,确实可以将您的游戏提升到一个新的水平。我认识的许多人都寻求良好的降噪效果,而且它们必须轻便舒适,这样才能一次佩戴几个小时。

我个人喜欢使用 Beats。我曾经使用 Studio3,但当我不得不开始戴眼镜时,我不喜欢这些耳机给我的镜框带来的压力,所以我改用了 Beats Fit Pro,并且对它们非常满意。我已经连续佩戴了 8 个小时,效果非常好。它们轻便、舒适、音质好,并且在我慢跑和锻炼时表现良好且稳定。

您使用什么硬件?您梦想的硬件是什么?

找到你喜欢使用的工具

译者注: 每个工程师都有自己的软件偏好,从编辑器,到笔记本,完全看个人兴趣,也建议大家多尝试对比

除了硬件之外,作为开发人员,我们还使用很多软件工具来完成我们的工作。有些我们别无选择,但也有很多我们可以选择,找到您真正喜欢使用的工具确实可以让您的日常体验变得更好。即使只是拥有一个可以配置为您喜欢的外观的工具也可以产生积极的影响。

我在这里想强调的不是找到每个人都使用的工具,因为他们可以做各种各样的事情。更重要的是找到您真正喜欢并期待使用的工具来完成工作。即使它们不能完成其他工具可以完成的所有奇特的事情,如果您确实希望使用其他工具,那就使用它!拥有我们积极喜欢的工具确实会给我们的生活增添很多积极性。

多年来,类似的工具有很多,但这里有一些工具给我的日常生活带来了很多乐趣:

  • Giphy 桌面应用程序
    使用 gif 响应而不是无聊的文本让 Slack 消息变得生动起来。
  • Raycast
    它已取代我 Mac 上的 Spotlight。通过专业版,我可以访问 ChatGPT 4...因此,只需一个快速键盘快捷键,我就能轻松掌握 AI。对我来说游戏规则改变者!
  • Obsidian
    虽然这已经是一个流行的笔记应用程序,但我花了一些时间编写了一些脚本来为我自动化工作,它完全改变了我记下所有笔记并跟踪我需要做的所有事情的方式。
  • Arc browse
    Arc 花了整整 1 天的时间才成为我的主要浏览器。现在,当我测试浏览器对我正在构建的某些功能的支持时,我只使用其他浏览器(在我的桌面上)。
  • Habitical
    获得徽章、成就和一般游戏化让我非常有动力,所以这个待办事项应用程序让我管理和执行任务变得更加有趣!
    有哪些工具可以为您的日常开发生活带来乐趣?

设定目标

译者注: 自己今年来也在尝试用 Teambition 去做个人的目标管理
我知道这听起来很明显,而且我相信我们都从无数其他来源听到过这一点。但您可能会惊讶地发现有多少人没有为自己设定目标。不相信我?向你的任意 2 到 3 个邻居询问他们目前正在努力实现什么目标。当我问这个问题时,经常得到的只是耸耸肩,然后回答“没什么”。

仅仅设定目标也是不够的。你也必须定期考虑它们。有些方法建议将它们写下来并放在镜子上或您经常看到它们的地方。这个方法对我个人来说没有效果,但也许对你有用?对我来说有效的方法是每天早上开始工作前坐下来 15 分钟,并重点思考我的目标、我所有的待办事项以及日历上的所有事情(是的,我实际上在日历上留出 15 分钟的时间)这个,并强迫自己坚持这个时间)。在这段时间里,我思考我的目标,并找出我今天可以做的一件小事,让我离实现每个目标更近一步。

例如,如果我的目标是在家人过来过感恩节之前清理车库,我会想,“我今天可以做哪一件小事来实现这个目标?”。有时答案特别小……“扫到工作台下面”。其他时候我可能会更有动力,或者我有更多的可用时间,这可能是更大的事情。无论如何,请花一些时间考虑一下您今天可​​以采取的一项行动来实现该目标。

当我这样做时,我的大脑中会发生一些事情。我发现自己感觉更有成就感和更乐观。当然,完成目标可能是一条漫长的道路(如果它是一个大目标),但是知道我离我想要完成的事情更近了,这对我的日常生活产生了积极的影响,并让我能够完成的事情比我想象的要多。

无论大小,给自己设定目标。然后定期思考它们,并采取许多微小的行动,以向前进迈出一步。我保证这会给您的生活带来美好的事物!

您现在正在努力实现哪些目标?

保持好奇心并了解原因

很多人对编码项目中的完成方式感到沮丧或评判。我肯定去过那里!

“为什么有人选择这项技术?!对于这个用例来说,其他技术要好得多......”

“为什么有人会写这样的代码?!”

“如果我们不做 X 而只是做……事情会好得多”

这些听起来很熟悉吗?

尽管有时事情会令人沮丧,但在软件开发中,做出的每个决定背后几乎总是有一个原因。这是最好的选择吗?也许不是……但做出这样的选择还是有原因的。

我曾经对事情的现状感到沮丧,然后在尝试解决问题时感到沮丧,然后在遇到障碍时感到沮丧。但最终,事情突然发生了,我没有感到沮丧,而是开始寻找这些事情发生的原因。背后的原因是什么。当我养成“寻找原因”而不是“想知道为什么不”的习惯时,我的好奇心变得更强。我发现我正在寻找更多的信息,更彻底地学习和理解事物,更多地同情与我一起工作的人,最终,沮丧的感觉减少了很多。

现在,我的经历更加积极了。无论我是重构一段复杂的代码,试图找到解决恼人问题的方法,还是为新工作学习全新的代码库,我实际上更喜欢这个过程,因为我只是好奇并想知道为什么。

最近一次让您真正感到沮丧的编码事情是什么?你知道为什么会这样吗?

在日历上安排重点工作

一周中每天 2 小时的日历条目,上面写着“焦点时间”

这说起来容易做起来难,具体取决于您的工作地点,但它会对您的开发人员生活产生惊人的影响!

您是否曾经在这种情况下,只是编写代码来构建该新功能,然后“叮! ”有人向您发送一条紧急的 Slack 消息?或者有人拍拍你的肩膀问你问题?您解决了干扰问题,然后返回到屏幕,然后您就失去了所有注意力?如果没有……我愿意赌很多钱,你会在职业生涯的某个时刻这么做。

“在区域中”或进入“心流”的概念是一个已经被研究和写了很多的主题。我强烈建议您查看一些有关该主题的文章和书籍,因为这是一个非常有趣的主题(至少对我来说是😃)!其中许多研究都表明,处于心流状态是多么有益,而且在中断后可能需要 20 多分钟才能恢复到那种精神状态!因此,找到让自己进入这种心态并保持这种状态的方法非常重要!

我发现让自己进入这种状态的最好方法之一就是在日历上划出大量时间专门用于“专注工作”。一开始这可能是一个挑战,让人们在尝试联系之前检查您的日历或 Slack 状态,并帮助每个人了解您将在焦点时间结束后立即回复他们。但最终人们会明白过来,并且回报是巨大的!别忘了在这段时间关闭通知!

不过这里有一些提示......

接受这样的事实:有时会出现紧急事务,需要更高的优先级。这就是生活,我们只能随波逐流……但这不应该成为“常态”。
连续拍摄 2-3 小时。少于这个数量会让人觉得不够,但超过这个数量,人们就会被迫更频繁地打断你。请记住,其他人也有重要、紧急的事务,在当今的工作环境下,让他们等待半天以上才能获得地址确实不公平或不合理。
在你最有生产力的时间安排这些时间段。对我来说,早上 6 点到上午 10:30 左右我的工作效率最高。所以我通常会尝试将我的专注时间安排在这些时间里。
您发现一天中的什么时间段您的工作效率最高?

保持 PR 较小

我喜欢这个,并且在过去一年左右的时间里它已经成为我的首要任务。

事实证明,保持 Pull 请求(或 GitLab 人员的合并请求)较小有很多积极的好处。发布的错误更少,我们审查代码的时间更少,功能的推出速度更快,仅举几例。所有这些不仅使我们的产品变得更好,而且我发现它也极大地改善了我作为开发人员的体验!

通过关注较小的变化,我发现我可以更彻底地思考问题,考虑到在较大变化的混乱中可能被忽视的用例。我能够更快地将更改纳入审查,我的团队成员能够更快地审查我的代码,因为我只占用了他们 5 分钟而不是 2 小时的时间,并且在审查期间,我收到的代码要少得多变更请求。因此,更好的代码将会出现,我可以继续花更多的时间构建新的东西,而不是必须解决一堆被遗漏的错误。

另一方面,审查小型 PR|MR 比大型 PR|MR 更令人愉快。您是否曾经需要审查某人的 PR|MR,其中包含数千个更改、跨越 20 多个文件以及应用程序的多个区域?当你这样做时,你的第一反应是什么?您是否对参与并开始审核感到过于兴奋?或者,也许您感到“呃”,于是推迟了会议,因为距离下一次会议只有 30 分钟,而您可以在这段时间里完成其他事情?

当审查大型 PR|MR 时,通常会丢失很多细节(或者至少受到较少的关注),最终,大多数人会达到“审查盲目性”或“审查疲劳”的地步,事情开始被忽视,或者审稿人必须离开一段时间,稍后再回来。这一切都会导致审核过程花费更长的时间、效率更低,并导致提交更多的变更请求。更不用说所有团队成员都有的不满情绪了。

自从我开始将此作为自己的优先事项,并与团队成员一起努力让他们也这样做时,我注意到我在 PR|MR 方面的经验明显改善了。我更愿意在会议之间跳出一些评论,我不得不要求更少的改变,而且我不会在需要离开并重新振作起来之后感到精疲力竭。就连我的计划也变得更加准确了!

总而言之,我强烈向大家推荐这个。如果您想了解更多关于这样做的好处,我建议您查看LinearB 博客以及Dev Interrupted 播客。他们谈到了一些很棒的观点,我发现这些观点确实对工程领导者和团队有帮助!

你曾经审查过的最糟糕的 PR 是什么?

  1. 写下一切!

译者注: 我也非常喜欢记录,在自己博客里记录下,工作的感想,技术的难点,生活的感悟。琳之总总,让我有个地方和自己对话。

我的最后一个建议是我去年开始做的事情,在阅读了《如何做智能笔记》和《把事情做好》之后,它对我的生活产生了惊人的影响。

当我学到新东西时,我会把它写下来。即使只是一小段描述我学到的东西。当出现新任务时,无论大小,我都会把它写下来。在会议期间,如果分享想法、给出反馈、提出问题,所有这些都会被记录下来。如果我对某事有一个随意的想法,或者一个头脑发热的想法……你猜对了……它会被写下来。然后,每当我有几分钟空闲时间时,我都会先看笔记,而不是浏览社交媒体。我尽可能多地回顾它们,这强化了我脑海中的信息,但也帮助我将不同的想法联系在一起,这往往会产生一个全新的想法。

通过这样做,我发现我对事情的记忆更加彻底。如果我不能,我有记录并且可以将其调出!它使我能够完成更多的工作文档,而且我什至在任何给定时间都有 4 或 5 篇博客文章正在编写中!遗漏的事情少了很多,而且我能够完成更多的事情。

我最近开始了一份新工作,通过使用这种方法,人们已经来找我询问我是如何做到这么多的!秘密酱汁?全部写下来并将其添加到系统中。

这对我来说改变了游戏规则,我只需要鼓励其他人也这样做,因为我真的相信这可以使他们的生活受益匪浅!

你用什么方法来记住和分享你学到的东西?

结论

在过去 8 年多的软件开发人员和工程师工作中,我学到了很多东西。我经历过好时光和坏时光,并一路走来学到了一些非常有用的人生课程。通过找到我喜欢工作的地方,在我的硬件上投入更多的时间和金钱,找到我喜欢使用的工具,设定目标,保持好奇心并专注于原因,定义专注工作的时间,专注于保持 PR 较小,并写下来尽我所能,我可以诚实地说,我的开发者体验得到了极大的改善。

我非常希望这些技巧中至少一两个也能改善您的体验。

感谢您让我与您分享这些技巧。下次再见,黑客快乐!