个人能力提升计划
软件工程职业发展路线:项目经理 –> 技术经理 –> 架构师 –> 首席技术官CTO
一、上升项目经理
先在争取在项目组担任技术骨干,并逐步主动承担和肩负更多更具挑战的研发任务。项目经理职位一般在一流互联网公司至少需要奋斗3年以上,如何缩短这个非常漫长和艰苦奋斗的过程,建议从以下几个方面做起:
1、需要责任心和主动性,一定要为成为技术专家而不懈努力,千万别奔波在做一些事务性的工作而忽略技术本身,软件工程师的核心竞争力就是拥有全面的核心技术,并具备快速解决技术难题的能力。
2、要有很强的团队合作能力,善于发现别人优点并学会适当表扬,善于总结自己的研发成果并学会主动分享,善于表达自己并学会归纳总结。
3、学会成就团队,能创造一个环境,让每个人都能在其中发挥出更多能力,也就是一种领导力,学会成就团队是树立你在团队中威望的很重要品质。
4、提升汇报和总结能力,汇报能体现一个人的综合能力,需要有严谨的逻辑思维和优秀的写作能力,让领导在短时间内掌握一个项目的开发现状、存在问题、解决方案和创新工作等。领导最关注的是问题分析和最优解决方案。
二、技术经理
对于一般项目经理就是一个项目接一个项目的交付,上升空间遥不可及,如果要突破晋升空间也是有工作方法和拓展思路,建议从以下几个方面做起:
1、把控好项目的里程碑并学会提升管理水平,项目要有合理规划,从项目工作计划到项目任务分解、从技术选型到技术验证成功、从总体设计规划到架构设计细化、从架构设计分解到概要设计说明、从概要设计到详细设计落实、从详细设计规划到核心代码编写等,都是需要不同阶段的技术评审和质量审查,都是需要分段交付研发成果,都是需要管理和技术能够协调推进。
2、加强团队建设,更关注人才能力和培养。带团队就是带人心,在公司规则之内多考虑员工的合理想法,常考虑激励和培养员工,多重视程序员的意见并采纳实施。
3、多输出具有影响力的项目成果,如商用产品、项目奖项、核心专利和高水平的学术论文。在研发中多积累优秀设计思想、多总结提炼核心算法、多琢磨技术难题的创新解决方案、多讨论问题碰撞思想火花、多研究论文学习前辈的前瞻思想。
4、多读书,多学习优秀的管理思想,领会分层管理的领导艺术和对结果负责的管理体制,更不能越权管理。技术经理往往需要掌握分级分层的管理思想。高层领导负责战略和市场,中层领导负责战术落地实施并跟踪任务,基层人员负责细节实施和按期交付,一个完备且权责明确的分层管理机制一定会推动公司高效运营。越权管理不仅会导致基础管理员失去劝力而怠慢,更会导致不能细化管理而耽误进度,大目标都是小里程碑积累完成的,不积跬步何以至千里。
三、资深架构师
这个阶段需要在知名企业的一线产品上历练十年以上,架构师是一个既需要掌控整体,又需要洞悉局部瓶颈的技术领袖。架构师在整个产品研发的生命周期中都起着至关重要的作用,随着开发进程的推进,其职责或关注点不断的加深。
在需求分析阶段,主要负责梳理非功能性系统需求,如软件的高可维护性、高性能、高复用性、高可靠性、有效性和可测试性等,另外架构师还需要经常分析客户不断变化的需求,确认开发团队所提出的设计。
在总体设计阶段,架构师的关注点主要在开发团队的技术能力和开发模式。
在软件概要和详细设计阶段,架构师负责对整个软件X结构、关键构件、接口和开发策略的设计。
在代码编写阶段,架构师则成为了详细设计者和代码编写者的老师,并需要经常组织一些技术研讨会、技术培训班等来提升团队的技术能力。
在软件测试交付阶段,架构师跟踪关注性能需求,同时开始为下一版本的产品是否应该增加新的功能模块进行决策。
从架构师的工作职责上说:一是必须具有丰富的软件设计与研发经验,并验证所进行的设计是如何映X实现中去;二是要具有领导能力与团队协作能力,能在关键时候对技术的选择做出及时、有效的决定;三是要有不断积累新技术和新架构的技术能力,架构师需要掌握的知识是X度和多方面的,架构师应与时俱进地学习新软件设计和开发思想,并不断探索更有效的新方法。
四、首席技术官
这个阶段需要敢为人先的胆识、阅历丰富的见识、与时俱进的学识。要想突破自己的领导位置,要敢于大胆提出创新思想和超前理念来带领团队脱颖而出,同一个起跑线上更需要与众不同的决心和勇气,好的机会永远是留给有胆识的技术领导人,切勿在关键时候瞻前顾后或者犹豫不决,否则很难成就一番大业。要想突破自己的技术职级,要提升自己对行业信息和外界发展的见识,不能守旧在自己的技术领域,很多技术经理习惯停留在技术舒适区,不愿意进入挑战区,而且很小参加国际或者国内的主流峰会,很难提出高瞻远瞩的创新性的解决方案。作为技术领导人,要想超越同行成为佼佼者,要静下心来沉淀和历练,只有拼出来的美丽,没有等出来的辉煌。