不时会听见网上的朋友或身边的同事谈及“瓶颈”、“天花板”问题,特别是 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 岁将是一个起点,而不是编程生涯的终结。
相关推荐
编写程序:输入任意文法,统计Vn,Vt Vt表示为终结符,Vn表示非终结符 汇编原理的第一个代码实现
《心灵终结3.0 修改器》是一款专为热门即时战略游戏《心灵终结》3.0版本设计的游戏辅助工具,由VB(Visual Basic)编程语言编写而成。VB是一种面向对象的编程语言,以其简洁的语法和易学性在编程领域广受欢迎,尤其...
《植物大战僵尸终结版》是一款深受少年儿童喜爱的编程学习案例,它基于Scratch编程语言,旨在提升孩子们的逻辑思维能力和创造力。Scratch是麻省理工学院(MIT)媒体实验室“终身幼儿园团队”开发的一款图形化编程...
p2p 终结者 p2p 终结者p2p 终结者 p2p 终结者 p2p 终结者 p2p 终结者p2p 终结者 p2p 终结者 p2p 终结者p2p 终结者 p2p 终结者 p2p 终结者 p2p 终结者p2p 终结者p2p 终结者 p2p 终结者p2p 终结者 p2p 终结者 p2p 终结...
"五子棋终结者2.0"便是这样一款具有里程碑意义的小程序,它标志着计算机在自由规则下执黑棋时能够确保必胜,实现了对五子棋的全面征服。 五子棋终结者2.0的核心在于其高效的搜索算法和优化的决策树。传统的五子棋AI...
标题中的“P2P终结者+反P2P终结者”指的是两个与网络管理相关的软件工具,一个是"P2P终结者",另一个是"反P2P终结者"。这两个工具在IT领域中有着特定的应用场景和功能。 P2P(Peer-to-Peer)终结者是一种网络流量...
终结性考试是在形成性考核的基础上,对学生学习情况和学习效果进行的一次全面检测。 终结性考试采用综合大作业的方式,考试内容在在学习网上公布,学生在规定时间内完成,在学习网上传考试结果,教师下载评阅判分,...
P2P后台终结者,作为一个技术话题,主要涉及的是网络通信和系统管理领域。P2P(Peer-to-Peer)是一种分布式网络架构,它允许网络中的每个节点既是客户端也是服务器,能够直接进行数据交换,这种模式在文件共享、流...
如果α不为空,则将α的第一个终结符添加到B的First集合中。 3. 这个过程需要多次迭代,直到First集合不再变化为止,因为可能存在递归推导的情况。 例如,对于文法G=(V, Σ, R, S),其中V是非终结符集,Σ是终结符...
识别这些终结符是词法分析阶段的任务,这个阶段会将源代码分解成一系列的标记(tokens),每个标记代表一个终结符。 非终结符则是在文法中表示更复杂结构的符号,它们是由终结符组合而成的抽象概念。在C语言的文法...
这个压缩包文件“商业编程-源码-三态选择树实现终结者.zip”很可能包含了一个完整的源代码实现,用于展示如何构建和操作这种特殊的数据结构。下面将详细解释三态选择树的概念、其在商业编程中的应用以及可能的实现...
P2P终结者是一款专为解决网络带宽被过度占用问题而设计的软件。它主要用于管理和限制局域网内的P2P(Peer-to-Peer)网络流量,确保网络资源的合理分配。在标题中提到的“一代利器”,暗示了该软件在特定场景下具有...
而"数独终结者"是一款基于C++编程语言,利用Microsoft Foundation Classes (MFC)库开发的标准数独计算器,旨在为数独爱好者提供一个自动化解题工具,同时也为编程学习者提供了优秀的参考实例。下面我们将深入探讨该...
【标题】"终结者2012.rar"可能是指一个名为"终结者2012"的软件或程序的压缩包。这个名称暗示这可能是一个与电影《终结者》系列有关的游戏、模拟器或者安全软件,但具体用途需要进一步的信息才能确定。 【描述】...
总的来说,"av终结者杀毒软件"是一个专为解决特定病毒问题而设计的安全工具,它提供了全面的防护措施,包括扫描、清除和预防。配合相关教程和使用指南,用户可以有效地管理和维护他们的电脑安全,防止"av终结者"蠕虫...
【标题】:“阿童木QQ终结者.rar”指的是一个名为“阿童木QQ终结者”的压缩文件,其扩展名是RAR,通常用于存储多个文件或文件夹并进行压缩,便于传输和存储。RAR是一种流行的压缩格式,由Rarlab开发,提供较高的压缩...
"网吧终结者"是一款针对网吧管理的软件,主要用于限制或管理网吧内计算机的使用,确保网吧的正常运营和规范管理。这款软件的核心功能可能包括网络访问控制、游戏限制、时间管理等多个方面,以防止顾客过度沉迷于网络...
"Windows进程终结者"是一个专为高级用户设计的工具,它具有强大的功能,能够终止系统中的任何进程。然而,对于不熟悉计算机操作或进程管理的用户来说,这种工具需要谨慎使用,因为误操作可能会导致系统不稳定甚至...
一个上下文无关文法(Context-Free Grammar, CFG)由四个部分组成:一组非终结符(变量)、一组终结符(基本符号)、一个起始符号(通常是非终结符)和一组产生式规则。产生式规则描述了非终结符如何转换为其他非...