程序猿们那些可选的职业发展路线
时不时会有一些做开发的小伙伴咨询职业发展问题:该不该跳槽?遇到了职业天花板该怎么破?如何才能成为架构师?这些问题说白了,其实都是如何选择职业发展路线的问题。需要注意,每个人都并非只走一条路线。
不管你选哪一条,有三个基础能力都要培养:技术基础要扎实(数据结构、算法、语言基础、编程思想);要掌握高效学习的能力;要养成「知其然并探知其所以然」的思维习惯——很多人都会用 HashMap,但未必研究过背后的数据结构和实现原理;大家都知道 MVC/MVP/MVVM,但未必深究过各自的优缺点和适用场景。
一、纵深发展
所谓纵深,就是纵向往技术深度发展。不管是 Android、iOS、前端还是后端,都可以根据技术能力划分为初级、高级、资深、技术专家/架构师、高级技术专家/高级架构师、首席技术专家/首席架构师。在阿里的话,技术专家/架构师一般为 P7,高级技术专家/高级架构师则一般为 P8。
每个特定领域都有不少大牛在前方引路:Android 有朱凯、任玉刚、郭霖等,iOS 有唐巧、王巍(喵神)等,前端有阮一峰、尤雨溪等,后端的牛人就更多了。对这些牛人来说,所谓的职业天花板并不存在,中年危机也不怕,裁员也裁不到他们,实现年薪百万更不是事。就算只往一个特定领域深耕技术,也可以发展出非凡的职业道路。
往纵深发展也是大部分程序猿毕业之后首选的路,但越往深会越难,就像登山一样,不是所有人都能登上山顶,能登上珠穆朗玛峰山顶的人又有几个呢?想达到技术专家甚至以上级别,基本功就像跑马拉松的耐力、肌肉、肺活量,任何一项不够都很难支撑跑完。
为什么程序猿会有中年危机、年纪越大越容易被裁、工作经验越多越难找到新工作?假如面试者有两个技术能力处于同一水平的人(薪资水平也相同),一个工作了三年,一个工作了十年,如果只能留一个,面试官更愿意留哪一个呢?优秀的程序猿一般每 2~3 年就可以提升一个级别,用不了 10 年就可以达到技术专家/架构师的级别。不过,优秀的程序猿一般也不会只在一个方向上发展。
二、横向拓展
横向拓展则是开拓其他领域,从广度上拓宽自己的技术能力。比如原本做 Android 的可以拓展 iOS,也可以涉猎前端,还可以涉足 Java 后端。只专注于一个方向的弊端,可以参考塞班(Symbian)。虽然中短期来看 Android 和 iOS 不会出现同样下场,但未来谁也说不准。另外,随着跨平台框架(比如 Flutter)的不断完善,原生开发的路是否会越来越窄?Java 也一样,随着区块链和人工智能发展,越来越多团队选择 Golang 和 Python,Java 生态是否也会慢慢没落?不要在一棵树上吊死,不要把鸡蛋放在一个篮子里。
如果你是做 Android/iOS/Web 前端,横向上建议首选 Flutter,往大前端方向发展。Android 人员的第二选择建议拓展 Java 后端,往 Java 全栈走,后端的路相比会宽很多,慢慢可以发展成既懂前端又懂后端的架构师,这会比单纯只懂后端的架构师更有优势。iOS 和 Web 开发人员的第二选择则建议直接从 Golang 或 Python 起步,尤其是 Golang——如果说未来 Java 真的没落了,有望取代领头位置的,Golang 最有潜力。
从长远来看,横向拓展不一定只拓展一个方向,可以逐步拓展多个方向,但刚开始不建议同时拓展多个方向,建议至少让拓展的第二领域达到高级或资深级别后再去拓展下一个。作者一开始是做 Java 后端的,后来逐步拓展了 Android、iOS,近一年多则拓展了 Golang。
三、管理方向
有些技术极客会一直热衷于钻研技术,不太喜欢也不擅于与人沟通。但不少程序猿还是倾向于慢慢转向管理岗位,从主管到经理,再到总监,最后到 CTO。成为 CTO 是大部分技术人员在职业道路上的终极目标。但管理之路的晋升比技术之路难得多,尤其要成为 CTO,除了一些特例,一般需要熟悉全栈技术,精通架构设计,具备全局思维,还要懂商业模式。做管理,核心在于管理人心;管理事,核心是要做正确的事。
大部分程序猿应该是在工作了 4~6 年、达到资深开发级别之后,才开始有机会步入管理岗位,担任技术主管或技术经理。在这之前,可能也会做一个小组长的角色。在阿里,主管是 M1,对应于技术岗的 P6,经理是 M2,和 P7 相对应,再往上 M3 是高级经理,M4 为总监。
每个垂直领域都可以做到总监级别,比如 Android 总监,但只有大公司才会有这样细分领域的总监岗位,中小企业基本没有,中小企业的总监一般都特指后端的技术总监。很多小创业公司整个公司就一个技术管理岗位。想晋升为管理人员,首先需是出类拔萃的程序猿。低层管理其实更多还是偏技术;中层管理一般是技术和管理各占一半;高层管理更偏管理,对技术的要求主要在于广度和全局观,对技术深度则没多大要求了。
四、转型产品
从技术开发转型做产品设计,走产品经理的路线,也是一些人的选择。朋友中就有一位本来做 iOS 开发后来转型产品经理,另一位本来做 Android 后来也转型做产品,这两位目前都在自主创业中。就连马化腾也一直将自己定位为一个产品经理。马化腾、张小龙、张一鸣都是国内顶尖的产品经理,但他们其实都是程序猿出身。不要将产品经理狭义地定义为具体的岗位,不管什么岗位,只要具备产品思维、主导或参与产品设计、产品决策的人,都可以称为产品经理。
每个技术人员都应该学习如何做产品、培养产品思维,不一定是为了转型做产品,但懂产品的技术人员是很受欢迎的。推荐几本书:《用户体验的要素》《启示录:打造用户喜爱的产品》《精益创业》《腾讯方法》。如果是要转型做具体的产品岗位,那还要学习需求分析、原型设计等。
五、开拓副业
认识一些大佬,通过发展副业,当副业的稳定收入超过主业之后毅然辞职,全身心投入到副业中。程序猿做副业也有很多选择:大部分会选择做自媒体,通过写文章吸粉,通过收费社群、付费内容或写书等实现知识变现,一旦实现稳定变现,就能够产生复利增长。做自媒体是一条漫长的路,可能长时间都很难变现,但一旦形成了一定知名度和影响力,会有写书、录课程、推荐好工作等各种机会。做自媒体的价值不止在于知识变现,还存在很多隐形价值。
还有不少人会不定时接外包项目,单次收入相对会高一些,但并非总是长时间有单可做,且较难实现复利,还会大量占用休闲时间,还经常会遇到拖欠尾款的问题,又累又不稳定。对于长期接项目的人,更多情况是做着做着就自己成立外包公司了。也有人会自己开发一些小产品,比如简单的 App 或网站,然后提供收费服务或直接卖产品源码。有一些大佬还会为企业或个人提供咨询服务,比如帮企业做架构设计,或给人提供职业发展建议。有一个平台叫「在行」,不少行家就通过该平台对外提供咨询服务。还有兼职开滴滴或送外卖的,以及社交电商在朋友圈、微信群卖货。
倾向做那些能实现复利增长的副业,即要让自己投入的一份时间能卖多份,比如做自媒体、卖课程、卖服务、开发自己的产品。推荐两本书:萧秋水和剽悍一只猫合著的《知识变现》,以及安晓辉的《副业赚钱之道》。
六、弃疗转行
最后一条路,那就是放弃治疗转做其他行业,比如开个小饭馆,或开个咖啡馆。中国是全球最大的消费市场,随着迈入中产阶级的人越来越多,消费升级、婴幼儿的吃穿、教育等,到处都是机会。还有朋友从程序猿转行做保险推销员——现在越来越多人开始注重购买保险,主要还是为家人和自己购买医疗险,不少人从孩子出生就给宝宝购买各种保险。也有朋友转做股票操盘手。从去年开始,更多资金已经从房地产向股市转移,政策上也在大力扶持股市。
还记得当年那个卖猪肉的北大学子吗?被称为「北大屠夫」,人家身价早已过亿,他和同是北大的师兄陈生一起创立的「壹号土猪」,估值已经超过 40 亿元,年营业额达 18 亿。还有一个中央民族大学的刘浩明,卖煎饼果子月入 13 万。还有「松哥油焖大虾」,其高管团队 80% 来自华为,包括创始人徐松也是从华为出来的。希望你能从这些案例中得到启发。
| 路线 | 适合什么 | 注意 |
|---|---|---|
| 纵深 | 毕业后首选,冲专家 / 架构师 | 越往上越难,十年原地踏步会被同薪三年经验挤掉 |
| 横向 | 防单一技术栈过时 | 前端优先 Flutter;Android 可加 Java 后端;一次只拓一个方向到资深 |
| 管理 / 产品 | 4~6 年资深后带人;或转产品思维 | CTO 要全栈+商业;产品岗还要需求与原型 |
| 副业 / 转行 | 自媒体、产品、咨询;或餐饮保险股市 | 优先能一份时间卖多份的复利型;外包易欠款不稳定 |
原文链接:http://keeganlee.me/post/career/20200201
一句话总结:职业路线可以叠加走,但基本功、高效学习和刨根问底三条谁都逃不掉;纵深防十年原地踏步,横向别吊死在一个栈,管理产品副业转行则看你要的是带人、做决策,还是把一份时间卖出复利。
转载请注明来源:程序猿们那些可选的职业发展路线







