程序员之禅

978-7-115-38982-4
作者: 【德】Christian Grobmeier
译者: 荣耀朱艳
编辑: 陈冀康
分类: IT人文

图书目录:

详情

本书的作者现身说法,以亲身的工作、生活经历指出了程序员身上的一些通病。作者将禅与个人工作、生活相结合,介绍了一些与众不同的工作方法,从而使自己的工作与生活达到一种和谐统一的状态;接着作者又介绍了禅与个人、如何放下在我、以及程序员在修禅时应注意的种种问题;随后作者介绍了如何与团队中的其他成员相处、以及如何看待项目和团队的问题;最后以博文“禅修程序员十诫”作为结尾。

图书摘要

Simplified Chinese translation copyright©2013 by Posts and Telecommunications Press ALL RIGHTS RESERVED

The Zen Programmer,by Christian Grabmeier, ISBN 978-1493541799

Copyright © 2012 by Christian Grobmeier

本书中文简体版由作者Christian Grobmeier

授权人民邮电出版社出版。未经出版者书面许可,对本书的任何部分不得以任何方式或任何手段复制和传播。

版权所有,侵权必究。

 

禅是一种生活态度和生活方式。程序员是一份特别辛苦的职业,也是一个承受各种压力的群体。在物欲横流的今天,禅对于程序员有着特殊的意义和价值。

本书的作者是一名德国程序员老兵,深谙程序员的喜怒哀乐。他曾经发表了一篇题为“程序员之禅的10条法则”的博客文章,引发众多程序员热烈的讨论和强烈的共鸣。本书共10章,结合程序员日常生活和工作的方方面面,作者通过对禅的知识、理解、体验、思考和感悟,提出很多中肯的建议,对于努力奋斗的程序员颇有启发意义。

本书是适合广大程序员阅读的轻松读物,它能够帮助你更好地保持初心,把握真谛,更好地面对生活和工作。

 

身是菩提树,

心为明镜台。

时时勤拂拭,

勿使惹尘埃。


 

献给__Ben Philipp

 

感谢以下人士在本书写作过程中给予的巨大的帮助:Nicole Michejew、Kathleen Weise、Boris Koch、Stephan Uhrenbacher以及Upayavira。

还要感谢那些阅读过本书的基础— “程序员之禅的10条法则”(The 10 rules of a Zen programmer)网文—并与我互动的朋友们。

Zachary Low是本书的编辑。我对他的工作推崇备至,他是一位热情、耐心、有趣的合作伙伴。你可以通过他的LinkedIn主页 与他联系。

 

中国禅宗始于菩提达摩。相传达摩于南北朝时期自南天竺航海至南越,闻南朝梁武帝信佛,至建邺会谈,语不投机,遂一苇渡江,北上嵩山少林寺面壁九年,传衣钵于慧可。其后,慧可传僧璨,僧璨传道信,道信传弘忍,弘忍传惠能,至此禅宗鼎盛。

南宋时期,日本明庵荣西和永平道元相继来宋,前者随侍虚庵怀敞,将临济黄龙传入日本,创日本临济宗,后者得天童如净法衣,为日本曹洞宗始祖。禅僧视死如归、生死一如、寡欲质素的精神,与武士道的武勇、忠孝、礼让、勤俭精神契合。同时,禅宗将教义具化为日常生活,若砍柴汲水、衣食起居,均为佛事,习法简易,深受日本士民欢迎。在完善自身体系后,日本禅宗返传西方,影响了欧美人的精神文化生活。

佛祖释迦牟尼是通过自身修行开悟的凡人,开示众生均可通过修行成佛。作为佛教的主宗,禅宗强调向善、忍耐、无我、正道、精进,注重身体的修习,如静坐。一天之初,静坐片刻清理头脑,可以提高专注力。静坐如同吃饭、睡觉、喝水、如厕,自然而然。

禅宗既有质朴的故事,也有玄妙的传说。据传,某日灵山法会,梵王率众献花佛祖,礼毕退侍。佛祖拈花一朵,意态安详,一语不发。众人不解,面面相觑,唯弟子迦叶破颜一笑。佛祖即宣告将衣钵传于迦叶,此即“拈花一笑”。又闻,唐代大德百丈怀海年迈体弱仍坚持劳作,弟子劝休未果,遂将其劳动用具藏匿。百丈说:“一日不作,一日不食。”拒绝进食,直至弟子归还用具。

我对禅的肤浅理解是,禅是一种生活态度和生活方式,以一种看上去消极实则积极的态度面对生命。俭朴、整洁、克己、忍耐、精进、正命都是禅的精神。禅不是理论,不是佛家专利,更不是迷信,禅是人皆可行的修习。在物欲横流的今天,禅修使人明心见性,看清事物的本质,明悉“生命的真谛”。

过去、现在和未来,程序员都是特别辛苦的群体,身体和精神都承受着重压。本书的作者是一名德国程序员老兵,深谙程序员的喜怒哀乐。他坦诚分享了跟随日本禅师参禅的经验和对生命的感悟,提出了很多中肯的建议,希望对努力奋斗的程序员有所启发。

感谢陈冀康先生的翻译邀约以及在出版事务上的沟通交流。感谢文字编辑卢亮先生的出色工作。感谢为本书的顺序出版付出台前幕后贡献的所有人。谢谢!

祝各位阅读愉快!

荣耀

2014年6月于浣石山房

 

我并非一名僧人。

我从2006年开始禅修,至今已有7年,听上去似乎已颇有心得,其实不然,我仍只能算是初学者。我知道自己应该换一种生活方式,但这很难,毕竟沉浸其中已久。当你境遇不佳时,你很难看到一个不同的视野。

参禅之初,我的状态很糟,却不明就里。直至某日清晨打坐,顿悟问题之所在:我并不需要受戒为僧人,或者成为禅师。只要你去冥想,视野就会改变。终于,禅改变了我的意识,改变了我的工作方式,让我变得更有效率。最重要的是,我变得更加快乐。

此前,我从未想过自己会写一本关于禅的书。

我目睹过很多软件开发者遭受我曾遇到的类似问题的困扰,比如健康困扰,或者不知道该如何度过工作之余。

有时候他们会来请教我。我告诉他们:“试试静坐冥想!”或者:“请阅读菩提达摩。”但大部分人茫然不已。也许是因为,在这浮躁的尘世中我们已没有时间去思考“冥想”的意义,又或者因为迈出第一步总是很难,就像修禅。

事实上,禅修对我而言也非易事。是的,我读了很多书,但是这还不够;我打坐,但同时也错过一些东西。我失去了原有的生活,还有往日的方向。我曾反思自己究竟是谁,而不是我要成为什么样的人。那么,我究竟做了些什么呢?(从修禅)我又得到了什么?

答案就是音乐。在所有我做过或经历过的事情中,只有对音乐的爱一如往常。是的,我一直热爱音乐。尽管在过去的这些年里音乐的类型发生了许多变化,但我从未停止聆听、制作或者关注音乐。当我在玩电脑游戏时,你可以很容易分散我的注意力,但当我沉醉于一个美妙的音乐专辑中,就不那么容易被分神了。

曾经有个禅修学院,那儿教尺八(一种日本竹制乐器),辅助进行冥想修炼。我知道这种古老的乐器是修习的一部分。当我意识到如今还有人吹尺八,而且我能向一位身在德国的日本名师求道时,我非常高兴。

我打坐,吹尺八,现在每天依然如此。你并不一定要进行艺术禅修。实际上,你在生活中的任何时刻都可以禅修。计算机编程也可以是一种禅修!自从意识到这一点,我一直尝试。每天如此。

孤独的计算机编程和修习一样是危险的,同时也是一项艰苦的工作。你很容易心烦意乱。如果能与别的事情结合起来,也许会好很多。

如果你对冥想修炼是什么样子毫无头绪,只管在地板上坐下来。不必刻意去寻求答案,答案自会来找你。不要试图阻止思考,思考自会停止。就这样打坐,直到你的视野发生变化。

禅理没有教条。我在写作本书时坚信这一点。你在本书中读到的只是我对禅宗教义的体悟。就像溪中流水,潺潺不息,我的悟解也可能因时而变。我对禅的认知是由经验、书籍、冥想以及师父所给建议杂合而成的。它不能作为对禅宗教义的一般化理解,而只是我在此时此刻对禅的领悟。你也许认同,也许会反对。无论如何,你可以自由修正我的这些认知,加上你自己的理解。禅义,无所谓对,亦无所谓错。

我写作这本书,是因为了解禅通常要求人们阅读很多佛典古籍,同时还需大量参悟。正如通常所言,禅是为器,但是一门不易上手的器。希望本书可以为你提供一些关于如何利用禅的启发。当然,我也希望它可以激励你阅读更多关于禅的文献。

我邀请了一位编辑协助解决书中的拼写和语法问题,希望他告诉我文字中存在的明显错误,相信他都做到了。如果你在阅读过程中发现有词不达意或不合逻辑之处,都是我自己的责任,谨向你致以最深的歉意。

毫无疑问,我支持言论自由、和平共处。请不要仅仅因为书中措辞问题而曲解我的本意。敬请告知错误所在,我将在下一版中修正。感谢!

 

 

很多人问我为何禅修。答案非常简单:生活失去了乐趣。我经常胃痛,而且容易感冒。我的闲暇时间都是跟同事饮酒度过的,这看起来很正常,其实不然。直到有一天,我决定换一种生活方式,虽然我并不知道究竟哪儿出了问题。

还是从头说起吧。

我起初是个牙科技师,对这份工作也乐在其中。得到这份工作并非一帆风顺。在学校时我对这个专业并不太感兴趣。十二岁时,我喜欢摇滚乐,梦想有朝一日成为摇滚巨星。一个人如果花半天时间打鼓,剩下的半天还想着歌曲,就不可能有多少时间学数理化了。渐渐地,我的头发越来越长,不知不觉就到了求职季。没有几个老板想雇用一个脑子里只有音乐的“披头士”,但我的前任老板却这么做了,时至今日我仍对他感激不已。如果德国政府没有改变医保政策,我仍然会是一名牙科技师。与从前相比,在过去的几年里,德国的医保福利越来越糟。

在我最初从事牙医工作时,健康保险会支付医疗费用的一部分。自然而然,几乎每个人都有机会拥有洁白亮丽的牙齿。但是当政策改变后,医保不再为大多数牙齿问题的花费买单。很多人开始省钱,要么只买最便宜的医疗方案,要么根本不关心自己的牙齿问题。这个医改方案让我付出了工作的代价,因为我太年轻,也没有什么经验,很多老板只留下经验丰富的员工并降薪。

那时有很多人丢掉了工作。对于德国人来说,这是一个非常艰难的经历。德国人习惯于加入一家公司并在那里工作50年,直到退休,或者直至死亡为止。

因此,我成了二战后德国第一代意识到工作不再有50年保证的一员。我需要做些别的事情,但毫无头绪。1998年,我成为一名公务员。当时每个人都在谈论Windows 95/98,终于我也得到了人生中的第一台PC。这是一个又老又慢的“箱子”。我用Word写了些文档,并开始了解互联网。在孩提时代,我在一台Commodore C64家用电脑上用Basic编写过程序,因此萌生了为自己的乐队建个网站的想法。我们已经有了宣传海报和音乐样带,我猜如果有个网站将会更酷。我想FrontPage对我一定有帮助,于是开始学习。

但事实并非如此。FrontPage并不好用。有人告诉过我如何自己动手开发网站。我再次感受到了编程的兴奋,就像初用Basic那样。我学会了HTML,这象征着我的职业编程生涯的开始。两个月后,我就发布了两个网站。第一个赚了钱并深受好评,第二个夭折了。客户希望网站具有流媒体视频和安全登录功能,这对我来说太难了,已经超出了我当时的能力。不过,不管怎么说,我卖了一个网站,也发布了自己乐队的官网。

我知道自己的生活被彻底改变了。为了缩短网站开发周期,我学会了PHP。我开发了一个小型网络音乐杂志,并尝试寻找一份程序员的工作。当时每一位老板都在招程序员,而且大部分老板也不在乎你是否上过大学。如果你知道HTML是何物,你就是老板要找的人。对于一个对数理化毫无头绪的长发男来说,这无疑是一个天大的喜讯。

不久,我在一家伟大的公司获得了一个美差。我很幸运,因为那里的人并不太在乎我不懂什么,他们更关心我已经懂了什么,并向我解释其余应该懂的。通过这种方式,我学会了Java、正确的编程方式、设计模式以及SQL等。Tomcat 3很快就成了我的好友。

自此,我的问题逐渐显现出来。作为一名实习生,我的待遇还不如初级程序员,收入极其微薄。我所有的收入几乎都花在了上下班路途的汽油费上了。但我还得吃饭。所以我承接了一些在晚上和周末能赚到外快的项目。就这样,我早上6点起床去做白天的工作,下午6点回家开始晚上的工作,一直干到半夜甚至更晚才睡觉。没有周末,没有娱乐,当然也没有音乐。每周我都设法驱车150公里回到家乡跟我的乐队玩一次。除了我自己,大家都清楚这种状况不能持久。

我像一个自由职业者那样辛苦地工作。曾经有位客户,为我带来了所有的工作。不幸的是,该客户由于个人财务出了问题,失去了付款能力,突然停止付款给我。我当然抱怨不已,这太不走运了。我需要专家的帮助讨回血汗钱,这都是几个月后的事了。在处理这个问题的过程中,我无法找到新客户。这让我倍感痛苦,因为我不仅要支付房租,还要填饱肚子。那段时间我疲惫不堪。好在女友借给我一些钱,让我节衣缩食地维持好一阵子的生活。就这样,我终于成功完成了培训,并通过结业编程考试,成为一名饥饿的程序员新人。

然而,人生总是充满意外。我曾希望在自己实习的公司找到一份工作,未料该公司却破产了,我不得不再次寻找新工作。

你能想象那是什么感觉吗?失业,身无分文,而且冰箱空空如也。用“恐慌”一词都难以形容,但这种感觉真真切切地折磨着我。我对未来忧心忡忡。我希望永远摆脱困境。到了该获得一份可以美化简历的工作的时候了,我最终跟一家大咨询公司签了约。

我做的第一个项目在法兰克福,去那儿要花六小时的车程。每周一清早我乘火车去那儿,经过六十多个小时的工作后,周五吃完午餐后返回。周六我要在床上睡很久,行为举止像个僵尸。星期日没法儿放松休息,因为我不得不为下周的工作做准备。

这个项目是团队众所周知最差的一个。项目组八十名成员试图力挽狂澜,但项目混乱不堪,复杂至极。我们幻想能够清理代码,也付出了努力。我们修改了一个巨大的系统。在这个过程中,一不小心就会破坏代码。大家精神高度紧张,一些人在工作时开始表现得像个白痴。

每一行代码都夹杂了很多个人情绪,似乎试图告诉同事,自己不过是在尽力编写糟糕的代码。大量的开发者离开了公司。但我不能。我不得不留下来。我相信你在一家公司至少待两年才能认真对待工作。

在清理工作推进的过程中,项目人员发生了变化。团队规模变小,大家沟通起来容易多了。毕竟,我们现在是一个和谐的团队了。我们的工作仍然很多,但是当工作到很晚告一段落后,我们会出去喝两杯,吃些美食。在经过漫长的一天工作后,把自己灌醉可以不再觉得是在高压下工作的码奴,而会感觉自己更像是可以拯救世界的摇滚巨星,只有自己才能拯救公司和同事。特别是,当公司高层为你买单时,那种感觉更加强烈。

像这样过了两年后,我忽然感到疲倦不堪。我的工作不再有乐趣。我也不觉得自己是一个编码摇滚明星了。我的乐队也到了寿终正寝的时候。我不再有能量让乐队保持活力,也失去了灵感。有时下班后我会在寄宿的酒店编写开源软件。经过一天14小时的工作后,如果有足够的啤酒,我还可以再挤出几个小时。但我不再有精力搞音乐。我已经没有时间进行排练,创作新的歌曲,或者去巡演。我已经失去了所有的旅行激情。我只是对能回家上床睡大觉谢天谢地。我的乐队在维持11年后终于散伙,大家也没什么来往了。

每天早上当我等火车时,我都会扪心自问:这就是生活吗?这太可怕了。我费尽千辛万苦成为受人尊敬的团队一员。我为自己不认识的人设计程序,在项目完成后,我就成了历史。虽然我不再受金钱问题所困,生活由工作和啤酒构成,但没有艺术,也没有音乐。也许这对某些人来说不算什么问题,但我不想这样度过余生。

有一天,我的项目组决定搬到慕尼黑。这儿离我的住处近多了。我以为一切会变得好起来,但事实并非如此。我更加早出晚归了。行尸走肉般的生活再次降临。如同在隧道的尽头无法看到任何光明。生活只是周而复始,日复一日。

我的生活亟需改变。虽然我能意识到这一点,但不知道该如何做,也不知究竟哪里出了问题。我的意思是,很多人都那样过。白天上班,晚上喝酒,循环往复。我想肯定是哪里出了问题。

一天早晨,我想起自己十四岁时曾尝试过静坐冥想。那时有一位朋友借给我一本书,这是他从他的父母那里借来的。朋友说,这是一本关于冥想的书,也许有助于增强我对学业的热情。我尝试了一下,确实很酷,但对我的学业并无帮助。

某日清晨,我早早地醒来。在那段时间,我和同事都在努力工作,以至大脑根本无法真正放松。我梦中都在编写代码。清晨5点,我走进客厅,推开窗户,清新的微风拂面而来,空气中带着梦幻般的味道,因为此刻还没有车水马龙。在这静谧的清晨,鸟儿开始欢唱晨曲。不知不觉,我想起了朋友的书,便坐在地板上,开始凝视自己的影子。我的目标是停止思考一会儿,但却无法控制自己。我的心跳开始加速。这并非我的本意。在我的脑海中,上司在喋喋不休,比鸟鸣更嘈杂,不过,没过多久就安静了下来,鸟儿的歌声成了唯一的噪音。

就在那一天,我买了两本关于禅的书。有很多关于“冥想”的书籍,讲的都是“灵修”、“玄想”或“宗教”。但是,我只是一名程序员,并不想接受一种新的宗教,我只是希望了解冥想,希望自己脑袋中不再喋喋不休。

幸运的是,我很快就认识到禅并非神话,也无关崇拜。这就是我为何能深入研习的原因。我阅读了那些书,也喜欢它们。但是这些书对我并没有什么实质性的帮助。禅是一种修习,只有修习能帮助我。在这本书中,我已经介绍了我最初的修习方法。同时,我希望进一步参禅。它彻底改变了我的思维,但在此处你不会看到。我会告诉你,当脑袋快爆炸时我做了什么,希望对你也有帮助。无论你是否坚持那么做,都不关这本书的事。除了禅宗史上的几句至理名言,你将会看到,我并不要求你改变自己的信仰。

就这样我发现了禅。我换了一家公司。过了一段时间,我再一次疲惫不堪。花了我好几年时间才认识到这一点。我一度认为工作违背了自己的商业道德。于是我的内心发生了一些改变,我的禅修之花开始绽放。

2010年底,我辞职了。在拒绝掉几个高薪工作机会后,成立了自己的公司。公司(Time & Bill [1])业务和从事的一些自由职业赚的钱比给其他公司打工赚得要少。但我大多数时间都在家工作,而且能够看到孩子的成长。这是任何其他人无法支付给我的。

经过了漫长的黑暗时光,我终于重新控制了自己的生活。我还是工作60小时,但不再有任何抱怨。我不再自怜自艾,能够心平气和地对待所有的事情——好的或者不好的(至少我会努力这么做)。我已经认识到,并非过去发生的所有坏事都与工作有关。

但我还认识到,生活中有些事纯粹是浪费时间,本可以避免。

这就是我的故事,至少是一部分。现在让我们来回顾一些历史。

[1]http://www.timeandbill.de

 

在了解禅之前,我们需要先了解下佛教。乔达摩·悉达多创立了众所周知的佛教。他是净饭王之子,出生于公元前563年。(在悉达多小的时候,)有预言称,他要么成为一位强大的国王,要么成为圣人、世人之师。

悉达多的父亲净饭王希望他能继承王位,于是试图向他掩盖世间的丑恶。净饭王认为,如果他的儿子相信这个世界只有美好而无丑恶,那么悉达多将会决定继承王位,而不是想成为圣人。他禁止一切枯萎、衰老、丑恶的东西进入皇宫,并且不许悉达多走出皇宫。就这样,悉达多被锁在父亲的宫殿中长大成人,与耶输陀罗结婚,并生下儿子罗睺罗。

有一天,悉达多成功地逃出了戒备森严的皇宫花园。他乘坐一辆马车出行,只有车夫车匿相伴。

在旅途中,悉达多看到一位残疾老者正被衰老和伤痛所困,便问车匿为何老者会遭受这般痛苦。车匿解释说,衰老是芸芸众生都要经历的,每个人将来都会衰老并受老弱之苦。

然后他们又看到另一个发烧的病患。车匿解释说,疾病是凡夫俗子生命的一部分,无人能幸免。

最后,他们在街道边看到一具死尸。车匿说,世人终究难免一死,我们的生命都将在某一刻终结,无论贫富贵贱。

悉达多情绪低落下来。在返程途中,他们遇见一位苦行僧。车匿告诉悉达多,这名男子试图寻找脱离苦海的出路。听到这里,悉达多心中又浮起一线希望。他认为,必然存在某种结束痛苦的方式。他还明白了衰老、疾病、死亡和痛苦与生相伴,难解难分,有关这方面的认知被称为四谛。

脑海中有了这些认知,乔达摩·悉达多出家了,去苦求众生如何才能解脱痛苦轮回。决心已下,他成了佛教创始人,抛弃了锦衣玉食的生活,成为一名苦行僧,几近饿死。

在菩提树下静坐冥想三日三夜后,乔达摩·悉达多终于豁然开悟。[2]从那时起,他一直为众生说法,度化凡夫俗子,直到死于食物中毒。他成为那个时代的第一佛[3],留下了许多神话和传说。

无神

佛教中没有神。

悉达多本人不是先知,他不是神的差遣,也不是神秘的天使。在其一生中,他一直希望被看作他原本的样子——一个凡人。

在佛教中,最重要的修习就是静坐冥想。事实上,天主教也有冥想,修道院中经常举行冥想修习。伊斯兰教也有冥想,在伊斯兰苏菲派中更具体的说法叫迪克尔。

没有神,凡人悉达多(他自己也说自己是个凡人),修习方法其他宗教也都熟悉,这些事实使佛教很容易与其他宗教(如伊斯兰教和基督教)沟通。我听说有天主教神父后来成为一位禅宗僧人。

当从电视上看到橙衣佛教徒举行某种仪式和“祈祷”时,有人不禁会怀疑这些宗教能否兼容共处,其实有一些(也许很多)佛教宗派也这么做。佛教可以与基督教整体相比。基督教不仅仅有天主教,还有新教和其他派别。同样伊斯兰教也是,比如有逊尼派和什叶派。

一佛,诸佛

乔达摩·悉达多悟道后,人们开始称他为“佛陀”。佛陀是一种尊称,意思是“大知觉者”。他的全名实际上是乔达摩·悉达多佛陀(或释迦牟尼佛),但常常被简称为佛。

在佛教中,一切都基于“中观之道”的概念,在此处,所谓的极端情形无处容身。其他遵循并领会这一中观真谛的人,也会开悟并得到佛陀称号。每一位佛陀都有自己的见解,并从某时开始其学说向不同的方向演化。在不同的宗派中,释迦牟尼教导的“核心”思想保持不变,但离苦得乐的方式不同。可以说,佛教在某些方面是一种活生生的宗教,是的,现代社会依然有佛,那些将佛法翻译成我们易于理解的说法的人就是了。[4]

仪式和祈祷

有很多仪式、圣物崇拜以及其他宗教习俗。比如,有些佛教徒虔诚地烧香拜佛,奉若神明。平心而论,我不知道他们为何那么做。如果他们内心是向某某祈祷,并期待某某倾听甚至帮助他们,那么他们对佛教的理解与我有别。据我所知,佛陀教导普罗大众,须用己力脱离苦海。也许我对此理解有误,但这也告诉你为何我不那么做的原因了。需要指出的是,一些非常流行的佛教宗派,如净土宗,认为自然神论的因素至关重要。

即使考虑到更加神秘的方面,如重生,佛教崇拜对我也毫无意义。也许你听说过,一些佛教徒相信如果不能结束痛苦,就会转世轮回,重受苦难。当他们努力挣脱生死轮回的安排,将会涅槃,进入净土,获得自在安乐。我不知道是否有佛在极乐世界倾听信众的祈求。实际上,我相信他们不再有具形的存在。这就是我的理解。于我而言,佛陀已逝。我们已从他那儿得到所需的一切,现在该轮到我们自己帮助自己脱离苦海了。正所谓“迷时师度,悟时自度”。

在禅宗中,崇拜和赞美微乎其微,无足轻重,这甚合吾意。虽然还有仪式,但我所知道的仪式只是确保我们勿忘修习的重要性并保持正道。

我遵从的“礼仪”包括练习坐禅(静坐冥想)和吹禅(吹笛冥想)的方式,例如,穿着恰当的衣服,在特定的场合还会燃香。我以恭敬之心对待在修习中使用的一切器物,包括禅垫。脑海中浮现出一个家伙恭恭敬敬地对待禅垫的画面,你也许会发笑。但对我来说,这真的非常重要,它能让我尽快入定。所有的仪式似乎都是为了帮助尽快入定。当我们遵从仪轨时,头脑变得空灵,然后可顺利地进行冥想修习。

一个阅读本书早期手稿的读者说:“仪式的作用是赋予琐细行为以意义,此即其价值。”对此我深表赞同,后文将重提程序员的禅宗仪式。

宗教抑或哲学?

我认识的很多人都认为佛学更像是一种哲学而非宗教。如果你喜欢,你也可以那么认为。就个人而言,我发现有很多理由称之为宗教。我没有能力对这种辩论进行长篇大论。毕竟,你可以为它找到合适的术语。

为何我认为佛学是一种宗教信仰?

佛学中没有神,但在仪式和祈祷中往往有一个象征性的角色,而不是崇拜现存的实体。实际上,你可以在佛祖的经文中发现佛学的神秘色彩。没有任何证据表明那些说法的真实性。不过,信或不信,由你自己决定,只是这些方面使得佛学成为宗教。

我们来看两个例子。

佛说,信佛可以脱离苦海。衰老、死亡、疾病和痛苦都有止境。如果你身处可怕的境地,例如遭遇严重的车祸,并深受持续的剧痛困扰,你就会顿悟为何佛教只是一种宗教,在这种情况下你确实需要相信自己可以早日脱离苦海。

当一个基督徒去世,他被上帝审判上天堂或下地狱。[5]在佛教中没有圣经中所说的地狱,终极目标是进入极乐净土并彻底虚空。你要打破生死循环的宿命,不再重生受苦。当你到达极乐净土,将会得到欢喜祥和。

禅修不会让你的世界颠倒

禅修的好处是你不必相信轮回。你甚至不需要关心死后会发生什么。你可以将佛教中那些神秘的方面视作象征性的或抽象性的,并坚持自己的宗教教义。

如果研究释迦牟尼佛或其他佛陀的原始教义,你不可能发现任何不利于其他宗教的内容。当然,我并不了解是否所有的宗教都是如此,因为还有像宇宙教或神道教这样的宗教,它们之间非常难以比较。无论如何,如果你目前的宗教信仰倡导祥和、安宁,那么释迦牟尼佛的教诲就不会与你的信仰发生冲突。

对于这本讲述编程之禅的书,我努力吸收一些适应办公室环境的禅宗修习。在书中你不会发现任何怂恿你成为佛教徒的内容。

自己作主

读完以上文字后,你能得到什么结论?

你需要自己决定。

在不同人的眼中,宗教往往是不同的。我是一个不可知论者,甚至是一个无神论者。在我的世界里,神并不重要。我相信佛的开示,但我不能忍受净土宗。

如果你的信仰与佛教的教义冲突,你需要反省自察。当然,我们很难信奉那些建立于自然神论元素之上的佛教旁支。

幸运的是,你可以问道于诸佛而无需照单全收。请以适合你的方式去对待它。

在前面的章节中,我将“禅宗”与“佛教”结合使用。其实就像藏传佛教那样,禅宗是佛教的一个分支,有它自己的故事。

达摩是印度一位著名的僧人,他将禅传入中国,形成禅宗,因此被称为禅宗始祖,据说他还创立了少林功夫。

达摩是许多神话和传说的主题。其中最有名的传说是他面壁九年。某日困倦不堪,他对自己非常生气,于是切下眼皮扔掉。眼皮砸到地面之处,长出第一株茶树。今天,修行者在打坐间隙饮茶保持清醒已成为传统。这个传说不仅说明了达摩的影响有多大,还说明了达摩是多么苦修。在所有禅宗教众和少林寺弟子中都能看到这种苦修精神。

达摩很好地解释了什么是禅:

不胡思乱想就是禅。一旦你明白这一点,走路、站着、坐着或躺着,你所做的一切都是禅。

——达摩(Red Pine,1987)

另一个禅师的解释有点不同:

佛教的意旨:“无我”,“虚空”,天人合一。

——泽木兴道(Sawaki,2005)

禅师常用不合理的论据释禅。这里引用两个理性一点儿的。达摩说,我们需要战胜心魔,后者的行为往往像猴子或马。猴子的思维具有跳跃性,没有节制。马的意识则是无论如何都要向前进。如果我们的脑海中没有猴子和马,达到虚空,就可能产生禅的智慧。是的,没有必要去想讨厌的上司、尚未支付的账单或另一张桌子后面刚提交一大堆劣质代码的白痴。

泽木禅师说,无我,虚空。我们的思维往往具有误导性。当旧车仍然能开为什么想要一辆新车?它是否真的让我们更快乐?驾驶一辆新车生活就会变得更美好吗?还是只是想给别人留下深刻的印象?

禅是自我的一面镜子。一旦参禅打坐,你将会找回自我,脚踏实地,不再被无意义的东西所困扰。

在过去,一些人认为禅宗和尚能飞。在一些日本电影中你确实可以看到冥想者离开地面,悬浮于半空。如果你请教泽木兴道大师禅可以为你带来什么,他会说:

禅不会给你任何东西。

——泽木兴道(Sawaki,2005)

其他禅师可能会说:当然,禅可以让你飞。他们也清楚地知道,从物理学的角度说,你永远不能飞。禅的问题是,如果你尝试以理性的方式去理解它,你就输了。禅不是用逻辑和理性的过程改善你的生命,而是教你放下欲望,不受毫无意义的东西干扰。禅教导你活在当下,无须等待明天。

禅宗背后的哲学有时是非常激进的。如果你不小心谨慎地听从师父(抑或跟错了师父),你可能会误认为禅是要你放弃自己,脱离人性。但事实并非如此。禅就是关于“你”的。诚如泽木兴道禅师所言,它不会给你任何东西,因为你已经拥有了一切。禅可以帮你拂去心灵上的灰尘,让你明心见性。

可见,不可能用言语解释什么是禅。你需要修习,如此或能领悟泽木大师或达摩祖师这样的智者之意。一句话,禅是需要你身体力行的修习。

[2]今天,你仍然可以造访位于印度巴特那附近的摩诃菩提寺,瞻仰佛祖悟道成佛处的圣树。

[3]有人说乔达摩·悉达多佛是第四佛。也许在他之前已经有很多佛陀,在他之后当然还有更多的佛陀。但乔达摩·悉达多佛是家喻户晓的佛陀之一,因为他是第一个载入史册的佛陀。在乔达摩·悉达多佛涅槃后,他的弟子继续弘法,其教义最终被记录下来。

[4]请别误解,即使我尝试将佛经翻译到编程世界,我距离成佛仍然遥远。我所指的是别人,比如像泽木兴道那样的大师。

[5]据我所知,圣经也没有说过什么永恒的地狱。好像天主教说存在一个永恒的地狱,而圣经本身只说过有一个临时的地狱,即炼狱。我很抱歉无法确定这一点,感兴趣的读者不妨去了解更多的信息。

 

本章我会为你简介下佛教。毫无疑问,这些只是基本知识,不够完备。在下文你会接触一些佛教教义和佛教神话,同时也将看到我个人的一点经验之谈。可以说这是我初学佛教的心得体会。这些知识让我沉思。

我曾读过一本禅宗书籍,其中惊讶地看到作者谈及“地狱”(在日文中为“奈落”,罗马拼音:naraku;源自佛经中的“那落迦”),对我来说,很难将这个词同禅宗联系起来,因为我首先想到的是基督教。在读过其他文献后,我发现佛家说的“地狱”含义不同。当一开始得知地狱不是人死后被送往接受惩罚的地方——而是人生来之地时,我感到非常惊讶。人的生命从地狱开始,这听起来太奇怪了!

正如前面讲到的,很容易将禅宗与其他宗教或哲学混淆。长期以来,日本禅宗文化受日本神道教的神话及古代传说影响而得到极大的丰富,你已经很难分辨什么是真正的佛学,什么是传说或寓言演绎。

后来我的先生[6]为我做了解释。

乔达摩·悉达多意识到衰老、疾病、死亡和痛苦终将与生命如影随形,密不可分,他称它们为“四谛”(也作“四圣谛”)。明白了这一点,你就会对世人究其一生去追逐金钱和权力不感到奇怪了。

你将赤条条地死去。

——泽木兴道(Sawaki,2005)

悉达多成佛后,开始向世人说法四圣谛。其后所有佛教宗派均将它视作基本教义。四圣谛是指:

1. 苦谛:我们必须明白,活着就是受苦难。苦谛是对生命存在的一个论断。我们知道,人永远不会满足,遭受苦难是应得之果。

2. 集谛:集谛指出了苦难的根源,就在于贪婪、仇恨和妄想。那么它们存在于何处?在我们的心念中,在我们的欲望中。

3. 灭谛**:**当苦难的根源消除,痛苦就会消失,这就是灭谛。我们应该克服导致苦难的缘起。就像修复文件系统的错误,让用户界面能够工作。

4. 道谛**:**道谛主要是指八正道,它将引领我们克服苦难。只有亲自修行才能克服心魔。

记得伊比尼泽·史克鲁奇吗?那个查尔斯·狄更斯《圣诞颂歌》中的吝啬鬼老头。在遇到圣诞精灵之前,史克鲁时时在害怕变成穷人,他郁郁寡欢,不苟言笑。没有人喜欢他。这样的生活跟地狱有什么两样?

其实,我们每个人都生活在地狱中,但所幸出路还是有的,就在于:八正道。在后文中我们将做详细解释。

为什么在一本为程序员写的书中要提到四圣谛?因为我们与世人一样,生而受苦。当我们进入办公室时,我们自造地狱。我们或者总在期待一份高薪,或者在害怕项目失败,又或者希望从客户身上多榨些钱,因为他们非常依赖我们。

在禅宗文献中,常常可以看到“鬼”这个词,例如“饿鬼”。鬼的形象在中国众所周知,即死后重返生前住宅的人。顾名思义,饿鬼就是饥饿的鬼。与西方电影中的僵尸饮血不同,在中国“中元节”那一天,死去的祖宗会享用祭拜者上供的酒食。

在日本,有两种不同类型的鬼:饿鬼和食人鬼。他们在很多方面与波斯食尸鬼或西方电影中的僵尸具有共性。

知道,尊敬的先生,

我是一个食人鬼,专吃人肉。

……

因为这种自私不敬的行为,我死后立刻重生,变成了食人鬼。因此,我不得不以这个教区的死人尸体为食。

——小泉八云(Hearn,1904)

但在佛教中,有人告诉我,“饿鬼”不一定是死人,也可用于指活人。除了游魂野鬼,饿鬼也包括那些活在自造地狱中的贪得无厌之徒。

如果你是伊比尼泽·史克鲁奇的话,其实还算幸运。作为一个虚构人物,他的命运很容易修正。但在现实生活中修正命运却并不容易。你不妨扪心自问:是什么让我受苦?我身体内外的鬼都有哪些?我住在哪一层地狱中?“职业生涯”地狱,或者“自大”地狱?

我当然有我自己的地狱。有段时间,我拼命地想要一台新平板电脑,虽然我并非真的需求它。我需要的应该是食物、水和一个安全睡觉的地方。但是我最好的朋友最近得到了一台,而且它看起来棒极了。于是,我自己也想拥有。倒霉的是,我当时正好钱花光了。为什么我这么可怜,没有需要的那么多钱?为什么其他人看起来活得都比我好?

我将自己内心的鬼称作“电子玩具鬼”。找出它后,我反而觉得可以忍受诱惑了。我明白平板电脑会耗尽我的时间。由于没有平板电脑,我有了更多的时间享用晚餐。

可是人之所以为人,难道不正是因为这些“鬼”的存在吗?当然如此!现在你知道人的苦难所在了,能否承受苦难,或者希望停止受苦,一切由你来定。你不必放弃所有的欲望,藉此成为一个更好的程序员。但了解可以帮助你反思内心的鬼朋友,也就是你的心魔。

有些人喜欢自讨苦吃,受苦成为他们的习惯。有时,他们只是害怕做出改变——他们更喜欢自己认识的鬼。这些人为自己的情绪所左右,不想改变处境或坦然面对小鬼。对于人来说,时而受些苦是必要的。我们也允许自己在此处或彼处受苦。但是有时我们也应该停止受苦,做些反抗。要避免养成受苦的习惯,另一方面,也要明白不可能永远幸福。幸福和苦难,往往返返。找到两者之间的一个平衡点,这就是佛家称为的“中观”之道。认识自己的心魔,知道何时该坦然接受,何时该击败它们,有助于你找到自己的平衡点和中观之道。

禅宗僧人安居于贫,因为一个很好的理由:结束苦难,终结生死轮回。要行多远,你自己做出决定。

佛说,我们需要遵循八正道以结束受苦。这些基本就是如何完善生命的教导。八正道不能与十诫相提并论。前者不是命令,只是可以遵循的原则。用编程术语表达就是,它们是最佳实践,而非“必须如此”。你可以采纳这些建议,也可以不。在你死后并不会被惩罚下地狱。

如果你决定尽量减少受苦,尽可能遵循八正道,这是明智之举。它们并非关于“做”或“不做”的僵化路径。佛说,其修行之路是中观之道,本身就蕴含八正道。

接下来我将简单介绍八正道,我认为理解这些至关重要。它对于办公室日常工作甚至日常生活都有助益。我在这里给出的解释针对程序员进行了简化。我没有详述八正道的方方面面,那是禅师们的工作。此外,我不希望在这里启动一场关于“四种不同的思维形式”的科学辩论,这最终会导致我将佛教观点与在大学里学到的心理学知识进行比较,而这,并非本书的目的。

如果你希望了解更多关于八正道的知识,推荐阅读“The Buddhism Primer”(Dhammasaavaka,2005)。

正见的核心在于理解四圣谛——不仅是从理论上,更要发自内心去理解。也就是说,须当明白事物的缘起而非仅仅表象。这意味着,你应明白自己何时受苦、为何受苦,以及如何脱离苦海,离苦得乐。

对正见的解释可能千差万别。虽然听起来确实很抽象,“正见”具有它宝贵的价值。

场景零:

保罗正在写代码,此时迈克走进了办公室,向他展示一部全新的智能手机。不久,保罗和迈克的四周围了一群人。这款手机拥有迷人的新显示屏,而且是目前能够拥有的最新款。没有人知道迈克是如何得到这款手机的,因为它尚未公开发售,而且这款手机非常昂贵,只有少数人能买得起。作为一个有着两个孩子的父亲,保罗按理是没钱买的。

有些人可能想:为什么迈克能得到这款手机?为什么不是我?保罗就是其中之一。但保罗拥有“正见”,明白了生而受苦:有这样的想法是自然的。即使他得到了这样一部手机,苦也不会结束,新的问题和苦又会出现。手机主人必须得小心保护它,免得被贼偷了。终究,保罗明白是否拥有这部手机并不重要。他战胜了心魔,并且向迈克表示祝贺,后者于是向他讲述关于如何得到这部手机的有趣故事。

场景一:

保罗回到办公桌前,准备处理老板乔的一封电子邮件,这封邮件有点咄咄逼人。这还没完,几分钟后,老板出现在保罗的办公桌前,对他大声呵斥。交代一下背景:保罗昨晚加班修改程序中的错误,今晨两点才离开办公室。经过17个小时的工作后,保罗向客户发布了一个修正版软件。喝过啤酒,冲了淋浴,保罗瘫倒在床上,精疲力竭。今天上午10点,保罗回到办公室,比平时晚一小时,然后与迈克聊起后者的新手机,开始一天的工作。

乔怒气冲冲,因为保罗上班迟到而且看上去懒怠。乔告诉保罗,一定有人喜欢他现在的这份工作,不想干可以走人。保罗解释说自己昨晚在办公室修复了一个严重的错误,而且直到凌晨2点才下班,但乔并不关心,坚持上午9点每个人都必须坐在办公室。乔咆哮着。归根结底,乔认为这是保罗的错,是他自己把代码写得漏洞百出才导致不得不加班修复问题。如果保罗不吊儿郎当,不被MP3播放器分神,这类问题就不会发生。

可悲的是,这是一个真实的故事。我并不是保罗,我只是坐在他旁边的同事。保罗其实是一个很不错的家伙,他甚至不知该如何应答老板,虽然整个情况对他而言是绝对不公平的。最后,保罗道歉,并承诺当天将多工作一小时。

正见并不意味着要忍受乔的行为。但它意味着要看情况,并明白究竟发生了什么。为什么老板乔如此不公正?

乔努力奋斗以保持公司正常运转。他总是接受低预算的项目,因此付给员工的薪酬也很低。这导致了令人难以置信的时间压力和员工变动。他没有足够的时间反省自己的问题,只能日复一日,让事态陷入恶性循环。每晚睡觉时,乔的脑子里常常充满痛苦。在这种情况下,他的雇员上班竟然还迟到。没错,这名雇员修正了一个最初由他自己导致的错误,客户肯定高兴得到修正了错误的软件,但会怎么想呢?这家公司只雇用失败的程序员吗?想到这些,乔感到更加痛苦!程序员真不应该造成这些问题,给他带来额外的痛苦。由于乔没有正见,他不能控制自己表现出攻击性的行为,找到痛苦的根源。

也许我的解释不够准确,现实生活中的故事往往比乍看上去要复杂得多。

有了正见,保罗就会明白为什么老板会有那样的反应。正见告诉我们,凡事存在不止一种观点(比如说,可能乔天生是个白痴)。不幸的是,保罗没有关于这种情形的“正见”。他很害怕失去工作,以为自己犯了可怕的错误,最后他认为乔的做法没啥不妥,甚至当别人告诉他情况并非如此时,依然如此。

请记住,“正见”不是“正确的观点”。正见会告诉保罗没有必要受苦。正确的观点会对事实进行比较,并对情形给出全面的分析,从而得出“错”或“对”的结论。但这儿并没有“错”或“对”的东西,所以你不能说对事物有什么“正确的观点”。

正思维是指我们做事情的方式。佛陀教导我们,行事不应夹杂私念。我们应该有善念并灭除嗔怒。我们不应该冷酷地攻击性地对待他人,或者伤害他人。

当保罗走向迈克的办公桌并谈及后者的新手机时,这种行为看上去很好。但看上去不错的聊天,其意图却可能有害。也许保罗试图获取有关手机的信息,并传播一些关于迈克是多么自私、傲慢和有钱的闲话。

思维方式会影响你的行为,无论你在作恶还是行善。攻击性的情绪是你自己受苦的结果。如果不修复情绪,你就根本无法阻止自己受苦。当你带着邪思维行为时,你不仅在伤害他人,也在伤害自己。

当你带着攻击性的情绪编程时,引入错误的风险就大大增加。代码变得肮脏。消极情绪从你这儿抢走了大脑处理时间。当一个禅宗程序员编写代码时,他只写代码。如果他的心中充满了攻击性,就无法专注写代码。

当你的思维不正时,先解决你的问题,然后再去工作。施行正见,或者尝试跟别人说说话。

下面再举一个更微妙的例子。

有一次当我在打坐时,忽然听到隔壁房间一阵大动静。显然,我的妻子遇到了一个小意外,因为在传来某种噪音后,我听到了她的诅咒声。此时我可以站起来,问她是否需要一些帮助。或者,我可以考虑静坐冥想更重要,继续打坐。

我想起一个来自萨金特·智浩的故事(Sargent,2001)。萨金特试图在一个孤独的地方打坐。但是小鸟打扰她,让她无法集中精力。她很生气,关掉了窗户,但噪音仍然持续不断。然后她意识到,小鸟是她禅修的一部分。

同样我的妻子是我禅修的一部分。当有人需要帮助时你就不可能静心,因为你的思维是不正的。于是你的修行受到干扰。禅贵在践行,你不能指望躲在寺院围墙后面参透它。禅在现实世界中是存在的,也就是说,小鸟一定要唱歌,总会有人需要你的帮助。

我帮助了妻子,并获得了她的“谢谢”。修行没有被中断太久,我仍然有清醒的头脑继续修行。

请记住这个故事,当你尝试在办公室进行禅修编程时。你需要与现实世界保持联系,不能忽视其他人。当团队陷入困境时,自己却在一边喝咖啡,通常不是一个好主意。同样,认为禅修编程比帮助需要帮助的人更重要,也是不可取的。

佛陀知道恶语可能会导致战争、绝望、悲伤或仇视。他告诉我们,我们应该以友善和蔼的方式说真话。同时他也告诉我们,只有在必要时,我们才应该说话。

我曾在那篇流行的博文“程序员之禅的10条法则”中写道:

谨言。

这是指正语。此外,我认为一个人应该尽量不要使别人抓狂。原因很明显。不妨设想一下,某个同事总是在小组会议上对你的发言评头论足,你的感受如何?

根据“法句经”(Buddha,1986):

比丘们![7]比丘必须控制自己的舌头;举止必须良善,头脑一定要冷静、有节制,不能为所欲为。

——佛陀

还是在“法句经”中,佛陀继续教导:

能控制自己的嘴巴(话语),头脑冷静,言语睿智,解释佛法的真谛,这样的比丘语言甜美。

——佛陀

在今天的世界,很难做到谨言。社交网络让我们能够在任何时刻评论任何事情。我们的想法可以在数分钟内传遍全世界。有时候,我们对一幅图片不到一秒钟就发表评论,常常不假思索就点“赞”。我们不在意自己的行为会产生什么影响。今天,我们被大量毫无意义的废话所包围。

如果大家将“正语”应用于与社交网络打交道之中,就不会看到某某出去遛狗、某某昨晚酒喝多了,或者某某不喜欢自己的早餐之类的无聊话题了。

一句话可以毁掉别人,不管是通过文字,还是言语。最低限度,也会伤害感情同时树敌。要明智地考虑你的语言文字。如果在工作场合能做到这一点,你就会发现它是一个更友好的地方。

正语意味着:

甚至当项目处于困境中时,你也会发现友善的话语有助于将无所适从的沮丧的人转变成积极勤奋的思考者,从而渴望帮助解决问题。

佛陀说,我们应该说真话。

如何把握度呢?如果熟悉伊曼纽尔·康德的“道德形而上学”(Kant,2004),你就会明白我为何有此一问。康德的“绝对命令”会导致如下的两难困境:

一个杀人犯找上门来。他怀疑潜在的受害者是你的房客,并要你交出他。如果你知道他有杀人意图,你会说什么?撒谎以避免你的房客被杀?或者说真话?

康德认为我们应该说真话,并且把房客的情况告诉杀手。如果你撒了谎,“真相”一词就会变得一文不值。现在的问题是你是否会被指控谋杀罪。谁知道呢,康德说。如果你说谎被凶手识破,他也可能会杀了你。更糟的是,他可能找到藏在伦敦地铁里的受害者并在那儿杀死他,所导致的恐慌混乱可能会导致更多人死亡。如果你说谎,康德会责怪你的。因为我们不能知道将来会发生什么,康德建议我们总是说绝对的真话。

我不知道释迦牟尼数百年前是否描述过绝对命令。我们程序员有望不陷入这样的生死两难的困境。

恶语会比“康德困境”更糟:

Accipere fidem est voluntatis,sed tenere fidem iam acceptam est necessitatis.

——Thomas Aquinas

意思大概是:

信仰自愿,但保持信仰则是强制的。

——托马斯·阿奎那

托马斯·阿奎那解释说,我们可以自由地选择自己的信仰。但是,如果选择了,就要坚持下去。他要求对异教徒处以死刑。鉴于其暴力言论,他被认为是古代造成数千人死亡的异端审判的根源。

不提过去,另外一些情形看起来更熟悉。

考虑一个编程小组希望向客户提交软件。在做到这一点之前,自动单元测试出了问题。代码看起来没问题,但构建系统本身似乎被破坏了。很难找出问题所在,因为小组中的每个人共享相同的系统登录账号。安吉拉和汤姆被指定解决这个问题。问题变得越来越紧迫,不久,汤姆告诉安吉拉,可能是他某天造成了这个问题。他要求她不要告诉任何人,因为他害怕失去工作。安吉拉答应了,利用汤姆提供的信息,他们俩解决了问题。后来他们的老板来到安吉拉的办公桌前,并询问问题的根源,顺带一提,老板看上去非常生气。

安吉拉应该说些什么?

我觉得没有很好的答案。安吉拉答应汤姆不谈论他的过错;另一方面她应该讲真话。也许最好的答案是她告诉老板问题出在哪,但不透露汤姆的名字,因为有承诺在先。不过,我们可以想像她的老板将会多么抓狂。

今天的软件项目已不是人们想象的仅仅是编写程序的问题,它还建立在大量的沟通交流上。“正语”对于项目的每一个参与者都至关重要。

第二道德原则,正业,包括身体作为表达的自然方式,因为它指的是涉及身体动作的行为。不正当的行为会导致不健全的心态,而正行则会带来健全的心态。

——Dhammasaavaka(Dhammasaavaka,2005)

如果你做了坏事,你的心念会为你带来地狱。如果做好事,你的心情是轻松的。就这么简单。

佛陀说,你不应该做侵害他人的事情。戒杀生,杀人或自杀都是有害的行为。戒偷盗,不是你的东西不要拿。戒邪淫,你的性事不应该伤害到他人。

在日本古代,杀人和自杀被区别对待,这跟今天不一样。18世纪,一件47浪人故事(Mitford,2005)让人印象深刻。[8]

在18世纪,一个日本大名(日本封建领主)死了,原先受他指挥的武士变得群龙无首,成为浪人。是吉良用计杀死了大名浅野,他故意出言不逊激怒浅野,导致浅野用刀伤了吉良。由于这种行为当时是被禁止的,浅野被判剖腹自杀。于是浅野的三百武士成了浪人。其中47人计划了两年多进行复仇。最后,他们攻击吉良的城堡,杀死了他的许多手下,最后也杀了吉良。武士道[9]推崇这个行为,但在幕府时代禁止这样的报复,所以浪人们被判处自杀。武士们当然预料到会发生什么,他们剖腹自杀了,这就是故事的结局。在日本,47浪人因为忠诚而非常有名,是很多人的偶像。

从武士的角度看,他们做了“正行”。正如传说,他们不惧怕剖腹自杀。他们保持心平气和,甚至在死亡来临的时刻。如果他们中的某人对自己的行为产生怀疑,他的信念将处于不健全的状态。即使远离了佛陀的本意,“正行”仍然是有意义的。

在一个软件项目中,任何时间我们都要做“正行”。

我们每天带着心念工作,从知识产权角度看,有时很难说究竟是谁提出了一个具体的主意。很容易从一个巨大的代码库中提取一些文件,修改它,并把它上传到GitHub或BitBucket上。

有时候我们的工作需要利用社交网络,但这很罕见。我们应该在空闲时间使用社交网络,工作时间通过它们浏览信息等于是在偷懒。似乎这只需短短的几分钟,但果真如此吗?关于浏览社交网络的一个分辩是可以在沉重的编程任务之间放松身心。虽然我们不是编码机器是事实,但浏览社交网络肯定不是正行。这更像是对一个已经超载的大脑继续加载。在办公大楼间散散步,或向窗外眺望,是更好的放松方式,对你和你的雇主都有益。

在公司中,性骚扰是一个严肃的问题。对这问题没有必要细说,一句话就可以了:远离它。

正行基本上总结了许多公司通常称为“行为准则”的东西。它的存在可以保护人们免受他人伤害。伤害别人是彻头彻尾的恶行。这就是为何你应该“正行”。

我们应该以不伤害他人的方式谋生。屠夫或肉类产品工人的工作,贩卖酒精饮料、毒品、奴隶或动物都是在伤害,军火交易也是如此。

看上去程序员没有这方面的问题。但请不要忘记,你可能在为从事军火交易、酒精饮料或肉类产品销售的公司开发在线商店。如果有朝一日你希望成为一名佛教徒,你需要重新考虑你为之工作的客户。在今天,为了赚钱很容易就会干坏事。

本书的读者极可能不是佛教徒,仅仅是对从程序员的角度看禅感兴趣。幸运的是,在禅宗看来,你要自己证明自身行为的合理性,佛陀的建议并非“十诫”。

然而,程序员应该只从事符合他个人道德原则的软件项目。如果对一个软件项目感到怀疑,你就不应该去做。幸运的是,在这个地球上的发达国家,很多程序员说“不”是相当容易的,因为很容易找到一份新工作,但是在发展中国家就比较困难了。首先,有一份工作就已经很高兴了,因为你需要赚钱养家糊口。其次,整个社会都会向你施加压力,而且你可能别无选择。

我很幸运,生活在一个富裕国家,让我有条件说“不”,而且过去已经这么做了。我拒绝为核能公司以及危害环境的公司工作。我对军火公司也是严格地说“不”。但我很乐意帮助朋友构建他的网站,该网站从国外进口苹果酒到德国,即使从佛教的观点来看不建议饮用含酒精的饮料。

通常你自己可以决定是否接受项目。有时你可以抓住几公斤大米并且继续前进。有时你身不由己,不得不面对自己不喜欢的事务。即使泽木兴道禅师也有这样的问题,他曾在日俄战争期间被迫为军队服务。

也就是说,在接受不符合你的道德规范的项目之前请三思而行。如果你确信自己需要赚这笔钱,请务必意识到,从长远的观点来看你在出卖快乐。从你认为不道德的项目赚钱,你最终会为自己的地狱火上浇油。

你的内心的能量可能会导致侵略、挫折和暴力等。八正道说我们应该努力提高和保持内心的健全状态。我们应该抛弃或防止消极状态。换句话说:转变思维。你自己决定了你的一天将是美好的还是糟糕的。

人的内心很容易变成消极的状态。乔恩的老板忘了乔恩是一个初级程序员,刚从大学毕业。也许他因为某些事而指责乔恩,其实那些事情是别人做的。在情况明朗之前,乔恩的老板走了,给他留下了很多需要处理的事情。

乔恩可能在当天剩余的时间里充满愤怒和沮丧。最后,他可能下班回家告诉妻子发生了什么事。即使喝了很多啤酒,他的夜晚也彻底泡汤了,连做的梦也是可怕的。

或者,当老板离开时,乔恩可能笑了。因为其实错的是老板而不是他。老板在咆哮前未能了解情况。这是不公平的,如果乔恩因此失去工作,就像开了一个糟糕的玩笑。

笑,可以帮助乔恩回到更积极的心态。在这种情况下,他别无选择。他为什么要为这浪费更多的宝贵时间呢?更糟的是,乔恩的妻子也会生气。如果乔恩有了孩子,他们也会意识到发生了一些不好的事。其实没必要把你的老板想得多么严重,不过是一个可悲的失控的男人罢了。

你还记得迈克向保罗展示新手机的故事吗?当保罗意识到自己迫切地想拥有那样的一部手机时,他应该坐下来,深呼吸,努力控制自己激扬的情绪。不需要得到这部手机——努力驱除自己需要它的想法。

正精进意味你要努力保持对内心的控制。

具有正念可以帮助你认识自己的身体、思想、感情以及外物。这有点像今天心理学家所说的“反思”。看清你自己和周围事物的能力应该越强越好。当你倾听自己时,你不仅能够克服欲望,也能够解决其他问题。

作为程序员,我们不得不经常加班。也许客户已经发现产品中一个缺陷,放过它就意味着会导致付出每小时数千美元甚至数百万美元的代价。或者软件的新版本无法按计划发布,从而导致市场部门出现可怕的问题。或者项目只有很低的预算。有时我们为低预算项目工作,而且要加夜班,但过了一定的天数后就可以重归自由。这并不是一种生活和工作的好状态,但有时的确难以避免。

我们可以很长一段时间在高压力下工作,但终将有一段时间会感到疲倦。当有这种感觉时,你一定要认识到并且尊重它。你的身体告诉你应该关闭大脑,休息一会儿。当然,你可以暂时无视身体的信号,但最终会导致疾病,萎靡不振,甚至死亡。在日本,对此甚至有一个专门的术语,即“过劳死”。

在寺院中,同样有很多繁重的工作在等着你。但这是一种不同的、比较有条不紊的工作。当然,你起床很早,但你不需要从早上6点到晚上10点在繁忙和紧张的环境下工作。僧人吃饭、打坐甚至去洗手间时,都很专注。管理者通常有一个商务午餐,有时睡觉时进行powerlearning[10],并且直接从洗手间回复手机短信。失调的人有时会忽视自己的身体,即使它表现出神经性皮炎、耳鸣或持续的头痛。

正念是指你意识到自己的欲望和情绪,认识自己的身体和心灵,这非常有助于保持好的心态。

我们的头脑很容易分神。有时我们去工作,带上电脑,希望能快速有效地工作,早点离开办公室回家。然而,传来科技界最新消息的第一封电子邮件通常足以改变我们的计划。然后是即时通信软件,每日一杯的咖啡,与一个同事的愉快聊天。上午10点,你终于可以开始工作,但是你开始做白日梦,想着附近的海滩。最终,你要在办公室一直待到晚上8点才能赶完工作。

佛教的正定实际上不是指专心工作。它是指冥想。在冥想时,你主要专注于自己的呼吸。资深学员甚至不需要专注于呼吸。武术及其他日本技艺几乎都是关于呼吸和气的。当你练习冥想时,正定会不期而至,有时一整天都是如此。这将帮助你集中精力,让你放松,感到安宁。在生命中每一种情境下保持头脑冷静的状态,这是许多人的目标。

有了正定,你就可以更好地设定事务的优先次序。你可以将新闻邮件从头脑中移走,甚至可以等到明天再处理。即时消息在等待一个即时响应时似乎在不断地敲击你的脑袋。但我们不是机器。作为程序员,我们有一个宝贵的资产:专注力。我们不能让它失去控制。人们需要等你有空时再应答即时消息。

正定可以帮助你高效地完成工作,享受理所应得的海滩之夜。即使在海滩上正定也是有益的,你应该享受海滩,不应该让工作分散注意力。躺在海滩上也可以是很好的禅修。

对我来说,冥想练习非常重要。老实说,它救了我。在我感到倦怠时,它使我重新脚踏实地。泽木兴道大师比我更幸福,他一文不名,却仍然非常努力地工作。他有一个非凡的人生,强调冥想(打坐)对其一生都非常重要。

我因为泽木兴道禅师而开始认真进行冥想练习。我并不确定我能从中得到什么。我开始修习只是因为这也许是我能做的最好的事情。期望从冥想修习中得到任何东西都是错误的,尽管去做就是了。

利用冥想训练正定。虽然这看起来很有趣,其实是很辛苦的。尤其是,如果你去一个静居处,与其他修习者成排打坐,进行连续三天的冥想练习,你就会发现是多么累。通过冥想,你会排出思维垃圾,重返大地。你退出日常事务。它让你远离“作为员工的你”,将你带到“作为人的你”。许多高管练习冥想,猜猜为什么?

[6]先生就像是老师。你可以在“弟子与师傅”一节了解到更多的内容。

[7]在远古时代,佛陀的追随者被称为比丘,现在差不多可以将其理解为“和尚”。

[8] A. B.米特福德于1871年写下了这个故事。他的这本优秀著作仍然在出版,可以在谷歌图书中找到它。

[9]武士道是日本武士生存之道。它意味着遵守某些严格的道德准则。

[10]件,第二天起床你会感觉似乎学到了一些东西。我从未尝试过,不知道它是否奏效。

 

禅是个严肃的东西,它可以改变你的人生观。不过只有你自己想要改变时,它才起作用。我将肯自律、务实、脚踏实地的程序员称作“禅宗程序员”。我相信,即使世界颠倒了,他们仍然友好、可靠。这与他们的宗教信仰基本无关,而是事关其行事作风。本书的目的正是帮助你达成此目标。

改变思维方式不是一项简单的工作,需要终生学习。我本人也仍然在修习,距离说“目标达成”差很远。要是你始终在思考目标,你就迷失了方向,要将目标看作修行道路的一部分。你偶尔会迷路,终归你将回到正途。不要试图做一个完美的流浪者。请努力跟随内心的方向,但不必期望过多。

回到标题:为什么要进行禅修编程?如果你正有此疑问,本章就来让你明白出了什么问题,为什么你应追求改变。

 

是什么让项目变糟?何时起我们下班回家时开始盘算:“见鬼,我得离开”?下面是我们程序员不时要面对的一个问题清单,这些问题让我们筋疲力尽。而通常我们又躲不掉,不得不设法去应付。

如果你不幸处在一个错误的团队中,问题则免不了。大家也许都还不错,但是当其中某人因为钱的事情不高兴,或者对琐碎的任务感到厌烦时,他就可能破坏团队的气氛。其他人可能只顾着自己的事业,这使得他们变成了糟糕的团队伙伴。某人会认为自己是在帮助这些人实现他们自己的事业目标。如果一个团队成员的知识太少,也可能出现不友好的情况。如果你从事的工作与你的技能不配,或者没有人能够帮你迈出第一步的话,你也可能陷入麻烦。

团队需要和谐。如果你有幸身处“分享同一个梦想”的团队,一切都很美妙。如果你是由无聊或自负之人组成的团队的一员,你可能会经历一段非常艰难的时光。

一些项目需求读起来简直是科幻小说,抽象,一点都不现实。有想象力当然很好,但想象力必须适应团队。如果项目团队中有许多应届毕业生,你不太可能在第一版就创建出基于云的最佳电子表格。

有些客户往往以为软件需求一句话就可以说清楚:“该产品必须像社交网站X,只是有一点儿不同。”“事情不会太难,有公司已经提供了免费版。”“这只是一个留言板罢了。”这些需求最终导致极大的不满。客户从未获得自己满意的产品,开发者也根本没法儿满足客户,而且觉得自己难以胜任工作。

不清晰的需求导致了外行的期望,不仅如此,有时人们似乎把程序员当成了超人。

当你刚接手一个项目时,根本不可能成功调试有着100 000行代码的程序。无论是不是产品问题,程序员都需要时间先读懂代码,然后才可能修复它。

像“这只是一个按钮罢了”或者“老手程序员五分钟就搞定了”这样的话根本无济于事。除此之外,“五分钟的修复”也许正是需要修复的根本原因。

一些时候,超越身体极限,尽量把活干完是必要的。假设产品中存在一个根本性的软件故障,我们要尽力救援。这往往需要额外加班,工作到半夜甚至更晚。

软件的问题是如此关键,以至程序员往往被期望熬夜处理,直到问题解决。我们中最好的程序员曾被发现在咖啡机下方昏昏睡去,虽然他奋不顾身地想保持清醒,但最终失败了。在一些人的心目中,在咖啡机下睡觉显示了程序员对项目的认真。

虽然这样的生活有时很有趣,但长此以往会导致严重的问题。如果你的这种行为“修复”了事实上是管理不善的问题,那就更糟了。当需求变化时,或者由于公司政治致使项目管理者承诺了一个最后期限时,你就会遭受非常令人沮丧的经历:有家不能归,有床不能睡。

程序存在软件缺陷,这很正常,无法完全避免。心理学家发现人们可以很容易地同时思考三件事。但如果数量超过三个,大多数人的思维都会出现问题。然而作为一名程序员,我们必须同时记得更多事情。

通常在程序员的周围有很多干扰,比如:

一个程序员受到的干扰越多,编写出缺陷代码的可能性就越大。让一些分心的事可以保持在最低限度,以免他人受到影响。例如家庭生活,这是我们生命的重要一面,虽然有时它也相当无情。

无论谁在评估项目的预算,都需要安排一些额外时间考虑到程序员的非工作生活。不能仅根据项目成员的工作经验来计算预算额度,需要考虑他们的现状。为了正确地估算,你需要知道有人家里是否有个怀孕的妻子,大家是否都健康,或者是否已从之前疲惫的项目中恢复了元气。

忽视生活就意味着忽视风险或机会。

给一个精力充沛的人布置大量无聊的任务,意味着你错过了一个机会。而给一个家庭出现变故的人布置高度复杂的任务,则会增加风险。

如果程序员意识到自己的生活长期被忽视,这会使他感到沮丧和疲惫。

威胁无疑不是一个好的激励策略,但仍然被广泛使用。“如果你不能熬夜加班,就不配当一名程序员,而应该去做一个园丁。”我的一名同事曾这样说过。

威胁会引起恐惧。除了黑暗外,害怕失去生存的基础也是人类最强烈的恐惧之一。

要是某人遭遇一阵威胁后,不得不在恐惧中工作,那他绝对是“职业倦怠”症的最佳人选。

项目经理走入房间,扔下新的需求,然后走人:这就是“直升机式管理”方式常见的场景。如同直升机着陆、扬尘并再次起飞。有些人精于此道。他们的大多数需求未经过深思熟虑,而且在项目实施的过程中毫无预警就改变了需求。

当需求不明确时,就会失去目标,任务永远无法结束。每一次会议都显得荒谬,所有讨论结果都是废话。最后,整个项目都被质疑,自己每天做的事情的意义也会受到怀疑。

在现代社会中,如果你不能决定像僧人那样生活,你就需要金钱维持生存。

在某些场合下,公司——嗯,我们还是说公司的管理层吧——他们会竭力从项目中榨取每一分钱,对雇员看都不看一眼。

2012年,富士康中国公司(它是苹果公司的合作伙伴)发生了一系列抗议运动。工人要求改善工作条件。

在西方国家,你可能被迫一直住最廉价的酒店,坐最廉价的交通工具,而且使用最廉价的办公设备,即使你负责的项目非常成功,为公司带来的利润丰厚。

节省本该花在员工身上的钱,从而证明公司的盈利能力是多么强,可能是管理层犯下的最糟糕的错误。我见过很多人因此而离开公司。

对于那些让程序员沮丧的事情,我可以写一整本书,在本章我们就已经看了其中一些。

这里有一些更多的成见,你也许听说过。

比如,伟大的程序员

这个成见清单可以说是无穷无尽的。我们无法教育人们停止相信诸如此类的故事。即使是专家也无法做到。相反,我们需要基于日常准则保护自己免受成见的干扰。

 

在写作本书时,“职业倦怠”(burn out)综合症在德国是经常讨论的话题。从根本上说,它描述了因劳累、疲倦或类似的原因导致的某种类型的崩溃。如果你有过同样的经历,就知道这种疲惫程度是健康人无法想象的。它会导致抑郁症,极端情况下会导致自杀。诊断这种疾病不容易,正因为如此,一些人认为根本不存在“职业倦怠”综合症。

有些人说,那些抱怨崩溃的只是些是懒人,他们肯定不是生病。这些人将它与自己很多年前的经历进行比较,惊讶地发现,自己以前也是这样工作,但从未听说过什么职业倦怠症。

另外一些人之所以感到疲惫,确实只是需要休假。在经过一段时间的紧张工作后,这些人将疲劳称作职业倦怠。有时候,他们仅仅是因为太累了,连出去喝啤酒都懒得去。

但有些人我认为确实患了职业倦怠症。如果你是这个群体中的一员,很可能已经没有任何精力或时间来讨论自己的问题,更会去担心如何度过每一天。有一些人终于努力摆脱了这种痛苦煎熬,将那份经历写成书。可以想象,必然是段可怕的经历。

在前面我们看到,对职业倦怠症的诊断是困难的。医务人员怎么能够区分一般的疲惫和职业倦怠症呢?既然后者被认为是一种心理疾病,如何将其同其他疾病区分开?职业倦怠症未必一定会表现出抑郁行为或其他症状,甚至当一个人努力工作时也可能患上上述症状了。事实上,的确很难诊断一个人是否患上了职业倦怠症。如果某种病是由细菌引起的,这可以确诊,但像这样的心理疾病?这就是为什么职业倦怠症不为很多人相信的原因。在日常谈话中误用该术语也许是另一个原因。

我还乐意提到DSM-V,即由美国精神病协会(APA)出版的《精神疾病诊断与统计手册》。它基本上是一个分类系统,用于诊断ADHD或暴饮暴食之类的症状。值得注意的是,职业倦怠症仍然没有定论。换句话说,尚不存在识别职业倦怠症的标准方法。

虽然我不是专家,但你可能想知道我坚信职业倦怠症是一种既存疾病的理由。我之所以持有这种观点,是因为在工作之余我开始研究心理学,并且对心理学的一般工作机制感兴趣。关于这个主题的文献有很多,其中一些属于科学层面的论述,如果希望了解更多的知识,你应该阅读那些书籍。

职业倦怠并不局限于高层管理人员,每个人都可能患上。有一个案例记录,一个牧羊人放牧二十年患上了职业倦怠症。虽然患上的是职业倦怠症,但报刊杂志常称之为“疲劳综合症”。

作为一名软件程序员,存在很多致病因素,其中很多与之前提到的有联系。

马蒂亚斯·布里奇是一位德国科学家,他写了一本关于职业倦怠症的伟大的著作(Burisch,2006)。他在德国家喻户晓,其研究表明,职业倦怠根源于错乱的工作时间、即刻的工作搞定、紧迫的任务期限,还有竞争。程序员对这些都非常熟悉,但实际上,布里奇几乎研究了所有职业群体。

他还提到,有人在令人疲倦的环境中工作,但并没有遭受职业倦怠症的困扰。例如,与在其他地方工作的护士相比,在重症监护病房工作的护士反倒更不容易患上职业倦怠症。为何有此差别?

布里奇推断,职业倦怠是一种结合了多种因素的复杂的综合症。不是每一个紧张的环境都必然会导致职业倦怠。而且每个人应对处境的方式不同。在同一环境下,一个程序员可能遭受职业倦怠症,但另一个程序员却可以应付而不出现任何严重的问题。在这种情况下,第二个程序员可能会认为第一个程序员不够坚强。这是一个错误的结论,因为它可能是多种因素交织而导致的问题。除了所面临的一般问题,第一个程序员也许还承受着别的社会压力。

根据布里奇的研究,以下因素可能会导致职业倦怠症。

这些在前面已有体现,这里就不再赘述了。

忽视时代变迁,往往是IT管理者在讨论职业倦怠症时的常见反应。有人说:“在我年轻的时候,我也工作这么长时间。”另一些人说:“他们只是懒惰罢了。”在德国,一些IT管理者指出其他国家没有人患这种疾病,因此职业倦怠症一定是虚构的。

在职业倦怠症方面,真能将X国与Z国进行比较吗?德国有一个庞大的医疗保健系统,每个人都能获得足够的食物和水。一个最大的问题不过是气候逐年变糟罢了。在非洲则是另一种情形。那里到处是饥饿,缺乏工作机会,甚至无法保证洁净饮水的供应。要是一个人还在为饮水发愁,可能就不会在意职业倦怠症这样的问题了。

几年前,有一家德国报纸头条报道:“日本已经倦怠了吗?”作者提到,越来越多的日本人感到职业倦怠。我的判断是,具有较高工业化标准的富裕国家有更多的时间和资源来对付这种疾病,包括识别它们。这并不意味在其他国家不存在这种疾病。我坚信德国也有。

德国Focus杂志发行量很大,覆盖受众广泛。该杂志发表了一些有趣的统计数据(Gebert,2010)。1993年,大约30%的伤残的致因是肌肉骨骼疾病。到了2008年,这个因素下降到15%。相反,心理疾病因素则上升到35.6%。这些数字表明,二十多年来,我们的工作性质已经发生了很大的变化。在这篇文章中,一位心理学家解释,我们的工作结构变得远比过去复杂,但并非每个人都能适应这些工作。

二十年前,智能手机等一些数码产品还未出现,现在,这些玩具耗费了我们大量的业余时间。程序员总是被希望熬夜学习新东西,跟上时代要求。我们需要学习不同的操作系统,不同的社交媒体工具,阅读编程书籍。除了这些,一星期至少需要工作四十小时。大脑中的信息将我们淹没,使我们无法得到休息。

报纸还报道过许多连环自杀(Kläsgen,2010; BBC,2012)。在法国电信,2008年和2009年有超过三十起自杀案例被记录,平均每个月至少有一例。我们能够看到这个统计数据的简单原因是,在法国自杀被算作工伤事故,而在德国并非如此,所以德国这方面的数据无人知晓。

DAK的《汉堡卫生报告》提供了更多的数据(DAK,2010)。DAK是一家德国健康保险机构。数据表明,心理疾病是目前休病假的第三大原因。每个病人平均休病假25天左右。约7%的汉堡市民因心理疾病年休约五周病假。

2012年的年度压力报告也不乐观(Lohmann-Haislah,2012)。自2006以来,雇员最大的心理问题包括多任务处理(58%)、过于紧迫的期限(52%)和频繁重复的任务(50%)。超过44%的员工表示自己经历过不间断的干扰。

工作与生活要平衡,这不仅仅是说说而已。你需要保持健康,当你是一个团队的领导者时,还要对团队负责。病假会让你损失大量的金钱和时间。

如果有以下状况出现,你就应该小心了!

这个列表被称为职业倦怠的五个阶段。要是你听说某位同事突然不踢足球了,或者再也不出门,你应该为他担心了。

 

我们可以尝试交流想法,但如何确定对方理解我们想要表达的东西?

所谓的“理解”,与当时的语境和生活环境紧密不可分。此外,我们的思维本身也不同。这使我们不可能像交流电子邮件那样交流思想,用编程术语说,没有共同的数据格式。当我说“苹果”时,我脑海中的形象不会和你脑海里的一样。甚至当我自己把它画出来时,它也不会像我最初想像的那样。退一步说,即使我能做到这一点,对同一个图像的感受你我也不会相同。这是因为感受还与情境和你自己的经历有关。

这些都表明,没有人会与你或我相同。我们可以努力表达,但没有人能够精确地明白。这就是我们独自生存的原因。世界是孤单的。

我们将独自死去。你或许有很多朋友,也可能是个富人,但归根结底你最终将独自死去。在这件事上,没有人可以陪你。没有人可以与你交换。

最终,死亡时刻来临,我们离开,但没有人一起。你将独自上路。

生命中唯一不变的就是一直在变。一切都随时间流动,如溪水潺潺流淌。子在川上曰,逝者如斯夫。但这没有理由悲伤。如果理解这一点,我们也就可以理解生命的独立性。我们不能为别人而活。这是我们自己的生命,无法交换,不能分享。

不管发生了什么,那都是你的生命。

——泽木兴道(Sawaki,2008)

一旦明白这个道理,就可以自由地去生活,心无挂碍,拒绝悲伤。要是我们遭受意外,失去了一条胳膊或腿,生活可能会陷入麻烦。但这就是生命,必须面对。即使没有腿,我们仍然可以拥有美好的生命。一切只在于从不同角度看待问题。

当我们得到一份工作却为它受尽苦头时,这也是生活。没有理由去停止,陷入悲伤和绝望中。禅修能够让我们看清事物的真相,明心见性。如此,我们便可以心平气和地,接受生活中发生的一切。

 

在一个飘雨的清晨,我坐在书桌前,思考如何进行高效率工作的问题。在成为自由职业者之前,我一度拼命工作而结果却令人闷郁。自2006年起,我开始参禅。过了许久,我终于明白,千百年前的禅师就已知道今天的程序员该如何工作。从那时起——尽管我并不喜欢“如何成为一名更好的程序员”之类的帖子,我便希望能够总结一下个人参禅心得。它可以让我保持清醒。如果你对这篇文章有什么看法,欢迎随评。

 

禅修程序员一旦开始工作,就应该全力以赴,做到最好。请不要同时展开多项工作。一次仅做一事就好。一心多用不会让效率更高,只会使你应接不暇。超负荷工作会让人疲惫不堪、容易出错,而且在不同的工作之间频繁切换也会浪费时间。这是条通用的建议,不仅仅适用于编程工作。

泽木兴道禅师教诲:若需睡觉,尽管睡。当决定休息的时候,不要再去想软件的事,尽管睡觉。要是打算编程,就尽管去编,不要再做白日梦,专注它。一旦你疲倦不堪而无法编程,你就需要睡觉了。即使是以一心多用出名的Stephan Uhrenbacher,也会决定进行单线程式的工作。我有和Setphan类似的体会,于是自己写了一个时间跟踪工具——Time & Bill。我的目标是方便地跟踪时间消耗,包括像打电话这样的小事。现在,每日伊始我会创建几个秒表,鼠标一点就可以跟踪时间的使用。起初惨不忍睹,有时我在一项工作上只花了几分钟就转到另一项工作上。现在我做得好多了。与番茄工作法类似,我计划了几个时段,努力保持专注,其间不闲聊,不睡觉,不去查看AppStore上好玩的新游戏。

 

在动手编程之前,你需要清空头脑,摒弃一切杂念。如果你有什么麻烦事,不要让它影响你。在大多数情况下,烦恼会自行消失。如果杂念太多,无法驱除,就暂且不要工作。一定努力清除它们。而你一旦开始工作,请暂且忘记身外的世界。

邮件列表中有令人兴奋的内容?别管它,你可以晚些时候再兴奋。关掉所有会占据你头脑的垃圾程序:推特、脸书和电邮。你甚至应该将手机设为静音并放进口袋里。或许你会说这条规则类似于第1条“专注”,然而这条中还应有一个限制:在工作前或午餐时不要使用这些工具。这些东东把你连接到花花世界,带来新的烦恼或耗精力玩意儿。

设想一下,当清晨醒来时,通常你的头脑会很清醒。如果不然,可以做些运动(我喜欢长跑)。等你感到神清气爽了,请尽所能立马开展工作。工作结束后,你才可以去想那些乱七八糟的东西。当历经繁忙而充实的一个工作日后,你会发现原来那些东西其实并非多么有趣。推特、脸书之类会消耗我们大量的精力,别以为只要分把钟,绝非如此。

你懂的!

 

别忘了自己还是初学者的那些日子。或者如果你目前就是个初学者,请坚守这份新人情怀。你所学到的远远不够。如果你已经是个专家了,不妨每天也把自己当成初学者。坚持以初学者的心态来对待技术问题,这样你就能更容易去接受那些让软件更好的修改,不落俗套。即使那些经历不如你的人也可能会提出一些好主意。有哪一个软件的两次构建方法会完全相同呢?即使你去复制(仿制)软件,建构过程也不会完全相同。

 

一些程序员存在的大问题是:过于自我。但其实,我们没有时间过于自我,没有时间成为一个摇滚明星。

谁能决定你的编程水平呢?你自己?不是。别人?可能吧。你可以拿苹果跟香蕉比吗?不能。你是个个体。你无法将整个自己与他人去比较,只能说某些方面的比较。

有个技能有啥可自豪的?你擅长Java?酷,别人是不如你,但他擅长打保龄球,你行吗?Java比保龄球更重要吗?恐怕要视具体情况而定。你可能因为Java赚得多一些,但别人可能从生活中获得了更多的乐趣,因为他有一群保龄球友。

你真的对自己是个极客感到自豪吗?过于自我的程序员容易固步自封。请保持谦虚,向他人学习,不管他是个老手,还是菜鸟。

泽木兴道禅师教诲:“你并不重要。”

自己想想。

 

如果你总是想得到些什么以至于忽略了当下的生活,你已经输了。对于工作,全力以赴即可,别去管将来很长一段时间后才可能达成的目标。

难道拼命工作20年,就是为了成为公司股东?为什么不能因为乐趣而勤奋工作呢?如果真心喜欢,即使辛苦也会乐在其中。“一日不作,一日不食”,禅宗如是说。

没有必要等到20年后再去寻找快乐。即使不是公司股东,即使没有保时捷跑车,现在的你也能拥有快乐。天有不测风云,你可能突然大病一场,可能被解雇,也可能会面临油尽灯枯(如果你遵循了所有这些忠告,我猜这种可能性会大大降低)。

除非这些不好的事情发生,否则只管尽力去工作,并乐在其中。没有理由去和同事攀比收入,也没有理由对未得到的高薪职位耿耿于怀。

毕竟,所得终将会来。你将收获美好的回忆,或许还有个好职位——以及那精彩的20年。每一天都是美好的。

如果某天你认为在公司工作已毫无乐趣可言,请果断离开。千万不要待在夺走你生活之乐的公司。当然,这要在发达国家才现实,因为这里的人完全可以自由跳槽。如果你正生活在这样的优越环境中,果断下决心吧。尽管离开,无怨无悔。时间不可轻易浪费——生命无常,或许明天它就会消逝。

如果你没有设定职业目标,转身离开将会容易很多。

 

如果没有什么要说的,就不要去浪费同事的时间。这样做并不会让你看上去懦弱无能。在每天的工作中,尽量不要去无端惹人心烦。试想一下,要是每个人都努力做到,那将是一个多么好的工作环境啊?虽然有时这是不可能的,但请努力做到,你会喜欢的。

如果你不过于自我,就很容易做到谨言,只关注当讲之事。不要把你的“个人经验”变成了“自负”。永远记住:你是一位初学者。如果他人有好主意,请保持随喜心。

 

是的,你正在工作。但与此同时,你也在呼吸,在生活。即使工作再忙再累,也要倾听身体发出的信号。你要知道哪些东西对你是有好处的,所有的,包括像食物等生活必需品。要关心自己及周围环境中一切,毕竟,你所喝之水就来自于周边这条河流。记住,你是为自己而生的——一个人生来,也将一个人死去。即使没有你,地球依旧转动。

请避免在你不喜欢的那种环境下工作。如果某类无偿工作已经让你毫无乐趣可言,而且又剥夺了你的睡眠时间,那就拒绝它。放下所有那些让你不快乐的事情。你以为无偿工作只停留在理想中吗?想一想那些在空闲时间编写开源软件的人。要是你曾订阅过某个开源项目的邮件列表,你就会知道那儿有多少激烈争论(至少有时如此)。如果你觉得它没有什么乐趣,就不要再做了。我认识不少人,他们在自己不喜欢的开源环境中依旧贡献着。利用Time & Bill软件,我再次跟踪了自己在开源项目上花的时间,结果真是令人惊讶。我在那儿浪费了大量的时间,尤其是在许多自己不太喜欢的项目上。

鉴于此,有些人认为只有当有空闲时间,晚上有Xbox玩、有啤酒喝才会快乐。偶尔为之这尚且算是个好主意,但未必在人生的每时每刻这都算是“乐趣”。如果你能避免不喜欢的环境,请避开它们。话说回来,有时我们确实需要做一些无趣的事。例如,手工将经理给的Excel电子表格数据复制/粘贴到phpMyAdmin中。这可能要花上几天,而且无聊至极。这种事没有乐趣可言,但有时你确实需要去做。你总不能因为被分配一个乏味的任务就辞职。禅僧也不羞于他们的工作。他们凌晨3点起床(有时早一些,有时晚一些,取决于僧院),然后即开始静坐和劳动(他们甚至将劳作当作禅修的一部分)。或者清扫厕所,或者料理菜园。如果是一名火头僧,还要做饭。无论做什么,他们都一心一意。没有痛苦,乐在其中。对他们而言,每一秒都是生命中宝贵的一刻,逝去即永不再回,即便是在扫厕所时。

换言之:停止抱怨,如果你需要复制/粘贴Excel,做就是了。无须为这样的事情心神不宁,一切都会过去,就让自己成为最好的Excel复制/粘贴者吧。

要是你在工作中心脏病发作,有人也许会说:“是的,他真是一个勤劳的员工,甚至在晚上为我免费加班”。没有人可以指引你去另一个世界,最后一步是由我们自己走的。你无法拿这个世界中的任何东西与另一个世界进行交换。在生命中的每一秒你都要多多保重。如果你死了,人也就没了,一切成空。但如果你还活着,你就是活生生的一个人。没有时间可以浪费。

在禅宗中,“观照”是一个重要的词汇,并且我认为在各种佛教宗派中都是如此。我无法用言语来表达这个词所要表达的一切内容。要理解“观照”的方方面面含义是很难的。也许用“觉察”这个词更好把握一些。每时每刻,你都要觉察自己的所作所为。在你的一生中必须保持正念,否则就是在浪费时间。当然,究竟该怎么做,完全取决于你自己。勉力为之。

 

是的,某人付你薪水,告诉你需要做什么。而且他还可以解雇你。但这都不是你放弃自己的生活,成为工作狂的理由。总之,老板对你没有控制权。你甚至也可以怀疑你对自己有无控制权——打住,不要走火入魔。

回到谈老板。如果你一味纵容的话,老板可以让你的生活变得老糟糕。但是有一个解决办法。如果他要你做一些恶心或有违个人道德底线的事情,你大可说“不”。这会有什么后果?最坏的结果无非是被他开除。那又如何?如果你生在发达国家,如果你是一个程序员(要是你正在阅读这些文字,你大概跑不了),你会找到另一份工作。

我并非说对将CSV数据转换为HTML格式之类的任务说“不”。我指的是,一周工作80小时,导致你精神崩溃;你的孩子需要你的照料时;或者仅仅因为老板不喜欢谁就要你开掉他;又或者身为一名咨询师,却受雇为核电厂或坦克开发软件(有些人可能会说为核电企业工作好极了,但这违背了我的道德底线,这里只是举例而已),等等这些,你大可以说“不”。

 

程序员不止是一个程序员。你应该尝试一些跟计算机无关的事情。在你的闲余时间,可以扬帆出海,去钓鱼或潜水,或者静坐冥想,练练武术,吹吹尺八。不管你做什么,都要尽情尽意,就像在工作时间那般投入。认真去做。爱好不仅仅是爱好,它也展示了你究竟是怎样的一个人。不要被任何说爱好不重要的人蒙骗。现在我们有能力拥有爱好。我已经录制多张CD,还写了几本科幻小说(后者尚未出版,我还得多加练习)。这些事情塑造了今天的我,并最终导致我参禅,写成本书。近来我时常练习禅宗尺八,它在我日常生活中占据重要的地位。

 

花朵再美也不过是一朵花而已,并无特别之处。而你,是一名程序员,也许很优秀,那也没什么特别的。你、我以及生活在这个星球上的其他人,都没什么两样。

你需要吃喝拉撒。当然,你还需要睡觉。很久以后你终究难免一死,你拥有的一切全都会失去。很久以后,甚至金字塔都会消失。你知道建造金字塔的人们的名字吗?好吧,就算你知道,但这很重要吗?一点都不。金字塔伫立在那儿,或者不伫立在那儿,有什么特别的呢?

这同样适用于你的软件。银行用你开发的软件赚钱,当你离开后,没有人会再记得你。这本来也没什么错,只不过时间流逝,逝者如斯矣。不应该对此感到烦恼。如果你遵循了上面的9条规则,就会明白:那个优秀、有趣的项目已经过去了。现在,是时候继续前行专注他事了。

公司因为财务问题关闭了,没什么大不了的,生活仍将继续。Xbox、汽车等并非不可或缺。这个星球上的大多数人还很贫困,他们不关心Xbox,得到食物甚至只是饮水都会让他们快乐不已。

那么,为什么你是特别的?因为你命好出生在一个发达国家?因为你可以编写代码?不,没有什么特别之处。请放弃“我执”,自由自在地生活,享受花儿的美色和馨香。当冬天来临时,不必伤心难过;等春天回归,亦不必欣喜若狂。不过乃四季交替,顺其自然就好。请记住这一点,尤其在有人拒绝你的求职申请时。没有哪家公司是如此特别,值得你非要得到它的青睐。

 

相关图书

ChatGPT与AIGC生产力工具实践 智慧共生
ChatGPT与AIGC生产力工具实践 智慧共生
专利写作:从创意到变现
专利写作:从创意到变现
产品经理方法论——构建完整的产品知识体系(第2版)
产品经理方法论——构建完整的产品知识体系(第2版)
程序员的README
程序员的README
架构思维:从程序员到CTO
架构思维:从程序员到CTO
开发者关系实践指南
开发者关系实践指南

相关文章

相关课程