不时会听见网上的朋友或身边的同事谈及“瓶颈”、“天花板”问题,特别是 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 有时也做一些在他人看来是重复性或枯燥的工作以进行“脑力休息”,或是为了获得某种技能,或是获得一些除此以外无法获得的特别经验。但这是自愿的 ―― 有脑子的人不应该被迫做无聊的活儿。
4. Freedom is good.
自由万岁。
在成为 hacker 的过程中,我们不得不面对一些“不自由”,不得不要去做一些“分配”下来的任务,不得不像被洗脑过的士兵一样“高效执行”。但这一切只是过程,是成长的代价。如果想成为 hacker, 一定不要放弃对自由的追求。
在所有公司都有一个不成文的黄金定律:当你达到一定水平后,你做什么,已经不是你的上级能决定,也不是公司总裁能决定的。你只要做你认为对公司有利的事情。当然,你得说服团队同意你的观点,投入时间和资源去做。倘若发现道不同志不合,作为 hacker, 你可以自由选择公司选择职位,而不是公司选择你。
5. Attitude is no substitute for competence.
态度不代表能力。
很多洗脑型励志书籍,喜欢大谈态度的重要性。但态度再好,没有能力就是没有能力,是成为不了 hacker 的。有爱迪生锲而不舍不断尝试灯丝材料的这种态度的人不少,但有爱迪生一样在不断尝试中总结规律和做出改进的这种能力的人很少很少。
态度很重要,但能力才是决定你能否真正成为 hacker 的关键。成为 hacker 需要天赋,需要辛苦。态度是万里长征第一步,态度很重要,但不要拿态度说事。要去做,去实践,努力去获取能力。
如果你能做到上面 5 点,一切发展“瓶颈”问题,都不是问题。30 岁将是一个起点,而不是编程生涯的终结。