编者荐语:
作者是现任土豆教育CTO,前哒哒少儿技术VP兼事业部总经理,前360技术总监。刚毕业工作不到三年即达到年薪百万,看看大佬是怎么做到的。
以下文章来源于findyi ,作者findyi
前几天写了一篇年薪百万是一种什么体验,朋友右军(阿里高级专家)看完后,发给我一段很震撼的话,是北冥乘海生在《通往百万年薪之路》上的一段经典:
好了,你到了35岁之时,拿到了百万年薪,手握象征着力量的九齿钉耙,抬起骄傲的头,用招风大耳在风口上缓缓起飞,踌躇满志地向着职业生涯的最高目标——净坛使者——出发了!这时,恭喜你,可以默默地被公司淘汰了
这段话很扎心,也很现实,身边的朋友不少在拿到百万年薪之后又面临被淘汰降薪的风险。
还有些读者问我:“洋哥,你写的这篇没有任何实操价值啊,到底我该如何获得年薪百万呢?”。
指导人实操最怕的是误导人,就好比某些小编月收入几千却天天写“月入10万的生活体验”之类的文章
因此要说指导职场人如何年薪百万,我只能谈谈程序员的进阶路线了。我是在26岁就实现了年薪百万,那个时候刚刚毕业不到3年,可能也有不少同学能做到。但是在我在30岁左右年薪超过200万,这却不是一个高概率案例。
也基于此,就我的经历和理解,和大家谈一谈:程序员如何达到年薪百万,且具备可持续性!
我在上一篇并不那么实操的文章中提到年薪百万的途径:好学校+好的选择和运气+持续成长。
在职场上,学历已成为过去,而选择和运气只能让人短暂的拿到年薪百万。比如前些年移动开发火爆的时候,IOS/Andriod工程师供不应求,很容易高薪,一旦大潮过去你还在裸泳,那么不淘汰你淘汰谁?再比如你运气好加入一家公司很快上市,通过期权股票套现轻松过百万,但总有套完的那一天吧?
因此谈持续年薪百万,重点谈职场的进阶,毕竟这是真本事。同时我认为程序员真正有底气的拿到年薪百万必须实现职场的进阶,建立超强的职场资本!
言归正传,先来看一张程序员的职场进阶图:
大厂的技术经理/架构师及以上、中小厂的技术总监/资深架构师及以上,都能轻松达到年薪百万。并且如果你持续具备岗位的要求,保持绝不是问题。而我,在11年职场生涯中,上图的大部分职位都干过。****第一篇,谈谈从工程师进阶到技术经理:
01进阶高级工程师****高级工程师是程序员打怪进阶的必经门槛,基本没有人能跨越这一层级到达更高的层级,其他职业或许有,技术很难。原因其实很简单,如果走专业路线,不可能从工程师跳跃到架构师,这点不解释。如果走管理路线,技术管理工作必须具备专业性,关键点就在于你是否能和技术下属对话并给出指导。做技术的人相对都非常单纯,如果你精通技术,大家自然愿意跟随你,反之则很难管理。
那么一个普通工程师如何成长为高级工程师呢?
需要以下四点:
*****1.*****对工作追求极致代码世界精益求精的精神非常重要,无论是代码风格、注释还是函数的抽离、低耦合高内聚,等等都是需要这种精神去驱动的。工作中主动承担更具挑战复杂度更高的事情,遇到产品故障积极参与分析问题、排查问题,解决系统问题是成长极快的一种方式。举个例子,流量满了,有些工程师加个带宽,糊弄过去业务也能运行,但没有从根本上解决问题,个人也毫无成长。如果能分析流量来源、采用动静分离、使用cdn加速、优化传输协议等等方式去解决,不仅把根本问题解决了,同时也能得到很大提升。 一完成业务目标就不思进取,很难在技术上取得突破,养成习惯后也就成了那种一年经验工作十年的 复制粘贴工程师。 这样的工程师不仅仅跨越不到高级工程师的水平,薪资增长极为缓慢,还面临着年纪大了,被淘汰换行业的风险。
*2.*****掌握架构思维掌握架构思维不等同于就成长为架构师,但一定是从初中级工程师进阶到高级工程师的必经之路。从直接编写一个个功能,到拿到任务先做业务分析、架构设计、类结构设计,这个过程反复训练,就能掌握架构思维。画出业务时序图、类结构图是高级工程师必备技能,即便为了赶时间不画出来,也需要能想清楚类结构图。
编码前,是否具备构建能力,是工程师跨越到高级工程师的重要指标。相比那种不上进的 打酱油工程师 ,有一类工程师最为可惜,他们勤奋、吃苦耐劳、抗压,是职场的老黄牛,但却疏于架构思维的培养,只满足业务的紧急需求,工作多年可能还只是中级工程师水平。
3.*****阅读优秀源码工程师大量阅读优秀的源码,对提升编码能力非常有帮助,同时做技术的人很容易因为取得一些小的突破就站在了愚昧山峰。这个时候看看顶尖大师们怎么写代码,无异于一种震撼。 11年,我开始阅读Google Chrome源码,真是有一种始惊、次醉、终狂的感觉。深刻认知到差距之后的刻意练习,会让你开启高速进化之路。
还有一个关键点,源码不要只看不上手,编译起来运行起来,然后多改改看看会发生什么,这个过程既好玩又能加深你对源码精髓的吸收。还可以尝试把庞杂源码的设计思想抽离出来,并应用到工作中。
4.*****阅读经典技术书籍技术书籍是一定要看的,但是切忌不要看那种《30天精通PHP》(这里不是鄙视PHP,PHP是世界上最好的语言!),要看经典技术书籍。拿JAVA技术栈来说,《JAVA编程思想》、《JAVA核心技术》,都属于经典书籍。 看技术书还有一点很重要,边看边实践,书上讲的知识点一定要在机器里敲出来,这样才能做到真正吸收。这也符合读书必须实践的浅显道理。
以上四点建议说完了,还有一些建议,比如多学习网络相关知识、多关注接口设计,工作中找导师,导师可能是你的上级也可能是其他优秀的同事,甚至也可以是公司之外的大牛朋友。计算机基础比较差的同学,数据结构、算法、计算机体系知识是必须反复精进的。有不少同学热衷于还没打牢基础之际就开始玩各种语言,还自以为很酷很牛逼,其实很容易把自己玩成打酱油工程师。
02 进阶技术经理
技术经理属于一级管理者,高级工程师取得一些突破后,业务出色就有可能被提升为技术经理。需要特别注意的是,担任技术经理后,绝不能放弃编码的精进,说一条金标准:技术经理具备随时担任架构师的能力,能独立驾驭一个技术子领域的全部技术架构!技术经理是技术人最容易突破的职位却又是最难做好的岗位。因为技术经理往往还需要大量编码,特别是攻坚核心代码。做技术的人其实是最单纯的一群人,编码本身可以产生极大乐趣和快感。当一个个功能、bug被搞定解决之际,就是一次高潮的爆发。我编码多年,也乐在其中,当产生心流体验的时候,等你抬起头发现天已经黑了。而编码的时候被打断是一种极为痛苦的体验,技术经理一天可能要开N个会、还要处理招聘、沟通、等等其他事物。这个过程是急需要掌握新的领导技能和时间管理方法的。先来看看技术经理需要具备哪些新的能力:**
除了个人攻坚能力,一级管理者要完成思维转变,从一个个人贡献者变成团队贡献者。还要掌握制定工作计划、做工作顶层设计、人员选拔、招聘技巧、项目过程管理、资源协调、营造团队文化、制定考核标准、协调团队资源、争取团队资源、沟通协调等等能力。这其中,挑出一项出来就需要不断持续精进、持续学习。
除了这些通用领导技能的培养,我认为从工程师跨越到技术经理还要跨过四个门槛:
1.责任超越技术经理是工程师跨越到管理者的必经之路,这时候有个重大转变:由一名个人贡献者跃迁到团队贡献者。员工是对任务负责的。你交给员工一项任务,需要明确告诉他,完成这个任务的衡量指标是什么?员工把指标做到了,任务也就完成了。做了技术经理之后,你负责的不再是某项任务,而是团队的目标。假如老板问一个技术经理,你的团队怎么把这件事干成这样了? 如果技术经理回答:“这不是我的错,这是张三弄成这样的”,这样的经理,老板不会喜欢。同时也是这名经理没有从个人贡献者跃迁到团队贡献者的表现。技术经理需要对对团队的目标负责,这意味着就算是底下的工程师没干好,也应该由技术经理负全责。
2.自我超越能成为技术经理,在技术专业度上已经有比较深的积累,在升职之前天天和代码打交道,这也导致技术经理往往会比较自信甚至是自负,同时在沟通方面还有很大提升空间。自我超越首先是跨越愚昧山峰,因为取得了成绩而自大的人不在少数。我在刚做管理工作的时候,看下属的代码怎么看都觉得不行,非得让下属改成我想要的结构,讨论技术问题也无比强势,基本不给团队成员任何发挥空间。时间长了导致大家怨声载道,接连有两位团队成员离职。最后我的副总裁找我谈话,严厉指出了我的自大、自负,这才让我告别愚昧山峰。跨越愚昧山峰之后,你需要保持高速的自我成长,管理者就是团队的天花板,如果你停止成长意味着团队也停止了成长。
*3.*****沟通超越你要从用自己的手,到用别人的大脑。作为技术经理,你看到下属的工作做得不如你好,你常常会忍不住自己上!这是刚刚成为技术经理的人经常会犯的错误。作为技术经理,你需要从依赖自己,变为依靠别人,这是一次巨大的沟通飞跃。同时,你不仅仅要跟下属沟通清楚,你需要什么,你还要沟通清楚,你为什么让他这么做。同时在下属执行的过程中,你需要设定过程检查节点,并及时和下属沟通做上下目标对齐的工作。这些都需要极强的沟通能力,做到沟通超越,你才能真正带好下属并对下属的成长负责!
*4.*****关系超越不少工程师刚刚担任技术经理,会采用小恩小惠笼络住下属,把下属当好朋友、好兄弟、甚至家人,有酒一起喝,有肉一起吃。 看起来很棒对不对?如果公司业务高速发展,一直有肉吃,或许还凑合。一旦公司发展遇到阶段性瓶颈,公司要裁员,怎么办?你还能实现你把大家当兄弟当家人的诺言吗? 显然不能,因为即便你不想裁,公司要裁是挡不住的! 管理者和下属的关系,只有一种关系:合作伙伴关系。下属不会在你这工作一辈子,对下属而言,他的职场发展是最重要的,他在你这说明公司和你能满足他现阶段的需求。公司和你不会用一个人一辈子,你现在用你的下属,是因为他的能力能帮你和公司解决问题,给他的薪资也符合他的贡献。 很残酷对不对?再说一句多次说过的话:人类社会是最讲究公平,一切都是等价交换。 ** 管理者更应该思考的是,如何在这一段合作关系中,最大程度的提升下属,并将这种提升赋能团队目标的实现,实现真正双赢 写在最后的话: **今天介绍了从工程师跨越到技术经理的过程,如果在大厂成长为技术经理,已经可以超越百万年薪,如果是中小厂商,或许还差那么一点点,但是只要把技术经理的基础打牢了,持续成长,后续达到也不是问题。 很多朋友感叹互联网人持续生存不易,我想说:人类社会构建了一个安全感的假象,透过社会的组织形态往里看, 真相只有四个字:适者生存! 感谢我们身处竞争激烈的互联网行业,这也让我们获得高薪资远比其他行业更容易。但是期望安逸,期望一直呆在舒适区还能持续获得高薪,无异于痴心妄想,程序员职场这条路,必须不断打怪升级,不断突破超越。