热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

程序员的年龄天花板

其他行业里的老将农村有一些老人70多岁了还能种地,不但能种小麦玉米,还能在自己房子后面种点白菜、萝卜、西红柿、豆角什么的,自给自足,不靠孩子赡养。褚时健70多岁承包荒山开始种橙,现在褚橙是知名品牌

其他行业里的老将

农村有一些老人 70 多岁了还能种地,不但能种小麦玉米,还能在自己房子后面种点白菜、萝卜、西红柿、豆角什么的,自给自足,不靠孩子赡养。

褚时健70多岁承包荒山开始种橙,现在褚橙是知名品牌。

我们家不远处有个同仁堂,同仁堂里有中医馆,中医馆里都是老先生,太年轻的没人看。

你看国家高级领导人,都没个年轻的,60多岁就算少壮了……

老程序员啊

很多行业对年龄没有特别限制,有的行业甚至是越老越吃香,可程序员呢,很多人都觉得是吃青春饭的,是“以色事人”的,年老色衰就会很悲哀。

果真如此?

国内环境

国内的 IT 公司,软件开发水平和意识整体较差,多数公司做出来的产品差强人意,上一帮子人做出一东西来,再上一帮子人花一大把钱去推广,就这么个现状吧。这种现状是由逐利的急切性引起的,逐利的急切性又客观上造成了对技术的短视,再往下推,自然就是对技术人员和技术能力的不重视,最后也就谈不上人才的培养和技术的积累了。

计算机软件已经成为整个社会发展的基础支撑,各行各业都需要,各行各业也都需要开发软件的程序员。行业背景不同,对技术的看法自然会有不同。我前面概述的现状,自然也有一些公司不在其列,但大多数是如此的,90%以上是酱紫:东西做出来,钱赚到了,胜利,其它的,毛线。

在这样一种心态和现实下,做东西的人,谈不上多受重视,很多公司的老板觉得拉一帮子人就能把东西搞出来,他认为要做的东西根本就没什么技术难度,网上抄一抄,加班搞一搞,这么着就出来了。年轻人身体好,牵绊少,能拼能加班,可以弥补与老程序员在水平上的些许差距,为什么不用年轻人呢?是吧。你说呢。年轻人又便宜,一个老程序员的薪水可能可以雇好几个年轻小伙子,三个臭皮匠能顶诸葛亮,我几个人还干不过你一个么。

团队分类

为了讨论程序员的职业寿命,我们先得给公司或者团队分分类。大概有这么三类:

  • 外包型
  • 项目型
  • 产品型

咱们一一来说一下吧。

外包型

什么是软件外包呢?

来来来,发挥剪报君的特长,看看百度百科的定义:

软件外包就是企业为了专注核心竞争力业务和降低软件项目成本,将软件项目中的全部或部分工作发包给提供外包服务的企业完成的软件需求活动。

看见了吧,大多数时候,软件外包干的就是人家不愿意干的脏活、累活、低技术含量的活。我在“亲爱的程序猿们怎么找工作”一文中已明确我的看法:有产品做,就不要做外包。

我见过的外包,有对欧美的,对日的,对华为的,这几类很多,前些年中国的劳动力成本低,外包业务很发达,现在印度成本更低并且软件开发规范程度更高,是比中国更受青睐的外包市场。

做软件外包的缺点有几个:

  • 技术积累缺少持续性
  • 不稳定
  • 没有话语权

专门做外包的公司,有活儿了你就干,没活儿啦你可能就得滚蛋。这有什么可说的呢,我不养闲人呢亲。所以这是不稳定。

对程序员来讲,在外包类公司,是最容易遭遇年龄坎儿的。因为干的活儿技术含量低(核心的人家自己干啦),个人的可替代性就强,你一经验丰富的老程序员薪资又高,每月 20K、30K很常见啊,对老板来讲养不起啊,肉疼心也疼,搞几个年轻的吧,三千两千都有人干,还也能干得了,你说说,你一个人拿的钱能雇七八个年轻人,你多危险呢你。还有你事儿多,有老婆孩子,孩子学校不定什么事儿呢,晚上还得招呼孩子功课,加个班儿都不痛快,要你干么地吧。就算你技术很强,可外包这种性质,打一枪换个地方,活干完了就了事了,再强也没你用武之地呀。再说啦,留两个强人就行了,要那么多净浪费公司银子。

项目型

中国电信、中国移动、中国联通,电信三家公司,养活了数不尽的项目型公司和团队啊。还有一众银行、金融企业、政企,也养活了数不尽的项目型公司啊。

什么是项目型公司呢?就是以给人做项目为主业的公司,接到项目就开工,有钱赚,比如你接人家电信的网上营业厅,比如你接人家某某大型国企的政务信息化,等等;接不到项目呢,就收缩规模,裁员……就这种啦。我见过很多,电信、金融、石油、电力、教育、政务、铁路……,各行各业都需要这种项目型公司,用自己公司的人,帮别人干项目,干出来活所有权不归你公司,归人家,可延续性很差,也不需要多少人来维护,就是要维护,留上一两个核心的懂业务的就够了,其它人,鸟尽弓藏,没项目了你就只好走人了吧。

项目型公司比外包型稍强一些,技术上可以自己选择,也能够在某个行业长期积累经验,甚至你还有可能自己立山头自己干。不过对于不能拉队伍自己搞的普通程序员来说,还是可持续性差一些,可替代性差一些。我就见过电信的项目,一个大项目拆成多个小项目,分给七八个小公司来搞,今天你搞着呢,下一期另外一个小公司和对口主管关系好,把你替了……有些程序员会在出没于电信一个大楼里的几个公司之间跳来跳去……从这一点上讲,程序员也不重要啊,公司也不重要啊,这个公司不干还有那个,这个程序员不干还有那个,另外程序员的价值也不高啊,有个懂业务的,配几个小年轻,事儿也就能搞成,你说你老大不小的,怎么跟年轻人拼呢……

产品型

毋庸置疑,做产品的公司是程序员最好的选择。一个公司做了一个好产品,运营这个产品,产品会不断迭代、更新,程序员会跟着这个产品一直往前走,公司需要了解产品、了解业务、技术积累厚的人才,而要懂业务、懂产品、有积累,都需要时间,等你什么都了解差不多了,也就是个老程序员了不是。而且随着你对产品了解的越深,你的不可替代性就越高,价值就越能凸显出来。当你的不可替代性高时,老板就要考虑替代的成本。什么都不懂的年轻后生,根本撼不动你的地位。

做产品的公司有相当数量,也有很多知名的,比如腾讯、百度、阿里、爱奇艺、PPTV等等,开发人员也数量庞大,几千到几万人的都有,但是这样的公司所拥有的开发人员总数量,与中国几百万程序员群体相比,还不是一个数量级的呀。那更多的程序员在哪里呢?就在项目型公司、外包型公司。

程序员的价值所在

(注:我在“程序员保值的4个秘密”一文中讨论了和这节类似的问题)

对于程序员来讲,价值怎么体现?一个程序员的价值,就体现在他的稀缺性上。物以稀为贵么,亘古不变的道理。

“闻道有先后,术业有专攻”这句话很适用于程序员,直白点说,技术的精湛不是以年龄来评判的,有的朋友在上学时的技术水平已经比工作十来年的高了,有工作十年的水平不如工作三年的,当然也有很多程序员的技术水平是正比于年龄增长的。

作为一个老程序员,只有你的技术能力正比于年龄,才是合格的,否则就必然越走越慢,慢慢掉队,最终就只能面临被年轻人挤兑、淘汰的窘况,结果就是被迫离开程序员的队伍。

程序员要想让自己的价值持续增长,有这么几个方向可供参考。

(一)选行业

在一个行业内持续积累,对行业的理解到位,积累深厚,你的价值是巨大的。不信你去浏览招聘网站上的岗位需求,99%都要求相关行业背景。所以,选择一个靠谱的、前景好的行业非常重要,只要这个行业能够不断发展、前进,你的积累就是有价值的,你自己就是不断增值的。

(二)技术

程序员,业务积累是屠龙刀,技术积累是倚天剑,两个都有,那就逢山开路遇水搭桥没有走不通的路了,你一定是先锋部队尖刀兵,到哪里都具有超强的攻击性。

技术上最起码的要求是技术水平和视野对得起年龄,如果有超越年龄的积累和犀利,那就没话说了,地球人已经阻挡不了你前进的步伐了。

就技术来讲,假如你掌握了一门很难又很重要的技术,那单单是这一点,就很有价值。比如你熟悉 Windows 内核或 Android 内核,能够熟练撰写各种驱动,那找个月薪五六十K的工作不成问题。再比如你图像处理算法很牛,再比如你视频解码算法很牛,……像这些特定领域的算法,我们也叫它技术吧。如果你懂类似的算法并能实现之,恭喜你,你已经超越了 90% 的程序员了,你的重要性和价值将不可估量。

(三)产品意识

做产品也是讲感觉的,当然有时我们觉得对产品的把握是产品经理的事儿,这么讲对,也不对。产品经理虽然是不挂衔的 CEO ,但产品的最终实现,是要靠程序员的,假如你对产品没有热情、没有感觉,无所谓好无所谓坏,那很难做到出色了。

我有一个很朴素的想法,一个程序员,要想做一个不那么糟糕的产品,一定要有爱,就像天龙八部里的段誉哥哥,见到美女就爱得要死要活,对每一位妹妹的爱都是发自真心的、都是炽烈的、都是让人魂牵梦萦的。惟其如此,你才能像张京兆(张敞,曾任京兆尹)为妻子画眉那样用心雕琢你的产品,对每一个细节都念兹在兹直到完美。这是讲我们程序员要爱产品,爱各种各样的产品,是做出好产品的前提。

你爱你做的产品,打心眼里希望她好,就有了第一个前提了。那接下来就很容易进入角色了,每做一个产品都会有积累,走心嘛,没积累才奇怪。慢慢你就会培养出对产品的独特感觉,形成产品意识,鹤立于程序员群里了。

再罗嗦一点,业务积累是屠龙刀,技术积累是倚天剑,那产品意识就是张无忌了,由他来控制屠龙刀和倚天剑,那就能发挥无上威力了。

公司的招聘要求分析

在现实中,公司招聘程序员时,多数时候会提到业务和技术方面的任职要求,我截取了两则招聘信息,贴出来看看:

这是招聘 Android 开发工程师的,职位要求里的第5点,就是行业业务要求。1、2、3、4都是技术要求了。

再看一个:

这个职位要求很硬很牛逼了,大部分都是技术方面的,不过第6点,依然是行业业务相关的。

其实我比较中意的是一个人是否爱他喜欢他所做的事情,如果你爱,泛爱众,又是真爱,那你就有了坐着火箭飞行的基础了,如果没有这一点,嗯,顶多是做到称职而已。不过你翻遍招聘网站的招聘需求,这方面的要求都很少见到,原因大概是很难描述、量化,因为它实在是一个软指标。

结论

我要亮出我的观点,评说就任人了。

我的结论是:程序员的价值与年龄没有直接关系,价值不会反比于年龄。作为软件开发人员,自己不要给自己在年龄上设限,很多事情我们没做成,很多时候我们没能取得更大的成就,都是因为我们先给自己设置了限制,用这个限制禁锢了自己。

下面这张图来自 cnbeta 的文章“2014年中国程序员调查报告”,他说明了国内程序员的年龄分布情况:

图1 程序员年龄分布

谁说程序员干不过三十岁呢,图1表明,30岁以上的程序员占比高达 48.62%,占整个程序员群里的将近一半。
2015年1月22日,我去参加 Qt 西安开发应用研讨会,有一哥们就是老程序员,40多了,宝刀正锋利呢。

王江民30多岁写软件,43岁搞出横扫杀软市场的江民杀毒。

我的老上司,40来岁了写直播流媒体协议,P2P的,传输效率高且稳定。

……

年龄只是一个自然现象,而我们的经验、认知、能力、心智成熟度,在合理的情况下,都是随着年龄增长的,廉颇不老,黄忠能战,只要你走在正确的方向上有值得称道的积累,缘何不能横刀立马顾盼自雄耶。

国外的研究论文和结论

让我们看一下国外牛人的研究吧:“ Is Programming Knowledge Related To Age?”。这个链接是英文的,pdf 版本,基于 Stack Overflow上的数据分析得出的结论。嫌 E 文难看的,来看个中文的:“程序员越老越博学吗?”,该文引用了“Is Programming Knowledge Related To Age?”的数据和结论。

“Is Programming Knowledge Related To Age?”这篇论文的结论是:

  • 程序员技术能力上升是可以到50岁或60岁的。
  • 老程序员在获取新技术上的能力并不比年轻的程序员差。

随着年龄老去的,是我们的身体,而永葆年轻的,则是我们的心。心不老,青春在,宝刀寒光仍闪耀,依旧斩上将首级于万千敌阵中如儿戏尔。程序员,走自己的路,让用年龄唱衰我们的人说去吧。


推荐阅读
  • 在编程笔试和面试中,全排列算法因其适中的难度而备受青睐,不仅能够考察应聘者的算法基础,还能测试其对递归和回溯的理解。本文将深入解析全排列算法的实现原理,探讨其应用场景,并提供优化建议,帮助读者更好地掌握这一重要算法。 ... [详细]
  • 掌握这些技巧,轻松获取超过90%的资源信息
    在数字时代,高效获取所需资源是每个人必备的技能。本文将分享一系列实用技巧,帮助读者轻松获取超过90%的网络资源信息,无论是学术资料、技术文档还是最新资讯,都能迅速找到。通过优化搜索引擎使用、利用专业数据库和社群资源等方法,读者将能够在信息海洋中游刃有余。 ... [详细]
  • 七款高效编辑器与笔记工具推荐:KindEditor自动换行功能解析
    本文推荐了七款高效的编辑器与笔记工具,并详细解析了KindEditor的自动换行功能。其中,轻笔记QingBiJi是一款完全免费的记事本软件,用户可以通过其简洁的界面和强大的功能轻松记录和管理日常事务。此外,该软件还支持多平台同步,确保用户在不同设备间无缝切换。 ... [详细]
  • PHP开发人员薪资水平分析:工程师平均工资概况
    PHP开发人员薪资水平分析:工程师平均工资概况 ... [详细]
  • 【Linux进阶指南】第一阶段第三课:体验与部署Ubuntu系统
    在正式踏上Linux学习之旅之前,本课程将引导你深入体验和部署Ubuntu系统。通过详细的操作步骤和实践演练,你将掌握Ubuntu的基本安装、配置及常用命令,为后续的进阶学习打下坚实的基础。此外,课程还将介绍如何解决常见问题和优化系统性能,帮助你更加高效地使用Ubuntu。 ... [详细]
  • 题目探讨了在无向图中求解点连通数的问题,具体涉及UVA1660和POJ1966两个经典问题。通过最小割算法的应用,分析了如何高效地确定网络中的关键节点和路径,为电缆电视网络的优化设计提供了理论支持。该研究不仅验证了最小割算法的有效性,还为进一步探索复杂网络的连通性和鲁棒性奠定了基础。 ... [详细]
  • 初探性能优化:入门指南与实践技巧
    在编程领域,常有“尚未精通编码便急于优化”的声音。为了从性能优化的角度提升代码质量,本文将带领读者初步探索性能优化的基本概念与实践技巧。即使程序看似运行良好,数据处理效率仍有待提高,通过系统学习性能优化,能够帮助开发者编写更加高效、稳定的代码。文章不仅介绍了性能优化的基础知识,还提供了实用的调优方法和工具,帮助读者在实际项目中应用这些技术。 ... [详细]
  • 作为软件工程专业的学生,我深知课堂上教师讲解速度之快,很多时候需要课后自行消化和巩固。因此,撰写这篇Java Web开发入门教程,旨在帮助初学者更好地理解和掌握基础知识。通过详细记录学习过程,希望能为更多像我一样在基础方面还有待提升的学员提供有益的参考。 ... [详细]
  • PHP网站日志深度解析与数据洞察分析
    通过对PHP网站日志进行深入解析与数据洞察分析,可以有效提升网站性能和用户体验。由于网站日志数据量庞大,通常需要借助专业的日志分析工具来处理。常用的工具包括光年日志分析工具和WebLog Expert等,这些工具能够帮助技术人员快速识别并解决网站运行中的各种问题,从而优化SEO效果和提升整体运营效率。 ... [详细]
  • 本文详细介绍了在 Vue.js 前端框架中集成 vue-i18n 插件以实现多语言支持的方法。通过具体的配置步骤和示例代码,帮助开发者快速掌握如何在项目中实现国际化功能,提升用户体验。同时,文章还探讨了常见的多语言切换问题及解决方案,为开发人员提供了实用的参考。 ... [详细]
  • TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得
    TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得 ... [详细]
  • 在Android平台上,视频监控系统的优化与应用具有重要意义。尽管已有相关示例(如http:www.open-open.comlibviewopen1346400423609.html)展示了基本的监控功能实现,但若要提升系统的稳定性和性能,仍需进行深入研究和优化。本文探讨了如何通过改进算法、优化网络传输和增强用户界面来提高Android视频监控系统的整体效能,以满足更复杂的应用需求。 ... [详细]
  • 在探讨Hibernate框架的高级特性时,缓存机制和懒加载策略是提升数据操作效率的关键要素。缓存策略能够显著减少数据库访问次数,从而提高应用性能,特别是在处理频繁访问的数据时。Hibernate提供了多层次的缓存支持,包括一级缓存和二级缓存,以满足不同场景下的需求。懒加载策略则通过按需加载关联对象,进一步优化了资源利用和响应时间。本文将深入分析这些机制的实现原理及其最佳实践。 ... [详细]
  • 小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限
    小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限 ... [详细]
  • 如何实现电脑硬盘的精确整数分区:探究硬盘容量与分区技巧
    本文探讨了如何在电脑硬盘上实现精确的整数分区,详细分析了硬盘容量与分区技巧之间的关系。通过合理的规划和操作,可以确保每个分区的容量为整数值,从而提高存储管理的效率和数据的安全性。文中还介绍了常用的分区工具和方法,帮助用户更好地理解和掌握硬盘分区技术。 ... [详细]
author-avatar
mobiledu2502905463
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有