知行编程网知行编程网  2022-04-14 17:00 知行编程网 隐藏边栏 |   抢沙发  18 
文章评分 0 次,平均分 0.0


在中国程序员工作是青春饭吗?

整理 | 深度学习这件小事

来自 | 知乎

仅作交流,如有侵权,请联系删文


在中国程序员工作是青春饭吗?

https://www.zhihu.com/question/321199799


阿莱克西斯
https://www.zhihu.com/question/321199799/answer/779270361

很遗憾, 就答主在中国和美国的工作经历和观察来看, 程序员无论在哪里都是“青春饭”(注意引号, 友军先别开枪!).
但是,在你站在40岁50岁时候的自己这个角度来思考问题,从而害怕程序员是青春饭,自己被年轻人"干掉"的同时,你也要从另外一个角度(年轻时的自己的出路是什么?)来思考问题;
一个行业如果完全以年龄为衡量,以年轻为最高优先级,新入行的年轻血液立刻或者简单熟悉行业规则之后很快就可以替代上年纪的中年人,那么此行业一定是吃青春饭的,你可能觉得不好不稳定;那么考虑另外一个极端,以年老和资历为最高优先级,一个行业如果非常稳定,不混个10年20年完全混不出来,即使你天赋异禀入门也只能做小弟,被只是早来10年站住坑的混吃等死的平庸之辈压制10年20年才能出头;作为一个朝气蓬勃的年轻人,你不觉得绝望么?
当然世界是复杂的,没有行业是绝对看年纪的,即使是演艺圈这种世俗目光中的标准“青春饭”行业,也会有年轻人无法轻易战胜的“老戏骨”;
总会有特例的情况下我们用统计这个工具来下定义,那么在计算机行业,百分之多少的年轻人在刚入行3-5年内就可以替换掉百分之多少的老年“掉队者”呢?
很遗憾的是,就我观察到的现象来看,这个比率在计算机/程序员这个行业很高, 这也是我说程序员无论在哪里都是青春饭的原因;因为这是一个不断变革的行业,就我从业10年的经验来看,可以说几乎2-3年就有一次"工业革命", 发生在这个行业的各个不同的角落:
  • 从waterfall开发方式到敏捷的开发思想,再到Agile is Dead, DevOps的兴起...
  • 从过程式的编程思想到OO的兴起,再到FP慢慢渗透到现代语言的各个角落...
  • 从RMI的失败,到WSDL和SOAP的兴起,再到RESTful…
  • 从3层layer的单机构架,到SOA/ESB,再到SOA is Dead, 微服务兴起...
  • 从实体物理机器,到VM虚拟机,再到docker+Kubernetes这种轻量级容器的兴起..
  • 从SQL和Oracle的霸业,到NoSQL的兴起,再到NoSQL转向NewSQL...
  • 从ActiveMq到SQS, Google pubsub这种完全用consistency换scalability的分布式队列,再到Kafka这种可以保证partition的strong ordering的分布式队列...
  • 从RDFS到OWL,再到现在利用deep learning的知识图谱建造,和knowledge graph embedding…
  • 从管理大型机5000个cpu的网格计算,到把计算资源当作自来水一样即开即用的云计算
  • 从计算最多只能多线程的跑在cpu上,到hyperThread,GPU的大规模并行运算,再到TPU的大杀器…
  • 从雇佣专门的部署和运维管理团队,到现在的infrastructure as code,network as code…
  • 从认为流系统无法保证consistency的初始storm和2014年才问世的Lambda Architecture,到4种可以一定程度保证end2end consistency的state of art的流系统(仅仅4年后lambda architecture就被Stream System一书的作者按在地上摩擦),再到提出流和batch/表有本质联系的google Dataflow模型…
  • 即使是在很多人眼里还是新概念的"大数据", 也已经经历了Hadoop+MapReduce 到Pig/Hive这种高层模型,再到Spark, Flink的无数迭代了;
  • 甚至从手调openCL手调cpu优化,到现在的autoTVM…
  • 就更不用说machine Learning特别是deep Learning的大发展, 强化学习, 甚至量子计算机这些前沿领域了...

想想6-7年前自己最拿得出手的技术: Design Pattern, OO, Hibernate, Oracle, , SOA+ESB, JMS/ActiveMq... 如果我现在还只是懂这些东西,我绝对会被熟悉云计算和各种分布式数据库的年轻人吊起来打...
然而我们也有自己的优势, 如果你愿意学习,学习的飞轮是会加速的,我刷一本类似ElasticSearch In action, Kubernetes In Action这种500页的简单技术书大概只需要5天的工作之余的时间, 通过对已有认知的的修改,对类似知识的归纳,我学这些东西比完全重建所有知识的人会快非常多;另外一个例子,我们组里的CV大神年纪比我还要大,但是他坐公交的15分钟的时间能刷一篇CV的论文,而我一般需要至少1-2天才能看完一篇;
计算机是奖励精英和努力的人的行业,它是青春饭, 给予年轻人以嘉奖,让你不会被平庸之辈用年纪和所谓"资历"压的不得翻身;然而平均的年轻精英(百年一出的天才到从年轻到年老都是爸爸,不适用于此讨论)却无法轻易战胜也冲在研究和学习第一线的“老学究”, 因为新知识很多时候对他们来说只需要学习一个增量即可,且很容易和他们的已有知识产生化学反应;
如果你拥有天赋或努力中的一样, 或者2样皆有,那么你就可以在年轻时用新思想新技术打败90%的“不思进取”的前辈的同时,在老年用自己的丰富和见多识广的学识压制90%的年轻人;
给平庸的年轻人希望也就是给平庸的中老年人予绝望,反之亦然;而一个人,必定要在一生的舞台中中扮演两次这不同的角色…
平庸而又毫无自知,毫不努力的自己,才是我们应该害怕的事情;



胡景超
https://www.zhihu.com/question/321199799/answer/773403605
以前我觉得不是,最近越来越觉得是
今年36了,自认为也算是码农里面水平较高的那一批,5到10年前也觉得以自己的能力,哪怕50了60了,写代码完全不成问题
32以前若干次换工作或者面试,我都是投后端开发,虽然我一直都是组长甚至cto的角色,但是我一点都不喜欢带人,只想干开发码代码,就是这么任性。尽管入职之后总是发现不知不觉就要带人了,但是撸代码至少也有70%左右的比例
今年的找工作格外不同,我发现投开发岗已经几乎没有公司要了,简历都不收的那种,不找熟人内推基本面试都不给了
辗转最后还是做了管理岗,尽管是技术管理,但是自己下场的机会真的是很少,干了几个月,回过头来思考这个问题,我觉得自己已经回不去了,这个就业市场压根就不认可高龄码农,那即便你有能力又如何呢?脱离这个赛道一旦时间久了,也就再也回不到原来的赛道上了
希望以后就业市场更宽容点吧,满足我以后老了也能继续干开发的愿望。

余叶
https://www.zhihu.com/question/321199799/answer/783010579

一个大龄码农现身说法吧. 先说答案: 是! 尤其是中国。
首先从粗鲁的角度分析:肯回答这类问题的,一般是码农中最喜欢编程,持续学习能力强的那一波。所以多少会造成幸存者偏差。而且这个问题其实最有资格回答的不是码农自己,而且负责招聘的HR或猎头。毕竟招聘方代表着市场,更客观些。
而我老婆正好是互联网资深HR。所以从 HR 的角度,我能得到最靠谱的回答。
其次从码农自身的角度看,这就很有意思了。如果细说原因, 可能是懂的越深的缘故, 越琢磨越觉得这个问题的原因很复杂.
1:从年龄角度分析。我今年 37 岁,过了 35 岁门槛已经两年。两年前我发现市场上给的机会急速变小,以前投10个公司会有 5 个面试机会,如今恐怕只有 一两个机会。后来一个关系好的 猎头直接把 HR 给他的反馈,微信截屏给我看,有好几个 HR 是同样的反馈:
此人背景虽好,但年龄偏大,且没有互联网的经验,所以不给面试机会。
就随便提其中两个公司名字吧:滴滴,链家。后来我还认识了一个滴滴的HR,我问滴滴是不是有这样的规定?她回答说:没有,这个看 HR 个人,每个人总有个初步筛选的标准嘛。
所以我现在的估计是:如果你背景很好,且一直在互联网工作,大概 40 岁才会被逐渐年龄歧视。如果没有互联网工作过,年过 35 会直接被互联网年龄歧视。当然去其他行业,年龄可能也能放宽到 40 岁。但这个年龄线是 2019 的,之后会变的。
2:从面试角度分析。其实经常参加面试或面试别人就会知道:面试除了面试技术,有个很大的因素是气场。如果双方气场相融,你的技术思路他也更容易听得进去,就很容易过。这里我发现一个很奇怪的现象:如果面试官比我大或者和我年龄相仿,那我这一轮通过率特别高,可以说基本都过吧。
但是如果是年轻人面试,就感觉问的问题,瞬间很难,你搞不清楚他真正想知道的到底是什么。一个最典型的就是我去奔驰面试,对方从天问到地,问的很宽很细,软的有架构设计,硬的有考算法。我回答得都挺好,而且我不认为我的水平比对方差。
按照我之前的面试经验,能回答道这种程度,肯定能拿到 offer 的。但最终猎头的反馈只是得到一张好人卡。只能说气场不相融吧,而面试官比你年龄小,气场会很难相融。
那衍生推断的结果很有意思了:如果比你大 0-5 岁的那波人,因为技术变革太快太大,导致转行的过多,比如转领导,销售,运维等等。坚持干技术的比例很小,那么你这一波的中年危机也会相应提前到来。
所以千万不要混到和我一样,被你年龄小的人面试. 那一定要被生剥一层皮.
3:从技术角度分析。这些年,程序世界里,越来越框架化。各种层出不穷的框架,支撑起越来越复杂的软件结构。但对广大应用层的程序员纯写代码的要求,反而越来越扁平化了。这里我整理如下:
比如微服务架构,整个后台体系自然是复杂了。但是单个微服务的代码,是变简单了,这对程序员的要求反而降低了。整个体系架构的事情,只需要少数人主导即可。
比如前端,各种框架打得不亦乐乎。但相比 10 年前,写前端代码是变简单了。所以才有余力要求大家纷纷变成全栈工程师。
比如 native 开发,之前发展到 mvvm 模式的高度,现在适应网络化,纷纷回到mvc,这对代码的要求也是变简单了。
比如 devops,更是将开发和运维慢慢交融在一起。你想啊,开发和运维都要趋同了,那对代码的要求是降低还是升高呢?
我突然发现:最近几年,我写的超过三层继承的类的案例越来越少了,应用场景慢慢不需要了。代码变得更加线性化,也就是简单化了。
那我懂得宽,变成全栈,岂不门槛也提高了吗?并没有。首先如果你接触面广,更不容易就某个领域深入了解。而35 岁的你要打动面试官,说你能干活是不够的,必须他懂的某个领域,你恰好懂得比他还深入,如果面的宽,自然命中率就低。
其次,普通程序员干的活越来越依赖上层的框架,而框架是特别容易变的,你刚熟悉的技能很容易被淘汰。就拿前端框架来说,你直接学 react 或 vue 就很好,学了 angular 在国内市场就没那么好过了。所以这也依赖于一定的运气,谁能想到 angular 在国内不行了呢?
—完—
为您推荐
最新微软研究院书籍《数据科学基础》分享
这位90后学霸,即将任教麻省理工
南京大学「自然指数」超越清华北大,位列全国高校第一、世界第七,突显学术实力
如何利用Python开发人工智能入门项目
【微软】AI-神经网络基本原理简明教程

本篇文章来源于: 深度学习这件小事

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享