而立,不惑和知天命—程序员的三个层次

Author:AppleSeeker(冯峰)
我把我接触过的有经验的程序员分为三个层次,借用夫子的话来形容这三个层次就是:“而立”,“不惑”和“知天命”。
1.而立
这个层次的程序员,对技术的理解大多停留在技术的应用层面上。只重视去学习新的技术,不知道关注自己的代码和设计的质量。把技术的成长单纯的理解为知识的积累,而不是技能的成长。停留在这个层次的程序员往往感觉在从业两三年后技术就没有什么大的进步,甚至有人干了七、八年十年后居然会发出“编程不外乎拖拖控件,设置下框架,再写点逻辑”的感慨。这种程序员真是吃“青春饭”的,干到30来岁还是立不起来,丧失了对技术的热情,到了有家庭的负担,不能再和后生比体力的时候,就只能转行做所谓的“管理”,凭经验和人际关系混日子。要不就转去做点技术支持销售什么的。很不幸,我接触到的多数中国程序员都停滞在这个层次,分析起来,可能和中国社会的浮躁有很大关系。
2.不惑
这个层次的程序员,会自然的将面向对象、设计模式等设计技术应用于自己的代码中,认真考虑并重视设计与代码的质量问题,明白真正的“好程序”大概是怎么样的一个样子。这个阶段的程序员在每个项目都会有一些收获,技能会随着时间不断成长。 对于各种层出不穷的技术,他们不只知其然,还知其所以然,因而可以毫不吃力地掌握新的技术。处于不惑阶段的程序员不吃青春饭,他们价值会随着时间的增长而增长。 达到这个阶段的程序员要少很多,但我认为只要有适当的环境,或者能对技术保持一颗好奇和热情的心,勤于思考,踏踏实实地下功夫,任何人都能走到这个阶段。然而达到下一个阶段就要难得多了,光是努力是不行的,还需天分和积极的思考。
3.知天命
这个阶段的程序员,有丰富的设计经验。面向对象,设计模式等设计技术早已不是问题,达到“得模式而忘模式”的境界。他们所做的设计自然优雅,简洁流畅。编写的代码干净利落,表达力强,往往不需在代码行间写注释即可让人一看即懂。他们已经彻底理解了程序和程序所反映的客观世界之间的关系,总能找到适当的角度后用恰到好处的简洁设计将客观世界计算机化。掌握新技术对于达到“知天命”层次的程序员而言,就像呼吸般自然。他们不只理解新技术的原理,而且对一项技术出现的动机--也就是这项技术企图去解决的问题有深刻的理解,所以往往能够仅凭对新技术简单了解,就能正确决定在什么时候、怎么样去利用这个技术。达到“不惑”阶段的程序员在设计时会把重心放到怎么样完成目标上,而这达到“知天命”层次的程序员会去重点关注过度设计问题。简单来说,“不惑”基本的程序员主要精力放在“加法”上,而“知天命”级别的程序员主要精力会放在“减法”上。他们明白,设计的关键就在“取舍”二字上。到目前为止,我接触过的达到这个层次的程序员屈指可数,每一个都一定是他所在的团队的核心人物,而且如果他沟通能力足够,往往会自然成为团队中系统架构师的角色。知天命的程序员就像陈年普洱茶,越老越香,他们对设计中度的把握会越来越精准,越来越能够做到举重若轻。在大型项目或高难度项目中,他们能发挥普通程序员十几倍甚至几十倍价值。
“而立”,“不惑”和“知天命”这三个阶段虽然是夫子拿来形容年龄的,但在我这里和年龄完全没有关系。我见过很多都接近不惑之年还停留在“而立”阶段的程序员,也见过以仅仅弱冠之年便“知天命”的宝贵人才。
很不幸,目前国内的IT环境,注定在中国“知天命”的程序员就是凤毛麟角。要想达到“知天命”的境界,程序员除了一定的天赋之外,还必须有非常主动积极的态度和热情。这样的人在其它方面肯定也不会差到哪里。国内的很多公司依靠的是关系资源生存,技术的好坏作用不是很大;又或是软件开发理念落后,不给程序员充足的发展空间。所以这些程序员在达到“知天命”的境界之前很多都转去做管理或其它待遇更好的工作去了。
文章主要内容来源于博客园作者woodhead在08年的文章,当时觉得很不错,这次也些点自己的感悟。
本人自认为属于在“不惑”->“知天命”的中间段,做了项目设计和架构1年多。良好的设计是整个项目成功的一个因素,好的设计可以应对快速变化的需求。每个程序员自己都有自己的理想和目标,最初可能多数都想当一个架构师,但随着时间的发展,很多人慢慢离开IT行业,留下的多数开始转入做管理类职位。能做架构师的毕竟是凤毛麟角(这个和中国国内行业本身有关,很多公司其实是没有架构师职位的。)
下面也分享下自己工作5年来的经验:
1.刚毕业后,对于前2年的工作,就是要像海绵吸水般,不断的做项目,从项目中把代码熟练化,不断接触多样的需求,最好涉及多个行业,也利于掌握行业知识。要不断学习新技术,不断探索新知识。
2.工作2年后,开始要有区分,知道自己喜欢哪些,要向哪个方面发展,有人适合做前端,有人适合做后端,有人喜欢做通信。每个人都有自己最喜欢的领域。选择自己适合和喜欢的。另外,选一个领域好好研究,深入挖掘,做到国内这个行业的先驱者。
3.工作4年后,能够用到一些设计模式了,对项目架构也有自己的认识,能够搭建项目,设计项目,能够对需求提出一些改善意见来帮助系统更完善。
以上是我个人的一些经验分享~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值