分享博文 -- 关于技术与工作

       不是每一个程序员都要成为比尔·盖茨,都要建立商业帝国成为世界首富。也不是每一个程序员都要做马化腾,建立QQ帝国君临天下。但是我觉得,每 个程序员都应该向Dennis Ritchie(C语言之父)学习,在贝尔实验室默默为计算机界奋斗一生。每个程序员都应该向Linus Torvalds学习,写出改变计算机世界的Linux但却不争名夺利。比尔·盖茨、马化腾是IT商业化的代表,而Dennis Ritchie和Linus Torvalds则是计算机界学者的先驱。

台湾作家龙应台说了这么一句话:你可以选择做官,你也可以选择挣钱,但你不能选择通过做官来挣钱。

同样的,对程序员而言,你可以选择研究技术,也可以选择赚钱。但是以赚钱的心态去做程序员,那么你也许会品尝不到技术的很多快乐。程序员是一个 职业,一个专业的职业,那么作为一个程序员应该有一个专业上的目标,赚多少钱和程序员的专业素养没有关系,你可以把赚多少钱开宝马作为人生的目标,但是你 作为程序员的目标不应该是赚钱。可以这么说,现在行业内的程序员很多都不是真正的程序员,对那些做着程序员工作的代码工人来说,程序员只是一个混口饭吃的 工作而已,那么工作的目的就是赚钱,盯着钱看就没什么不对了。人生目标和自己的专业目标分不清楚,难怪哪头都讨不到好。专业和职业是两码事,专业关注的是 你做事的能力,职业关系的是你在公司的职位,这个东西理不清楚就只能是两头不讨好。真正的程序员应该是个热爱技术的Geek,喜欢创造与挑战,享受技术带 来的喜悦与创造带来的成就感,而非不断编写着一遍又一遍重复code的码农。

作为程序员应该追求的是自己专业素养上的提升,作为一个职员应该向着高薪努力,当然有的程序员自己又是老板,比如康盛创想的戴志康 ,那么作为老板又有另外的追求了。我觉得作为一个程序员,在一个程序员的社区里应该关注的是自己的专业而不是在这里大谈程序员怎么怎么赚不到钱。

也许,每一个程序员在开始的时候都想过要写出非常牛逼的程序,做个人人崇拜的高手,直到有一天,他发现他的代码并不能改变世界的时候,就会向现实屈 服,甚至抛弃往昔自己喜欢的编程。

与程序打交道,是我们选择的工作,也是我们选择的职业。程序员,应该是一个值得骄傲的称号,而非是码农的代名词。走出浮躁的泥沼,我们会找到另外一 个不同的自己。

学会享受学习过程的乐趣

学习是一辈子的事情,对于程序员来说更是如此,所以如果没有学会享受学习过程的乐趣,那么学习将会是你人生的一个重压。

以学习数据结构为例。大家都知道,对于程序员而言,数据结构是基础,是必须学会的课程。但是现在很多语言,细节都封装得很好,比如 Java、.Net、PHP,几乎都不需要你用到多少数据结构与算法的知识,以致于很多人觉得,我就不会数据结构,我还不一样好好工作吗?这就是浮躁的开 始了。

的确,对大部分程序员来说,工作上很多时候不需要用到数据结构。但是你会发现,工作若干年后,你的技术水平会停滞不前,做的东西总是CURD, 再加上一点设计模式,再者可能有NoSQL、memcache之类的应用。但是,当你写这些代码写到疲软的时候,你会发现这些都是应用层面的东西,别人做 好的现成的东西,到你想理解它们底层与原理的时候,没有数据结构与算法的知识支撑,你会很吃力。勿在浮沙筑高台,尽管你开源软件用得多好,如果不去理解计 算机的底层,顶多也就是个高级点的码农。

要走出浮躁的泥沼,只要理解一句话就行:

学习的真正乐趣不是因为它有用,而是因为学习的过程本身有趣。

所以你需要去发现学习过程有哪些乐趣,还是拿数据结构的学习为例。

1. 数据结构的学习在短期内不会对工作有什么效果,但它是对未来以及自己的投资。学习它你一定不要浮躁,不要觉得它短期内收益不大就不去学习。摒弃浮躁的第一 步就是,不要带着功利的眼光去学习。

2. 数据结构的学习几乎都是从线性表开始,然后讲到最重要的单链表。单链表的基本操作就建表、插入、删除、查找等,如果你把这些操作都学完了,是不是该立即进 入堆栈的学习呢?我的建议是,不。“学习”是一个实际上不应该分割的词汇,只有“学”没有“习”将必然导致肤浅。当学完单链表的基本操作,你需要做更多的 “习”。这时候你需要尝试着研究下面的问题:单链表的逆序、求单链表的倒数第N个元素、单链表的排序、单链表的环……等等。当你对单链表的学习进入某种境 界,才进入堆栈的学习,这样你的单链表就很扎实,同时学习堆栈也会变得很有效率。你可以参考我之前所做的专题:《数据结构物语卷二

千万不要觉得这很浪费时间。左学点右学点,散沙式的学习才浪费时间,连续的思考才是高效的。

3. 享受思考的乐趣。数据结构一开始学也许你会觉得有点难,比如插入一个数据都要涉及几个结点的地址操作,但是当你思考并完全理解为什么这么做,你会有一种豁 然开朗的感觉。并且更重要的是,每解决一个单链表的问题,就相当于做了一次思维训练。思维训练做得多了,对单链表的理解就更深了,以后解决问题就更快。我 们可以这么认为,每做一次思维训练,都能够使我们的思维加速,使我们的大脑加速。为什么牛人一看问题就能知道如何解决?很简单,因为他做过普通人无法想象 的大量的思维训练,正如巴菲特7岁就开始拜师学投资一样。没有人天生就是大牛,对吧?

4. 关于学习的欲望。很多人心里知道,我要学习,但是总是容易被分心。一会看看微博,一会折腾下其它什么东西,结果半天还没看得进一点东西。不要假学习,不要 为不学习找理由,没钱?没时间?累?只要你内心坚定且欲望强烈,就会主动学习。

可以看看这篇文章:另外八小时,用辛勤换幸福。如果能把写博当作是一种放松,如果能把写博当作一种享受,不带任何功利的杂质,那 么你就会非常强烈地想去写博。(对我来说,写博就是学习)

你可以尝试下早上6点半起来,学习一个小时再去上班,效果很好。这篇文章就是我早上6点多开始写的。学习大部分时间是一个人的活动,难免会有孤独 感,当你精力高度集中时,孤独感会减少。当你全神贯注的时候,甚至会感到身心愉悦。“耐得寂寞不寂寞,耐不住寂寞反寂寞。”

5. 不要被厚厚的书吓住。有的人也许会说,你看,数据结构那么多章节,你光单链表这一章就做了一百多个练习,花了一两个月,什么时候才能看得完啊?我说,学习 没人逼你进度,随意看,什么时候觉得自己精通了再转入下一个学习阶段。过早地进入下一个阶段只会让你过早地忘记前面的知识,比如草草地看了单链表的基本操 作,就去学堆栈,过一个星期我问你单链表的反转,你也许就会一时想不出。所以我认为:

坚持做一件事,直到达到一个境界——至于是什么境界,我不知道,你才知道——然后才开始做另外一件事。

6. 你对学习有如饥似渴的感觉吗?对待学习,我很推崇完美主义。比如单链表的基本操作弄懂了,写程序过了一遍,然后开始研究它的各种常见操作。都研究完了,开 始研究比较少见的操作,带头结点与不带头结点的都要过一遍。然后翻遍互联网,看看有没自己疏漏的。发现有疏漏的,你会很高兴,马上再写程序自己过一遍。直 到Google搜索“单链表”前100页的结果你都能马上知道什么回事,知道怎么做,嗯,那就差不多了。

很疯狂吗?在常人看来也许是。但是对我们自己来说,不这么做,很难达到某种境界,或者说,精通。对知识的如饥似渴的时候,当得到新的发现新的知识, 你会得到很大的满足感,而且一路走来的成就感,也是对你之前努力的最大回报。

那么,从现在开始,逃离浮躁的泥沼,享受学习过程的乐趣。


原文地址:http://www.oschina.net/news/35274/tech-and-life

转载于:https://my.oschina.net/qfhxj/blog/93097

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值