中年程序员的生存现状已经是老生常谈的话题了,有多老呢?十年前,就有一位名叫“johnfx”的程序员谈过这个话题,并且专门为此写了一篇文章。随着中年程序员生存现状的话题再次成为热点,这篇文章被顶到了 HackerNews 网站的首页,并且引发了数百条讨论。

十年前的中年程序员面临的“生存危机”与今天有何不同?十年前的经验是否仍有值得借鉴的地方?AI 前线(ai-front)对“johnfx”的文章进行了编译,并整理了如今程序员对这一问题的看法,希望对各位读者有所帮助。

计算机科学专业的大学生在毕业后的 6 年里,约有 57%的人从事程序员相关职业;而毕业 15 年后,这个数字下降到 34%;在毕业 20 年后,也就是大多数人处于 40 岁出头的年纪时,这个数字下降到了 19%。

相比之下,土木工程同时期的数据分别为 61%、52%和 52%。

科技领域的年龄歧视问题已经引起了相当多的指责,但我怀疑,这可能是这个领域快速变化的必然结果。

请先考虑如下几个问题:

1.员工的市场价值主要取决于他 / 她在与雇主相关的技术方面的经验。

2.软件工程至少每 10 年就会经历一次重大的技术变革。

3.虽然技术的转变并不会完全否定老一辈的技能,但它确实为应届毕业生创造了更公平的竞争环境。

现在,你需要站在招聘经理的角度思考:如果你的公司要使用像 Ruby on Rails 这样的新技术,除了 David Heinemeier Hansson(Ruby on Rails 原作者)拥有 5 年以上的工作经验,其他人都没有。当然,对于经验丰富的老手来说,拥有额外 10 年 C++ 经验的老兵与同样拥有 3 年 Rails 经验的新贵相比,区别还是很大的。在所有条件相同的情况下,你自然会聘用经验更丰富的人。

然而,并非所有的事情都是平等的。这 10 年的 C++ 经验让经验丰富的求职者越来越贵,因为他们需要在 C++ 相关的工作中才能发挥这些经验的价值。问题是,额外经验的边际效用必须超过雇佣老兵的边际成本,才能证明支付溢价是合理的。

参考链接

https://improvingsoftware.com/2009/05/19/programmers-before-you-turn-40-get-a-plan-b/

https://news.ycombinator.com/item?id=20592384

人到中年的程序员,请提前准备好 Plan B的更多相关文章

  1. github host你懂得,如果你是程序员请不要乱传,求求了

    可用截止测试时间 2015-01-12 github相关的hosts 207.97.227.239 github.com 65.74.177.129 www.github.com 207.97.227 ...

  2. 你想成为优秀的Java程序员吗?

    Java是全世界最受欢迎的3大编程语言之一,它可以开发出许多实用的WEB应用程序和桌面应用程序,更重要的一点,Java是跨平台的语言——编写一次,可以再任何地方运行.另外,Java也很容易入门,如果你 ...

  3. Java程序员需要学习的知识点

    Java是全世界最受欢迎的3大编程语言之一,它可以开发出许多实用的WEB应用程序和桌面应用程序,更重要的一点,Java是跨平台的语言——编写一次,可以再任何地方运行.另外,Java也很容易入门,如果你 ...

  4. 实地探访:月薪 12K 的北京程序员是怎么工作生活的?

    阅读本文大概需要 4 分钟. “ 每个人都有自己的亲身经历,每个人都有一条生活道路.千万人千万条,各不相同,各有特点.但是并不是好人都有一条好路,坏人都有一条坏路,有的时候却恰恰相反.这虽然不是历史的 ...

  5. [置顶] AI大行其道,你准备好了吗?—谨送给徘徊于转行AI的程序员

    前言 近年来,随着 Google 的 AlphaGo 打败韩国围棋棋手李世乭之后,机器学习尤其是深度学习的热潮席卷了整个IT界.所有的互联网公司,尤其是 Google 微软,百度,腾讯等巨头,无不在布 ...

  6. 2019 年 3 月 iOS程序员面试心得总结,请大家多多指教!

    序言: 今年2月中下旬因为个人原因,换了一份工作,3月初期间面试了有3,4家,基本都是D轮或者刚刚上市的公司,也有上榜的BAT,也从他们的面试笔试中看到了自己的一些不足,于是就想写出来和大家分享一下, ...

  7. 5年Android程序员面试字节跳动两轮后被完虐,请查收给你的面试指南

    大家应该看过很多分享面试成功的经验,但根据幸存者偏差的理论,也许多看看别人面试失败在哪里,对自己才更有帮助. 最近跟一个朋友聊天,他准备了几个月,刚刚参加完字节跳动面试,第二面结束后,嗯,挂了- 所以 ...

  8. 程序员快递请查收,来自Python黑客大佬的一份DDOS攻击说明书!

    DDoS攻击没有我们想象中的那么简单,并不是什么Python程序员都能够做到的. 若要知晓黑客利用DDOS攻击原理那么我们必须要知道是实行DDoS攻击比较难的原因是什么? 很简单的一句话概括:&quo ...

  9. 本文详解5G是个什么鬼,程序员都准备好了吗?

    无线移动通讯发展历史 最近5G的概念炒的如火如荼,为此,华为和高通还干了一仗.这篇文章从技术层面给大家分析,什么是5G,它和4G比,高级在哪里? 我们来看看移动互联网的技术发展: 然后我们在来看看他们 ...

随机推荐

  1. 使用idea maven打包项目 Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.0.2:resources

    超级折磨人 在网上搜到的解决方案: 技术交流群 : 816227112 修改 和 <plugin> <groupId>org.apache.maven.plugins</ ...

  2. 020_go语言中的接口

    代码演示 package main import ( "fmt" "math" ) type geometry interface { area() float ...

  3. Java语言程序设计2019.9.16

    1.Java的基本运行单位是类. 2.类是由方法和变量组成. 3.变量类型分为byte,int,double,long,short,boolean,char,float.java中整数类型默认的int ...

  4. 15、Java中级进阶 面向对象 继承

    1.何为面向对象 其本质是以建立模型体现出来的抽象思维过程和面向对象的方法(百度百科)是一种编程思维,也是一种思考问题的方式 如何建立面向对象的思维呢?1.先整体,再局部2.先抽象,再具体3.能做什么 ...

  5. GitLab CI/CD 配置

    GitLab CI/CD 配置 概念 持续集成的相关概念,可以看这篇文章 持续集成是什么? - 阮一峰的网络日志 操作示例 创建测试项目 sample-web,然后打开项目的 Runners 配置 找 ...

  6. 微信公众号添加word文件

    微信公众号添加word文件的教程 我们都知道创建一个微信公众号,在公众号中发布一些文章是非常简单的,但公众号添加附件下载的功能却被限制,如今可以使用小程序“微附件”进行在公众号中添加附件. 以下是公众 ...

  7. MyBatisPlus配置日志,CRUD的使用

    配置日志 我们所有的sql在mybatisplus是不可见的,所以在开发中需要配置日志,开发完成后,就可以取消日志了,因为日志也是损耗资源的 #配置日志 mybatis-plus: configura ...

  8. C#LeetCode刷题之#69-x 的平方根(Sqrt(x))

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3848 访问. 实现 int sqrt(int x) 函数. 计算 ...

  9. C#LeetCode刷题之#705-设计哈希集合​​​​​​​(Design HashSet)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4114 访问. 不使用任何内建的哈希表库设计一个哈希集合 具体地说 ...

  10. BLE GAP 协议和 GATT 协议

    BLE GAP 协议和 GATT 协议 最近要打算学习 Blufi 协议进行蓝牙配置,其中必然使用 GAP 协议和 GATT 协议,于是进行重新学习一番. BLE 是一个 Bluetooth SIG ...