充满激情的开发者的优先级






2.89/5 (7投票s)
这是一篇关于充满激情的开发者的优先事项的文章。
认识我的人都知道,我对自己从事的职业充满热情,而如果你正在阅读这篇文章,你可能也有着同样的激情。
我创办这个博客的一个重要原因,就是想分享我遇到的陷阱,为大家设下警示标志,以免后来者重蹈覆辙。这也解释了我为什么花费无数个小时/天/周的时间在论坛和 Stack Overflow 等网站上回答问题,为开源项目做贡献,以及努力指导其他开发者。我一直希望将我对软件开发的爱传递给他人,并通过一种“蝴蝶效应”的方式,让整个行业变得更好。
这一切的关键在于激情,但激情往往伴随着代价。
Family
如果你有家庭,那么家庭毫无疑问应该是你的首要任务。任何代码或工作都不应妨碍你与家人共处的时间,如果你开始感到与家人疏远,或者无法停止工作模式,那么你可能需要考虑做出一些改变,以获得更好的平衡。尽管我过去曾提及,但我仍然无法强调以下广告有多糟糕
不要成为那样的人。
生活不像代码,你可以稍后回来重构它——如果你做得不好,你不会有另一个机会看到你的孩子长大。我敢打赌,你回首往事时,不会希望自己花时间工作而不是给孩子读睡前故事。生活短暂,尤其是带着孩子,时间过得飞快,所以要好好利用它,确保与那些在你完成项目后依然陪伴在你身边的人共度时光。
Sleep
我们都看过描绘黑客和其他软件从业者的电影。昏暗的房间,桌上散落着空空的 Mountain Dew 罐子,以及一个人在深夜戏剧性地敲击键盘的剪影。在我们的行业里,我们很容易变成这样。我深有体会;我经常这样。
睡眠很重要,非常重要。如果你不这么认为,想想看,我们一生中有很大一部分时间都在睡眠中度过,这背后肯定有原因。就我个人而言,我花了很多年才意识到睡眠的重要性。我大学期间经常每晚只睡 2-5 小时,并认为情况会一直如此。我才 32 岁,但我可以自信地说:“我老了,不能再这样折腾了。” 如果我尝试这样少睡一周,我想我看起来和感觉都会是这样的
就像你的机器需要偶尔重启一样,你的大脑也需要。
编写软件很难,而在无法清晰思考的情况下编写软件是不可能的。软件工程通常包括解决问题的方法,而这通常需要大量的脑力。你需要一些睡眠让大脑平静下来,理清思绪,这样你才能第二天振作起来,解决那些问题。此外,正如任何有经验的软件开发者所知,你的大脑无疑会在你的职业生涯中帮助你在睡梦中解决一些棘手的问题。
我:我到底要怎么解决这个问题?我尝试了 X 和 Y,和 Jim 和 Bob 谈过了,给 Jon Skeet 发了邮件,但似乎都行不通。
睡着了
大脑:嘿!我们来看点代码吧!
我:真的吗大脑?现在?我一整天都在想这个问题,我们还要在梦里也想这个问题?
大脑:我只是在开玩笑,但说真的,试试用 KNN 算法,我确信它会起作用。
这种顿悟很少来自于小睡或一两个小时的睡眠,所以保证充足的睡眠是值得的。正如我之前提到的,编写软件很困难,每天过度消耗大脑而不给它放松的机会,对你的身心都不好。
你不会每天都跑马拉松,所以也不要这样对待你的大脑。投资一个好的床垫、枕头以及其他一切必需品,你的身体、大脑、同事和代码库都会感谢你。
技艺
所以我们已经确定,照顾好自己和身体很重要。拥有朋友、爱好,甚至偶尔休息一下,远离写代码,这是至关重要的。但如果你在这里,阅读这篇文章,那么你可能至少有点在意编写软件,并希望比一般人做得更好。
寻找时间可能很困难,但有很多方法可以让你成为一个更好的软件开发者,无论是主动还是被动。快速列举几个可能的选项,可能如下所示:
- 开源——我知道你可能会说:“Rion,我没时间参与开源项目。” 没关系。开源生态系统非常广泛,你不必贡献就能从中找到价值。GitHub 等网站上有无数的优秀项目,你可以公开浏览和查看代码。我知道这可能看起来没什么价值,但阅读代码可以帮助你提高编写代码的能力。
- 播客——如果你有通勤的时间,这是必不可少的。有很多非常棒的、面向开发者的播客,比如 Coding Blocks,几乎涵盖了开发世界的每一个细分领域,还有一些很棒的、侧重于整个开发领域的通用播客。
- 在线视频内容——在线上有很多很棒的视频内容,有付费和免费的。Pluralsight 等网站可以让你有机会向世界级专家学习几乎任何主流技术的细节。YouTube 也是寻找你想学习的内容的绝佳场所。
这些只是提升你的技艺的几种方法,无论是主动还是被动,每一项小的努力都可以带来改变。如果你能在日常生活中挤出一些零碎的时间(例如,割草时、通勤时坐在车里等),这些都是成为更好开发者的绝佳时机。
等等
优先事项因人而异,并且极易发生变化。对我来说现在很重要的事情,对你现在(甚至可能永远)不重要。如果你问我一年前、五年前、十年前,这三个问题的答案都会截然不同——这完全没问题!
试着定义与工作和技艺相关的优先事项,但不要让它们妨碍你最重要的工作——过好生活,保持快乐。总有更多的代码要写,更多的 bug 要修复,以及另一个功能要实现。