程序员职业生涯发展到一定程度都会面临一个选择,是走业务+技术方向,还是选择纯钻研技术。程序员职业生涯发展的问题,这是所有程序员都在关心的问题,未来究竟要怎么走,30岁之后还能不能再做程序员。
绝大多数程序员最终的职业目标可能都是CTO,做到CEO的人估计会比较少,也有一少部分人自己去创业去当老板,也有部分人转行了,当老板的人毕竟是少数,转行的人都不在这行做了,自然没什么好说的了。一般来说,程序员的发展基本上都会经历这么几条路径。程序员——系统分析员——架构师——技术经理——CTO,程序员——项目组长——项目经理——项目总监——CTO,程序员——产品设计师——产品经理——CTO。
当然这只是一个大致的路径,不是所有程序员都必需要这么经历的,有些人可能跳过其中的一些步骤,也可能有些人会把中间的很多职位都做了。而最终做到CTO的程序员,也是非常少的一部分,原因很简单,这个世界上不许要那么多的CTO和CXO。
也就是说,许多的程序员最终可能是做技术经理、项目经理或者项目总监之类的,那么到底我们职业生涯要选择哪一种呢?我觉得这个问题没有一个统一的答案,因为每个人的性格不一样,际遇也不一样,就像你从小希望当贪官,可是命运却偏偏让你做了一个程序员。所以应该根据你的兴趣、性格与际遇选择一条道路,比如说你正好有机会带一个项目,而你又不是很讨厌项目经理这个位置,那么你就可以选择向项目经理方向发展。
实际上很多时候,有些公司并没有明确的技术经理、项目经理、产品经理之分,在许多的公司里,他们经常是由一个人承担。在外包公司里,通常会有项目经理和系统分析员(也可能是技术经理)。在一些非IT公司里,可能会是部门经理,而做自己产品的公司可能会分得比较详细一些。我大致说一下这三个职位的区别,让正在徘徊的程序员有一个大致的了解。
项目经理是项目的直接负责人,这个角色相当于一个中间接口,不管是团队成员还是需求方(客户),或者是上级领导,有事都直接找他,所以这个职位着重于管理与沟通。一般来说,项目经理的工作重点在同客户沟通需求、项目进度的把控、团队的沟通方面,有些公司也会需要项目经理承担团队建设的工作,不过貌似很多国内公司都忽略了团队建设这个工作了。对于项目经理来说,重点会要求沟通能力、协调能力、危机把控能力、执行力、团队管理能力,着重于沟通、管理与计划。当然也有些公司还要求项目经历要参与招标谈判,这就要求项目经理有一定的商务谈判能力。
技术经理有时候也可能叫系统分析员,一些小公司可能会整个部门有一个技术经理。技术经理承担的角色主要是系统分析、架构搭建、系统构建、代码走查等工作,如果说项目经理是总统,那么技术经理就是总理。当然不是所有公司都是这样的,有些公司项目经理是不管技术团队的,只做需求、进度和同客户沟通,那么这个时候的项目经理就好像工厂里的跟单人员了,这种情况在外包公司比较多。对于技术经理来说,着重于技术方面,你需要知道某种功能用哪些技术合适,需要知道某项功能需要多长的开发时间等。同时,技术经理也应该承担提高团队整体技术水平的工作。
产品经理这个职位一般在有自己产品(不管是软件还是网站产品)的公司比较常见,产品经理主要会负责产品的设计、产品的改良等工作。需要注意的是,产品设计与设计师是两个不一样的工作,产品设计主要会从用户体验、业务需要等层面去设计产品,而设计师更多是从用户的视觉上去做。产品经理应该是最懂业务的人,比如说你在设计一个微博的产品,就要求你对微博这个东西非常熟悉,从用户习惯、用户体验、公司的发展战略上去设计这个产品,还要对比同类产品会有什么优势等等。
不管是项目经理还是技术经理与产品经理,都要求要熟悉业务,业务是需求的来源,没有不谈业务的技术,所以不管你从哪个方向发展,都要求对业务熟悉。产品经理要求对业务最熟悉,项目经理次之,技术经理排最后。对于程序员来说,刚开始工作的前几年可以埋头扎到技术里面,一般这个时间在2-3年的时间,然后就应该多关注业务了。这个业务不一定是指某个具体的业务,因为具体的业务的范围太少,而且也需要机遇。
我见过许多的程序员,他们是做Web开发的,但对互联网很不熟悉,对于互联网流行的趋势基本上不闻不问。不知道现在大家都在使用微博,也不知道SNS,也可能从不使用网银。我觉得这样很不好,程序员应该多多去关注互联网的发展,多多去玩一些新的网站。
更多信息请查看 java进阶网 http://www.javady.com
分享到:
相关推荐
程序开发人员发展十大方向;
该程序旨在为月亮县中医院检验科提供一套全面的人员管理标准,以促进科室的专业化发展。 首先,人员管理的核心在于建立个人业务技术档案。档案包括了员工的学历证明、技术职称证书、聘用证书、进修记录、培训证书、...
计算机程序设计语言的发展历程是计算机科学史上的一个重要篇章,它伴随着计算机技术的演进而逐步进化。自20世纪40年代计算机诞生以来,程序设计语言已经经历了四个主要阶段:机器语言、汇编语言、高级语言以及现代...
对于软件测试人员,他们的职业发展路径多样且丰富,以下将详细探讨几个主要的发展方向: 1. 技术路线: - 初级测试工程师:这是大多数测试人员的起点,主要负责执行测试用例,发现并记录软件缺陷。在这一阶段,...
随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,微信被用户普遍使用,为方便用户能够可以随时进行查看个人...
随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,微信被用户普遍使用,为方便用户能够可以随时进行查看个人...
随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,微信被用户普遍使用,为方便用户能够可以随时进行查看个人...
随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,微信被用户普遍使用,为方便用户能够可以随时进行查看个人...
随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,微信被用户普遍使用,为方便用户能够可以随时进行查看个人...
基于微信小程序的发展党员信息查询系统设计与实现 微信小程序是基于微信平台的一款移动终端应用,它有成熟的框架、组件等工具,开发周期更短、流程更简单,只需开发一个版本,即可跨平台运行在 Android 和 iOS 上;...
随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,微信被用户普遍使用,为方便用户能够可以随时进行查看个人...
随着办学规模的扩大,高校管理人员在学校发展中的作用日益凸显,相应地其专业发展问题也引起人们的关注。高校管理人员的专业发展,既包含个人管理能力的提升过程,也包含各种组织为这一过程所提供的必要的条件支持。从...
计算机程序设计发展是计算机科学技术发展的重要组成部分,它是指在计算机编辑在程序语言应用的过程中,程序开发工作人员根据应用要求实现程序设计,同时结合编写指令展开数据分析和统计。计算机程序设计发展经过了...
计算机程序设计的发展历程是一部充满创新和技术演进的历史,它从早期的机器语言到现在的高级语言...未来,程序设计语言可能会更加智能,更易理解,甚至让非专业人员也能轻松进行编程,进一步推动信息技术的普及和应用。
走失人员报备平台小程序-毕业设计,基于微信小程序+SSM+MySql开发,源码+数据库+毕业论文+视频演示 社会发展日新月异,用计算机应用实现数据管理功能已经算是很完善的了,但是随着移动互联网的到来,处理信息不再...
计算机程序设计人员是信息技术领域中的核心角色,他们利用现代信息技术进行软件的编制和设计。这个职业分为三个等级,分别是程序员(国家职业资格四级)、高级程序员(国家职业资格三级)以及程序设计师(国家职业...
政府通过小程序监控境内及跨国流动人员的健康状况,例如推出健康码小程序,有效防止疫情反复。与此同时,餐饮、零售、交通等多个行业通过小程序实现无接触配送、进店检疫等措施,保证了运营安全。消费者也通过小程序...
管理人员内部晋升管理程序是企业组织发展中的重要环节,旨在优化人力资源配置,激发员工积极性,提升组织效率。这个过程涉及多个步骤和参与者,确保公正、公平、透明。以下将详细阐述这个程序的关键要素: 1. **...