“程序员干到35就不行了!”这是我们IT行业普遍存在的一种说法,而且还有各种年龄版本,有的说到30岁;有的说到35岁;有的说到40岁,达到这个年龄上限就必须要调整方向去做管理、产品、业务等岗位的工作,甚至创业的也大有人在,反正就是不能再写代码了。但小开见过了太多国内开发者,也接触过许多国外的程序员。负责任地讲一句,到了35岁依然致力于写代码的人,有的是!!!
大家都说程序员吃的是青春饭(或者35岁之后就不能再写代码了)的原因普遍来说有以下两点:
第一,编程技术飞速迭代,新技术层出不穷,各种语言、各种框架、各种新技术理论每年都会更新,因此程序员的技能库也要紧随着行业技术变化的脚步更新。随着程序员的年龄增长,相应的学习能力却是在退步的,因此往往会出现跟不上行业技术脚步的情况。此外,在成家立业后大量的时间肯定会被家庭琐事占用,能花在学习新技能上的时间也就更少了。
第二,工作成果产出的问题,换种说法就是加班时间多少的问题。关于这一点70、80后程序员的确没法子和刚毕业的毛头小子相比。小孩子年纪轻轻精力旺盛还没有老婆孩子需要照顾,说加班就加班说通宵就通宵,吃喝拉撒睡都在公司也不成问题,最重要的是人家要的钱还少。你一大叔能比的过人家吗?这也是压力的来源。
相信很多程序员都会被这个问题困扰,觉得程序员是一个没有将来的职业,而且会羡慕如医生、律师、会计这些所谓越老越吃香职业,觉得这些行业能给从业者的后半生带来保障,换句话说,觉得从事这类行业会更有安全感。
别忘了,家家有本难念的经,我们看到的表象并不代表事实的全部。一个医生从培养到出师怎么着也得花个十年时间,现在最普通二线城市三甲医院的主治医生,就平时我们花十块钱挂个号给我们看病的那种,基本都是博士毕业,而且还要211、985名校的。程序员中有博士吗?比凤毛麟角还要稀少吧。而且就收入上来说,估计这帮小医生还比不上一个刚刚本科毕业在BAT工作的实习生吧。还有律师,从业门槛也是出了名的高,程序员们在羡慕律师的同时请先审视一下自已,假如时间可以倒流自己有没有这个天赋或者能力可以去当一名合格的律师。至于会计从业者,除非具有有注册会计师证书,否则平均收入上肯定是被程序员碾压的,然而,在会计行业中,百分之九十以上的从业者是没有这张证书的。
这其实已经可以说明问题了,那些在大众眼里看来非常有保障的职业,有一些共同的特点就是前期培养成本非常大并且从业门槛极高,他们的保障并不是凭空得来的。反观程序员,不用证书不用学历,稍微上道一点的人,去培训班培训个几个月出来就能撸起袖子干了。如此低的投入就能换来一辈子的保障,那天底下估计也没有其它的职业的,所有人都会跑来当程序员了。
至于说编程技术更新换代速度太快,大龄程序员跟不上脚步去学习,我觉得这个论点本身就是站不住脚的。程序员怎么说也是白领行业,和高大上还是能扯上点关系的。现在高端一点行业的从业者,谁不需要不断成长不断学习,除非是老板的儿子(亲戚也不行),否则如果一直原地踏步,肯定会被后来者居上,然后淘汰。就连负责我家那一块电信设备维护的师傅也从二十年前爬电线杆装电话线到现在的装机顶合、配置光猫路由器、排查断网问题了,人家已经是奔六的大爷了,为了适应社会不也在不断的学习进步吗。
其实有一个道理是所有程序员都明白的:在软件开发行业,从来都是算法先行,次基础,技术为末。这也是程序员从业者金字塔的层级关系分布。把所有精力花在学习语言、框架上的程序员,在技术上肯定是三流的,也就是那批随着年龄上限的接近,害怕被技术淘汰因而寻找其它从业方向的程序员。道理显然是所有人都懂的,虽然当程序员门槛不高,那也是相对的,至少这帮人都不笨,对于自己行业的本质还是看的透的。然而能做到知行合一的人真的很少,大多数时候人在理性和感性两方面肯定是感性占居高地的,就像明知道抽烟喝酒对身体有害,但能戒掉的又只是极少数。
虽然程序员们都知道算法和基础是最重要的,然而要学习这两样东西是非常的枯燥乏味的,而且异常坚难,短期的投入基本没有产出。反而是当直接使用某种技术时,简单的调用下接口就直接能获得成果并且能在实际工作中见效,显然在表现层面两者高下立判。人都是贪图方便的,因此更多的程序员都是喜欢直接使用技术而抛弃算法和基础的学习。然而,技术是时时刻刻在变化的,而算法和基础从计算机发明以来,基本上没什么变动,这其已经从侧面说明了学好算法和基础,可以以不变应万变,一切自然水到渠成,反之重技术轻算法基础的往往最终结果就是随着年龄的变大而不得不面对所谓的程序员中年危机。
另外,在加班问题上害怕拼不过年轻人而担忧自己未来这点就更加是无稽之谈了,拿自己加班时间长短和刚毕业的毛头小子去比,那不是以己之短攻彼之长吗,他们有时间我们有经验,从企业雇佣员工的开发产品角度来讲,时间是唾手可得的,可以要求员工加班,可以增加人手,都是办法。然而,要寻找一个工作经验丰富的专业人士,可不是一件容易的事情;要寻找一个可以避免踩坑,带领团队朝正却方向前进的专业人士更是万金难求。但是,假如多年的工作却是一点有用的经验也没有积累到,那也是活该被淘汰了。
还有一个假像,我们一直都认为40岁以上的程序员肯定改行干别的去了,今年是2017年,1977年出生的程序员也就是2000年左右参加工作的那批程序员,在那个时代,在国内IT行业根本没有如此规模,程序员从业者数量也没法和现在相提并论。因此,不是40岁以上的程序员都去干别的,事实上是40岁以上的程序员实在太少了,少的大多数年轻程序员根本没有机会遇到。
所以我觉得,写代码是没有年龄的限制的,就算是退休了也照样可以写,只是现在到达退休年龄的那批人,在选择行业的时间还根本没有程序员这样一个行业而已,这导致我们误以为世界根本不存在这样的程序员。
这些截图上的人物是历年微软最杰出的技术人员,看看他们的年龄你知道了,能力最突出的都是那帮头发胡子花白的老爷爷。
最后,有一点很重要,要一直写代码可以,但是千万不要除了写代码其它什么都不会,写代码只是解决问题的其中一环而已。抽像的说学习写代码就是学习解决问题的能力,而一个企业所面对的所有问题在大小、难易程度、重要性方面都是不同的,作为一个打工者,终极目标就是替所在企业解决最重要最核心的问题,至于解决问题的方式是通过写代码还是通过别的途径,这都是没有限制的。但在国内,普遍来说,能通过技术解决的问题都不是问题。