今天在知乎被问到一个问题:程序员该如何制定自己的职业路线?
目前在二线城市-郑州一家30人的软件公司担任研发总监岗位,将近13年的程序员生涯,分享一些经验,更多的可能是教训吧,希望对题主有些帮助。
首先分享一下我的程序员职业生涯发展经历,还是以工作年限和收入为主线来描述吧,比较直观,钱 一定是大家比较关注的点。
下图中纵坐标为我的年薪收入,横坐标为工作年限,2010年毕业,至今13年了。
首先我是一个很普通的人,农村出身,父母没什么文化,更没什么背景。
从一个山里的高中,费了九牛二虎之力考上了一个二本大学。
当年我们那届高中毕业生,整个学校考上二本以上的人只有4个。
当时或许有点沾沾自喜,可现在回头看,尽是心酸,这个世界就是不公平的,教育也是如此……
我也曾在上海待过五年,在一线城市,程序员能达到50万还是相对容易一点。
2018年,因为父亲生病,又添了孩子,我不得不放弃上海的工作机会回到郑州。
那时在上海的薪水已经快到目前这个水平了,不过我不太想聊一线城市的机会,因为那个相对容易一些。
在开始分享之前我先声明一下,我是花了超过10年的时间才达到目前这个水平。
可能在二线城市比部分同龄人好点,但是在整个计算机行业,这个其实很普通。
完全说分享经验有点不太好意思,有一半算是教训吧!
我不会分享几句所谓优秀经验或者成功金句之类的话,让你一看就能学会,立马挣大钱,我觉得这是不可能的,或许也是因为我没那个能力。
如果你想从这篇文章里获取点经验和教训,那么值得你看下去。
从上方的收入和工作年限曲线可以看出,我的年薪和工作年限基本符合复利曲线。
在画出这个图之前,我没想着结果竟然跟复利曲线相吻合,可仔细想想,任何事情的投入和产出大致也都是如此。
在外行或者初级程序员看来,高工资的程序员一定都很聪明,智商也都很高,干的高新技术类的工作。
可作为写代码的人,大家都知道,我们都是从初级成员熬过来的,啃书学习,加班通宵,头发大把大把掉。虽说工资相较于其他行业高点,但挣的每一分钱也都是辛苦钱。
如果说一定要找一个程序员能挣高工资的方法,我觉得是“坚持”。
其实程序员跟其他行业一样,只要你坚持学习,不断成长,你的薪水自然就能符合复利效应,后期的工资涨幅会越来越高。
记得当初的大学同学,刚毕业的同事,能坚持到现在的已经屈指可数了。
不是说坚持不下来的都没挣到钱,也有部分同学转行做生意,也赚到钱了!
可只要坚持下来的,大部分都还混的不错,有一份不错的收入。
过了30多岁,如果程序员没有很好的竞争力,要么是转行了,要么就被淘汰了。
很多人都在纠结说30岁或者35岁的程序员没人要了,我想说这不是程序员岗位的特例,每个行业都是如此。年龄大了,自己没有竞争力,被淘汰不是必然的么?跟行业有什么关系?
看门大叔还要求不能超过55岁;保洁阿姨要求不能超过50岁;工地搬砖的工人还要求不能超过40岁;超市的收银员还要求不能超过35岁……
其他行业都是如此,凭啥你程序员就不能有年龄限制?
所以我认为,30多岁的程序员面临裁员和就业压力是很正常的情况,不是行业特列。
我们要关注的是如何在工作5年、10年、15年的时候做好定位和转型,适应行业需求,那么你就永远不会被淘汰。
二八定律永远适应这个世界的任何一类人,程序员也是一样。
所以坚持学习,保持成长是保持竞争力的唯一选择,不管是20岁还是40岁,都一样。
我们来按照工作3年、5年、10年这三个主要节点来分析程序员的职业生涯。
有些人可能压缩这个成长时间,有些人可能比这个时间还要长,这是我根据自己的经验预估的平局节点。
3年是第一个分水岭
3年是一个程序员正式入门一门技术的平均时间,这三年特别重要,很多技术的习惯都是在这三年养成的。
所以第一份工作尤其重要,很多人是不是会猜到我接下来该说要找个好的公司、好的团队,多学习。
我之前也是这么告诉别人的,可后来我发现其实现实往往不是这样,并不是谁都有机会一毕业就拿到大厂offer的,反而是大多数人一毕业都是在小公司发展。
很多人可能会较劲,其实没那个必要,看看每年大学生毕业,211、985根普通院校毕业生的比例就一目了然了。
所以毕业尽量去大厂发展,学技术,见世面,刷经验和工作背景,虽然是个最优的选择,如果你能得到这个机会,我当然也推荐,但对大多数人来说这只是个假设。
那么问题来了,在小厂就不能学到知识和经验了么?
当然不是。
虽然大厂具备较好的技术储备,规范的开发流程,充足的人力资源,但未必大厂出来的都是优秀的人。
大厂大部分技术人员的技术范围都比较窄,尤其对于初级程序员来说,一般只负责一个技术领域的一部分内容,做好螺丝钉即可。
我这么说可能很多大厂的技术人员会不服气,那么我就来说说小厂的优势。
跟大厂刚好相反,技术储备少,流程不规范,资源不充足,很多团队连产品跟测试人员都没有。
但对于初级程序员来说,这未必是坏事,你可接触的技术会比较多。
在学好自己技术的同时,可能会接触产品、测试、部署、服务器运维等等各种各样的技术工作。
这样工作状态也是大部分人吐槽小公司的原因,但也有人从这种环境中历练出来,在很短的时间内成为研发组长。
我在工作一年多时候犯了很多程序员都会犯的错误,就是跳槽了,而且跳槽之后发现工作还不如之前,把自己耽搁了一年多,悔不当初呀。
前三年是程序员打好基础的最重要三年,如果不得已不要轻易换工作,忍住各种薪资的诱惑,踏踏实实做好岗位工作,学好技术。等你三年后学成了,分分钟就把少挣的钱补回来了。
所以,不要抱怨自己的工作环境,适者生存才是强者的准则。
只有弱者才会去自怨自哀,所以大家在网上看到的都是不如意的人在传播负能量,是正能量的人太少么?不是,因为他们忙着做自己的事情,没太多时间浪费在网络上。
5年是第二个分水岭
对于不断成长的技术人员,在工作5年的时候会出现跟普通程序员明显的差距。
大家肯定听过某某工作几年后突然跳进大厂,薪水翻几倍的故事,这些都是真实存在的。
5年的研发经验,在二线城市如果综合能力到位,技术扎实,是可以胜任研发组长的岗位的,但都是少数人,大部分人还都在继续码代码。
成为技术组长后,可根据发展和机遇转项目经理、产品经理,或者刚高级的研发总监等高级岗位。
在二线城市,工作五年,如果技术扎实,还有一个方向可走,那就是主程。主程再往后的发展方向就是架构师。
但是有个现状很残酷,在二线城市纯技术路线工资一般都在一万多,最多两万,不会再高了。
如果你想拿更高的工资,只能走项目经理、技术经理、产品经理等管理路线,结合自己的技术,拿到更高的工资。
纯技术路线在一线城市的路会更长一点,因为薪水空间很大,很多人能做到30岁,35岁,甚至40岁。
但是在一线城市,纯技术路线依然会遇到薪资瓶颈,只是这个瓶颈比二线城市来的晚一些。
所以综合一线二线城市的情况,我们作为程序员要根据你所在的城市规划好自己的职业规划,要学会顺势而为,不要死磕技术。不是说纯技术岗位没有,而是过了一定年龄,即便你技术再好,你是首席架构师,可市场对你的诉求越来越小了,你的风险就越来越大。
很多人就纳闷,为啥35岁的程序员技术越来越好,怎么没人要了?
因为高级技术岗位就那么多,其他岗位我为啥要招一个这么贵的程序员,没必要呀……
2018年,我记得我在回郑州之前,我学了大量的机器学习的技术,想着找一个人工智能的工作。
可回到郑州后发现,机器学习的岗位几乎没有。
更重要的是我发现纯技术岗位在郑州工资2万已经封顶了,不可能再高了。
所以在写代码之余,我就看大量的管理书籍,工作中也不再只专注于技术,后来经过两年的时间,从一个程序员转变成一个技术负责人。
在二线城市的小公司,技术负责人要做日常研发、研发管理、部署、交付、运维等等各种工作。我当时给自己的定的目标很简单,就是要带着团队把这个项目做好,顺利交付,如果需要我可以做任何事情,因为把事情做成才是成长的最佳途径。
在这个过程中除了技术,还经历职场内斗,因为技术思维限制,加上性格刚直,差点被老板裁掉。
被职场规则和职场情商惨痛殴打后的我,终于也学会了职场中技术之外的生存技能,最终又坐上研发部负责人的位置。
后来发现,这个位置是干出来的,不是学出来的。如果我一开始不去争取,等自己慢慢学会再干这个岗位,我可能永远都学不会。因为这个岗位我只要不尝试,那些坑跟惨痛都教训你永远没有机会经历,也就永远不会成长。
除了技术上学了两种新的语言nodejs 以及python以及各种技术框架之外,研发管理、项目管理、产品设计都有涉猎。最重要的是学会了沟通技巧,学会了向上管理,这才具备同时满足老板、忙族市场负责人以及满足客户要求的能力……
10年,不同程序员的能力和收入已经出现极大的差别
5年到10年这个时间段,是很多程序员转岗晋升的关键时间段。每个人都有很多机会,可把握住机会的人少之又少。
前段时间,我面试一个工作8年的程序员,一直在做安卓开发,他在工作5年的时候开始做技术负责人。可在做技术负责人之后,他基本就很少进行技术提升了,安卓技术作为终端技术,本身就具有技术局限性。他当了三年安卓技术负责人出来之后,发现他已经在慢慢失去竞争力。
5年的工作经验做一个安卓的技术组长没问题,可八年工作经验,在二线城市,按理说应该具备当一个研发团队的研发组长的能力。可他在过去三年里没有学过其他技术,甚至安卓技术都动的少了。
他这样的例子很典型,很多人都跟他一样。技术到了五年之后,如果你的下个目标是成为技术负责人,那么你一定得懂后台呀,不懂后台怎么懂架构?不懂架构怎么做技术负责人?先不说综合能力,就光技术能力这一条他就不满足。
他的情况同样适用于前端、客户端、ios等终端开发,如果你的下个目标是研发负责人,工作五年后的你,一定要扩充自己的技术栈,后台技术是绕不过去的坎儿。
所以,作为一个技术人员,要想保持竞争力,最低的要求就是保持技术的更新。我给自己定的技术学习标准是每两年至少学习一门新的开发语言。这还不包括管理、沟通等综合技能。
又或者五年后的你可以朝着项目经理、或者产品经理发展。只要持续不断的学习和沉淀,再经过3年,最多五年,等到工作10年的时候你就会上升一个大的台阶,你的薪水也是一样。
在一线城市也是一样,你的瓶颈期可能会晚几年,但是早晚会到来,不要被安逸的工作环境和所处舒适区麻痹了自己。如果你不想遇到30岁、35岁被淘汰的危机,那么请提前做好打算。
正式因为10年的时间足够长,长到可以放大任何人10年的积累和懒惰,所以会出现两极分化。
做的好的优秀的人,已经到了研发总监、创业合伙人、甚至是当老板的高度。而不够努力的人,偷懒的人,已经慢慢遇到瓶颈,走向被淘汰,被替换的窘境。
而且工作10年的时候,收入的涨幅都比较大,收入的来源已经不是主要靠薪水了,而是靠分红、期权、股票等方式。
我目前的岗位是研发总监,两年前晋升到这个岗位,公司刚开始给每年固定分红,后来又给的期权,这两部分收入已经远远大于工资的收入了。
这也是坚持到最后复利效应开始正式发挥作用的时候,收入很多时候是成倍增长的。
认知理论里还有一个名词叫涌现效应,指的是当大量个体聚集在一起,个体之间产生相互作用,从而使得整体拥有了和个体完全不同的新属性。也就是说高阶行为倾向于从相互作用的低阶行为中涌现,其结果通常不是线性的,也不是简单的相加。比如,冲厕所时会出现一个漩涡,单个水分子没有漩涡这个属性,但是聚集在一起就有了。
在学习的过程中,当知识大规模积累后就会发生“涌现”现象,我们会如同打通了任督二脉,收获突破性进展,即量变产生了质变。这告诉我们知识的学习要持之以恒,日积月累的沉淀,是厚积薄发的释放。
好的,落笔此处,没想到能写这么多。写的越多,牵涉到的信息就越多,就越讲不清楚。
希望对屏幕前的小伙伴有帮助,有问题小伙伴可以关注、私信或者留言。
作者:落笔七年
链接:https://www.jianshu.com/p/1272b96162ed
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。