蜗牛在互联网行业做程序员也有几年了,和很多初入职场或者身处职场的程序员朋友一样,对自己的成长路线有过困惑,对三十五的瓶颈也有过担忧。
不过随着自己的经历和成长,对周边同事的观察以及阅历的提升,逐步沉淀出一套自己认知里的程序员成长路线。我想把它分享出来,和读者朋友一起探讨交流。
当我们以开发者的身份进入编程这个领域时,程序员这个名字就离不开我们了。如果从以终为始的角度看,我觉得程序员会走向六种不同的角色,可能是同一个角色纵向精深走到底,也可能是不同角色间逐步演进。
程序员刚开始的职责是管一个模块,只要负责某个模块的编码工作,交付功能即可。
当你对各个模块熟悉,技术不断精进后,就有了管理技术链路的能力。你会开始做架构设计,编写链路的核心代码,协同上下游和开发团队一起交付复杂功能,此时你的角色已经在向技术专家的方向转变。
如果你对技术痴迷,对代码的热爱远超过对人的管理,那你可以在技术这条线上继续精深。实践更复杂的架构,编写更优雅的代码,接触更前沿的技术。纵向精深,在技术的道路上越走越远,逐步成为技术领域的大拿。
如果你对管理感兴趣,不想让自己的人生局限在编程这一件事上,想要探寻更多的可能性,那你可以有意识的向技术管理的方向对齐。在日常的研发工作中,就要多多实践和体现自己的管理能力和领导能力。这样等到时机到了,你就能够介入到团队的管理中,这时候你就慢慢转变成了技术经理的角色。此时你就要管团队,规划技术团队的建设,管理产品研发的流程,同时要建立良好的团队培养和激励体系。
技术经理这条线上的发展程度,可以通过团队规模来衡量。或许随着时间的推移和你的成长,你带领的团队规模可以从五人到几十人甚至上百人。
专注技术或者从技术走向管理,是大多数程序员的选择。那还有一些程序员朋友,在做技术的过程中,经常和产品经理以及项目经理打交道,有些情况下自己都会担任起产品经理或者项目经理的角色。
你比如说一些技术改造或者技术产品的落地,是需要程序员自己来挖掘需求,产出原型以及交互的产品方案的。在落地的时候,为了让项目能够顺利进行,就得程序员自己牵头项目,制定项目计划,协调各方资源,保障项目的进度。
平时的耳濡目染以及某些情况下的亲身上阵,让程序员自己也逐渐具备了一些产品思维和项目管理思维。有些朋友可能就迷上了产品或者项目管理,会去主动学习这个职能所需要的一些技能,然后应用到工作中。
喜欢产品或项目管理胜过技术的朋友,就会慢慢转型产品经理或者项目经理。从技术转型成产品的人不在少数,微信之父张小龙就是一个例子。
如果你的技术、管理和产品各方面能力出众,并且所负责的业务规模在不断扩大,那你是极有可能进入到高层管理的角色,此时你就要管理整个公司了。你需要确定公司的战略方向,决策重大事项。像淘宝的蒋凡就是从普通的程序员成长为淘宝、天猫和阿里妈妈事业群总裁的。
如果你的商业嗅觉敏感,在某个领域意识到有很大商机,想要自己出来单干,那就要成为创业者的角色。此时你会自己注册公司,开拓自己的业务,实现价值,发展事业。像拼多多创始人黄铮就是从谷歌离职创业,创立拼多多,开创了社交电商新模式。
以上这个路径,图中绿色部分的技术专家和技术经理是大多数程序员朋友的主要发展方向,黄色部分的产品经理和项目经理是部分程序员朋友的转型方向,红色部分的高层管理和创业者是少数程序员朋友的终极目标。
大家可以结合自己的情况在不同阶段选取不同的角色定位,承担相应责任的同时,也获得成长。
我是蜗牛,大厂程序员,专注技术原创和个人成长,正在互联网上摸爬滚打。欢迎关注我,和蜗牛一起成长,我们一起牛~下期见!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。