程序员干到30岁,好不容易从码奴混到了白领,却再也干不动了,还时时面临失业的危险。30岁,是一个程序员伤不起的年龄。明天,何去何从?

一.30岁现象

在官场上,曾经有一个59岁现象,就是官员们会在59岁时,会使劲捞上一把。很明显嘛,权力过期作废,再不捞就要退休了,没有机会了。

在程序员的圈子里,也有一个30岁现象。当然,如果你有铁饭碗,比如在国企或政府机关,那你是无法理解底层劳动人民的感受的。同时也要恭喜你成为体制内的一员,可以一直干到退休无忧。

30岁现象人人都明白,但要给出一个定义并不容易。列举几个表现,也许你会觉得心有戚戚焉。

  • 面临职业瓶颈,程序写不动,上升又困难。
  • 薪水较高,加班变少,后浪追前浪,面临失业压力;
  • 生活压力剧增,不敢跳槽;
  • 招聘程序员年龄限制在30岁以下成为行业潜规则,跳槽困难。

30岁现象和59岁现象貌似不搭边,其实都出于同样的原因:价值贬值。官员老爷在任就像皇帝,一旦退休,就成为了平民百姓,贬值那是自然的。而程序员也一样,所谓三十而立,一旦到了30岁左右,由于面临结婚生子,一方面需要高薪抚养家庭,另一方面却无法像以前那样全身心投入到工作,性价比急剧下降;与此同时,大批廉价的新手涌入,他们往往还使用最新的技术,老一辈程序员只能慢慢的靠边站了。

二.不可替代性

30岁现象产生,只能程序员自身身上找原因。

当然我们也可以产业、从社会、从政府、从制度等多方面进行分析,发现不足,这些分析未必没有道理,但是肯定没有用,因为我们无法改变。所谓“命苦不能怪政府,命背不能怪社会”,从外部找原因,只会让我们满腹牢骚,整天觉得自己生不逢时,苦闷不堪。

从自身找原因,试着问自己几个问题:“为什么我的性价比以下降?老板为什么要请我,给我高工资呢?一个人有价值是由什么决定的呢?”

你也许可以列出很长很长的答案,但我想应该都可以浓缩为一句话:“一个的价值是由他的不可替代性决定的”。不可替代性可以理解为,为了替代你老板需要付出的代价。

因为你的可替代性高,所以性价比下降。反之,因为你不可替代性高,所以老板会给你开高工资。不是这样的吗?

有一则小故事:

技师退休时告诫自己的徒弟:“少说话,多做事。”
十年后徒弟也成了技师,他找到师傅,苦着脸说:“师傅,我一直都按您的教导做,只知埋头苦干,可那些比我技术差的都升职了、加薪了,我还是拿着过去的工资。”
师傅想了想,说:“你请一次假吧。如果一盏灯一直亮着,那就没人会注意到它……”
徒弟恍然大悟,真的请了一星期假,等他回去上班时,厂长找到他说要给他加薪。原来,在他请假时,厂长发现,工厂已经离不开他了。
徒弟很高兴,以后他时不时就请几天假,每次请假后厂长都会给他加薪。一天徒弟请假后准备去上班,厂长却告诉他:“你不用来上班了。”
徒弟苦恼地去找师傅,师傅说:“那天我的话还没说完呢。一盏灯偶尔可以熄灭一次,可如果它总是熄灭,性质就不一样了,因为没人会需要一盏时亮时熄的灯。”

故事中,因为徒弟的不可替代,所以厂长给他加薪;后来因为有其它的灯亮了,他被替代了,厂长不需要他了,所以被炒了鱿鱼。

所以我们归根到底还是要提高自己的不可替代性。否则,一旦老板觉得用较低的代价就可以替代你,那么你就面临可能失业的危险了。

三.出路在哪里

那程序员到了30岁,怎样提高自己的不可替代性呢?我们打算做一辈子程序员吗?敢问路在何方?

作为一个过来人、一个资深程序员,我觉得有几个方向可以选择:

(1)成为技术大拿

其实,做一辈子程序员并没有什么问题,重要的是,你必须成为一个不可替代的程序员,也就是说,你要成为技术大拿,能够解决普通程序员所不能解决的问题。技术大拿有两个版本:

一是程序员加强版。你仍然是一个程序员,但你是一个很牛的程序员,凭借多年的积累,你在知识广度和深度方面均已不是等闲之辈。从汇编到java,你样样精通。你在意数据结构和算法,对系统的优化有独到见解,对设计模式如数家珍,你还有完备的工具箱和自己的专用类库。其实,加强版程序员有非常独特的价值,可惜的是,在现实中却很少见,因为对任何一个公司而言,人才总是很稀缺的。老板的眼睛是雪亮的,他怎么会对你这种技术大牛视而不见呢,在你还没有成为真正的大拿之前,早已经被任命为系统架构师、项目经理或者更高的职位了。因此,你想守住自己的一亩三分地,悠闲的做自己的大拿,往往是不可能的。

二是程序员升级版。虽然你的内在仍然是一个程序员,但你的职位已经升级了,你成为了系统分析师或系统架构师。这是非常自然和现实的选择。程序员与系统分析师或架构师之间并有鸿沟,只需一步而已,你就可以从崎岖山路驶向宽阔的大马路。但这一步却并不容易,需要几年时间不断思考、学习、实践,才能化蛹成蝶。

(2)成为行业专家

行业专家也是一个公司不可缺少的角色,他们对公司的行业知识、业务流程和细节了如指掌。行业专家一般并不是从外部招聘的一个只懂业务、不懂技术的超人,而往往是从程序员经过多年的摸爬滚打成长起来的。作为从程序员成长起来的行业专家,你往往还肩负系统分析师之职。在公司里,对业务有一般了解的人很多, 但专家级别的往往很少,为了后30年的职业生涯,你必须成为专家。

(3)朝管理方向发展

向管理方向发展的第一步,一般是被任命为项目经理。在大部分IT公司里, 项目经理是最小的管理岗位了,可能你不会觉得有太多惊喜,工资也没有大的提升,但这个转变,可以说会成为你一生中最重要的转变之一。

不要小看了项目经理。有人说,项目经理是一个古老的职业。也人有人说,21世纪是项目管理的世纪。事实上,从人类有组织以来,就一直有项目管理,以前的项目经理可能是部落首领,一次集体打猎、一次攻城拔寨,都可以视为一个项目。项目管理的知识可以应用到我们生活的方方面面,大至登月计划的实施,小至家庭聚会的组织,都离不开项目管理。

一个优秀的项目经理,不仅需要高智商,还需要高情商。可以不夸张的说,如果你能胜任项目管理,你就可以胜任战术层的所有管理岗位,甚至你有家庭生活质量,也会提高到新层次。

然而,要成为一名优秀的项目经理,并不是一件容易的事情。可以说,需要一定的天分,有些人无师自通,有些人却永远也学不会。程序员属于高智商人群,情商却往往存在不足,这注定了只有少数程序员能够成长为项目经理,成为优秀的项目经理,则非常稀少了。

如果你觉得这几方面都不合适,那你还有几条出路:

一是塌塌实实混日子。

说老实话,做老实人,办老实事,拿老实的工资,这种员工公司也是非常需要的,一般不会遭遇炒鱿鱼的命运;

二是转行或者创业。

因为这个行业已经不再适合你,已经没有更大的发展前途,只能转行。如果可以转行,未必是坏事,也许在新的环境中,可以激发出更强的能量,创造出一番事业来。至于创业,那就更具有挑战性了,建议你在创业之前,已经成为了一名优秀的项目经理。试想,如果转不动一个项目,如何能转动一个公司?

在这也推荐一份大佬自己收录整理的Android架构视频+BAT面试专题PDF+学习笔记,还有高级架构技术进阶脑图、Android开发面试专题学习文档,高级进阶架构学习文档帮助大家学习提升进阶,也节省大家在网上搜索学习文档的时间来学习,也可以分享给身边好友一起学习,大家需要参考可以直接去我 GitHub

GitHub地址:
https://github.com/733gh/Android-T3

大龄Android 开发们最担忧的事儿,太难了~相关推荐

  1. android开发内存优化的那些事儿

    一.Android应用程序内存优化   在开发Android App的过程中,经常会遇到内存方面的压力,比如OOM,或者频繁GC.本文不打算涵盖内存优化的所有方面,只是介绍一下我自己遇到的问题和解决方 ...

  2. 猿创征文|Android开发入门工具的那些事儿

    今年是我读硕士的第一年,机缘巧合接触到了Android开发并进行了学习.工欲善其事必先利其器,那么在学习Android开发中我也使用到了很多的工具,今天就来记录一下,这些工具使用的场合及其发挥的作用, ...

  3. android 小游戏源码_Python入门太难?不如从玩塔防小游戏开始,玩通关就能学会编程...

    我一直认为,在python入门阶段学习基础理论,太枯燥.所以我们整理了很多有关python的项目案例,有详细教程还有源码,希望能帮助更多对python感兴趣的人. 这是其中一个适合入门的Python项 ...

  4. 一个高薪的Android开发工程师需要具备什么能力?

    前言 任何工作,任何行业想要拿到高薪都需要这几点条件,时间,技术,关系. 时间,无非就是在这个行业摸爬滚打很久有自己一套赚钱的方法: 关系,说白了就是家中有人帮忙铺路: 技术,在一个行业技术专精就能受 ...

  5. android开发那些事儿(二)--Drawable资源

    在Android应用中,常常会用到Drawable资源,比如图片资源等,在Android开发中我们是用Drawable类来Drawable类型资源的. Drawable资源一般存储在应用程序目录的\r ...

  6. android开发那些事儿(一)

    一.android中jdk的新特性与android target版本 android开发时用到switch语法,switch判断string类型,这个特性jdk1.7以上才有(我当时装的是1.8),竟 ...

  7. android开发入门与实战!你了解过移动端适配吗?赶紧收藏备战金三银四!

    前言 最近发现大家都喜欢看面试相关的文章,我也跟一波风,总结了一下我面试中所遇到的问题总结,分享一下面试中被问的最多的一些问题. 希望对正在找工作的朋友提供一些帮助. 好了话不多说,进入正题. 程序员 ...

  8. 折叠屏就要来了,适配逼死 Android 开发?

    1. 异型屏还没适配好,折叠屏就要来了,Android 的碎片化,让开发者又多掉了不少头发. 北京时间 11 月 8 日,三星在旧金山向开发者发布了一款可折叠屏幕手机.并表示,新技术需要开发者调整其 ...

  9. 高级Android开发面试汇总

    高级 Android 开发面试题汇总 一. Android 基础 1. Service 的两种启动方式 简单的来说就是 直接启动 和 绑定启动 两种方式. // 直接启动 Context.startS ...

最新文章

  1. android文件存储数组,Android面试简录——文件存储
  2. 起点linux和深度linux哪个好,我想深入学习linux计算机,但不知道选择哪个版本好?...
  3. (转发)python3用matplotlib绘图出现中文乱码的问题
  4. C/C++ 指针的深入理解
  5. c#遍历一个文件夹下的所有文件包括子文件夹【原】
  6. 毅航产品—模拟载板I
  7. 支付宝小程序框架分析
  8. 基于SSM+Eclipse+MySQL的学生宿舍管理系统(SSM毕业设计源码)(学生宿舍管理系统毕业设计)
  9. PCWorld评10大科技产品:IBM超级计算机上榜
  10. c# redies 安装 和使用
  11. html代码中数学公式,html中使用mathjax数学公式
  12. 服务器装系统报0x0000005d,安装Win8系统提示Error Code:0x0000005D错误怎么办
  13. deepinV20 显卡驱动 cuda10.2+cudnn配置
  14. [zz]yum缓存安装的软件
  15. 【PyCharm中PIL/Pillow的安装】
  16. 拒绝校园欺凌丨盐城北大青鸟机电基地开展法制宣传讲座
  17. python中init方法的两个下划线_为什么Python中有各种各样的“_”下划线?分别有什么用?...
  18. 985毕业,土木工程工作两年后转行python,摸爬滚打三年后......
  19. Python批量获取4K图片
  20. 新代系统怎样看服务器ip,新代数控系统是如何进行网络连接

热门文章

  1. Android 手机听筒Earpiece和扬声器speaker切换
  2. 针对开放平台的架构理解
  3. oracle设置事务隔离级别为读已提交,oracle的事务隔离级别和读一致性
  4. 附晋级总决赛名单(二) | 云上竞技,本周精彩继续
  5. 旧电脑又卡有慢,一招设置电脑最佳性能
  6. 微软的surface pro5充电指示灯亮,但充不进去电的原因
  7. 长沙银河计算机中等职业学校图片,长沙银河中等职业学校
  8. 如何把pdf转成excel
  9. java 计算个人所得税
  10. 生物信息学(4)——多序列比对之CLUSTAL算法详解及C++实现