如何才能成长为年薪 50 万的程序员?
一、程序员成长的必备条件
程序员的工作,说到底就是要编出满足需求的程序,如果这项工作你做得好,你就发展得好,所以,程序员的成长,都是围绕着「编出满足需求的程序」来展开的。
第一,程序员要了解工作的终极目标是满足需求。
很多程序员在这一条上就走错方向了,他们误以为,程序员的价值就在于把技术玩得神乎其技,于是,他们脑子里想的,是如何应用各种时髦、炫酷、看起来很牛的技术,而完全忽略了工作的最根本目的是要满足需求。
很不幸,这种程序员还不在少数,而且因为这种想法表面上看起来还挺迷惑人,所以很有市场,我甚至听过一个初创公司的 CTO 这样说:「如果程序员不用最新最牛的技术,那还做这行干吗?」他们在工作中就是把各种最新的时髦技术都用上,不出意外,这家初创公司已经倒闭了。
如果你能够意识到,程序员的工作是要满足需求,你就已经强过了大部分二吊子的程序员,因为你看问题的出发点就会不一样。在做技术选择的时候,你就会更可能做出正确的选择。
有的程序员会说,需求满足不满足,那是公司的事情,管他呢,我只要学习到最新最酷的技术,公司倒闭了好歹我还能找到下一份工作。且不说这样的想法很自私,从「学习」的角度说,也是错的。我接下来要说下一个程序员成长的必备条件——学习能力。
第二,程序员成长必须要有学习能力。
每个程序员都知道,这个行业有浩如烟海的知识量,且不说层出不穷的编程语言和框架,光是各种概念和风潮就已经让人应接不暇了。这个行业的特点就是技术发展快,没几年就会有一次革命性变化,几年前微服务还只是一个最佳实践的候选,现在就是开发大型后端应用的标准配置;几年前整个行业都在说大数据,这几年整个行业都在说人工智能……快速发展的行业,带来了快速增长的知识和技术。
那么,我们是应该展现我们的学习能力,把这些都学了吗?
当然不是!
学习能力的一个很重要组成部分,是知道「哪些需要学,哪些不需要学」,不做区分,什么时髦学什么,别人鼓吹什么学什么,那就会贪多嚼不烂,最后样样都稀松。
为什么我在前面反复强调,程序员应该首先明确自己的领域方向,还有确定自己会在什么类型的公司工作呢?因为这些选择将决定什么样的知识对你是最有价值的。
假设你确定自己的发展方向是移动端开发,服务的公司定位是初创型公司,那么,一个新的手机操作系统出现,你就应该更加关注,相对地,一个新的机器学习算法,你就没必要花太多时间了解;一个快速开发模型出现,你值得关注,相对地,一个超重量级的软件管理流程,你知道有这么回事就足够了。
把学习精力放在和你的方向相关的领域上,你才能获得最佳的投入产出比,当然,并不是说对和自己领域无关的东西完全不管不问,从扩大自己知识面的角度来说,你需要了解这些知识点,但是你不应该被这些东西分散有限的时间。
面对新技术变革的挑战,抓住自己专属的领域,伤其十指不如断其一指,先做到一个领域的专家水平。
第三,程序员发展要和团队发展联系起来。
这个行业,没有一个人是可以单打独斗的,你可能觉得自己可以单枪匹马完成一个项目,但是,你可以闭上眼睛思考一下,如果你的工作中少了一些同事的支持,你是否真的可以完成?
如果没有产品经理给你组织明确的需求,你是不是无法开始编程?
如果没有项目经理给你协调各个部门之间的进度,你是不是无法获得对应部门的支持?
如果没有测试人员给你做测试,你是不是也没有信心让程序上线?
如果没有其他程序员给你做代码审核,你是不是也没发现潜藏的代码缺陷?
如果你对上面的问题全都不以为然,觉得你一个人能够独立搞定所有的事情,你真的没必要来读这本书,恭喜你,你已经可以成为一个非常独立的自由职业者了。
不过,对于绝大部分程序员,都应该正视这样一个现实——你不是一个人在战斗,你是在一个团队中工作。
所以,不光要关注自己的成长,也要关注团队的成长,当团队出现问题的时候,要想办法解决,当队友遇到困难的时候,要帮助他们解决。
如果你的团队发展得不好,你一个人就是有孙悟空的神通,也无法按期把满足需求的产品推出;如果团队发展得好,你哪怕只是像沙和尚一样跟着取经团队走,最后也能修成正果。
小结一下,程序员成长的必备条件,根本就是要明确目的是提供满足需求的程序,所以要明白满足需求是最重要的,要争取发挥自己的学习能力,把自己的发展和团队发展结合起来。
年入50万的程序员多吗?
先来看看年薪超过60万的程序员在哪些公司工作,大致可以分为以下几类:
1、BAT和其它盈利能力强的大公司
不仅限于 BAT,还有一些盈利能力强的互联网大公司,高层技术员工达到60万以上年薪是比较容易的。此时大家需要关注两个关键词:盈利能力强、大公司。有些公司虽然员工数达到数千人,但盈利能力弱甚至常年亏损。如果所处细分领域、产品模式也不处于风口浪尖上,不被投资者看好,那么即使规模大,员工工资也不会高,可能低于初创期公司的员工薪水。再来说第二点——大公司。对于六十万年薪以上的高水平程序员,大公司的招聘需求比小公司大得多。很多小公司管理者的真实想法是这样的:我们目前只需要一个两年 XX 经验的程序员,为此我最多愿意发年薪 20 万的 offer。
2、金融巨头
如果只考虑薪水、福利和工作强度的话,金融企业的 IT 工程师可能是中国最幸福的程序员了。金融巨头的项目经理(不是产品经理),可以达到 60万以上年薪。
3、明星创业公司
那些被资本青睐的互联网创业公司,在人才的渴求程度和土豪程度上,比起 BAT 来也不遑多让。
4、闷声赚大钱的小公司
除了能盈利的大公司、获得巨额融资的创业公司能开出 60 万以上的 offer,还有一类公司可以——闷声赚大钱的小公司。比如,几位互联网公司离职的员工,合伙创办了一个创业公司,启动资金来自几位合伙人以前的股票期权收益。因为细分领域、产品模式选得准,公司很快盈利,利润率可观。在这类公司中做程序员往往幸福指数比较高,只是一来知名度不高,二来招人不多。
把年薪60万以上的程序员称为 Topcoder,分以下几类:
1、工作年限长,经验丰富这类程序员是 Topcoder 的主力军,他们的共同特点是:10 年以上的工作经验,在大公司当过螺丝钉,也在创业公司做过技术 leader,有过一两段不算成功的创业经历。这样的程序员无论是去 BAT 还是去创业公司,都能拿到 60万年薪以上的 offer。
2、硅谷回国派从硅谷回大陆的程序员同学,轻松达成60万年薪。3真正的技术高人
虽说技术水平不是决定薪水的唯一因素,但如果技术牛到一定程度,高薪 offer 也是探囊取物。作为以编写软件为生的人,你的主要贡献是代码在产品上能发挥什么作用。简单说你想拿到年薪60万,就得为公司创造每年100万以上的效益。
然而,回到文章开头,高收入要给专业的人士,要多高的收入,就要有多专业,所以你需要放下身段给自己更高的要求,积极的学习。