帮助困惑的年轻员工分析未来出路是我的工作的一部分。虽然自己也不乏困惑之处,但至少可以拿出培训过的知识来简单做下介绍。当然详细情况会因为公司的不同而有所不同,职位的名称也会有些差异。重在领会精神。 首先,作为程序员,如果想在技术道路上多走一走,只懂一门语言是远远不够的。所以,这里我就不局限于Java程序员,而是用泛指的程序员来进行说明。 程序员,首先最容易而且常常是自然过渡的下一个阶段就是——软件设计师,负责进行软件的详细设计以及概要设计。 在从事设计师工作的时候,多多少少都会接触到一些需求分析的工作以及技术实现方案可行性的判断工作。这里就会出现一个发展的岔路: 如果今后希望多从事需求分析相关工作,那么下一步会做IT顾问(在某些地方可能是产品经理),负责与客户进行磋商并挖掘客户的需求甚至是潜在需求。 做IT顾问的时候,常常会配合产品销售人员进行工作。如果对产品销售有兴趣,完全可以渐渐转型为销售人员。大多数企业的大部分利润都会分配到销售部门,那里是赚钱最多的地方,但也是赚钱最难的地方。产品销售人员的待遇常常与绩效挂钩,所以即便从事同样的工作,差距会很大。相对来说,后方的IT人员之间的差异会小些,收入会少些,承担的风险也小些。 销售人员的工作如果能做到明星级,有时就可能直接被高层看重,一步登天进入公司的决策层甚至成为公司的核心人物。进而在后期成为CxO(x ∈ [I, E, F, T, ...])级别的人物执掌公司的生杀大权。再发展下去……跟乔布斯那样,可以得个癌症死一下。永远成为一个传奇。 现在回到设计师遇到的分支的另一条线——技术实现的可行性判断。如果对这一脉感兴趣,基本是希望走技术路线,那么仍然有两个分支—— 一个是技术专家路线:对某一方面的技术极其熟识,只要进入这个领域,无所不知无所不晓(一定程度上)。比如Java领域,上到Java EE框架的各种应用方法,下到内存分配的详细机理,都了如指掌。也就是说,当架构师说,这次的软件要基于Java实现的时候,剩下的一切问题你都可以去摆平。 技术专家做到高处不胜寒的程度,就可以成为一个计算机科学家了。如果是在例如IBM、微软、Google等这样具有自己研究部门的公司,下一步就是进入公司的研究部门,成为计算机科学家,去做一些人类文明史上尚无先例的工作,开创一个时代。顺便得一两个诺贝尔奖什么的,把奖牌扔家里给孩子当玩具。再发展下去……百年之后,跟那个被苹果砸了脑袋的大鼻子以及那个头发乱蓬蓬的老头一样,教科书上出现你的名字,各个学校的墙上挂出你的照片。 刚才说技术路线有两个分支,另一个则是架构师。真正的架构师并不是如很多人想象的那样是技术大牛。相反,可能反而是某个行业的业务大牛。因为架构师是将物理世界转化为数字世界魔术师。其实架构师内部也分不同级别和不同倾向性,总体来说架构师都是要在项目的技术方面做决策的。来决定哪种技术、硬件、框架等最适合客户的需求和当时的实际情况。我一直觉得这些抉择真的是挺难的。在程序员阶段遇到的最常见的接近架构师工作的抉择,常常就是实现一个算法,到底是应该存储一些缓冲内容来牺牲存储空间赚速度还是牺牲速度性能来节省空间。 架构师做厉害了,有几个选择——一个是因为很了解业务,直接转到相关业务的公司,做那边的CTO等职位。比如电信行业的架构师,直接跑到电信公司做技术方案的大总管。另一个就是仍旧留在IT行业,做资深顾问,然后回到最初的那个分支——做销售、做领导、做CxO、得个癌症成为传奇…… 另外,与上面各个分支平行的一条线。无论你做什么事情,在公司里都会被组织成项目。这时候就需要项目管理人员。如果你对统括大局,承担责任有兴趣,可以走这条线。从程序员直接或者在上面分支中的任何阶段转为项目经理。一个项目好了,最风光的是项目经理;一个项目烂了,最倒霉的也是项目经理。项目经理就是把项目里的各个大牛安排妥当,让整个项目成功。 项目经理做好了,就可能进入公司决策层,回到第一条线,做CxO、得个癌症成为传奇…… 再另外,还有一条与上面都平行的线。有些公司会把工作绩效好,并懂得关心他人的人提升为人事经理。从而走上关怀员工、面试招人的道路。(我现在是掉到这个坑里的同时在兼顾架构师方向。)做好了,会进入公司决策层,做CxO、得个癌症成为传奇…… 我现在能想到的就是这些。选择还是不少的,前途还是光明的。只是要多小心癌症。 最后,祝你成功!
B. 一般程序员有以下几种发展路线
1、技术路线,要求能力强智商高,把握公司核心技术和公司的技术发展。 初级程序员,中级,高级,系统架构师,技术部经理、技术总监。总经理 初级程序员,中级,高级,系统分析员,项目经理、产品经理、研发总监,总经理 3、实施路线。 初级程序员,中级,高级,系统分析员,项目经理、实施经理,实施总监 4、销售路线 初级程序员,中级,高级,系统分析员,项目经理、实施经理,产品经理,售前顾问,销售经理 职业生涯规划是针对决定个人职业选择的主观和客观因素进行分析和测定,确定个人的奋斗目标并选择符合这一目标的职业。职业生涯规划要求你根据自身的兴趣、特点,将自己定位在一个最能发挥自己长处的位置,选择最适合自己能力的事业。 一、内外因最佳匹配 找工作最重要的就是要人岗匹配,不能高攀也不能低就。职业规划就是找到这个最佳匹配点和今后各个阶段的发展平台,通过对自己的内在因素进行测评,找到潜质的东西,而学历、经验、能力、兴趣、特长等是外部的东西,要把内、外优势结合起来,拧成一股绳,形成职场打拼的强有力的核心竞争力。 通过测评找到最佳匹配点,通过咨询师对切入点所在的市场状况、行业前景、职位要求、入行条件、培训考证、工作业务、薪酬提升、行业英语等运作进行详细的指导,而自己则沿着主干道去充电,几年后成为业内的精英。 二、职业定位要“准” 定位就是要落在“定”和“准”上,不能泛谈,其中包括行业定位、方向定位、职位定位,薪酬定位等很多项,比如你定位I T行业,那么,方向是软件还是硬件,是销售还是技术,是基本程序员还是工程师?其中相差很大,各有千秋。 三、把握市场大脉搏 在明确自己想干、能干的专业领域和事业方向的同时,还应兼顾考虑社会的需求和未来发展前景等外在因素,这是规划是否成功的基本保证。如果所选择的职业自己既感兴趣又符合能力要求,但社会没有需求或需求极少,未来就业机会渺茫,这样的职业生涯规划其起步就是失败的。 四、善于从小事、从最具体的职业岗位做起 善于从小事、从最具体的职业岗位做起,只要这种小事、具体事与自己的最终职业目标一致,有利于个人职业目标的实现,都可以选择确定为自己的最初职业岗位。人的职业生涯规划就是这样一件可以由若干件小事(行为)所组成的大事,立足于小事,才能成就大事。
C. 程序员的职业发展方向:业务技术
程序员职业生涯发展到一定程度都会面临一个选择,是走业务+技术方向,还是选择纯钻研技术。程序员职业生涯发展的问题,这是所有程序员都在关心的问题,未来究竟要怎么走,30岁之后还能不能再做程序员。绝大多数程序员最终的职业目标可能都是CTO,做到CEO的人估计会比较少,也有一少部分人自己去创业去当老板,也有部分人转行了,当老板的人毕竟是少数,转行的人都不在这行做了,自然没什么好说的了。一般来说,程序员的发展基本上都会经历这么几条路径。程序员-系统分析员-架构师-技术经理-CTO,程序员-项目组长-项目经理-项目总监-CTO,程序员-产品设计师-产品经理-CTO。当然这只是一个大致的路径,不是所有程序员都必需要这么经历的,有些人可能跳过其中的一些步骤,也可能有些人会把中间的很多职位都做了。而最终做到CTO的程序员,也是非常少的一部分,原因很简单,这个世界上不许要那么多的CTO和CXO。也就是说,许多的程序员最终可能是做技术经理、项目经理或者项目总监之类的,那么到底我们职业生涯要选择哪一种呢?我觉得这个问题没有一个统一的答案,因为每个人的性格不一样,际遇也不一样,就像你从小希望当贪官,可是命运却偏偏让你做了一个程序员。所以应该根据你的兴趣、性格与际遇选择一条道路,比如说你正好有机会带一个项目,而你又不是很讨厌项目经理这个位置,那么你就可以选择向项目经理方向发展。实际上很多时候,有些公司并没有明确的技术经理、项目经理、产品经理之分,在许多的公司里,他们经常是由一个人承担。在外包公司里,通常会有项目经理和系统分析员(也可能是技术经理)。在一些非IT公司里,可能会是部门经理,而做自己产品的公司可能会分得比较详细一些。我大致说一下这三个职位的区别,让正在徘徊的程序员有一个大致的了解。项目经理是项目的直接负责人,这个角色相当于一个中间接口,不管是团队成员还是需求方(客户),或者是上级领导,有事都直接找他,所以这个职位着重于管理与沟通。一般来说,项目经理的工作重点在同客户沟通需求、项目进度的把控、团队的沟通方面,有些公司也会需要项目经理承担团队建设的工作,不过貌似很多国内公司都忽略了团队建设这个工作了。对于项目经理来说,重点会要求沟通能力、协调能力、危机把控能力、执行力、团队管理能力,着重于沟通、管理与计划。当然也有些公司还要求项目经历要参与招标谈判,这就要求项目经理有一定的商务谈判能力。技术经理有时候也可能叫系统分析员,一些小公司可能会整个部门有一个技术经理。技术经理承担的角色主要是系统分析、架构搭建、系统构建、代码走查等工作,如果说项目经理是总统,那么技术经理就是总理。当然不是所有公司都是这样的,有些公司项目经理是不管技术团队的,只做需求、进度和同客户沟通,那么这个时候的项目经理就好像工厂里的跟单人员了,这种情况在外包公司比较多。对于技术经理来说,着重于技术方面,你需要知道某种功能用哪些技术合适,需要知道某项功能需要多长的开发时间等。同时,技术经理也应该承担提高团队整体技术水平的工作。1143448846
D. java程序员的成长路线是什么是不是我图片上这样的一个顺序
看图说话。
1、个人觉得,你列出的诸如JSP,CSS,STRUTS等技术只是从小到大,从近到远,应用范围的进阶而已。
2、然而程序员的进阶,我觉得往往是其对某一方面专精的程度,而不是学到的广度。诸如底层驱动工程师,JAVA应用工程师,数据库工程师等等。
3、工作时,各个团队有专精的任务,个人也只担任很少的部分。所以我觉得要有针对性的寻找适合自己的位置。
最后,建议找到自己最感兴趣的那块,专精于此,祝你成功!
E. Java程序员的发展方向有哪些
其实Java可以做的东西实在太多了,网站、软件、手机游戏、电脑游戏、中间件以及现在流行的安卓手机app等,都是由Java语言编写的;除了这些,Java还有很多用途,家里的微波炉、洗衣机等家电也有可能是Java控制的。
1、编写网站
现在许多大型网站都是用Java编写的,比如我们熟悉的电子商务交易平台阿里巴巴、淘宝、京东都是使用Java编写的。
即使是简单的jsp、servlet,和以struts为基础的网站,在政府项目中也是很受欢迎的,例如保险、教育、医疗、国防等部门的网站都是以Java基础来开发的。
2、Android应用
Java做安卓不单单是系统,还有APP。对于如今的开发人员来说,他们更多的时间是花在开发APP上面。
你在Android手机上,随便打开一个App应用,都是用Java语言编写。虽然现在Android运用了不同的JVM以及不同的封装方式,但是代码还是用Java语言编写的。
3、大型企业服务器应用
很多大型企业管理系统、CRM系统,ERP系统主要使JAVA编写。例如移动、联通、电信等通讯行业的客户管理系统,快递公司的物流系统离不开Java;交通工具的订票系统绝大部分也是使用Java开发的。
4、做软件工具
一般来说,编程语言都可以做软件,Java也不例外,许多常用的软件和开发工具都是运用Java来编写和开发的,例IneteliJIdea、Eclipse,NetbansIDE等。
5、嵌入式领域及消费类电子产品
Java在嵌入式领域发展空间很大,对于嵌入式系统来说,Java技术因为比C语言和汇编语言有很明显的优越性,而受到了嵌入式领域的青睐,并得到了大量的研究与开发应用。
嵌入式设备及消费类电子产品,主要用JavaMe,信息家电(如数字电视、机顶盒、电冰箱)、无线手持设备、通信终端、医疗设备、汽车电子设备等都是比较热门的Java应用领域。
6、大数据技术
Java最大的优势之一是它在大数据领域的地位,目前很多的大数据的架构都是通过Java来完成的。
例如现在最主流的大数据框架Hadoop的应用主要用Java开发的;Apache的基于Java的HBase和Accumulo以及ElasticSearchas。
F. 程序员的发展方向
程序员工作两三年后,基本上都会考虑自己的未来发展方向。
发展的路径不外乎:程序员-系统分析员-架构师-技术经理-CTO,程序员-项目组长-项目经理-项目总监-CTO,程序员-产品设计师-产品经理-CTO。
G. 程序员应该怎么规划自己的职业生涯
一般程序员有以下几种发展路线。如果你选择了某一个路线,我可以给你更进一步的建议。
1、技术路线,要求能力强智商高,把握公司核心技术和公司的技术发展。
初级程序员,中级,高级,系统架构师,技术部经理、技术总监。总经理
2、业务路线,要求知识面广,懂得大部分技术,并知道该怎么做,不一定会做,表达能力好,协调能力好,对某一个行业的业务精通。
初级程序员,中级,高级,系统分析员,项目经理、产品经理、研发总监,总经理
3、实施路线。
初级程序员,中级,高级,系统分析员,项目经理、实施经理,实施总监
4、销售路线
初级程序员,中级,高级,系统分析员,项目经理、实施经理,产品经理,售前顾问,销售经理