提示:本文适合有2年及以上工作经验的程序员,对于刚入职或者即将职的程序,建议阅读涂雅写的另一篇文章:写给岁入IT的新人们
程序员职业生涯发展到一定程度都会面临一个选择,是走业务+技术方向,还是选择纯钻研技术。程序员职业生涯发展的问题,这是所有程序员都在关心的问题,未来究竟要怎么走,30岁之后还能不能再做程序员。
绝大多数程序员最终的职业目标可能都是CTO,做到CEO的人估计会比较少,也有一少部分人自己去创业去当老板,也有部分人转行了,当老板的人毕竟是少数,转行的人都不在这行做了,自然没什么好说的了。一般来说,程序员的发展基本上都会经历这么几条路径。程序员-系统分析员-架构师-技术经理-CTO,程序员-项目组长-项目经理-项目总监-CTO,程序员-产品设计师-产品经理-CTO。
当然这只是一个大致的路径,不是所有程序员都必需要这么经历的,有些人可能跳过其中的一些步骤,也可能有些人会把中间的很多职位都做了。而最终做到CTO的程序员,也是非常少的一部分,原因很简单,这个世界上不许要那么多的CTO和CXO。
也就是说,许多的程序员最终可能是做技术经理、项目经理或者项目总监之类的,那么到底我们职业生涯要选择哪一种呢?我觉得这个问题没有一个统一的答案,因为每个人的性格不一样,际遇也不一样,就像你从小希望当贪官,可是命运却偏偏让你做了一个程序员。所以应该根据你的兴趣、性格与际遇选择一条道路,比如说你正好有机会带一个项目,而你又不是很讨厌项目经理这个位置,那么你就可以选择向项目经理方向发展。
实际上很多时候,有些公司并没有明确的技术经理、项目经理、产品经理之分,在许多的公司里,他们经常是由一个人承担。在外包公司里,通常会有项目经理和系统分析员(也可能是技术经理)。在一些非IT公司里,可能会是部门经理,而做自己产品的公司可能会分得比较详细一些。我大致说一下这三个职位的区别,让正在徘徊的程序员有一个大致的了解。
项目经理是项目的直接负责人,这个角色相当于一个中间接口,不管是团队成员还是需求方(客户),或者是上级领导,有事都直接找他,所以这个职位着重于管理与沟通。一般来说,项目经理的工作重点在同客户沟通需求、项目进度的把控、团队的沟通方面,有些公司也会需要项目经理承担团队建设的工作,不过貌似很多国内公司都忽略了团队建设这个工作了。对于项目经理来说,重点会要求沟通能力、协调能力、危机把控能力、执行力、团队管理能力,着重于沟通、管理与计划。当然也有些公司还要求项目经历要参与招标谈判,这就要求项目经理有一定的商务谈判能力。
技术经理有时候也可能叫系统分析员,一些小公司可能会整个部门有一个技术经理。技术经理承担的角色主要是系统分析、架构搭建、系统构建、代码走查等工作,如果说项目经理是总统,那么技术经理就是总理。当然不是所有公司都是这样的,有些公司项目经理是不管技术团队的,只做需求、进度和同客户沟通,那么这个时候的项目经理就好像工厂里的跟单人员了,这种情况在外包公司比较多。对于技术经理来说,着重于技术方面,你需要知道某种功能用哪些技术合适,需要知道某项功能需要多长的开发时间等。同时,技术经理也应该承担提高团队整体技术水平的工作。
产品经理这个职位一般在有自己产品(不管是软件还是网站产品)的公司比较常见,产品经理主要会负责产品的设计、产品的改良等工作。需要注意的是,产品设计与设计师是两个不一样的工作,产品设计主要会从用户体验、业务需要等层面去设计产品,而设计师更多是从用户的视觉上去做。产品经理应该是最懂业务的人,比如说你在设计一个微博的产品,就要求你对微博这个东西非常熟悉,从用户习惯、用户体验、公司的发展战略上去设计这个产品,还要对比同类产品会有什么优势等等。
不管是项目经理还是技术经理与产品经理,都要求要熟悉业务,业务是需求的来源,没有不谈业务的技术,所以不管你从哪个方向发展,都要求对业务熟悉。产品经理要求对业务最熟悉,项目经理次之,技术经理排最后。对于程序员来说,刚开始工作的前几年可以埋头扎到技术里面,一般这个时间在2-3年的时间,然后就应该多关注业务了。这个业务不一定是指某个具体的业务,因为具体的业务的范围太少,而且也需要机遇。
我见过许多的程序员,他们是做Web开发的,但对互联网很不熟悉,对于互联网流行的趋势基本上不闻不问。不知道现在大家都在使用微博,也不知道SNS,也可能从不使用网银。我觉得这样很不好,程序员应该多多去关注互联网的发展,多多去玩一些新的网站。
本文来自涂雅[http://iove.net/],原文链接:http://iove.net/archives/2625.html,网站转载请注明来源于涂雅并保留原文链接,否则视为侵权。
相关推荐
### 程序员如何规划职业发展方向 #### 引言 在信息技术(IT)领域,作为程序员,职业规划和发展路径的选择尤为重要。随着技术日新月异的变化和个人能力的不断提升,每位程序员都会面临多重选择。本文旨在从不同的...
### 程序员的职业发展方向解析 随着信息技术的迅速发展,程序员已经成为当今社会不可或缺的重要职业之一。对于初入行或已经在行业中工作的程序员来说,明确自己的职业发展方向是非常重要的。本文将结合给定的信息来...
了解程序员的未来发展方向 了解程序员的未来发展方向了解程序员的未来发展方向了解程序员的未来发展方向了解程序员的未来发展方向
从初级程序员到高级系统架构师,每一步都伴随着技能的深化和技术视野的拓宽。 #### 初级阶段:Java软件工程师 在这个阶段,重点在于掌握Java语言的基础语法和核心编程技术。这包括理解类、抽象类、接口、最终类、...
### 程序员的发展方向 在IT行业中,程序员作为技术的核心力量,其职业发展路径多样且具有广阔的空间。本文将根据给定的部分内容,详细阐述程序员可能的发展方向及其相关知识点。 #### 一、技术专家路线 对于喜欢...
此外,研究技术的发展方向、学习方法和成功路径,有助于在工作中取得优异的成果。 管理能力同样是程序员个人发展的重要组成部分。要学会管理和配合管理,关注团队建设、合作、文化以及凝聚力。在项目管理中,要掌握...
Java 程序员发展前景 Java 程序员发展前景是当前 IT 行业...java 程序员发展前景是非常光明的,需要不断地学习和掌握新的技术,保持自己的技术优势和竞争力,並且要有居安思危的心态,时刻与时俱进,走在时代的前列。
指明你的后面的职业生涯规划,为你职业发展道路上指引明灯
【程序员考试考点指导 软考方向】 程序员考试,全称为全国计算机技术与软件专业技术资格(水平)考试,是针对IT专业人士的一项国家级专业认证。它旨在检验和评估候选人在计算机编程、软件开发以及信息技术应用等...
python从2005年开始使用人数一直攀升,目前Python已超越Java夺下冠军,2020年Python仍然不会冷门!近日,PYPL发布了5月编程语言指数榜,这个指数原始数据基于Google trends,根据编程语言在Google上的搜索频率(次数)...
为有志从事C/C++开发的程序员提供了学习路线,发展方向
### 浅谈Android移动开发程序员的职业发展之路 随着信息技术的快速发展与智能手机的普及,移动应用开发成为了一个备受关注的领域,而Android作为全球最大的移动操作系统之一,其开发人员的需求量也在逐年攀升。本文...
通过规划,程序员可以有目的地提升技能,积累经验,逐步实现从初级工程师到高级工程师,甚至技术领导的角色转变。 智商、情商和逆商三者的结合,将使程序员在职业生涯中更具竞争力。智商提供了解决问题的基础,情商...
望本书能让即将走向工作岗位的程序员和已经成为程序员的朋友,对工作和软件行业做到既“知己”又“知彼”,在入职前对职业状况清楚了解,入职后对职业方向清晰认识,使大家的工作更加得心应手,更加轻松愉快。
程序员需要在职业生涯的早期阶段就开始探索适合自己的发展方向,并且不断地根据自身特点和市场变化做出调整。 此外,文档还提到了程序员在技术深度上的追求,即成为某个领域的专家或者在技术上有自己独到的见解,...
在申请书中,程序员需要制定职业发展策略,明确自己的职业目标和发展方向,从而确保自己的职业发展道路的顺畅和健康。这也表明了职业发展策略对程序员的重要性,它们是程序员职业发展的保障。 知识点6:人际关系 ...
主要介绍了C#职业发展方向,大多数人对于学C#以后编程之路比较迷茫,这个文档可以给你大致指明一些方向,便于你选定方向,更加专业的学习
- 通过自己的言行影响着整个行业的价值观和发展方向。 - **精神追求:** - 探索未知领域,不断挑战自我。 - 倡导积极向上的行业文化,促进技术社区的健康发展。 - 以身作则,激励年轻一代追求卓越。 ##### 第八...
- 架构师:深入技术领域,瞄准技术总监、研发总监或CTO的位置,全面理解并规划技术发展方向。 - 项目经理:根据自身角色,强化项目管理、人力资源、系统架构等技能,或者向更高级别的管理岗位发展,如总经理、CIO或...