十年后的程序员是否还是一个高薪职业?
10年前我刚硕士毕业,进一个小公司写C++,毕业生起薪就已经超过了澳洲平均年薪。
10年后的今年我拿多少钱就不说了。可以透露的行情是,在澳洲市场上,资深程序员(senior developer)一个人的年收入顶其他行业一个家庭的年收入稀松平常。那些光鲜行业从业人员比如房产中介,辛辛苦苦赚底薪+加成,还不如程序员躺拿钱赚得多。
并且在一定的级别上还有职位和薪水倒挂的现象。技术首席(tech lead)不一定比资深程序员(senior)拿得高;资深程序员很有可能比项目经理拿得高,虽然后者行政级别比前者高;而同个公司里资深程序员一定比分析师(business analyst)拿得高,虽然这两者基本是同级的。谁能干活能战斗,市场还是看的很清楚的。
而IT行业在这十年中的爆点是大规模增长的。10年前没有移动计算(iPhone App Store是2008年才出现的),没有平板电脑,没有云计算,没有VR,没有自动驾驶汽车,没有共享经济。现在呢?10年后呢?要用发展的眼光看问题。
狂喷IT业的无非也就是那么几点,什么写程序都是1个月里培训班出来骗钱的,互联网都是泡沫,等等。。。和其他任何行业一样,免不了从业者龙蛇混杂,更何况IT钱多,确实阿猫阿狗都来分一杯羹。但IT业的好处在于,从业者的能力是最容易量化的。
Github参与度,Stackoverflow的成绩,开源项目代码,再不济上白板写一个程序,能力如何分分秒秒可以体现。而正因为如此,资深的程序员才尤为宝贵。我见过有外行老板来技术讨论会想“找几个程序猿做项目”,结果大牛们鸟都不鸟,他恼羞成怒。而我自己招人也很清楚:低手多,精英少。然而高手(aka:me)可以一眼识别你的战斗力,换了其他行业,行么?
所谓能力越大责任越大,合格的程序员不是那么好当的。学会计的考一个CPA就算被“认证”了,每年只要跟进下法律法规的变动就行。做程序员谁给你认证?你考了哪个公司的认证,别说不一定被认,给你发证的公司能不能活过下个5年都是未定的。
技术潮流要跟对(我见过跟了5年Silverlight的程序员,那叫欲哭无泪),知识要不停地更新。只想来分一杯羹赚快钱的,撑不了几年就会被淘汰。外行一直谣传程序员30岁退休,而事实是IT的趋势是资深化、精英化,随着云计算平台的完善,创业公司几个资深大牛顶印度外包公司几千人的生产力很正常。而这种趋势随着IT自动化水平的提高,会越来越明显。
从另一个角度来讲,IT自动化伴随的是其他行业的失业,赚的有一部分是其他行业的钱。现阶段最著名最激化的例子就是以UBER为首的共享经济,把世界各地的出租车行业闹得鸡飞狗跳。硅谷的趋势很可能是华尔街那样翻云覆雨的高智商暴利产业。(也许已经是了,高盛的员工中码农的比例已经超过了操盘员)
所以来回答你的问题。程序员10年后会赚得更多,收入指数增长,前提是你随着这个行业一起成长。而IT业内部的贫富差距也会越来越大。
当然了,“程序员”这个职业本身也并不是一成不变的。其他几个答案也提到了程序员需要与时俱进。在现在这个年代,像2000年那样吃定某个既定平台(比如.NET, J2EE等)就能活很久的行情已经不再了。昨天和业内人士吃饭也讨论到招聘要求的问题。
对高端程序员的要求,不是精通某一门语言或者某一个平台,而是工程能力/解决问题的能力。换言之,你应该针对项目提出解决方案,然后为解决方案寻求最好的工具,而这些工具可能是你用过的也有可能是没用过的,如果没用过,这不能成为你避开该工具的理由。如此说来,强调自己是“某语言程序员”将会过时,替代的说法是“全栈”。
以Javascript/HTML前端为例,许多从业新人觉得自己使足了劲都撵不上前端科技的发展,因为各种库/工具/框架乃至于Javascript语言本身都在高速进化。知道你为什么撵不上么?因为培训机构最多教你一点使用工具的能力,但你依旧没有解决问题的能力,当工具本身发生变化的时候,你也就无法适应了。
在这里给大家推荐一个前端学习交流群:731771211,里面会无偿分享一些资深前端开发工程师录制的视频录像(从零基础到项目实战案例),前端工程师必备的知识体系。还能领取免费的学习资源。相信对于已经工作和遇到技术瓶颈的码友,在这个群里会有你需要的内容。也欢迎新手小白,想转行的小伙伴们进群!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
不学无数——Java动态代理
动态代理 1. 什么是动态代理 在上一章节中,我们讲的是代理其实都是静态代理,动态代理是在运行阶段动态的创建代理并且动态的处理对所代理方法的调用。在动态代理上所做的所有调用都会被重定向到单一的调用处理器中。在现在很流行的Spring中有一个AOP(面向切面)的其中核心实现技术就是动态代理的技术。 2. 为什么要用动态代理 动态代理的优势在于可以很方便的对代理类的函数进行统一的处理,而不用修改每个代理类中的方法。例如我们想计算出每一个方法的执行时间,如果使用静态代理的话,那么就需要在每一个代理类中进行更改,但是如果使用了动态代理可以对类的所有方法进行统一的管理。一处添加,所有方法适用。 3. 动态代理的简单实现 3.1 静态代理的实现 我们先看一下静态代理的是如何实现的,关于静态代理详细的解释可以看不学无数——Java代理模式,这里只贴出关于静态代理的一些代码。 Homeowner接口如下: interface Homeowner{ public void LeaseHouse(Home home); } RealHomeowner类如下 class RealHomeowner impl...
- 下一篇
java.lang.Integer源码精读(二)
JDK源码精读汇总帖 getInteger() 然后比较少用的方法getInteger,这个方法是用来返回系统属性(String nm)的整数值的,很容易理解。 public static Integer getInteger(String nm) { return getInteger(nm, null); } public static Integer getInteger(String nm, int val) { Integer result = getInteger(nm, null); return (result == null) ? Integer.valueOf(val) : result; } public static Integer getInteger(String nm, Integer val) { String v = null; try { v = System.getProperty(nm); } catch (IllegalArgumentException e) { } catch (NullPointerException e) { } if ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Red5直播服务器,属于Java语言的直播服务器
- Windows10,CentOS7,CentOS8安装Nodejs环境
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker使用Oracle官方镜像安装(12C,18C,19C)