在职场上,学历已成为过去,而选择和运气只能让人短暂的拿到年薪百万。比如前些年移动开发火爆的时候,IOS/Andriod工程师供不应求,很容易高薪,一旦大潮过去你还在裸泳,那么不淘汰你淘汰谁?再比如你运气好加入一家公司很快上市,通过期权股票套现轻松过百万,但总有套完的那一天吧?
因此谈持续年薪百万,重点谈职场的进阶,毕竟这是真本事。同时我认为程序员真正有底气的拿到年薪百万必须实现职场的进阶,建立超强的职场资本!
言归正传,先来看一张程序员的职场进阶图:大厂的技术经理/架构师及以上、中小厂的技术总监/资深架构师及以上,都能轻松达到年薪百万。并且如果你持续具备岗位的要求,保持绝不是问题。而我,在11年职场生涯中,上图的大部分职位都干过。第一篇,谈谈从工程师进阶到技术经理:01进阶高级工程师高级工程师是程序员打怪进阶的必经门槛,基本没有人能跨越这一层级到达更高的层级,其他职业或许有,技术很难。原因其实很简单,如果走专业路线,不可能从工程师跳跃到架构师,这点不解释。如果走管理路线,技术管理工作必须具备专业性,关键点就在于你是否能和技术下属对话并给出指导。做技术的人相对都非常单纯,如果你精通技术,大家自然愿意跟随你,反之则很难管理。那么一个普通工程师如何成长为高级工程师呢?需要以下四点:1.对工作追求极致代码世界精益求精的精神非常重要,无论是代码风格、注释还是函数的抽离、低耦合高内聚,等等都是需要这种精神去驱动的。工作中主动承担更具挑战复杂度更高的事情,遇到产品故障积极参与分析问题、排查问题,解决系统问题是成长极快的一种方式。举个例子,流量满了,有些工程师加个带宽,糊弄过去业务也能运行,但没有从根本上解决问题,个人也毫无成长。如果能分析流量来源、采用动静分离、使用cdn加速、优化传输协议等等方式去解决,不仅把根本问题解决了,同时也能得到很大提升。一完成业务目标就不思进取,很难在技术上取得突破,养成习惯后也就成了那种一年经验工作十年的复制粘贴工程师。这样的工程师不仅仅跨越不到高级工程师的水平,薪资增长极为缓慢,还面临着年纪大了,被淘汰换行业的风险。2.掌握架构思维掌握架构思维不等同于就成长为架构师,但一定是从初中级工程师进阶到高级工程师的必经之路。从直接编写一个个功能,到拿到任务先做业务分析、架构设计、类结构设计,这个过程反复训练,就能掌握架构思维。画出业务时序图、类结构图是高级工程师必备技能,即便为了赶时间不画出来,也需要能想清楚类结构图。编码前,是否具备构建能力,是工程师跨越到高级工程师的重要指标。相比那种不上进的打酱油工程师,有一类工程师最为可惜,他们勤奋、吃苦耐劳、抗压,是职场的老*牛,但却疏于架构思维的培养,只满足业务的紧急需求,工作多年可能还只是中级工程师水平。3.阅读优秀源码工程师大量阅读优秀的源码,对提升编码能力非常有帮助,同时做技术的人很容易因为取得一些小的突破就站在了愚昧山峰。这个时候看看顶尖大师们怎么写代码,无异于一种震撼。11年,我开始阅读GoogleChrome源码,真是有一种始惊、次醉、终狂的感觉。深刻认知到差距之后的刻意练习,会让你开启高速进化之路。还有一个关键点,源码不要只看不上手,编译起来运行起来,然后多改改看看会发生什么,这个过程既好玩又能加深你对源码精髓的吸收。还可以尝试把庞杂源码的设计思想抽离出来,并应用到工作中。4.阅读经典技术书籍技术书籍是一定要看的,但是切忌不要看那种《30天精通PHP》(这里不是鄙视PHP,PHP是世界上最好的语言!),要看经典技术书籍。拿JAVA技术栈来说,《JAVA编程思想》、《JAVA核心技术》,都属于经典书籍。看技术书还有一点很重要,边看边实践,书上讲的知识点一定要在机器里敲出来,这样才能做到真正吸收。这也符合读书必须实践的浅显道理。以上四点建议说完了,还有一些建议,比如多学习网络相关知识、多