为什么程序员工位上总会摆着小黄鸭?
经授权转载自:beebee星球
ID:beebeesub
程序员桌子上摆上一个甚至一堆小黄鸭,你可能见过,但你一定会忽视。
你谈论着程序员的秃头、365全季工服,以及和乙方般被动的恋爱态势,但你从未真正关心过他们。
牧师需要光明,船长需要罗盘,程序员需要鸭子。圣克拉拉县山景市的Google极客和布达佩斯居民楼里的洋葱网络流氓,桌上都会出现鸭子。
这是一种心照不宣的程序员文化。
尽管早已过了与鸭共浴的年纪,但小黄鸭依然成为了他们工作中不可或缺的伴侣。
小黄鸭的身影出现在有程序员出没的任何可能的地点。
在旧金山南湾和洛杉矶西区的流媒体创业公司,与在卢旺达临时板房搭建电子商务平台的技术极客,他们身边的黄鸭没有区别。
只要是程序员的办公驻地,就可以寻觅到小黄鸭的踪迹。
如果没有,那只能说明程序员文化还停留在coder coding code的阶段。
或许与许多人的想象不同,对于现实中的程序员来说,在很多时候写代码牛逼并不是能力的全部,十足耐心调试代码才是常态。
打个简单的比方,怀上只需一晚上,但孕育则需要十个月。
而调试这一过程,在程序员的工作中占据高达50%~75%的时间。
根据数据记录分析公司Coralogix的统计,平均来说程序员产出每1000行代码,就会出现70个bug,而修复bug所花的时间比重新编写一行代码要长30倍。
这让许多程序员意识到,自己在排除bug所花费的精力,往往是抽干自己所剩不多精力的重要指标。
你花费一天时间编写出几千行代码,却看到编译结果Unexpected token ILLEGAL,接着要浪费数天的时间穷举案例、排查纠错,然后又继续重复这个过程。
你觉得自己就是推巨石上山的西西弗斯。
直到把前几千行代码都改过后,才发现自己是把倒数第五行的分号误写成了中文格式,这种感觉会让人想把大脑从耳朵揪出来,然后叫一个女巫用冰冷的邪舌把脑沟舔一遍再塞回去。
代码和bug如影随形,是这世上不可协调的矛盾之一。
人永远无法像机器一样严谨,而机器也不具有人类的跳跃思维、联想能力。
那会不会存在某种方法,可以让人机之间的沟通达成协调?
答案就是小黄鸭调试法。
做法十分简单,放空你那塞满问号的浆糊大脑,将小黄鸭放到显示器与你之间。
然后对着可爱的小黄鸭,把它当做最好的朋友,当做一个代码白痴。
对它不留遗漏地解释代码,遍历代码的所有行,并讲得尽可能清晰。
如果你足够投入扮演讲师的角色,或许在你从未想象过的极短时间内,就会得到答案。
“从前程序员要用直尺和C语言手册排查,有时候还要用锤子辅助,在服务器上贴东方经文加持庇护。”
“现在我们只需要一只小黄鸭。”
该方法最早被记录在程序员圣经《The Pragmatic Programmer》,这本书旨在帮助初出茅庐的程序员将技术职业规范化。
中文译名:程序员修炼之道
事实上,这种做法在教育心理学领域被称为费曼学习法,其重点就是将所学知识传授给他人。
由于需要精确复述你的想法,你将不得不关注此前认为理所当然的一切,从而引发思考、加深理解。
正如班里学习最好的同学从不吝啬给他人讲题一样,他们的收获远比你想象的要多。
尽管古早的技术大牛们未曾理解其背后的原理,但却务实的将其口口相传。
如果github的北极代码库有人类仓位,那它的入场券一定是小黄鸭的样子。
直到现在,这种原本作为洗浴伴侣的单品已经进驻大多数码农的办公桌,和hhkb键盘一样意义非凡。
你可以在购物平台的小黄鸭评论下,看到全球程序员对小黄鸭的大力赞赏。
也会看到初入此道者对其伴侣的甄选。
很多编程培训机构也把小黄鸭当作入学礼,点亮码农职业生涯的明灯,同时也保住了他们珍贵的秀发。
当全组人都在为赶项目而争分夺秒时,你绝不希望自己拖进度,成为领导眼中的累赘。
无论你是在BAT搬砖,还是在FAG打工,都不可能一遇到BUG就去找隔壁工位的战友,因为他可能也在用最后的那滴精血在debug。
而你又不可能在深夜加班时,打电话给父母或者伴侣,从底层讲起代码。
想象一下,如果你的伴侣或好友,在深更半夜打来电话对着你讲94年Intel CPU浮点运算的传奇bug,与一个从未见过的错误状态码时,你会不会想挂断电话?
程序员在敲代码的路上总是孤独的。
码农的生活中多半时间是与机器打交道,和自己做抗争。
而这时候,小黄鸭的优点体现得淋漓尽致。
对小黄鸭梳理思路不会耽误其他人,也不会在人群中引起注意,毕竟搞创造力工作的人自言自语不算新鲜事。
作为倾诉对象,小黄鸭绝对是最佳人选。
当你从头到尾讲述自己的代码架构与指针设计后,无须经人指点就能够找到通往救赎之路的金钥匙。
当然橡皮鸭不一定要实体,也可以是以数字的形式存在。
例如网站Duckie(即鸭),通过在线键入内容,为困恼的程序员捧哏。
它好像听懂了机器人三大定律
甚至于,小黄鸭调试法不用小黄鸭来操作,只要你愿意,你可以在工位上对着一堆迪克倾诉。
如果童心未泯,你也可以在工位上摆上一个大号的娃娃来倾吐衷肠诉解烦忧。
但前提是,你已经找好了下一份工作。
END