Skip to content

[译] 让开发人员生活更美好的 8 条建议

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

我做软件开发人员和工程师已经有 8 年多一点的时间了,从自己的经验和一些非常有才华的人身上学到了很多东西。在这篇文章中,我想与大家分享一些真正让我的工作经历变得更好、更愉快的事情。有些是技术性的,有些只是一般的生活小贴士。但所有这些都改善了我的生活,丰富了我的软件开发经验,希望通过分享这些经验和技巧,我可以帮助你避免一些我在摸索过程中不得不经历的不那么愉快的时光。

1. 找到一个你喜欢的工作环境

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

无论你是在办公室工作还是远程办公,你都有可能找到一个让你感觉“合适”的地方。我说“合适”是因为每个人的情况都不一样。有些人希望感到舒适和“宾至如归”。另一些人则想要一个不那么舒适的地方,而是真正能让他们“进入状态”并集中精力的地方。

多年来,我尝试过很多不同的地点,只为看看什么适合我。我曾坐在阳台上,呼吸着清晨凉爽的空气,喝着热咖啡。我曾坐在办公桌下,身上盖着毯子。我坐在壁橱里、角落里、咖啡馆里、餐馆里、酒吧里、汽车里、公园里、餐桌上和楼梯井里。通过这些尝试,我终于找到了能在我需要的时候满足我需要的地方。如果我需要集中精力,我需要独处。一个门可以关上的地方,没有窗户,不会让我注意到有人经过。在过于舒适的环境下,比如在柔软的沙发上裹着毯子,我的工作效率就不会太高。如果我需要改变一下节奏,或者只是需要和周围的人在一起,我发现我非常喜欢在人不太多的小酒吧或餐厅坐下来。在那里,我可以点一杯饮料和一份开胃菜,然后工作,但周围还是有几个人。

因此,我鼓励你们多去几个地方试试。找出适合你的地方,同样重要的是,找出不适合你的地方。如果你找不到合适的地方,也可以花点心思打造你想要的地方!

对你来说,“合适”意味着什么?

2. 投资你的硬件设备

作为软件开发人员,有几件硬件是我们经常使用的。可以说,我们在生活中使用键盘和办公椅等物品的频率超过了其他任何物品。当然,我们可以用任何旧键盘完成工作,也可以坐在任何椅子上。但我发现,在“更好”的硬件上稍作投资,就会对我的工作体验产生很大影响。

椅子

如果你工作时坐着,而你只打算投资一样东西,那肯定是你的椅子。一把既能提供舒适度又能提供支撑的椅子确实能让你事半功倍。从你能坐多长时间并集中注意力而不会感到不舒服,到你的背部、颈部和肩膀在日常生活中的感觉,你的椅子对你的整体健康和福祉都有很大的影响。因此,一定要找一把好椅子,而不要仅仅满足于会助长不良姿势的椅子。

我个人使用的是 Secretlab Titan Evo(蝙蝠侠主题),几年来一直非常满意。与许多高端办公椅相比,它的价格也不算太贵。

键盘

键盘是仅次于椅子的工具(但并不多)。键盘是我们每天工作时接触最多的工具。现在也有很多选择,因此无论你的个人偏好如何,都很可能有一款能满足你的愿望和需求。

挑选合适的键盘对每个人来说都是非常不同的。有些人喜欢低矮的键盘,而不是机械键盘。有些人需要集成 USB 端口。成本、人体工学、有线或无线、可定制按键和开关、背面照明、可配置 LED、支持配置按键布局、高度和尺寸、按键数量,等等,不一而足。寻找一款适合你的键盘无疑是一次旅程,但我强烈建议你继续前行。当然,我们可以使用任何键盘完成我们的工作......但我保证,如果你尝试一下,找到“合适”的键盘会让你的工作和开发体验更加愉快。

我使用的是 Moonlander Mark 1,它绝对是我的最爱💙!分体式设计确实让我不再那么懒散,也帮助我消除了很长时间以来的肩部和手腕疼痛。另外,樱桃棕色的开关看起来非常漂亮😍!

鼠标

说到键盘,就不能不说到它的搭档——鼠标。和键盘一样,鼠标也有很多种类,每个人都有自己的偏好。幸运的是,即使是半成品鼠标的价格也不高,因此可以比较容易地试用几款鼠标,找到适合自己的产品。不过,就像这里的所有其他物品一样,投入一点时间和金钱也会对你的使用体验产生积极的影响。

我的鼠标是 ZLOT 垂直游戏鼠标。它是一款较轻(重量)的鼠标,但具有符合人体工程学的良好手感和响应速度,我很喜欢它。

显示器

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

遗憾的是,由于在 Mac 上使用多台 4k 显示器存在问题,我放弃了多显示器设置,现在我使用 Sceptre 35 英寸曲面显示器。它有很大的空间,所以我仍然可以在一个屏幕上打开很多窗口。

耳机

耳机也是可选项(有些人可能会反对😝),但它的好处怎么强调都不过分。从减少分心到帮助你进入状态,一副好的耳机可以让你事半功倍。就像我列出的大多数物品一样,每个人的喜好都不尽相同。但是,投入一点时间和金钱去寻找一副适合自己的好耳机,确实会让你的比赛更上一层楼。我认识的很多人都在寻找降噪效果好、轻便舒适的耳机,这样他们就可以连续佩戴几个小时。

我个人喜欢使用 Beats。我以前用的是 Studio3,但当我不得不开始戴眼镜时,我不喜欢这些耳机对我的眼镜框造成的压力,所以我改用了 Beats Fit Pro,并对它们非常满意。我连续戴了 8 个小时,感觉非常好。它们轻巧、舒适、音质好,而且在我慢跑和锻炼时非常稳定。

你使用什么硬件?你梦想中的硬件是什么?

3. 找到你喜欢使用的工具

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

在这里,我想强调的不是找到人人都会使用的工具,因为它们可以做各种各样的事情。更重要的是找到你真正喜欢期待使用的工具,这样才能完成工作。即使它们不能做其他工具能做的所有花哨的事情,但如果你真的期待使用另一种工具,那就使用它!拥有自己喜欢的工具,会给我们的生活增添很多积极的色彩。

多年来,我使用过很多这样的工具,但其中有几种给我的日常生活带来了很多乐趣:

  • Giphy Desktop app
    • 用 gif 回复 Slack 消息,而不是枯燥乏味的文字,让消息更生动。
  • Raycast
    • 它取代了我 Mac 上的 Spotlight。使用专业版,我可以访问 ChatGPT 4......因此只需一个快捷键,人工智能就在我的指尖。它改变了我的生活!
  • Obsidian
    • 虽然这已经是一款很受欢迎的笔记应用,但我还是花了一些时间编写了一些脚本来自动处理一些事情,它彻底改变了我记笔记和跟踪所有需要做的事情的方式。
  • Arc browser
    • 只用了一天时间,Arc 就成了我的主要浏览器。现在,我只有在为我正在开发的功能测试浏览器支持时,才会使用其他浏览器(在我的桌面上)。
  • Habitical
    • 获得徽章、成就和一般游戏化活动对我有很大的激励作用,因此这款待办事项应用程序让我在管理和执行任务时更加有趣!

在你的日常开发生活中,有哪些工具能给你带来快乐?

4. 设定目标

我知道这听起来很明显,而且我相信我们都从无数其他渠道听说过这句话。但你可能会惊讶,有多少人没有为自己设定目标。不信,你可以随便找两三个你的邻居,问问他们目前正在为什么目标而努力。当我这样问时,得到的回答往往是耸耸肩,“没什么”。

仅仅制定目标也是不够的。你还必须经常思考这些目标。有些方法说要把目标写下来,贴在镜子上或你经常看到的地方。这种方法对我个人来说并不奏效,但也许对你有用?对我有效的方法是,每天早上开始工作前,坐下来思考 15 分钟,想一想我的目标、我的所有待办事项以及日历上的所有事情(是的,我真的在日历上为此划出了 15 分钟,并强迫自己坚持这段时间)。在这段时间里,我会思考我的目标,并想出我今天能做的一件小事,以便向实现每个目标迈进哪怕一英寸。

例如,如果我有一个在家人来过感恩节之前打扫车库的目标,我就会想:“为了完成这个目标,我今天能做的一件小事是什么?”有时答案非常小...... “清扫工作台下面。”。其他时候,我可能更有动力,或者我有更多的时间,这可能是更大的事情。无论如何,花点时间想想你今天可以采取哪些行动来完成这个目标。

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

因此,无论大小,都要为自己设定目标。然后定期思考这些目标,并采取许多微小的行动,只为更近一步。我保证这会给你的生活带来美好的事物!

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

5. 保持好奇心并了解原因

很多人对编码项目中的工作方式感到沮丧或妄加评论。我也有过这样的经历!

  • “为什么会有人选择这种技术?另一种技术对这种用例来说要好得多......”
  • “为什么会有人这样写代码?!”
  • “如果我们不做 X,只做......,情况会好得多”

这些听起来耳熟吗?

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

我曾经为事情的现状感到沮丧,然后又会为试图解决问题而感到沮丧,当我遇到障碍时又会感到沮丧。但最终,我不再沮丧,而是开始寻找事情发生的原因。背后的原因是什么。当我养成了“寻找原因”的习惯,而不仅仅是“想知道为什么没有”时,我的好奇心变得越来越强。我发现自己寻找的信息越来越多,学习和理解的东西越来越透彻,与同事的共鸣也越来越多,最后,沮丧的情绪也越来越少了。

现在,我的经历变得更加积极。无论我是在重构一段复杂的代码,试图找到一个恼人问题的解决方案,还是在为新工作学习一个全新的代码库,我都会因为好奇和想知道为什么而更加享受这个过程。

上一次让你感到沮丧的编码工作是什么?你知道为什么会这样吗?

6. 在日历上划出专注工作的时间

这一点说起来容易做起来难,这取决于你的工作地点,但它可以对你的开发人员生活产生巨大的影响!

你是否有过这样的经历:你正在紧张地编写代码以构建新功能,然后“叮!”有人给你发送了一条紧急 Slack 消息?或者有人拍拍你的肩膀问你问题?你处理了中断,转回屏幕,然后就失去了所有的注意力?如果没有......我敢打赌,在你职业生涯的某个阶段,你会经历的。

这种“进入状态 ”或进入“流程”的概念是一个已经被研究过并写过很多文章的主题。我强烈建议你去看看关于这个主题的一些文章和书籍,因为这是一个非常有趣的话题(至少对我来说是😃)!许多研究表明,处于“流”的状态是多么有益,而且在中断之后,需要 20 分钟以上的时间才能恢复到这种状态!因此,找到让自己进入并保持这种状态的方法非常重要!

我发现让自己进入这种状态的最佳方法之一,就是在日历中划出大块时间,专门用于“专注工作”。一开始,让人们在尝试联系你之前先查看你的日历或 Slack 状态,并让每个人都明白你会在“专注时间”结束后立即回复他们,这可能是个挑战。但最终大家都会接受的,而且收获也是巨大的!在这段时间里,也别忘了关闭通知功能!

这里还有几个小贴士:

  • 接受现实,有时会有紧急事务需要优先处理。这就是生活,我们只能顺其自然......但这不应成为“常态”。

  • 以 2-3 个小时为目标。少了会觉得不够,多了别人就会经常打断你。请记住,其他人也有重要、紧急的事情要处理,让他们等上半天才能解决,在当今的工作环境中实在不公平、不合理。

  • 在你效率最高的时候安排这些时间段。对我来说,早上 6 点到 10 点半左右是我工作效率最高的时候。因此,我通常会尽量把“专注时间”安排在这段时间。

你觉得一天中哪个时间段你的工作效率最高?

7. 保持代码合并请求小规模

我很喜欢这一条,在过去的一年多时间里,它已成为我的一个重要优先事项。

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

通过专注于较小的改动,我发现自己对事情的思考更加透彻,考虑到了在较大改动的混乱中可能被忽略的用例。我能够更快地将变更提交审核,我的团队成员也能更快地审核我的代码,因为我只占用了他们 5 分钟的时间,而不是 2 个小时。因此,更好的代码将被发布,我可以继续花更多的时间来构建新的东西,而不是去解决一堆被遗漏的bug。

另一方面,审核小代码规模的 PR 或 MR 比审核大的 PR 或 MR 要令人愉快得多。你是否曾经审核过某人的 PR 或 MR,其中包含几千个更改,跨越 20 多个文件和应用程序的多个范围?审核时,你的第一反应是什么?你是否过于兴奋地跳进去开始审核?或者,你觉得“唉”了一声,就把它推掉了,因为离下一个会议只有 30 分钟了,而在这段时间里你可以做别的事情?

在审核大代码规模的 PR 或者 MR 时,很多细节往往会丢失(或至少没有那么受关注),最终,大多数人都会陷入“审核盲区”或“审核疲劳”,一些事情开始被忽略,或者审核者不得不离开一段时间,稍后再回来审核。这都会导致审核过程耗时更长、效率更低,并导致提交更多的变更请求。更不用说所有团队成员的不满情绪了。

自从我开始将这一点作为自己的首要任务,并与团队成员一起努力让他们也这样做之后,我注意到我在 PR 或 MR 方面的体验有了明显的改善。我更愿意在会议间隙插手并完成一些审核工作,我要求修改的次数也越来越少,我也不会在会议结束后感到筋疲力尽,需要离开会议后重新振作起来。就连我的计划也变得更准确了!

总而言之,我强烈推荐大家使用这种方法。如果你想进一步了解这样做的好处,我建议你去 LinearB 博客Dev Interrupted 播客 看看。他们谈到了一些很棒的观点,我发现这些观点对工程领导者和团队很有帮助!

你审核过的最糟糕的PR是什么?

8. 把一切都记下来

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

当我学到新东西时,我会把它写下来。哪怕只是用一小段文字描述我学到的东西。当有新任务出现时,无论大小,我都会写下来。在会议上,如果分享了想法,给出了反馈,提出了问题,都会写下来。如果我突然想到了什么,或者有了一个发散性的想法......你猜对了......都会写下来。然后,每当我有几分钟的空闲时间,我都会先翻看我的笔记,而不是在社交媒体上滚来滚去。我会尽可能多地回顾笔记,这样不仅能强化脑海中的信息,还能帮助我将不同的想法联系起来,从而产生全新的想法。

通过这样做,我发现自己对事情的记忆更加透彻了。如果记不住,我也有记录,可以调出来!这让我能够完成更多的工作文件,我甚至随时都有四五篇博客文章在写!这样,我就能完成更多的工作。

我最近开始了一份新工作,使用这种方法后,已经有人来问我是怎么做到这么多的!秘诀是什么?写下来,然后加入到你的系统中。

这改变了我的生活,我只想鼓励其他人也这样做,因为我真的相信这会让他们的生活受益匪浅!

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

总结

在过去 8 年多的软件开发人员和工程师生涯中,我学到了很多东西。我经历过顺境,也经历过逆境,一路走来,我学到了一些非常有用的人生经验。通过寻找我喜欢的工作场所、在硬件上投入更多的时间和金钱、寻找我喜欢使用的工具、设定目标、保持好奇心并专注于为什么、确定专注工作的时间、专注于保持代码合并请求在小规模内,以及记下我所能记下的一切,我可以坦率地说,我的开发体验得到了极大的改善。

我非常希望这些技巧中至少有 1 或 2 条能改善你的体验。

谢谢你让我与你分享这些小贴士。下次再会,Happy Hacking!