之前类似这种题目的文章很少去读,可最近这种想法经常闯进我的思考范围。可能是人马上要三十,到了要想这个问题的年龄了。和其他关于衰老的话题一样,谈起来难免有些淡淡的忧伤。可认真的琢磨之后,发现未雨绸缪是件好事,能看到忧伤背后的从容和坦然。
程序员也是人,所以有人的共性。十几二十的时候,很少会想到老。一是忙着学习考试,没时间。即便有点时间,搞搞对象,打打游戏,也不会轮到它。说白了,还是因为年轻,可塑性强,没什么好怕的。到了快三十的时候,就不一样了。工作之余,时间有了。人闲了,就容易琢磨事儿,还老爱自己吓自己。其次,三十岁的人,慢慢意识到老为何物,爷爷奶奶听不清看不明了甚至走了,爸爸妈妈白发多了。最后,想再折腾的时候,发现已经到了生育培养下一代的年龄,担的责任越来越重,不敢再冒险了。在这种情形下,如果还找到良方来从容应对年月带来的冲击,就会有危机感,害怕老无所用。
经验和精力
一个人随着年龄的增长,经验会更丰富,同时,精力也会减少。所以上了年纪后,要学会利用积累的经验去创造价值,而不是单纯的用精力去和年轻人拼。
明白了这一点,就应该注重经验的积累。如何积累呢?首先,得从自身找出路。做同样的一件事,有的人爱观察,爱思考,可以了解事物的本质和内在联系。也有的人,只注重事物的表面,不加深究,只获取看得见,摸得着的果实。日积月累,前者的经验当然会越来越多。其次,要借助外力。有的环境利于经验的摄取,而有的环境只会单纯的让人变老。一个充满挑战需要开拓创新的环境,和一个整日复制粘贴的环境,它们所蕴含的经验有天壤之别。
所以,作为程序员的我们,要勤于观察,善于思考,特别是在这个各种框架、语言、技术日新月异的年代。拿大数据这个炙手可热的新名词来讲,从之前的Hadoop和到之后的Spark框架,技术革新速度是令人无法想象的。然而,爱思考的程序员们会发现,有些东西,的确变了,而有的东西是没有变的。比如说基于图的数据结构和算法,分布式系统的扩展性和可靠性问题,以及系统性能的测试和优化方法,这些基础通用的懂事是没有变的。Spark的核心思想RDD是一个创新,不求甚解的人只会学习如何使用它,爱思考的人会摸清它的来龙去脉,知晓它的优势和局限。这样一来,牢固的基础和丰富的经验可以帮助很快的掌握新的技术。
谈完思考的重要性,再看看环境,上面说到的开拓创新的环境,是很好,可没有怎么办?答案是看你想不想要。环境是可以争取的,甚至可以自己创造的。
我在现在的公司,在同一个职位干了快有五年了。干了三年后,工作开始漫漫变得重复乏味起来。大部分的时间是我帮别人解决问题,而不是我去请教别人,输出大于输入。为了能创造一个更加开拓创新的环境,我曾经“威胁”老板说,如果再找不到具有挑战性的项目,我就要走人了。后来,在我的推动下,终于找到了让我满意的项目和环境,争取到了和公司架构师们一起做项目,向他们学习的机会。除此之外,我还去参加编程比赛,程序员见面会,主动做演讲。这些都是为了创造互相交流学习的环境。
说了这么多关于经验积累方面的见解,我想简单的谈一下精力。精力会随着人的衰老而减少,这是无法阻挡的自然进程。我们能做的,就是放慢它的脚步。唯一方案,就是运动。相信大家都明白生命在于运动的道理,我就不多说了。
潜心治学
上面说那么多关于经验的事,只是想从职业竞争的方面说明,老并不可怕,只要方法得当,经验可以转化为不可或缺的优势。加上运动的好了,可以老将出马,一个顶俩。
接下来,说说潜心治学的态度。很多人程序员做了两三年,就想着转行,转产品,转客户,转管理,就好像那些行业不需要养老一样。如果是对编程失去了热情,那么如此做便是无可厚非。但如果仍热情饱满,却因为担心程序员的未来,而转行,那么就没有必要了。
首先,从专家程序员的市场价值来说,他们能够解决别人解决不了的问题,他们能够看到别人看不到的深度。再某些难题面前,一个专家,不能被十个初学者换掉。因为这不是一个搬砖的过程,而是一个修行达没达到深度的问题。除此之外,潜心治学,可以满足人们对知识上的追求,有的快乐并不是金钱所能买得到的,刻苦钻研,攻克难关本身就是一个可以给人以巨大成就感的事情。
潜心治学,成为大家,并非易事,也正因为如此,它是一条可以让人实现巨大自我价值的道路。这样的人,从小的来讲,可以是某些项目的带头人,可以是专利的获得者,可以是书的作者,可以是一个讲师。往大的讲可以是图灵奖的获得者,可以是改变整个世界的人。
结语
哗哗啦啦用了好几天的时间讲了这么多,一是想告诉自己,要沉下心来,做自己喜欢做的事,并且享受这个过程。其次,是要记录下,处在三十岁的这个关口,我对程序员人生的看法。也分享给其他的程序员朋友,共勉。