人到中年的程序员,请提前准备好 Plan B
中年程序员的生存现状已经是老生常谈的话题了,有多老呢?十年前,就有一位名叫“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的更多相关文章
- github host你懂得,如果你是程序员请不要乱传,求求了
可用截止测试时间 2015-01-12 github相关的hosts 207.97.227.239 github.com 65.74.177.129 www.github.com 207.97.227 ...
- 你想成为优秀的Java程序员吗?
Java是全世界最受欢迎的3大编程语言之一,它可以开发出许多实用的WEB应用程序和桌面应用程序,更重要的一点,Java是跨平台的语言——编写一次,可以再任何地方运行.另外,Java也很容易入门,如果你 ...
- Java程序员需要学习的知识点
Java是全世界最受欢迎的3大编程语言之一,它可以开发出许多实用的WEB应用程序和桌面应用程序,更重要的一点,Java是跨平台的语言——编写一次,可以再任何地方运行.另外,Java也很容易入门,如果你 ...
- 实地探访:月薪 12K 的北京程序员是怎么工作生活的?
阅读本文大概需要 4 分钟. “ 每个人都有自己的亲身经历,每个人都有一条生活道路.千万人千万条,各不相同,各有特点.但是并不是好人都有一条好路,坏人都有一条坏路,有的时候却恰恰相反.这虽然不是历史的 ...
- [置顶]
AI大行其道,你准备好了吗?—谨送给徘徊于转行AI的程序员
前言 近年来,随着 Google 的 AlphaGo 打败韩国围棋棋手李世乭之后,机器学习尤其是深度学习的热潮席卷了整个IT界.所有的互联网公司,尤其是 Google 微软,百度,腾讯等巨头,无不在布 ...
- 2019 年 3 月 iOS程序员面试心得总结,请大家多多指教!
序言: 今年2月中下旬因为个人原因,换了一份工作,3月初期间面试了有3,4家,基本都是D轮或者刚刚上市的公司,也有上榜的BAT,也从他们的面试笔试中看到了自己的一些不足,于是就想写出来和大家分享一下, ...
- 5年Android程序员面试字节跳动两轮后被完虐,请查收给你的面试指南
大家应该看过很多分享面试成功的经验,但根据幸存者偏差的理论,也许多看看别人面试失败在哪里,对自己才更有帮助. 最近跟一个朋友聊天,他准备了几个月,刚刚参加完字节跳动面试,第二面结束后,嗯,挂了- 所以 ...
- 程序员快递请查收,来自Python黑客大佬的一份DDOS攻击说明书!
DDoS攻击没有我们想象中的那么简单,并不是什么Python程序员都能够做到的. 若要知晓黑客利用DDOS攻击原理那么我们必须要知道是实行DDoS攻击比较难的原因是什么? 很简单的一句话概括:&quo ...
- 本文详解5G是个什么鬼,程序员都准备好了吗?
无线移动通讯发展历史 最近5G的概念炒的如火如荼,为此,华为和高通还干了一仗.这篇文章从技术层面给大家分析,什么是5G,它和4G比,高级在哪里? 我们来看看移动互联网的技术发展: 然后我们在来看看他们 ...
随机推荐
- 使用idea maven打包项目 Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.0.2:resources
超级折磨人 在网上搜到的解决方案: 技术交流群 : 816227112 修改 和 <plugin> <groupId>org.apache.maven.plugins</ ...
- 020_go语言中的接口
代码演示 package main import ( "fmt" "math" ) type geometry interface { area() float ...
- Java语言程序设计2019.9.16
1.Java的基本运行单位是类. 2.类是由方法和变量组成. 3.变量类型分为byte,int,double,long,short,boolean,char,float.java中整数类型默认的int ...
- 15、Java中级进阶 面向对象 继承
1.何为面向对象 其本质是以建立模型体现出来的抽象思维过程和面向对象的方法(百度百科)是一种编程思维,也是一种思考问题的方式 如何建立面向对象的思维呢?1.先整体,再局部2.先抽象,再具体3.能做什么 ...
- GitLab CI/CD 配置
GitLab CI/CD 配置 概念 持续集成的相关概念,可以看这篇文章 持续集成是什么? - 阮一峰的网络日志 操作示例 创建测试项目 sample-web,然后打开项目的 Runners 配置 找 ...
- 微信公众号添加word文件
微信公众号添加word文件的教程 我们都知道创建一个微信公众号,在公众号中发布一些文章是非常简单的,但公众号添加附件下载的功能却被限制,如今可以使用小程序“微附件”进行在公众号中添加附件. 以下是公众 ...
- MyBatisPlus配置日志,CRUD的使用
配置日志 我们所有的sql在mybatisplus是不可见的,所以在开发中需要配置日志,开发完成后,就可以取消日志了,因为日志也是损耗资源的 #配置日志 mybatis-plus: configura ...
- C#LeetCode刷题之#69-x 的平方根(Sqrt(x))
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3848 访问. 实现 int sqrt(int x) 函数. 计算 ...
- C#LeetCode刷题之#705-设计哈希集合(Design HashSet)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4114 访问. 不使用任何内建的哈希表库设计一个哈希集合 具体地说 ...
- BLE GAP 协议和 GATT 协议
BLE GAP 协议和 GATT 协议 最近要打算学习 Blufi 协议进行蓝牙配置,其中必然使用 GAP 协议和 GATT 协议,于是进行重新学习一番. BLE 是一个 Bluetooth SIG ...