2.2 职业规划越早越好
1 什么是职业规划
- 不是很喜欢写代码,也不知道到底喜欢什么。
- 想提升技术能力,尽快升职加薪,但是不知道学什么。
- 求职时,不知道选择哪个行业、哪类公司。
如果你有这些困惑,说明还没有职业规划。通俗的说,职业规划就是希望从事什么职业、在这个职业上达到什么高度。大多数人不会去创业,创业的成功率也很低,上班就是半生的宿命。如果没有职业规划,一旦遇到职场的选择题,比如跳槽,就没有判断优劣的准则,最终都会因为发展问题陷入迷茫。无数程序员用脱发和颈椎病告诉我们,职业规划越早越好、越清晰越好。
谁不希望做个咸鱼直接躺平呢,无奈家境贫寒。做职业规划一定要结合自身条件和性格,否则很难执行下去,以下四点原则供你参考:
- 个人偏爱:做喜欢的事情,才有可能在极端艰难时不会放弃,在巨大诱惑的时也不会动摇。
- 个人擅长:做擅长的事,才能在竞争中脱颖而出。
- 认同价值:做深刻认同其价值的事情,坚信事情的回报有足够的吸引力。
- 长远发展:选择有巨大发展空间的行业,才能拿到更高更持久的回报。
从古至今,中国人都是官本位思想,从来没有真正尊重技术人才,做管理比做技术的地位更高、收入更高。有一点值得庆幸,相比传统行业,软件公司总体比较渴求技术人才,这给了工程师较高的上升空间。因此,职业规划可以分成两个方向:管理线和技术线,管理工作需要沟通协调能力,技术工作需要严密的逻辑思维和严谨的态度。事实上,高端的技术岗位也有一定的管理工作,俗称“带小弟”。
2 技术线的发展
技术的发展路线依次是工程师、高级工程师、资深专家、架构师、CTO。最顶尖的是CTO,本质是做管理和技术战略工作。对于大部分人来说,架构师就是职业顶点。这个职位市场需求大、薪资高,如果努力学习,做到的机会很大。
架构师 | 定义 | 需求 |
---|---|---|
特定技术架构师 | 从事安全架构、存储架构等专项技术的规划和设计工作 | 少 |
系统架构师 | 从系统的维度,负责整体系统的架构设计,主要是基础服务和各系统间协调上,关注服务器负载,可靠性,伸缩,扩展,数据库切分,缓存应用等方面的基础架构设计。综合运用已有的产品和技术,来实现客户期望的需求。要求通晓软、硬件两方面的知识,知识体系相对庞杂 | 多 |
应用架构师 | 从应用程序的维度,负责某个应用的技术架构,主要偏业务系统,关注理解业务,梳理模型,设计模式,接口,数据交互等方面 | 多 |
业务架构师 | 从业务流程的维度,关注某一个行业、业务的领域分析,获取领域模型,最终获得系统的模型。也可以叫业务领域专家、行业专家、产品咨询师、资深顾问。 | 多 |
互联网公司里面的架构师通常指系统架构师,应用架构师是高级工程师或者资深专家,而业务架构师相当于资深产品经理。近些年由于前端技术React、Vue、Flutter等蓬勃发展,也出现了前端架构师。
3 管理线的发展
管理的发展路线依次是初级/中级工程师、高级工程师、团队组长、技术经理/总监、技术VP/CTO。从高级工程师到团队组长隔着一个坎,必须先成为优秀的基层员工,并掌握一些管理知识,能运用到实践当中去,才能迈过这个坎。比起技术线的职位,管理岗位更加稀缺,承受压力更大。小公司的建制不完善,无论是基层还是管理岗位,都有可能打杂。大公司的中层管理比较舒服,不需要关注业务细节,也不用思考战略问题。
4 制定清晰的目标
无论选择技术还是管理线,要达到晋升目的,必须制定清晰可执行的目标。比如系统架构师需要掌握的知识有计算机基础、分布式理论、分布式组件、容器化技术等等,如果计算机基础知识薄弱,就制定计划持续学习,不要跳跃的学习其他东西,高楼不能建在流沙之上。
想做技术管理的话,不能只学理论而不实践,正所谓“一看就会,一做就废”。日常工作中,尝试找到团队的普遍问题,向上级提出解决方案,观察上级如何决策、如何宣传(吹嘘)业绩。所有的公司都想降本增效,从这个角度思考,能发现团队和公司的不少问题。
5 参考阿里职级
阿里巴巴采用双序列职业发展体系,它将人才划分清晰的等级,既是薪资的标准,也是人才晋升的指南。一套体系是 技术专家路线【P序列=技术岗】,一共分为 14 级,从 P1 到 P14,目前校招最低从 P5 开始,社招最低从 P6 开始。一套体系是 M路线,即管理者路线【M序列=管理岗】,从M1到M10。
- P5中级工程师
(1)在专业领域中,对公司职位的标准要求、政策、流程等从业所必需了解的知识基本了解。(2)对于本岗位的任务和产出很了解,能独立完成复杂任务,能够发现并解决问题。
(3)在项目当中可以作为独立的项目组成员。
- P6高级工程师
(1)在专业领域中,对公司职位的标准要求、政策、流程等从业所必需了解的知识理解深刻,能够和经理一起探讨本岗位的产出和任务,并对经理具备一定的影响力。
(2)对于复杂问题的解决有自己的见解,对于问题的识别、优先级分配有见解,善于寻求资源解决问题;也常常因为对于工作的熟练而有创新的办法,表现出解决复杂问题的能力。
(3)可独立领导跨部门的项目,在专业方面能够培训和教导新员工。
- P7专家
(1)在专业领域,对自己所从事的职业具备一定的前瞻性的了解,在某个方面独到,对公司关于此方面的技术或管理产生影响。
(2) 对于复杂问题的解决有自己的见解,对于问题的识别、优先级分配见解尤其有影响力,善于寻求资源解决问题;对工作熟练而有创新的办法,表现出解决问题的能力。
(3)可独立领导跨部门的项目;能够培训和教导新进员工。
(4)是专业领域的资深人士。
- P8高级专家
(1) 在某一专业领域中,对于公司内外及业界的相关资源及水平比较了解。
(2)开始参与部门相关策略的制定;对部门管理层的在某个领域的判断力产生影响。
(3)对事物和复杂问题的分析更有影响力。
- P9资深专家
(1)是某一领域中的资深专家。
(2)对某一专业领域的规划和未来走向产生影响。
(3)对业务决策产生影响。
(4)使命感驱动,坚守信念。
- P10研究员
(1) 被认为是某一方面的专家或者在国内的业界范围具备知名度和影响力。
(2)对公司某一方面的战略规划和未来走向产生影响。
(3)在本领域的思想和研究在公司具备较大的影响力。
(4)使命感驱动,坚守信念。
- P11高级研究员
(1)业内知名,对国际相关领域都较为了解。
(2)对公司的发展做出重要贡献或业内有相当的成功记录。
(3)所进行的研究或工作对公司有相当程度的影响。
(4)成为公司使命感、价值观的守护者、布道者。
(5)对组织和事业的忠诚,使命感驱动,坚守信念。
- P12资深研究员
(1)业内顶尖人才,对于国际上相关领域的思想、实践都有独到的见解。
(2)对公司的发展做出重要贡献或业内有相当的成功记录。
(3)能领导公司相关方面的研究、开创业界一些实践。
(4)倡导或开创一些做法对公司的未来有深远的影响。
(5)成为公司使命感、价值观的守护者、布道者。
(6)对组织和事业的忠诚,使命感驱动,坚守信念。
6 参考Google评分卡
Google组建了一支专业的团队来运维后端服务,工程师有一个共同的名字 Site Reliability Engineer,缩写为SRE。团队中的资深工程师Chris Jones等人联合撰写了《Google SRE: How Google runs production systems》,翻译为《SRE:Google运维解密》,首次解密了谷歌的生产环境运维。该书中提到了“Google评分卡”,将技术人员的能力划分为11个等级:
级别 | 中文 | 英文 |
---|---|---|
0 | 对于相关的技术领域还不熟悉 | you are unfamiliar with the subject area |
1 | 可以读懂或理解相关领域的大多数基础知识 | you can read/understand the most fundamental aspects of the subject area |
2 | 可以实现一些小的改动,清楚基本的原理,并能够在简单的指导下自己找到更多的细节 | ability to implement small changes,understand basic principles and able to figure out additional details with minimal help |
3 | 基本精通这个技术领域,完全不需要别人的帮助 | basic proficiency in a subject area without relying on help |
4 | 对这个技术领域非常的熟悉和舒适,可以应对和完成所有的日常工作。对于软件领域,有能力开发中等规模的程序,能够熟练和掌握并使用所有的语言特性,而不是需要翻书,并且能够找到所有的冷知识。对于系统领域,掌握网络和系统管理的很多基础知识,并能够掌握一些内核知识以运维一个小型的网络系统,包括恢复、调试和能解决一些不常见的故障。 | you are comfortable with the subject area and all routine work on it.For software areas - ability to develop medium programs using all basic language features w/o book, awareness of more esoteric features (with book).For systems areas - understanding of many fundamentals of networking and systems administration, ability to run a small network of systems including recovery, debugging and nontrivial troubleshooting that relies on the knowledge of internals. |
5 | 对于该技术领域有非常底层的了解和深入的技能。 | an even lower degree of reliance on reference materials. Deeper skills in a field or specific technology in the subject area. |
6 | 能够从零开发大规模的程序和系统,掌握底层和内在原理,能够设计和部署大规模的分布式系统架构 | ability to develop large programs and systems from scratch. Understanding of low level details and internals. Ability to design/deploy most large, distributed systems from scratch |
7 | 理解并能利用高级技术,以及相关的内在原理,并可以从根本上自动化大量的系统管理和运维工作 | you understand and make use of most lesser known language features, technologies, and associated internals. Ability to automate significant amounts of systems administration |
8 | 对于一些边角和晦涩的技术、协议和系统工作原理有很深入的理解和经验。能够设计,部署并负责非常关键以及规模很大的基础设施,并能够构建相应的自动化设施 | deep understanding of corner cases, esoteric features, protocols and systems including "theory of operation". Demonstrated ability to design, deploy and own very critical or large infrastructure, build accompanying automation. |
9 | 能够在该技术领域出一本经典的书。并和标准委员会的人一起工作制定相关的技术标准和方法。 | could have written the book about the subject area but didn't; works with standards committees on defining new standards and methodologies. |
10 | 在该领域写过一本书,被业内尊为专家,并是该技术的发明人。 | wrote the book on the subject area (there actually has to be a book). Recognized industry expert in the field, might have invented it. |