让开发者生活更美好的 8 个秘诀
我从事软件开发和工程师工作已经八年多了,学到了很多东西,既有我自己的经验,也有从一些非常有才华的人那里学到的。在这篇文章中,我想分享一些真正让我的经历更加美好、更加愉快的经验。有些是技术方面的,有些只是一些普通的生活技巧。但所有这些都改善了我的生活和软件开发经验。希望通过分享这些经验和技巧,我能帮助你避免那些我为了弄清楚这些事情而不得不经历的不愉快的时光。
1. 找到一个你喜欢工作的地方
环境对你的生活影响巨大。它可以增加或减少压力,帮助你集中注意力或分散注意力,让你感到安全或不安全,等等。正因为它在我们每个人的生活中都扮演着如此重要的角色,所以我觉得从这里开始很合适。
无论你是在办公室还是远程办公,你总能找到一个让你感觉“舒适”的地方。我说“舒适”,是因为每个人在这里都会有所不同。有些人想要舒适,像在家一样。而另一些人则想要一个不那么舒适,而是真正能让他们“进入状态”并集中注意力的地方。
这些年来,我尝试过很多不同的地点,只为找到最适合自己的。我曾坐在阳台上,沐浴着清晨凉爽的空气,喝着热咖啡。我甚至还盖着毯子躲在桌子底下。我坐过壁橱、角落、咖啡店、餐厅、酒吧、车里、公园、餐桌和楼梯间。通过所有这些尝试,我终于找到了能在我需要的时候满足我需求的地方。如果我需要集中注意力,我需要独处。一个有可以关门的地方,没有窗户,让我无法注意到路过的人。如果太舒服,比如裹着毯子蜷缩在柔软的沙发上,我的工作效率就不太高。如果我需要换个节奏,或者只是想和人相处,我发现我很喜欢坐在不太拥挤的小酒吧或餐厅里。在那里,我可以点一杯饮料和一份开胃菜,一边工作,一边还能和几个人待在一起。
所以我鼓励你多去几个地方试试。找到适合你的,同样重要的是,找到不适合你的。如果你找不到合适的地方,你随时可以付出一些努力,打造一个你想要的地方!
对你来说“正确”意味着什么?
2. 投资硬件
作为软件开发者,有些硬件的使用频率高得惊人。有人可能会说,键盘和办公椅之类的东西在我们生活中的使用频率比任何其他东西都要高。当然,我们用任何旧键盘都能完成工作,坐在任何椅子上都能正常工作。但我发现,在“更好”的硬件上投入一点儿,会极大地提升我的工作体验。
椅子
如果您坐着工作,并且只想投资一件东西,那绝对应该是您的椅子。一把舒适且支撑性兼具的椅子真的能带来很大的帮助。从您能坐多久并集中注意力而不感到不适,到您的背部、颈部和肩部在日常生活中的感受,您的椅子对您的整体健康和福祉都有很大的影响。所以一定要找到一把好的椅子,不要仅仅满足于一把会助长不良坐姿的椅子。
我个人用的是Secretlab Titan Evo(蝙蝠侠主题),用了好几年了,一直很满意。而且跟市面上很多高端办公椅比起来,价格也不算太贵。
键盘
仅次于你的椅子(但差距不大)的是你的键盘。它无疑是我们每天工作时接触最多的工具。市面上也有海量选择,所以无论你的个人偏好如何,总有一款能满足你的需求。
选择合适的键盘因人而异。有些人喜欢低调的按键而不是机械键盘。有些人需要集成 USB 端口。价格、人体工程学、有线或无线、可自定义的按键和开关、背光、可配置的 LED、支持配置按键布局、高度和尺寸、按键数量等等,不胜枚举。找到合适的键盘肯定是一段漫长的旅程,但我强烈建议你继续前行。当然,任何键盘都能让我们的工作顺利完成……但我保证,如果你尝试一下,找到“合适的”键盘会让你的开发者生涯更加愉快。
我用的是Moonlander Mark 1,真的太💙了!分体式设计真的让我不再弯腰驼背,也缓解了我长期存在的肩膀和手腕疼痛。而且,Cherry Brown 的键轴敲起来声音真好听😍!
老鼠
说到键盘,我们当然不能不提它的“伙伴”——鼠标。和键盘一样,市面上也有很多不同类型的鼠标,每个人都有自己的喜好。好在即使是还算不错的鼠标价格也相当低廉,所以相对容易尝试,找到适合自己的那一款。不过,就像这里提到的其他产品一样,投入一点时间和金钱,就能对你的体验产生积极的影响。
我的鼠标是ZLOT 垂直游戏鼠标。它重量较轻,但具有良好的人体工程学手感和响应速度,我已经使用很长时间了。
监视器
这绝对是个可有可无的选项,但我发现它让我的工作更加愉快。并非每个人都需要外接显示器。有些人实际上更喜欢直接用笔记本电脑工作。但如果你喜欢使用外接显示器,那么这项投资可能会带来巨大的改变。
遗憾的是,由于 Mac 上多个 4k 显示器的工作问题,我放弃了多显示器设置,现在使用Sceptre 35 英寸曲面显示器。它有很大空间,所以我仍然可以在一个屏幕上打开很多窗口。
耳机
耳机也是可选的(有些人可能会反对😝),但它的好处怎么强调也不为过。从减少干扰到帮助你进入状态,一副好的耳机可以发挥很大的作用。就像我列出的大多数物品一样,每个人的喜好都会有所不同。但花一点时间和金钱找到一副适合你的耳机,真的会让你的水平更上一层楼。我认识的很多人都在寻找好的降噪耳机,而且它们必须轻便舒适,才能连续佩戴几个小时。
我个人很喜欢用 Beats。我以前用的是Studio3,但戴眼镜之后,我不喜欢这款耳机对镜框的压力,所以就换了Beats Fit Pro,而且一直很满意。我几乎连续戴了 8 个小时,效果非常好。它轻便舒适,音质出色,慢跑和运动时佩戴也很稳定。
你用的是什么硬件?你梦想中的硬件是什么?
3. 找到你喜欢使用的工具
除了硬件之外,作为开发者,我们还会使用许多软件工具来完成工作。有些工具我们不得不使用,但很多工具我们不得不使用。找到自己真正喜欢的工具确实可以提升我们的日常体验。即使只是拥有一个可以自定义外观的工具,也能带来积极的影响。
我想强调的是,找到那些人人都用的工具,并非因为它们功能齐全。更重要的是找到那些你真正喜欢、期待使用、能够完成工作的工具。即使它们无法做到其他工具所能做到的所有花哨功能,如果你真的期待使用某个工具,那就用它吧!拥有我们积极享受的工具确实能给我们的生活增添很多积极性。
这些年来,我已经使用过很多类似的工具,但以下这些工具给我的日常生活带来了很多快乐:
- Giphy 桌面应用
- 使用 gif 回复而不是无聊的旧文本来活跃 Slack 消息。
- 光线投射
- 它取代了我 Mac 上的 Spotlight。有了专业版,我可以使用 ChatGPT 4……只需一个快捷键,AI 就触手可及。这对我来说是一次颠覆性的体验!
- 黑曜石
- 虽然这已经是一个流行的笔记应用程序,但我花了一些时间编写了一些脚本来自动执行一些操作,它彻底改变了我记录所有笔记和跟踪所有需要做的事情的方式。
- Arc浏览器
- 我只花了一天时间就把 Arc 变成了我的主浏览器。现在,我只有在测试浏览器对我正在开发的某个功能的支持情况时,才会在桌面上使用其他浏览器。
- 习惯性的
- 我非常渴望获得徽章、成就和一般的游戏化,所以这个待办事项应用程序让我的管理和执行任务变得更加有趣!
在您的日常开发生活中,有哪些工具能给您带来快乐?
4.设定目标
我知道这听起来显而易见,而且我相信我们都从无数其他渠道听说过。但你可能会惊讶地发现,有这么多人没有为自己设定目标。不相信吗?问问你身边的两三个邻居,他们目前正在努力实现什么目标。当我问这个问题时,他们往往只是耸耸肩,然后回答“没什么目标”。
仅仅设定目标是不够的。你还得经常思考它们。有些方法建议把目标写下来,贴在镜子上或你经常能看到的地方。这种方法对我个人来说没用,但也许对你有用?对我来说,有效的方法是每天早上开始工作前坐下来15分钟,认真思考我的目标、所有待办事项以及日历上的所有事项(是的,我会在日历上专门留出15分钟来思考,并强迫自己坚持这个时间)。在这段时间里,我会思考我的目标,并找出今天可以做的一件小事,让你离实现每个目标更近一步。
例如,如果我的目标是在家人来过感恩节之前打扫车库,我会想:“今天我能做哪一件小事来实现这个目标?” 有时候答案可能非常小……“清扫工作台下面”。有时我可能更有动力,或者我有更多的时间,所以我可能会做一件更大的事情。无论如何,花点时间想想今天你可以做哪一件事来实现这个目标。
当我这样做的时候,我的大脑里会发生一些变化。我发现自己感觉更有成就感,也更乐观了。当然,实现目标的道路可能很漫长(如果它很大的话),但知道自己离想要实现的目标更近了一步,这对我的日常生活产生了积极的影响,让我取得了比我想象中更多的成就。
无论目标大小,都要设定目标。然后定期思考,并采取许多小行动,让你离目标更近一步。我保证这会给你的生活带来美好的事物!
您现在想要实现什么目标?
5.保持好奇心并了解原因
很多人在编程项目中会感到沮丧或评判别人的做事方式。我当然也经历过!
- “为什么有人会选择这项技术?!对于这种用例来说,这项技术要好得多……”
- “为什么有人会写这样的代码?!”
- “如果我们不做 X 而只做... 事情会好得多”
这些听起来熟悉吗?
尽管有时事情会令人沮丧,但在软件开发中,几乎每个决策背后都有一个原因。这是最好的选择吗?也许不是……但做出这个选择仍然是有原因的。
我过去常常对现状感到沮丧,然后在解决问题的过程中感到沮丧,遇到阻碍时更是倍感挫败。但最终我突然豁然开朗,不再沮丧,而是开始寻找这些事情发生的原因。这背后的原因究竟是什么?当我养成“寻找原因”而不是仅仅“思考为什么不”的习惯后,我的好奇心也变得更加强烈。我发现自己开始寻求更多信息,学习和理解事物更加透彻,对共事的人更加感同身受,最终,沮丧感也大大减少。
现在,我的体验积极多了。无论是重构一段复杂的代码,还是试图解决一个恼人的问题,或者为了新工作学习一套全新的代码库,我都更加享受这个过程,因为我本身就充满好奇心,想知道为什么。
你最近一次遇到的编程难题是什么?你找到原因了吗?
6. 为专注工作预留时间
这说起来容易做起来难,取决于你在哪里工作,但它可以对你的开发生活产生惊人的影响!
你是否有过这样的经历:正全神贯注地编写代码,构建一个新功能,突然“叮! ”一声,有人给你发了一条紧急的 Slack 消息?或者有人拍拍你的肩膀问你一个问题?你处理了干扰,转过头去看屏幕,然后就完全失去了注意力?如果没有……我敢打赌,在你的职业生涯中,你迟早会遇到这种情况。
关于“进入状态”或“心流”的概念,已经有很多研究和著作。我强烈建议你阅读一些相关的文章和书籍,因为这是一个非常有趣的话题(至少对我来说是这样😃)!许多研究都表明,进入心流状态非常有益,而且在被打断之后,可能需要20多分钟才能恢复到这种状态!所以,找到让自己进入并保持这种状态的方法至关重要!
我发现让自己进入这种状态的最佳方法之一,就是在日历上专门划出一大段时间用于“专注工作”。一开始可能会有点难,要让别人在联系你之前先查看你的日历或 Slack 状态,并让每个人都明白,你的专注时间结束后你会立即回复他们。但最终人们会接受你的建议,而且回报非常丰厚!别忘了在这段时间关闭通知!
不过这里有一些提示...
- 接受现实,总有紧急的事情需要优先处理。这就是生活,我们只能顺其自然……但这不应该成为“常态”。
- 争取2-3个小时的时间段。少于这个时间你会觉得不够,但超过这个时间,别人就会被迫更频繁地打扰你。记住,其他人也有重要、紧急的事情,让他们等上半天以上才能得到处理,在如今的工作环境下,确实不公平也不合理。
- 把这些时间段安排在你最高效的时间段。对我来说,我的效率最高的时间段是早上 6 点到 10:30 左右。所以我通常会试着把我的专注时间安排在这段时间。
您觉得一天中什么时候您的工作效率最高?
7. 保持 PR 简短
我很喜欢这个,在过去的一年左右的时间里,它已经成为我的首要任务。
事实证明,保持拉取请求(或者 GitLab 的合并请求)规模较小有很多好处。例如,更少的 bug 被发布,我们花在代码审查上的时间更少,功能推出得更快等等。所有这些不仅让我们的产品变得更好,而且我发现它也极大地提升了我作为开发者的体验!
通过专注于较小的变更,我发现自己能够更全面地思考问题,能够考虑到那些在大规模变更的混乱中可能被忽略的用例。我能够更快地将变更提交审核,我的团队成员能够更快地审核我的代码,因为我只占用了他们5分钟而不是2个小时的时间,而且在审核期间,我收到的变更请求也显著减少。因此,更好的代码得以发布,我可以继续投入更多时间构建新内容,而不必费力修复一堆被遗漏的bug。
另一方面,审查小型 PR|MR 比大型 PR|MR 有趣得多。你是否曾经需要审查某人的 PR|MR,它包含数千个更改,涉及 20 多个文件,并且涉及应用程序的多个领域?当你这样做时,你的第一反应是什么?你是否兴奋得迫不及待地想开始审查?或者,你是否感到“呃”,然后就推迟了,因为距离下次会议只有 30 分钟了,而这段时间你可以做其他事情?
在审核大型 PR|MR 时,很多细节往往会被忽略(或至少得不到足够的重视),最终大多数人会陷入“审核盲区”或“审核疲劳”,开始忽略一些细节,或者审核人员不得不暂时离开一段时间,过段时间再回来处理。这会导致审核流程耗时更长、效率更低,并导致提交更多变更请求。更不用说团队成员之间会产生的不满情绪了。
自从我开始把这作为自己的优先事项,并与团队成员合作,尝试让他们也这样做以来,我注意到我使用 PR|MR 的体验明显改善了。我更愿意在会议间隙参与进来,完成一些评审,我要求的修改也更少了,而且我也不会在会议结束后感到精疲力竭,需要停下来重新调整一下状态。就连我的计划也变得更加精准了!
总而言之,我强烈推荐大家使用它。如果你想了解更多关于它的好处,我推荐你去看看LinearB 的博客和Dev Interrupted 播客。他们提出了一些非常棒的观点,我发现这些观点对工程领导者和团队真的很有帮助!
您曾经审查过的最糟糕的 PR 是什么?
8. 把一切都写下来!
我的最后一条建议也是我在去年阅读了《如何做聪明的笔记和完成任务》之后开始做的事情,它对我的生活产生了惊人的影响。
当我学到新东西时,我会把它写下来。即使只是一小段描述我学到的东西。每当有新任务出现,无论大小,我都会把它写下来。在会议期间,如果有人分享想法、提供反馈、提出问题,我都会把它们都写下来。如果我突然想到了什么,或者有什么突发奇想……你猜对了……我都会把它写下来。然后,每当我有空闲时间时,我首先会翻阅我的笔记,而不是浏览社交媒体。我会尽可能多地复习笔记,这不仅能强化我脑海中的信息,还能帮助我将不同的想法联系起来,这往往能带来一个全新的想法。
通过这样做,我发现我记性好多了。就算记不住,我也有记录,随时可以拿出来用!这让我完成了更多工作文档,现在我甚至随时都有四五篇博客文章在写!漏掉的事情少了很多,我也能完成更多的事情。
我最近换了一份新工作,用了这个方法,已经有人来问我怎么这么多事了!秘诀是什么?把所有事情都写下来,然后添加到系统中。
这对我来说是一个改变,我必须鼓励其他人也这样做,因为我真的相信这会给他们的生活带来很大的好处!
您使用什么方法来记住和分享您学到的东西?
结论
在过去八年多的软件开发和工程师生涯中,我学到了很多。我经历过顺境和逆境,也从中汲取了一些真正有用的人生经验。通过找到自己喜欢的工作环境、在硬件上投入更多时间和金钱、寻找自己喜欢的工具、设定目标、保持好奇心并专注于思考原因、规划专注工作的时间、专注于保持 PR 的精简,以及尽可能地记录所有事情,我可以坦诚地说,我的开发体验得到了极大的提升。
我非常希望这些技巧中至少有 1 或 2 个能够改善您的体验。
感谢你让我分享这些技巧。下次再见,祝你黑客愉快!
文章来源:https://dev.to/wraith/my-8-tips-for-a-better-life-as-a-developer-1hfg