怎样成为一名心智健全的程序员

本文是翻译,版权归原作者所有


《商业内幕》【注1】今天发布了一篇名为《成为一名计算机程序员的压力确实让大部分人发疯了》的文章。它阐述了经典问题:骗子综合征【注2】,工作时间长,精力耗尽等等,还指出当工作压力通常处于糟糕管理之下时,它越来越多地来自于程序员社区本身,因为它作为决定某个程序员奉献精神等级的、某种文化意义上的、强加的试金石。换句话说:如果你在闲暇时间没有埋在代码里,那么你就不是。这个压力与新技术、类库、语言、平台、框架、SDK和文本编辑器的发布速度交织在一起,就像用飞机燃油去灭火。

但是有个困难。编程,和写作、画画和音乐一样,首先是一种创新而非技术努力。作为一种学习工具和技巧的手段,使用任何技术或语言是有用的,但是它不能使你在本质上成为一名优秀的程序员。它只会使你在工具上更有效率。让你成为一名优秀程序员的条件是学习如何思考问题,因为最终你要把你自己的思考过程转换成一系列的指令,计算机会执行这些指令来解决问题。学会正确地思考——关于抽象、关于组合、关于信心、关于思考本身——来源于除编程之外的很多地方。Paul Graham在他著名的文章《黑客与画家》里提到了:

我已经发现想法的最好来源不是名字里带有“计算机”的其他领域,而是居住着制作人(maker)的领域。画画是一个比计算理论要丰富得多的想法源泉。

扩大范围到其他领域,拥有编程之外爱好,能够给你的日常工作带来巨大好处。你不需要花费大量时间写代码。花时间写作、或阅读、或喝着咖啡(或你喜欢的苏格兰威士忌)与某人聊天。花时间跑步、lifting,或两者都有。物理运动把氧气输送到大脑,有利于给你的器官提供营养。我3年前开始跑步。实际上当我用数公里长跑来减慢节奏、放下家庭喧嚣时,新鲜空气和阳光让我拥有一个强健的体格,也让我有时间在脑中反复打磨想法。

根据自身理由来投资你自己的想法会使你成为一个更好的程序员。你总是可以学习新语法、工具、或任何东东,但如果你做的所有事情都是编程,事实上你会使你自己厌烦工作。有时候在紧急情况下,你不得不投入数小时,但这应该是例外而不是规则。如果你总是处于紧急情况,你就需要找到另一种情况。有时候为了使你的个人激情变成现实,你需要埋头数周甚至数月。然后休息一下。始终不变的努力只会导致越来越小的回报,这恰恰是使你变成优秀程序员的对立面。去年11月我参加了NaNoWriMo(全国小说写作月),一种非正式的竞赛,参加者要求在30天内些一篇50,000字的小说。我早点起床,写作几个小时,工作8个多小时,然后我的晚上时间也被写作占去了。每天如此。整整30天。月底因为过度劳累我病了,但对于我来说去完成我的人生清单中的一项是必要的:写一部小说。我还没有用数月时间写一部东西。为了恢复状态,我需要休息,改变节奏。开发软件没有什么不同。

《商业内幕》也总结了有意思的观点“女性程序员经常坦白受到了骗子综合征的困扰……但是很多男性程序员越来越多地说他们也感觉到了。”刻画了20世纪和21世纪的性别角色波动最终抓到了男性。女性亲自看到了珍藏的、强加给男人的“一次性男人(disposable male)”心态,特别是在工作场所,一个角色,我认为是起源于生存需要,但是在更加富裕灵活的社会,它被废弃了。男人正在看到女人对于男性角色缺少人性的一面的反应,开始表达他们对现状的不满。随着更多的女人进入技术领域,她们会带来一个外来者的视角,男人需要留意,女人需要理解 她们发现的没有吸引力的系统 已经被男人不得不共存、接受了很长时间。但是在一起我们不必再这样了,那是强大的东西。

为了成为一名优秀的程序员,你不要耗费所有精力。做你喜欢的,喜欢很多东西。你会因此而变得更优秀。

原文地址:http://www.nicholascloud.com/2014/03/how-to-be-a-sane-programmer/ 注1:《商业内幕》,http://zh.wikipedia.org/zh-cn/商业内幕 注2:骗子综合征:http://www.businessinsider.in/Programmers-Are-Suffering-From-A-Bunch-Of-Syndromes-That-Are-Driving-Them-Crazy/articleshow/32149278.cms

译文:怎样成为一名心智健全的程序员 》| 腊八粥