首页 > 程序人生 > 我是一名朝九晚五的程序员(你也可以!)
2018
03-12

我是一名朝九晚五的程序员(你也可以!)

  我一直在思考Safia Abdalla发的一个蛮特别的推特:

一个也许不怎么主流的见解(有点讽刺产自于我):
你没有必要写博客文章,贡献开源,参与技术会话,或做其他任何有利于成为大咖工程师的事情。
代码留在办公室里,那便是极好的。
——Safia Abdalla(@captainsafia)2018年1月13日

  尽管我也承认这个有点反讽意味,但是我的心灵情不自禁地发生了共鸣。自从我因为拒绝负担更多的工作而被解雇以来,我会告诉潜在雇主的其中一件事就是,我不加班。至少不能经常性加班。偶尔遭遇“地狱周”是没问题的,因为我也知道部署特定的更新或修复bug是绝对至关重要的,但危机解除之后,我会抽身离去,到点就回家。

  Abdalla女士发表在推特的观点更进了一步,正因为如此,我突然发现我的思维可以迎向新的曙光。看来,我之所以选择这种生活方式(抽身离去,到点就回家)很大一部分还是理智“作祟”。如果没有明确的界限规定我何时考虑工作中的问题,那么我会一直思考,然后所有我未曾完工的任务以及我没有解决的问题会逐渐变成大山,让我不堪重负。我不是那种心无旁骛的开发者,建立这些分界的行为可以帮助我控制发散思维的冲动。

  问题是,我们从来解决不完问题。对于我这样一个解决问题困难户来说,编程充满了如此多尚未解决的问题,以致于我就算找到令人满意的娱乐和解决方案,仍然不觉得能够真正做到什么。我解决了一个问题!真酷!但那又如何?过程依然令人发狂,令人沮丧,令人泄气。依然可能会导致职业倦怠。

  归咎于我容易天马行空不受控制的大脑,我不得不设置分界。我不得不到点就离开工作。我不得不成为一个朝九晚五的开发者。

  我知道有很多开发人员得了“骗子综合症”。可能在某种程度上你也是其中一员;你感觉自己名不副实——不知道自己在做什么,只想着得过且过。而我的问题是,如果我不设置分界,如果我允许自己继续工作、探索和解决问题,那么我身上的骗子综合症会愈发严重。我想知道一切,但我做不到,因为我做不到,然后我开始看轻自己。

  所以,我必须设定分界。像“工作归工作”以及“每隔一段时间休息一下”都是我的分界。这样做有助于管住我的理智,使我能够专心致志。这在很长一段时间里都让我觉得自己作为一名开发者不是那么合格。16个小时的编码会话于我而言是空中楼阁,因为我坚持不到最后,我在家庭中还有孩子和妻子需要我的关心和爱。面对现实吧,代码不是人,就算你像爱人和孩子一样爱它,它也永远不会回应你的爱意。尽管如此,我仍然希冀能做得更好,做一个更优秀的程序员,像我仰望的那些大咖一样,但却因为做不到这些然后我开始厌弃自己。

  Twitter和其他社交媒体在涉及这个问题时都表现得顶顶糟糕。那些非常出色的程序员,那些让我钦佩于他们工作的人,会自豪地宣称他们就是整天都在写代码,然后他们感觉很有成就感。于是我也只能坐回到椅子上,抱头绝望于自己为什么做不到。为什么我不能像他们那样玩命地努力?为什么我不能像他们一样多产?否则我就可以和他们一样优秀了!

  我花了很长时间才认识到,我的大脑根本不能负荷这样的工作方式。我无法全程参与16个小时的编码会议。我无法通宵达旦地熬夜直到任务完成。我永远不能像Twitter上的那些人说的那样“多产”。我做不到。但是,正如我在历经将近11年作为一名职业软件开发者之后才意识到的那样,这也没关系!

  这没关系,因为在每天8个小时的时间里,我仍然可以表现出色。我仍然可以完成我的工作,并且完成得很好。我仍然可以高效率地领导我的团队。我仍然可以想出有趣的解决方案。我只需要在我设定的分界内完成这些工作。我意识到我并不比那些Twitter上的劳模差劲;我只是与众不同。

  我敢打赌,大多数“沉默”的程序员只想着做好自己的工作就回家。这些人不会因为试图解决已经困扰了他们几周的问题而在晚上熬夜。这些人不写博客,不致力于开源项目,也不进行技术会话,甚至对工作能力以外的程序不怎么感兴趣。有时候这些人会被蔑称为是“朝九晚五的开发者”。在这里我要说的是,即使我们朝九晚五,也不意味着我们差劲。

  如果你是一名朝九晚五的开发人员,那么说明你更擅于时间管理,而并非意味着你低其他程序员一等。

  我在这里并没有辨明哪种工作方式更好。我只是说明了什么对我有用,并且因此我成为了一名朝九晚五的开发者。我想的就是做完做好我的工作,然后回家做其他事情(比如写博客)。我需要这样做来管住自己的理智。即便你不需要如我这般才能在工作时专心致志,但是你也可以做到朝九晚五!你不必花费很长时间去编程才算是一个优秀的开发者。你只需要深入思考问题,并想做好本职工作。

  编码快乐!

  英文原文:I Am a 9 to 5 Developer (And So Can You!)

编程技巧