不时会听见网上的朋友或身边的同事谈及“瓶颈”、“天花板”问题,特别是 30 岁左右的朋友最担心。今天拜读了 Eric Raymond 的 How To Become A Hacker(中文翻译),此文中的 hacker 可以简单理解为“编程高手”、“技术牛人”,里面的建议很好的回答了“如何突破技能瓶颈”:
1. The world is full of fascinating problems waiting to be solved.
世界充满待解决的迷人问题。
如果想成为 hacker, 如果想突破瓶颈,首先得对所专注的领域保持兴趣。需要培养敏感,保持好奇的眼睛,不断去探寻和尝试解决新问题。一时的兴趣容易,难的是 10 年甚至一辈子对某领域的兴趣。要努力尝试管理欲望。倘若做不到这一点,同时又很想成为 hacker, 那么必须得做出改变。否则你的 hacker 生涯只会被性欲、金钱及现有社会的既定价值观所消耗,一点一滴地消耗掉。
努力是自发的,但欲望是可管理的。想成为 hacker, 需要有强烈的信念,相信纵使暂不能解决整个问题,但只要能解决其中一部份,就能从中学习,解决另外的一部份 —— 直至解决整个问题。
2. No problem should ever have to be solved twice.
任何问题都不应该被解决两次。
这是一条看起来容易做起来非常难的“信条”。解决问题之后,要学会总结、记录和分享。作为一名 hacker, 时间非常宝贵。懂得记录和分享,能够减少重复解决同类问题的时间,亦能帮助其他 hacker 快速获取有价值的信息。要懂得,你在帮助他人,他人也在帮助你。Google 是 hackers 之间最好的聊天工具。
任何问题都不应该被解决两次,任何代码也得尽量避免重复,任何会议要争取当堂有结论,任何交流要力求及时有效。这是 hacker 的生活态度。包括做爱,要想办法每次带给对方不同的享受。
3. Boredom and drudgery are evil.
单调乏味是恶魔。
这一点是对第 2 点的补充和强调。当有些问题不得不重复去做去解决时,得想尽办法“自动化”。
当然,hacker 有时也做一些在他人看来是重复性或枯燥的工作以进行“脑力休息”,或是为了获得某种技能,或是获得一些除此以外无法获得的特别经验。但这是自愿的 —— 有脑子的人不应该被迫做无聊的活儿。