程序员职业发展路径

435 阅读4分钟
视频连接
[https://www.ixigua.com/6881972981245936131/](https://www.ixigua.com/6881972981245936131/)

职业规划,老生常谈的问题,真正的对自己的职业有清晰明确规划的不是很多,就软件研发技术人员,我们来看看其职业发展路径,对自己未来到底能做什么有个初步的认识。

先来看一张图,基本涵盖了软件研发人员的职业生命周期,

初级软件工程师:
熟悉计算机的基本操作,初步掌握一门技术语言,在既定的需求下,能够实现一些简单的功能,比如简单的页面、后台基本的增删改查操作,程序能够跑起来对接到项目中,这就算初级软件工程师了,做的过程中肯定很多的不熟悉的地方,需要他人的协助或在网上找相关的实现,处于

“了解”程度

中级软件工程师
对开发领域的语言熟练掌握,能够在需求文档以及技术架构的框架下,独立完成一个或多个功能模块,并能够快速的实现,熟练的使用开发工具,各种应用的

api,代码不需要拷贝,能够运用自己的技术能力实现功能,这个时候的阶段叫“熟悉”

高级软件工程师
能够根据需求文档以及原型设计,能够独立设计开发的模块,独立或和团队一起完成一个中小型项目的开发工作,并能保证产品的质量,得以完整的交付。这个阶段,技术已经很熟练,知道所用技术的基本原理,也就是说,高级工程师是能够独挡一面的,掌握的基本技能有:熟练掌握项目所需的技术,合理的评估项目的开发时间,独立设计并研发出项目,成功的交付项目产品。
到了高级研发工程师,一般的项目已经能够完全驾驭,职业生涯的十字路口出现了,两条正统的路径可以选择,一是走管理岗,二是技术架构师的技术路线。这两条路都不好走,都需要要面对巨大的挑战,以及机缘。走管理路线,需要具备管理人员的素质以及公司的机会,走技术路线需要公司的技术有这样的深度,还需要参与磨练,都需要自我的变革,没有没有机会,只有不停的跳槽,寻求机会。
另外就是觉得这两条路都走不通,管理没有那个能力,技术没有那样的深度,这时可以向邻近方向转变,相对比正统路线来说,体力上要轻松一些,像测试、实施、质量等,依据自身的情况选择,但是最终殊途同归。
技术主管:
技术能力与沟通协作能力都不错,有带团队的欲望,有强烈的责任心,提拔为技术主管,带领

10人以下的小团队,完成上级交代的开发任务,这是管理的第一步,算是入了管理的行当,其实主管做的管理工作很少,主要是任务拆解与派发,按时完成预期定义好的工作,上有技术经理罩着,技术有架构师指导,这个过程要会三件事,一是项目任务的评估与拆解分派,二是任务执行,三是结果的反馈。技术主管的主要工作还是任务的执行上,也就是写代码。

当管理能力提升,业务能力更为熟练,职位上升为技术经理,这才真正的进入到公司的管理层,经过技术主管的锻炼,需要具备的能力更为全面,业务能力,技术视野,团队管理,项目管理,技术管理等方面,这个阶段,可能做部分的技术工作,也可能不做,主要在
团队的发展上。
技术总监,

CTO,公司的中高层了,关注结果、关注战略方向、关注经济效益,不在局限于某些技术了。

另一条是技术路线,从架构师到技术专家,架构师能够架构一些大型的项目,比如一个商城,一个仓储调度系统等,技术专家能够解决某一领域的技术难题,可能是创新性的。
不管是走技术管理路线,还是技术专家路线,都对技术有较高的要求,如果觉得自己技术上不是很牛逼,但是在管理上有能力,可以走另外一条路,就是项目管理路线,这相对比技术管理更为狭窄一些,因为一些

it企业,是没有单独的项目经理的,是有产品经理或者项目经理兼任的。但是工程性项目,很多都有专门的项目经理。

怎么发展,主要还是要看自己的能力,有没有这个本事接受这份工作。