35岁难找工作,40岁没人要:年长的程序员都去哪里了?不要让环境同化了年轻的程序员!

Posted Android-until

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了35岁难找工作,40岁没人要:年长的程序员都去哪里了?不要让环境同化了年轻的程序员!相关的知识,希望对你有一定的参考价值。

为什么软件开发行业看不见白发苍苍的程序员?年长的程序员都去哪里了?各个公司会辞退年长的程序员吗?如果一位50多岁的程序员申请20多岁或30多岁的职位,有多少公司会雇用他们呢?关于这个问题,有很多流言传说,也有一些残酷的现实。当然40岁,甚至是35岁就被当作“老人”就委实很让人震惊。这里的“老人”一词指的是程序员可以计划退休或换个工作了。

首先,我们来一组统计数据。

统计数据:程序员40岁就该退休了?

我发现有些调查的统计数据有一些相互矛盾。Stack Overflow于2019年对全球的66,329名专业开发人员进行了调查。结果如下:

在专业开发人员中,35岁以下的程序员占71.7%,40岁以下的占85%。与其他任何行业相比,这组数字都很不寻常。透过50,705份调查结果,我们发现,澳大利亚和美国的开发人员的平均年龄最高,为32.8岁;印度最低,为25.9岁。根据这份研究报告,年龄在55~64岁之间的软件开发人员的数量,从2011年的87,000(8.3%)增至2019年的195,000(10.7%)。

其中美国的高龄开发人员数量高于大多数国家。但是,情况每一天都在发生变化。根据Evans的统计数据,全球约有2400万开发人员,到2024年,这一数字将再增长20%,达到近3000万。美国目前拥有约440万软件开发人员,数量最多,但印度有望于2024年赶超美国。另外,亚洲的软件开发人员数量在不断增加,但软件开发人员的平均年龄则日渐降低。

为什么年长的软件开发人员如此稀有?

高昂的薪资

很显然,经验丰富且年龄偏大的软件开发人员拿到的薪资理应高于年轻人(尽管有时未必),而且他们的期望值也会偏高。问题在于需求。软件公司是否需要这些经验丰富的开发人员?他们值得雇佣吗?基本上可以说,答案是否定的。各个公司往往并不需要大量经验丰富的高级开发人员。每个公司都需要面对现实的问题,负担大量高薪的高级开发人员的压力可不小。

换工作

绝大多数开发人员都会找到一种无需编写代码即可赚更多钱的方法。因此,换工作是另一个原因。

永无止境的学习

技术、编程语言和框架的发展日新月异,所以许多年长(甚至年轻)的开发人员都跟不上时代的步伐。随着年龄的增长,人们还要负担很多其他责任。他们往往没有足够的时间来学习新技术。这是这个行业没有太多高龄开发人员的另一个原因。其他行业的专业人士就无需面对如此巨大的学习压力。程序员需要没完没了地学习新技术。

环境

随着时间的流逝,大家会逐渐注意到自己成为了团队/公司的老一辈,周围是一群年轻的程序员。由于代沟以及其他的一些因素,许多人无法与年轻的程序员很好地沟通。他们感到在工作中很孤独。这是另一个原因。

相对较新的行业

与其他行业相比,软件行业比较新。这是最大的原因之一。随着行业的发展成熟,希望我们有机会看到更多年长的开发人员。

创业文化的推动

企业家们希望快速地构建软件产品,并打破旧世界。每个企业家的梦想都是以某种积极的方式改变世界。

此外,由于开发软件的资金都是通过融资获得的,因此通常他们都没有其他可支配的资金。因此,为了通过低廉的成本,快速地开发技术产品,企业家不得不寻找年轻的开发人员。但是,在一家创业公司进入成熟发展阶段后,他们就会需要经验丰富的高级开发人员,因为这些高级开发人员能够为产品建立强大的基础和坚实的体系结构。HBO的电视剧《硅谷》的前编剧Dan Lyons在采访中曾说:“我认为,他们都觉得年轻人能够带来最大回报:使劲压榨年轻人,等他们不行了,然后再换一批人。”科技行业的这种年龄歧视引发了很多问题,给年轻以及年老开发人员都带来了精神压力。

不同阶段职业规划

20-27岁:技术积累阶段

假设本科22岁毕业,那么工作的前5年对你来说是打基础的阶段。在这5年时间里面,你要积累足够的代码量,打磨自己的技术实力,成为某一个技术细分领域的牛人。

而我自己当年在这个阶段的努力程度是如饥似渴的,春节都不回家,蹲在出租房里面啃技术文档。刚参加工作的时候,曾经连续一个月在公司打地铺睡觉。

28-35岁:形成思维方法论和知识体系的阶段

当你积累足够的代码量,例如超过10万行代码以后,你应该形成了自己的思维方法论和自己独立的学习技巧,任何新的技术在你眼中都能迅速的看到技术的本质,快速吸收成为你的知识体系的一部分。

到了这个阶段,你会发现你所完全不了解的新技术新知识是非常少的,新技术对你来说也不过是几天时间就把玩的很好的玩具,学习越来越轻松,掌握的知识储备越来越多。

你开始逐渐的不再满足于纯技术领域的探索,而是思考更多的问题:如何将技术转化为生产力;什么技术在什么样的场合能够发挥最大的价值;技术团队应该怎样构建;在一家公司里面,我怎样才能将自己的技术能力最大化的发挥出来?

在这个阶段,积累技术对你来说简直是小菜一碟,你更需要磨练的是思考能力,形成自己的思维方法和知识体系,这将是你帮助你一生的武器。

35岁以后:了解自己,把自己变现的阶段

毋须讳言的是,35岁以后你的一线coding能力一定是下降的,你写代码绝对不如25岁的程序员快,效率高。但是这不重要,因为编程只是你整个武器库当中相对最不重要的了,你的经验,你的视野,你的架构能力,你的管理能力,你分析和解决问题的能力已经远远不局限于技术这个领域。

30-35岁这个阶段,最关键的是了解自己。知道自己擅长什么,自己的优势在哪里,怎样才能够最大化自己的价值,同时也知道自己有什么缺陷,怎样避开做自己不擅长的事情,不勉强自己,不让自己处于对自己不利的环境,这是人生的智慧。

一个人能够客观的认识自己是非常困难的,很多人终其一生都没有活明白,既不知道怎样发挥自己的天赋,也拒绝承认自己的缺陷。在35岁以后,要接受一个不完美的自己,知道怎样扬长避短,最大化个人价值。能够做到这一步的程序员,人到中年完全不是程序员生涯的终结,反而会走向个人事业的巅峰。

那么程序员如何在这个行业生存

按照我工作年限,我应该是没资格来说这件事的,不过周边有不少朋友是CTO,技术VP之类的高管,都是顺利度过“中年危机”的优秀人才,我专门为了这个问题去向他们请教,结合他们的意见,我总结了几条建议如下:

对于许多人来说,编程不仅仅是一份职业。最近,我在阅读一些相关的文章时发现,许多50岁以上,甚至60岁以上的开发人员仍在从事编程。他们中的一些人也有其他的工作机会,但是他们都拒绝了,因为他们喜欢编程。其实,能够从事自己喜欢的工作,是人生一大幸事!但是,无论你喜欢与否,如果想长期从事这个职业,就需要牢牢记住一些忠告。无论你是年轻还是年长,所有程序员都需要记住:时刻努力学习新技术,否则就会被时代抛弃

紧跟年轻人的思想

除了便宜以外,各个公司喜欢招募年轻开发人员的原因还有两个:

  • 他们渴望学习。他们很好奇,喜欢学习新鲜的事物。他们学习的知识都很先进。
  • 他们可以激发很多新想法,并分享新的观点。

因此,请紧跟年轻人的思想。只要有年轻的心态,年龄无关紧要。

放下“技术包袱”

许多程序员都有技术“包袱”。请放下包袱,对新技术保持开放的心态。如果某个程序员长期从事某个特定的编程语言,而没有任何其他方面的工作经验,则一些招聘人员会视之为危险信号。

专注本业,做深做强

程序员这个职业和律师,医生,运营等职业不同,它要求从业人员更好的新技术学习能力,反而对于从业人员的经验要求不高。从程序语言来说,2000年初JAVA才刚刚起来,不到10几年的时间已经代替C++成为使用最多的技术语言。而GO,Groovy,Python等后起之秀也快速发展,大有替代Java之势。这就要求这个行业的从业人员需要具备快速的技术学习能力。如果你是一个技术狂人,能够快速的学习新的技术语言,并对枯燥的IT技术甘之如饴,那么持续沿着技术这条路走下去也是一种选择。毕竟每一个行业,总需要能够钻研最底层技术的人。

关于android方面的技术储备

现在竞争这么激烈,只有通过不断学习,提高自己,才能保持竞争力。

对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!

对于一些不知道学习什么,没有一个系统路线的程序员,这里给大家提供一个大概的思路:

  • 架构师筑基必备技能:深入Java泛型+注解深入浅出+并发编程+数据传输与序列化+Java虚拟机原理+反射与类加载+动态代理+高效IO
  • Android高级UI与FrameWork源码:高级UI晋升+Framework内核解析+Android组件内核+数据持久化
  • 360°全方面性能调优:设计思想与代码质量优化+程序性能优化+开发效率优化
  • 解读开源框架设计思想:热修复设计+插件化框架解读+组件化框架设计+图片加载框架+网络访问框架设计+RXJava响应式编程框架设计+IOC架构设计+Android架构组件Jetpack
  • NDK模块开发:NDK基础知识体系+底层图片处理+音视频开发
  • 微信小程序:小程序介绍+UI开发+API操作+微信对接
  • Hybrid 开发与Flutter:html5项目实战+Flutter进阶

知识梳理完之后,就需要进行查漏补缺,所以针对这些知识点,我手头上也准备了不少的电子书和笔记,这些笔记将各个知识点进行了完美的总结。

接下来分享的系统学习资源以详解各大互联网公司的 Android 常见面试题为主线,从面试的角度带你介绍必备知识点,以及该知识点在项目中的实际应用

帮你在现在的基础上,重新梳理和建立 Android 开发的知识体系。无论是你短期内想提升 Android 内功实力,突破自己工作中的能力瓶颈,还是准备参加 Android 面试,都会在这份资料中有所一些收获。

1.2020大厂面试高频知识点

  • 图片
  • 网络和安全机制
  • 数据库
  • 插件化、模块化、组件化、热修复、增量更新、Gradle
  • 架构设计和设计模式
  • 性能优化
  • Android Framework
  • Android优秀三方库源码

2.Jetpack架构组件从入门到精通

  • Android Jetpack - Navigation
  • Android Jetpack - Data Binding
  • Android Jetpack - ViewModel & LiveData
  • Android Jetpack - Room
  • Android Jetpack - Paging
  • Android Jetpack - WorkManger
  • Android Jetpack架构组件之Lifecycle
  • Android Jetpack Compose 最全上手指南

3.Framework精编内核解析

主要内容包含:

  • 深入解析Binder
  • 深入解析Handler
  • Dalvik VM 进程系统
  • 深入解析 WMS
  • PackagerManagerService

4.Kotlin强化实战(附Demo)

  • 第一章 Kotlin入门教程
  • 第二章 Kotlin 实战避坑指南
  • 第三章 项目实战《Kotlin Jetpack 实战》
    • 从一个膜拜大神的 Demo 开始
    • Kotlin 写 Gradle 脚本是一种什么体验?
    • Kotlin 编程的三重境界
    • Kotlin 高阶函数
    • Kotlin 泛型
    • Kotlin 扩展
    • Kotlin 委托
    • 协程“不为人知”的调试技巧
    • 图解协程:suspend

5.Android设计思想解读开源框架

  • 热修复
  • 插件化
  • 组件化框架设计
  • 图片加载框架
  • 网络请求框架
  • RXJava 响应式编程框架设计
  • IOC 架构设计
  • Android架构组件Jetpack

6.NDK模块开发

  • NDK 模块开发
  • JNI 模块
  • Native 开发工具
  • Linux 编程
  • 底层图片处理
  • 音视频开发
  • 机器学习

7.Android源码解析

“编程语言是程序员的表达的方式,而架构是程序员对世界的认知”。所以,程序员要想快速认知并学习架构,读源码是必不可少的。阅读源码,是解决问题 + 理解事物,更重要的:看到源码背后的想法;程序员说:读万行源码,行万种实践。

主要内含微信 MMKV 源码、AsyncTask 源码、Volley 源码、Retrofit源码、OkHttp 源码等等。

以上这些内容均免费分享给大家,需要完整版的朋友,点这里可以看到全部内容。或者点击 【这里】 查看获取方式。

以上是关于35岁难找工作,40岁没人要:年长的程序员都去哪里了?不要让环境同化了年轻的程序员!的主要内容,如果未能解决你的问题,请参考以下文章

曾经阿里腾讯随我选,现在月薪五千都没人要,35岁程序员真的要去卖炒饭了吗?

45岁程序员,连个面试机会都没有,该何去何从?

曾经阿里腾讯随便挑,现在月薪五千都没人要,35岁测试员真的要去买煎饼了吗?

程序员在35-40岁之后真的就是死胡同吗?

35岁的大龄程序员都去哪里了?

青春饭!35岁以上的软件测试员都去哪里了?拼一把我能继续做测试