IT行业普遍存在这种说法,而且还有各种年龄版本。有的说到30岁;有的说到35岁;有的说到40岁,达到这些年龄上限就必须要调整方向去做管理、产品、业务等岗位的工作,反正就是不能再写代码了,真的是这样吗?
让程序员产生这一后顾之忧的原因普遍来说有以下两点:
第一,编程技术飞速迭代,新技术层出不穷,各种语言、各种框架、各种新技术理论每年都会更新,因此程序员的技能库也要紧随行业技术变化的脚步更新。
随着程序员的年龄增长,相应的学习能力却是在退步,因此往往会出现跟不上行业技术脚步的情况。此外,在成家立业后大量的时间肯定会被家庭琐事占用,能花在学习新技能上的时间也就更少了。
第二,工作成果产出的问题,换种说法就是加班时间多少的问题。关于这一点70、80后程序员的确没法和刚毕业的毛头小子相比。小孩子年纪轻轻精力旺盛而且没有老婆、孩子需要照顾,说加班就加班,说通宵就通宵,吃喝拉撒睡都在公司也不成问题,最重要的是人家要的钱还少。你一个大叔能比得过人家吗?这也是压力的来源。
相信很多程序员都会被这个问题困扰,觉得程序员是一个没有将来的职业,而且会羡慕如医生、律师、会计等,这些所谓越老越香的职业,觉得这些行业能给从业者的后半生带来保障,换句话说,觉得从事这类行业会更有安全感。
但是家家有本难念的经,我们看到的表象并不代表事实的全部。一个医生从培养到出师一般需要近十年的时间,现在最普通二线城市三甲医院的主治医生,也就是我们平时花十块钱挂个号给我们看病的那种,基本都是博士毕业,而且还要211 985名校的。
程序员的学历要求
程序员中博士是平均学历吗?相对医生而言博士的数量算是凤毛麟角了吧。再者说律师,从业门槛是出了名的高,律师资格证常年霸占最难考取职业证书的榜首。再说会计从业者,注册会计师证书的考取难度那也是相当高,而且除非具有该证书,否则平均收入上也是要被程序员碾压的。
这其实已经很说明问题了,那些在大众眼里看来非常有保障的职业都有一种同性:前期培养成本非常大并且从业门槛高。程序员对于证书和学历没有强制的要求,只要具有实际工作经验就能撸起袖子干。相对偏低的投入就能换来一辈子的保障,那天底下估计也没有什么其它的职业,所有人都会跑来当程序员了。
程序员的技术更新
至于说编程技术更新换代速度太快,大龄程序员跟不上脚步去学习,这个论点本身就是站不住脚的。
其实有一个道理是所有程序员都明白的:在软件开发行业,从来都是算法先行,次基础,技术为末。这也是程序员从业者金字塔的层级关系分布。
把所有精力花费在学习语言、框架上的程序员,在技术上肯定是三流的,也就是那些随着年龄上限的接近,害怕被技术淘汰因而寻找其他从业方向的程序员。道理显然是所有人都懂,然而能做到知行合一的人却不太多,就像明知道吸烟有害健康,但能戒掉的人却是少数。
虽然程序员们都知道算法和技术是重要的,但要学习这两样东西是非常枯燥乏味的,而且异常艰难,短期的投入基本没有产出。反而是直接使用某种技术,简单调用下接口就直接能获得成果并且能在实际工作中见效,显然在表现层面两者高下立判。
人都是贪图方便的,因此更多的程序员都喜欢直接使用技术而抛弃算法和基础的学习。然而,技术是时时刻刻在变化的,而算法和基础从计算机发明以来,基本上没什么变动,这已经从侧面上说明了学好算法和技术就可以做到以不变应万变。反之重技术轻算法、基础的往往最终结果就是随着年龄的变化而不得不面对所谓的程序员中年危机。
程序员的职业期
另外,拿自己加班时间长短和刚毕业的毛头小子去比,那不是以己之短攻彼之长吗?他们有时间我们有经验,从企业雇佣员工的开发产品角度来讲, 时间是唾手可得的,可以要求员工加班,可以增加人手,都是办法。然而,要寻找一个工作经验丰富的专业人士, 可不是一件容易的事情;要寻找一个可以避免踩坑, 带领团队朝正确方向前进的专业人士更是万金难求。
还有一个假像,我们一直都认为40岁以上的程序员肯定改行干别的去了,今年是2020年,1980年出生的程序员也就是2003年左右参加工作的那批程序员,在那个时代,在国内IT行业根本没有如此规模, 程序员从业者数量也没法和现在相提并论事实上,40岁以上的程序员实在太少了,大多数年轻程序员根本没有机会遇到。
下方截图上的人物是历年微软最杰出的技术人员,看看他们的年龄你知道了,能力最突出的都是那帮头发胡子花白的老爷爷。
最后,有一点很重要,要一直写代码可以,但是千万不要除了写代码其它什么都不会,写代码只是解决问题的其中一环而已。抽像的说学习写代码就是学习解决问题的能力,而一个企业所面对的所有问题在大小、难易程度、重要性方面都是不同的,作为一个打工者,终极目标就是替所在企业解决最重要最核心的问题,至于解决问题的方式是通过写代码还是通过别的途径,这都是没有限制的。