程序员职业规划

2022-04-21 来源:其他范文收藏下载本文

推荐第1篇:程序员职业规划

程序员职业规划

文理分科与职业选择:

今年是我工作第三年,我完成了从运营到开发的职业转型。我曾经是个标准的理科生,后来考北大无望后转文科,当然还是没有考上北大,包括后来考研。既然文理都学过,自然要吐槽下文理分科制度。这种干法肯定是错误的,

从人自由发展来批判,叫单向度;从职业规划来讲,十几岁基本上都不知道将来要做什么;从知识结构来讲,幼儿园到本科都是基础教育,研究生再分方向吧,所以基础教育文理都得学。在三流的大学念了影视新闻,基本是个不学无术的有志愤青,毕业后在互联网公司做了2年苦逼运营。我直到25岁,才有点看清未来方向。有点晚,也还好,谁的青春不折腾,谁的青春不迷茫啊。

我看到的方向是什么:

①人们内心千年来变化微弱,人类的需求在不断攀升;(参考中国文化口腔期)

②科技赋予人类超凡能力,科技的未来就是人类的未来。(参考《星际迷航》等科幻作品)

如果要问怎样看清方向?我有三个方法:

①多看:像我毕业后做了一年多新闻,基本上把世界看了个大概,当然最经济的办法是看TED;如果还在上学的话,可以学学巴菲特的儿子,把各学科的入门课程看一遍吧,公开课资源很丰富哦。

②多尝试:我也换了几份工作,知道了不同岗位的差别,基本上那些不fashion的职位,就是各种不爽。职位的高低贵贱(自由度,健康度,成就感,影响力等等)做了才知道。推荐看《美国种族主义简史》《与机器赛跑》。

③问自己:有个流传很广泛的办法,就是把自己关在房间里,然后把自己的追求、想做的事写出来,直到写出那个让你痛哭流涕的东西。我没试过这个经济的方法,而是花了1个月疯狂的反思,疯狂到忘了吃饭差点饿晕在大马路上。有很多顿悟,一个星期都处在“巅峰体验”。你也想颠覆三观的话,推荐看《混沌》《失控》,身在天朝,很有必要啊。想选择走程序员的路,就看下《编程人生》吧,都是些先锋大牛的访谈。如果经过这几番折腾,还是找不到方向,那就定个三五年目标吧,边走边看,毕竟世界变化太大。要是两眼一抹黑,还偏要做个抉择,那多半会走到一条死胡同。文艺青年转型做程序员的大有人在,比如王强,不用担心学不好,只要把文艺青年浪漫放纵的个性改的更严谨。比如尝试时间管理就会让文艺青年改变很多。

*人文与科技的结合:

再说说文理的结合,乔布斯牛逼闪闪的说了这句话,我自己的思考是“科技的发展方向是由人们的内心决定”。不够屌是吗?同样,我还总结了“互联网就是加快有效信息流动”。哥不追求狂拽炫酷吊炸天,只讲究低调奢华有内涵,呵呵。这方面推荐《黑客与画家》、《IGod》。

*技术元素:

有个很现实的趋势,技术含量高的岗位收入越高。尽管科技带来了财富的增长,但那些没什么技术的岗位工资实际上没有增长甚至下滑。为什么呢?因为“假舆马者,非利足也,而致千里,假舟楫者,非能水也,而绝江河。”你用什么工具,和哪些尿性的朋友工作,基本就决定了你的效率、收成。要深入的话,就要搬出《技术元素》这本书了。不要拿传统的人文观念,瞧不起技术,技术不是神马玩意儿,技术在进化,在深刻的改变世界。

|温故而知新

|----

转型自然要从头开始学很多新知识,学习嘛,其实还是孔子说得好,“温故而知新,可以为师矣”。不管你用今天的心理学实验,还是艾宾浩斯遗忘曲线,反正就是要经常复习,最后是向别人讲一遍。我就是不爱复习,

喜新厌旧,吃了很多亏,这个恶习直到现在还没改过来。

|番茄工作法

|----

*Pomodoro:

很多程序员喜欢一坐就是一天,其实人不可能十个小时以上都保持专注。我觉得很多程序员猝死,就是不注意节奏,不休息有关。依旧推荐番茄工作法。每隔25分钟就休息5分钟。《番茄工作法图解》把原理说的很清楚。

*GTD:

我买了一款时间管理软件,Doit.im,用了快一年了,感觉很棒。系统的时间管理,我觉得就是GTD了。这本书必读《Get Things Done》,不然你不会明白具体操作,也收获不到“快节奏,慢生活”。时间管理是门大学问,做得好就能出成绩,前阵子的清华学霸,就是在时间管理下做到的。我一直想做一款时间任务管理方面的软件。

*拖延症与完美主义:

我有比较严重的拖延症,比如说早就觉得学习编程,但是直到工作了2年才来学,拖得够久的。看书也是,大学时候没读什么书,拖到去年才有点计划的读书。更实际的是每天早晨起床,本来定的四点半,结果1/3的早晨都拖延了1.5h。拖延症多半与完美主义有关,我也是多年信奉完美主义,结果就是跟自己过不去,跟别人、社会过不去。目前的心理学证明,完美主义弊大于利,乔布斯的非黑即白和完美主义不值得学习。事事追求美,当然就一直拖,像老罗的rom。今天软件开发也讲究敏捷开发,快速迭代,而不是闭门造车憋大招。

Done is better than perfect。推荐《拖延心理学》、《精益创业》。 推荐一篇天才黑客Aaron Swartz的大文章《HOWTO: Be more productive》(如何提高效率) 这两篇文章其实都提到了,不要跟自己对着干,我拼了,我要先完成最重要的事!这都是违背我们的天性的。

我们都是偷懒爱玩的,“拼”的时候,要告诉自己我擦,连学霸一半都不及;完成重要事情,要找个“更重要的”。

|早点去面试

|------

我有拖延症,所以直到毕业后才面试。其实应该早点去,比如还有半个月的时候就去。因为面试比想象的要漫长,如果你想找个好东家的话, 估计要三周时间,面个10家以上。早点面试,也会让你明白复习的重点和方向。在面试中学习,在面试中成长,比闷在宿舍强。另外面试装逼有风险,要装就要装到底!

|学点新知识

|------

我们讲的知识基本够用,资料也够多,但要找好工作,还需要自学一些,尤其是你准备的项目是个非课堂项目。比如

IntentService,LruCache,多进程,各种缓冲机制,四大组件的常见异常处理,Linux下的编程等等。找工作期间,少写代码,多看博客,记下相关的知识点、原理,能说出来,写出伪代码就可以。大公司很可能重视基础一些,所以要把Java基础和Android基础都复习一遍。如果要扩展的话,可以看下《疯狂android讲义2》《Head First 设计模式》。上班了再看《重构》《算法导论》。

好吧,就写到这里,庆幸有这样一个平台给一些迷茫的年轻人重新找到了方向,感谢瑜姐、铤哥、曹大神。。。我大学的时候很看不起那些工作了三年还一事无成的师兄。但一不小心,我就成了那个师兄。。。 带点悲观的乐观或许靠谱点。有两种学习状态,一种是拼了,一种是玩票。我觉得一开始需要很大动力,像上战场一样,真上战场,心态反而要放松,像是打游戏。课表就像攻略,一路学习,一路斩杀,高薪妹子改变世界就是你打出来的宝物,多刺激啊。

最后,愿大家少走弯路,顺利就业,旅途愉快!

文章来源:黑马程序员,黑马论坛

推荐第2篇:程序员职业规划

很多人刚毕业时充满活力,然而几年的摸爬滚打后,冲劲就会慢慢减弱甚至消失。再加上IT大环境的

起伏不定,一旦无法跟上技术或者行业发展的步伐,便会迷茫。王洪超说:\"以前晚上睡觉之前想事情,

经常都不知道自己以后做什么。\"

这并不奇怪,工作的新鲜感褪程序员首先需要提高系统设计能力。从2000年以后,软件业的编程思维

和模式、方法发生了翻天覆地的转变,与九十年代、甚至2000年前是完全不同的。但是,很多在企业工作

的程序员的知识架构很难跟上。中科天博谢新华老师直率的指出:\"现在很多程序员不是按照应该如何设

计最好做得,而是按照我会什么来做的,最终造成设计思想落后。现在做项目需要的是新的、巧的设计思

想。我们可以将从无数次失败中得到的理念告诉他们,包括如何学习,如何思考,技术变化的原因在哪里

,其核心在哪里。这样程序员的理解力就会完全不同。现在,对程序员的要求降低了,但对系统设计的要

求提高了。所以程序员必须要提高系统设计的能力,否则永远出不了头。\"

而曾经从事过宏观经济研究工作的李巨锋更喜欢从行业走向来谈问题。他说:\"现在中国纯软件公司

不多,但是,中国的经济非常好,从整个社会的经济和行业角度可以得出很多有价值的内容。很多人不了

解行业的需求情况,因此做不了判断。\"

跟随一个快速发展的行业,就比较容易取得发展,而在一个发展缓慢的行业中成功就比较困难。当然

,有了市场容量有多大和机会,并不代表一定会成功,但没有这个因素成功的几率会更低。工作一两年的

人,最关键的是要有一个方向感,不要太盲目,这就需要程序员有一定的判断力。

李巨锋认为,电信行业新增的市场容量每年有1万亿,而且由于是新增市场,人员也比较容易进入。

此外,中国的手机市场非常大,由于无线应用的迅速发展,可以预料,基于手机和电信结合的软件的就业

前景就比较好,事实证明,很多人也在向这个方面转变。达内的成功与行业需求也不无关系,韩少云说:

\"从金融和电信行业角度看,对软件人才的需求每年以30-50%的比例增长。熟悉这两个行业所需要的IT技

术和背景的人才,需求量是最大,缺口也是最大的。\"

中国的信息管理软件市场也是容易就业的市场。现在市场上有数不胜数的小管理软件公司,这是同中

国社会走转型之路相关的。李巨锋说,\"基于商流、资金流、信息流、物流的行业都有相当的发展前景。

通过产权交易的商流,带动资金流和信息流的发展。物流是新兴的行业,这些都需要主流的IT技术。中国

的物流成本现在是20.9%,美国是9.8%,差距非常很大,这其中有1万亿的市场容量,如果软件和信息化

服务占20%的份额,也有几千亿的市场,行业需求很大了。事实也证明供应链等类型的软件市场发展非常

迅猛。\"

而对于游戏,李巨锋认为这不能称之为一个产业,因为它不像电信那样带动很大的一个产业链,现在

取得成功的只有几个游戏,而且还主要偏重销售,不是一个上下游的产业。尽管比较热,但李巨锋认为相

比来说,至少一两年内可能不会有很大的市场容量,这就需要进行判断。

李巨锋认为,已经工作两年以上的程序员可以有几种基本的职业规划:技术专家、软件架构师、实施

顾问或销售。其中程序员最主要的发展方向是资深技术专家,无论是Java还是.NET,还是数据库领域,都

要首先成为专家,然后才可能继续发展为架构师。\"尽管架构师的职位可以工作一辈子,待遇也非常好,

对于科班出身的程序员最为适合,但这种工作职位非常有限。\"一位毕业的学员到IBM软件开发中心后,过

了一年左右,开始请教其未来的发展,结合对方的情况,建议他先深入的技术,因为在中国架构师需要的

条件比较复杂,而且需求量也比较少。

实施顾问和销售就比较偏向市场了,除了一定的技术能力外,需要掌握很多IT以外的知识。这些发展

方向对于从其他专业转入IT的人员更为适合。比如用友就培养了很多实施顾问,这些人加上行业背景,收

入也很高。要做行业专家,就要比自己的行业客户还了解这个产业的发展现状。李巨锋说:\"比如烟草行

业,一定要了解大的趋势,中国最多的烟民在哪里,其实是在山西和辽宁,烟草行业的产业政策是什么,

直接导致我的需求是什么,这些信息对于职业发展很重要。IBM的一些顾问都是行业内的资深专家,他们

的发展就非常具有代表性。\"

对大多数人来说,首先是要专,在技术上做的比较深入,然后进行工作调整,把自己转变为某个领域

的专家,第三步,根据自己的情况,决定自己做软件架构师还是高级的顾问销售,另外一部分人可能就会

走向行政管理,这和个人性格有关。

要获得职业成长,培训也很有帮助。韩少云说:\"在北美,职业培训是一种高端的培训,即便是专业

的人员也需要职业培训。一个人在一生中需要经过很多职业培训才能成为一个资深或者专业的人员。而在

国内大家的观念中,职业培训还没有被大家广泛的认同。\"

对于更高级的技术人员,他们所关注的就不是解决基本的生活问题了。他们所关注的就是发展和成就

感。从现在看,他们更为缺乏的是交流,尤其是和水平差不多或者更高的人进行交流。李巨锋说:\"我建

议他们做一些国产的产品,做一些自主产权的技术。比如,我们还有产品开发的部门就在做国产数据库设

计。\"

职业规划带动更好的成长

从中国的软件开发人员的层次看,工作几年以内处于初级水平的程序员占据最大的比例,至少在50%之上

,高级的人员最多也就10%左右。但无论处在哪个层面,一定要有规划,按照自己的个性和优势做一些规

划。

一个程序员的成长,学习过程中首先要读到好书,然后是交到好的学友,找到好的老师,在这三个外

围的条件下,找到适合的工作环境,结合自己的特点,然后在一些重要的环节上遇到适合的人和合适的项

目,这样才能成功。有些职位可能在开始的时候不适合,但工作一段时间后,可能就可以走上更高的职位

。最近,IBM软件学院就开始做一个\"软件人才库\"的项目,为的就是跟踪技术人员的成长,给他们在合适

的时机提供合适的职位。业内人士说:\"IT行业良性的人员流动也是很好的。\"

有了一定的职业规划,就需要补充自己缺乏的经验,只有经历过足够的项目,才有可能不断积累。对

行业的判断有一定的理解之后,对一般的企业适应起来是没有问题的,但高级的人才需要长时间的积累。

在中国,除了个人的基本技能,还需要具备一定的社会资源,行业资源和资本。学生要学会在提高智

商的情况下,提高自己的情商。因为,在人和人交往中情商起很大的作用。技术人员需要慢慢改变自己的

一些思维方式。个人成长要有意识的积累社会资源,认识相关的人,了解相关的政策和行业发展的过程和

规则,这些东西是非技术的,非智商的,只要你关注就是可以得到的。我觉得最关键的就是多认识人,然

后有意识的寻找合适的事情来做。情商也就需要有渠道,有多少人能够帮助你,否则成不了。

机遇和经历对于职业的发展有相当的影响力。某些人或者某些事情都可能会影响到未来的发展。王洪

超也认为成为微软MVP是自己的一个转折点,由于成为MVP,便有机会接触更多的技术朋友和微软人,为自

己的发展奠定了基础。

总而言之,每个人至少三年要点评一下自己:是环境的原因,还是自己个人的原因,如果是环境的原

因,可以考虑是否需要换地方,如果知道自己,可以调整自己或者设的目标现实一些。从一个普通的程序

员做起,3年时间至少能够做到做独立需求分析和设计的。色后,就设法需要通过一个目标为自己输送动

力。这便是职业规划。

推荐第3篇:程序员职业规划

1、毕业五年规划————php 软件工

程师

个人分析:

个人认为我的性格具有两面性,我喜欢在安静的环境下去看书,在有的时候与朋友聊天分享彼此的欢乐。也喜欢打羽毛球、跑步、旅游,享受大自然的美景、陶冶自己的情操。另外,我也具有团队合作精神与协作能力,比较强的动手能力与实践能力。

人无十全十美,我在做事情时,有时比较急躁,但我会在以后的工作与学习中加以改进自己的不足。

二、职业生涯条件分析

1、社会环境分析:

总体来说,我们国家面临着一个良好的社会的环境,社会安定,政治稳定,特别是当前经济发展迅速,法制建设不断完善,高新技术领域突飞猛进。因此,在这样一个良好的社会环境下,顶级流氓,制定一个合理的人生职业规划是尤为必要的。

2、职业环境分析:

IT行业是随着电子信息产业的发展而逐步发展起来的,并且日益得到完善,

IT行业的平稳增长必然会带来软件工程师需求的增长,目前随着IT产品出现的技术融合,市场需求的巨大和专业人才的缺乏,由此可知,软件行业还是比较乐观的。但软件行业需要的也是复合型人才,软件工程师需要掌握更多的编程语言。”菜鸟一号“,对于刚毕业的大学生来说,各方面能力还有很大欠缺,但我相信只要通过我勤奋,努力不断学习,终究会成为“老鸟一号”的;

自我分析:

我(孙崇庆)的职业是一名PHP程序员;我想成为高级程序员,部门经理甚至更理想点成为系统分析师;对于刚毕业的我来说,只能写一些简单的程序代码;所以我要在工作中努力

完善自我,提高各方面的水平;

个性分析:(注:属个人隐私,在此不对外公开)

客观存在方面:

优势分析(trengths):

1)我(孙崇庆)个人还年轻,学习和适应能力强,工作态度好,进步空间大(有潜力);

2)很多朋友从事软件行业,便于交流和合作;

3)在校做过真实的项目,基础不是很差,能很快的适应工作;

劣势分析(weaknees):

1)大学刚毕业,技术(php方面知识了解的还很少)经验不足,异世邪君,沟通能力不强,解决问题的能力较弱,不能很好的立刻适应工作环境;

2)初到工作地,对这里环境不是很熟,不能很好的融入当地的环境;

3)学历低(大专),就业面临门槛高;

应对措施:

1)在工作中努力学习技能,积累经验,处理好与周围的关系(多看沟通类的书),提高解决问题的能力;

2)多认识当地的人,了解当地人文,更快的适应当地的环境;

机遇分析(opportunities):

1)北京网络技术发达,就业机会多;

2)工作时间较稳定,剩余时间可以学习别的知识,积累经验(管理,营销,交际,理财等);

3)工作2-3年后,工资收入水平还是很可观的;

挑战分析(threats):

1)程序员的工资在减少,技术要求在提高;

2)随着时代的发展,PHP语言的占有率在降低;语言主流是JAVA和、NET,PHP语言已经发展,成熟甚至过时,高级PHP语言已经日渐复杂化,不能成为未来发展的方向;

3)PHP是初学者地语言,优秀的程序员需要选择一门未来趋势好的语言作为第一语言; 职业目标分解和组合:

第一阶段:

时间:(2012年3月——2014年12月)

成果目标:融入所在单位,掌握基本程序语言,精通第一语言

职业目标:高级程序员

能力目标:与同事融洽相处,能独立完成中型项目

经济目标:第一年除了吃住等基本消费外希望有8000元入账;第二年除了吃住等基本消费外希望有1.6万入账;第三年除了吃住等基本消费外希望有3万元入账;

爱情目标:找到一个能同甘共苦的女朋友(宁缺勿滥)

第二阶段:

时间:(2015年1月——2016年12月)

成果目标:具备领导大型团队的能力,精通各语言

职业目标:部门经理

能力目标:领导一个团队独立完成一个大型项目,或者成为销售精英(有机会)

经济目标:第四年除了基本消费外希望有5万元入账;第五年除了基本消费外希望有6万元入账;

爱情目标:订婚(不要因事业牺牲爱情)

成功标准:

1、事业上:技术上部门经理或者销售上区域经理;

2、交际上:聚集一帮各方面水平都很优秀的兄弟,当然前提是自己也很优秀;

3、爱情上:订婚或者结婚(达到成熟状态);

4、资金入账达到理想状态(如上目标),即使兼职;

提升计划:

1、在工作中静下心,认真,学习,交流,合作,总结工作中的经验教训,提高解决问题的能力;

2、不断提高自己的沟通,营销,领导等方面的能力(详细计划待定);

3、与家人,朋友融洽相处,定期打电话,并找到自己的她,让她成为最幸福的人;

4、交纳优秀人才,交一群能值得付出,志同道合的好兄弟,并为实现共同梦想而努力;2011-9-218:00第一次修改(版权归孙崇庆所有)

推荐第4篇:程序员职业规划

当你为自己设计职业规划时,你正在用有条例的头脑为自己要达到的目标规定一个时间计划表,即为自己的人生设置里程碑。职业生涯规划一旦设定,它将时时提醒你已经取得了哪些成绩以及你的进展如何。一个没有计划的人生就像一场没有球门的足球赛:对球员和观众都兴味索然。

第一步: 分析你的需求:

你也许会问:这一步怎么做呢?不妨试试以下两种方法。一种是开动脑筋,写下来10条未来5年你认为自己应做的事情,要确切,但不要有限制和顾虑哪些是自己做不到的,给自己头脑充分空间。第二种更直接,完成这个句子:“我死的时候会满足,如果„„”想象假设你马上将不在人世,什么样的成绩、地位、金钱、家庭、社会责任状况能让你满足。

第二步: SWOT(优势/劣势/机遇/挑战)分析

分析完你的需求,试着分析自己性格、所处环境的优势和劣势。以及一生中可能会有哪些机遇;职业生涯中可能有哪些威胁?这是要求你试着去理解并回答自己这个问题:我在哪儿?

第三步: 长期和短期的目标

根据你认定的需求,自己的优势、劣势、可能的机遇来勾画自己长期和短期的目标。例如,如果你分析自己的需求是想授课,赚很多钱,有很好的社会地位,则你可选的职业道路会明晰起来。你可以选择成为管理讲师 – 这要求你的优势包括丰富的管理知识和经验,优秀的演讲技能和交流沟通技能。在这个长期目标的基础上,你可以制定自己短期目标。

第四步: 阻碍

确切地说,写下阻碍你达到目标的自己的缺点,所处环境中的劣势。这些缺点一定是和你的目标有联系的,而并不是分析自己所有的缺点。他们可能是你的素质方面、知识方面、能力方面、创造力方面、财力方面或是行为习惯方面的不足。当你发现自己不足的时刻,就下决心改正它,这能使你不断进步。

第五步: 提升计划

现在写下你要克服这些不足所需的行动计划。要明确,要有期限。你可能会需要掌握某些新的技能,提高某些目前的技能,或学习新的知识。

第六步: 寻求帮助

能分析出自己行为习惯中的缺点并不难,但要去改变它们却很难。相信你的父母、老师、朋友、上级主管、职业咨询顾问都可以帮助你。有外力的协助和监督会帮你更有效地完成这一步骤。

第七步: 分析自己的角色

制定一个明确的实施计划:一定要明确根据计划你要做什么。那么现在你已经有了一个初步的职业规划方案。如果你目前已在一个单位工作,对你来说进一步的提升非常重要,你要做的则是进行角色分析。反思一下这个单位对你的要求和期望是什么。做出哪种贡献可以使你在单位中脱颖而出?大部分人在长期的工作中趋于麻木,对自己的角色并清晰。但是,就像任何产品在市场中要有其特色的定位和卖点一样,你也要做些事情,一些相关的、有意义和影响但又不落俗套的事情,让这个单位知道你的存在,认可你的价值和成绩。成功的人士会不断对照单位的投入来评估自己的产出价值,并保持自己的贡献在单位的要求之上。

伴郎型这种人的毛病不在于做不好工作,而在于不能充分发挥自己的潜能。在

你用心时,你的工作是一流的,你的处事态度始终像伴郎一样,不想喧宾夺主,也不想出人头地,这阻碍了你升迁晋级。

鸽子型

这种人勤于工作,也有技术和才华,但由于工作性质或人事结构,所学的知识完全与工作对不上号。

别人升迁、加薪、晋级,你却只是增加工作量。对这种境遇,你早就不满,但你不能大胆陈述、努力捍卫,而只是拐弯抹角地讲一讲,信息得不到传达,或根本被上司忽视了。一切全因你像一只鸽子样温顺驯服。

幕后型

这种人工作任劳任怨,认真负责,可是你的工作却很少被人知道,尤其是你的上司。别人总是用你的成绩去报功,你内心也想得到荣誉、地位和加薪,但没有学会如何使人注意你,注意到你的成就。一些坐享其成的人在撷取你的才智后,你只会面壁垂泣。

仇视型

这种人不能说不自信,甚至说是自信过了头。在工作上很能干,表现也很不错,却看不起同事,总是以敌视的态度与人相处,与每个人都有点意见冲突。行为上太放肆,常常干涉、骚乱别人。大家对这种人只会“恨而远之”,无人理会你的好办法、好成绩。

抱怨型

一边埋头工作,一边对工作不满意;一边完成任务,一边愁眉苦脸。让人总觉得你活得被动,而上司认为你是干扰工作、爱发牢骚的人。同事认为你难相处,上司认为你是“刺儿头”。结果升级、加薪的机会被别人得去了,你只有“天真”的牢骚。

水牛型

对任何要求,都笑脸迎纳。别人请你帮忙,你总是放下本职工作去支援,自己手头拉下的工作只好另外加班。你为别人的事牺牲不少,但很少得到别人与上司的赏识,背后还说你是无用的老实。在领导面前不会说“不”,而受到委屈后,只好到家中发泄。

以上六种不良的工作心态,其共同的特点是不能抓住自我、表现自我和捍卫自我,从而在心理上不能自我肯定。

职业生涯规划:工作几年是个坎儿

一个人从结束学业到走向工作,从刚开始时大刀阔斧式的“鼓足干劲、力争上游”,到感觉一切都平淡如水、“不过如此”,再到看惯了这凡尘俗世上的“秋月春风”,这本是一个正常的发展历程。因为这并不是你落后了、懒惰了,相反却意味着你长进了、出息了,所以便对很多事情丧失了原有的新鲜感。同时,工作进展到一定阶段,许多人通常会想摆脱现状,换换口味,去感知一下外面精彩的世界,但客观上又往往一下子不知道如果“不干这个还能干什么?”。于是便产生了一种“阶段性的发展困惑”。而所谓“坎儿”,指的恰恰就是这些“阶段性的发展困惑”。根据对许多职业人的职业生涯发展路径的观察和研究,结合大多数人年龄的增长以及家庭的负累对事业的影响与冲击,将一个人的职业生涯历程简单地划分为6大阶段,伴随着这6大阶段,我们可以相对清晰地看到一个职业人的工作人生中究竟要迈几道坎儿。

一、“青黄不接”阶段——毕业后工作1-3年

有很多企业在招聘应届大学毕业生时往往是“专业不限”,这一点在营销领域表现尤为突出:不管你是学什么的,只要你对营销工作怀有满腔热情,就欢迎你加盟到

公司来,并且,公司往往还不惜重金来对这些新员工进行大规模培训,并自行美其名曰“只有一张空白的纸才能画出最美的图画”。但如果你已经工作了若干年再去求职,比如1-3年吧,就成了最为致命的“青黄不接”时期,我们形象地称为“姥姥不疼,舅舅不爱”的尴尬阶段:一方面是企业“嫌”你已经不再“纯洁”了,已经浸染了原工作单位的文化,不能再像一张白纸一样任意涂画了;而另一方面却又认为你刚工作这么短时间,尚没有谙熟真正的业务技能,尚不能真正意义上的“独当一面”,一句话也就是我们常说的尚处于“一瓶不满,半瓶晃荡”的状态,那么这时候你如果恰恰去找工作,其难度早已是意料之中的事情。

对这种情况,我曾经做过一个极为形象但未必恰当的比喻,就像一个刚做了“小姐”又马上“从良”的女人往往是最受人唾弃的:说你是良家妇女吧,你又不是,你身上已经有了“污点”;但说你是“职业小姐”吧,你也不是,因为你已经“从良”了,那些“职业小姐”的某些“技能”你可能并不怎么擅长。

唉,那到底该怎么办呢?没有好办法!我在这里忠告大家唯一比较有效的一点就是:换工作也要选时候,如果不是被动求职(比如被原单位开了),最好不要在这时候换工作。相反,如果这段时间你较为“安静”,你往往能够积累到你一生中第一次“从学习迈向工作”时段内宝贵的工作技能和坦然的就业心态(许多人的“爱跳槽”的毛病往往都是从这个阶段“稳不住窝”开始养成的)。

二、“职业塑造”阶段——毕业后工作3-6年

一旦你耐心“忍受”过了“青黄不接”阶段,你便马上迎来了“职业塑造”阶段。这个阶段是你开始发挥特长的时候,因为你已经经过了1-3年的工作磨练,这个磨练不但使你熟练地掌握了你当前从事工种的操作技能,同时刚好分化出了你的“职业性格特点”:哪些是你特长的地方,而哪些又是你不足的地方,只要你稍加留意和总结,一切便都暴露无遗。这时候你千万要注意不能“护短”,你的缺点你自己知道,你的领导也肯定很清楚;也千万不要妄想试图去弥补你个性特征方面的技能缺陷,因为你的性格和特长都已经基本形成。所以正确的做法就是最起码先要保证“扬长避短”,然后再通过你的合理调整和矫正,来实现“取长补短”。只有在这种正确态度的指引下,你和你的领导才能更为清楚地知道你该干什么,这就像我们在生活中常说的“××就是干什么工作的料”。

那么,怎样来进行“合理的调整与矫正”呢?其实就是在你工作的相关领域先适当地改换一下工作方式,比如在同一个公司内部的不同部门适当进行换岗,这样既不流失人才,又能开拓视野和增添新鲜感,还能测试出你究竟最适合做什么工种。所以有很多优秀的企业比如科龙在公司内部都实行了这种机制。另一种办法就是如果发现你的性格和特长与现有工作偏差太大,那么一定要当机立断马上改行,这时候记着千万不要贪恋现有工作薪水有多高,环境有多舒适,一定要选择你最适合做的行业,然后坚定地走下去。

但在同时我也忠告两点:一是别借着这种调整与矫正的机会而“朝三暮四”,频繁换岗,因为频繁换岗的直接恶果就是导致你对任何岗位的工作都浅尝辄止、一知半解,最终没有提炼出一个像样的发展路径,这与我前面提倡的“职业塑造阶段”思想是相违背的。二是在日常工作之余,还要重视并善于开发自己有意义的业余爱好(比如文字创作等),一个好的业余爱好就像帮你找了一份“兼职工作”,在关键时刻能给你帮上大忙,不但给你解决了业余时间的正确利用导向问题,使你业余生活过得很充实,还往往让领导感觉你这人很能干,一个人能做两个人的事情。

三、“职业锁定”阶段——毕业后工作6-10年

随着你对自身优劣势及性格特点的日渐明晰和不断的实践锻炼,你就渐渐地由

“职业塑造阶段”走向了“职业锁定阶段”。这时候由于你自然年龄的到位(该成家了)和工作年龄的成熟(已经磨练了那么多年了),你就不自觉地开始认定“你是干哪一行的”了。

但是这里又有一个怪圈不容忽视,那就是:在某个领域工作时间越久,你接下来的求职面就越窄。就像我前面所说的那样,当你在一个领域工作到一定时间之后,在你再次找工作的时候,对方会先看你原来做的是什么,然后决定你来了之后做什么。在这一点上,许多企业的“急功近利”色彩表现得相当明显,甚至是极为露骨。他们往往要求你原来的工作领域最好能跟现在的岗位来个直接对接,好像巴不得你过来上班的第一天就能直接上手他们所要求的工作,甚至根本等不到第二天。如果他们发现你原来的工作与现在的新岗位并不“对口”,那他们要么就是直接婉言拒绝,要么如果实在“爱惜”你这个人才,就会简单地做一些入职培训然后马上让你上岗去磨练,因为他们认为完整的培训你已经在原单位接受过了,你来到这里应该是尽快地去释放能量而不能先吸收光和热。同时你还能听到他们早已包装好的词汇,那就是“在战斗中学习战斗”,或者曰“骑着马找马”。

这时候又该怎么办呢?没办法!整个就业行情都是这样!你如果依然愿尝试这份工作,就应该首先端正态度,决不能骂骂咧咧、怨天尤人,然后应快速投入战斗,在战斗中快速磨练和积极探索,最后能早日熟练上手这份新工作。

这里还需要注意一点,在这个阶段,即便是已经暂时“锁定”了你的职业种类,但千万不要每天得过且过地混日子。相反还要更加勤奋地不断寻求自我突破,逼迫自己不断跨越新的高度。

春节前,我去南京出差,跟一个原来的老同事聊起了现在求职时有很多企业都动辄要求至少3年或5年工作经验的问题,他忿忿地说出了一句耐人寻味的经典名言:“什么5年工作经验,如果在原单位没有什么长进,5年工作经验就等于1年熟练+4年重复。”

所以,要想做到每一年都掷地有声、没有虚度,以我个人亲身体会比较有效的做法就是在每一步操作中不断学习、不断总结和不断修正,如果把思想境界再拔高一点就是江泽民同志在解决中日邦交问题时所说的“以史为鉴,面向未来”。其中“以史为鉴”的意思就是要不断地回顾你走过的发展道路并能够客观公正地总结出经验教训;“面向未来”的意思就是要能够根据过去的历程和总结的经验教训来制定未来的正确目标,并不断修正下一步的工作流程和发展方向。

四、“事业开拓”阶段——毕业后工作10-15年

到这个阶段的时候,想必你已经是年过而立了。请注意一点细节:从这个阶段起,我开始将“职业”一词轻轻地换成了“事业”一词,这意味着你开始从前期“职业阶段”中的技能、经验及资金积累走向到人生事业的开拓历程。可能你在这个阶段仍然保持着原来的“职业”状态,仍然是每天在为“老板的事业”而奔波,但年龄和阅历已经将你推向了事业发展的起跑线。并且你跑也得跑,不跑也得跑,你要为自己而跑,你的家庭开始逼迫你为他们着想,你的事业心和成就感都决定了你要开始考虑自我了。

这一切其实很好理解,就像结婚前你挣钱只为自己花,而结婚后挣了钱却总要先想老婆孩子一样。其实你结婚前也用你挣的钱给女朋友买东西,也偶尔会用来孝敬父母,但结婚前那叫“意外的惊喜”,而结婚后那叫“男人的天职”。

五、“事业平稳”阶段——毕业后工作15-30年

在这个阶段,你已经步入“不惑之年”,前期“职业阶段”和“事业开拓阶段”已经为你留下了几多积淀。在这个阶段,你所需要的是如何能够使你的事业能够在平稳的过程中持续上升。这期间你还要不断地去观察市场、了解市场,不能有丝毫的松懈,

所以你可能会感觉很累、很辛苦,不过你见的多了,承受压力的能力也增大了很多,于是你也就能游刃有余了。

你曾经的一切豪言壮语和海誓山盟在这个阶段变为现实,你被推上了事业的巅峰,不过这一切美妙结果的前提就是你先要在前面的几个阶段表现都很努力,也很用心,这就是“世间自有公道,付出定有回报”的道理。

六、“老当益壮”阶段——毕业后工作30年以后

有多少人说官场黑暗、钩心斗角,但我们却能看到有大量的人在50岁以后继续做官,并且还往往正是如日中天做高官;但是同时,我们却很少看到50岁以上的人在继续稳操企业大盘做企业的中流砥柱,即便有张瑞敏、倪润峰、柳传志、李东生等“老一辈革命家”,也毕竟只是个别现象。所以我个人认为,在当今商业社会,商场上的角逐比官场更为残酷和费尽心机,我不认为一个50岁以上的人还能够继续创造非凡的商业奇迹,即便真有,也只不过是老当益壮的“余热”而已。

所以,如果你奋斗到了这个阶段,当是“余温尚存”的时候。如果青春无悔,自当安享晚年;如果前世虚度,自当今生落魄。

后记:

一个企业有生命周期,一种产品有生命周期,所以,一个人的职业生涯发展也应该有生命周期。每个人只要能结合自己的性格、特长等多方面因素来认真剖析自我,就必然能找到适合自己的职业生涯发展路径。但无论如何,请记住你每一个阶段的工作都要有高度清晰的规划感和层次感,要能够清楚地明确你哪个阶段该干什么工作换还是不换,跳槽还是留任,改行还是留守,一切都必须尽在掌握!

1、理清自己的能力菜单,确定自己能力提升的目标

提升能力的第一步是要弄清楚四个问题:

(1)我最突出的能力有哪些?

(2)目前工作最急需的能力是什么?

(3)对比工作急需的能力我最欠缺的能力是什么?

(4)我应该如何提升这些欠缺的能力?

你可以列一个表单,逐一回答上述问题,这样你所欠缺的能力以及今后努力的方向就一目了然了。

2、制定自己提升能力的行动计划

制定行动计划时,要注意几点:

(1)从知识结构上的合理、优化与提升。

一个主管的知识结构,大体上有三种类型:专业知识;管理知识;相关知识 。只有建立和完善科学合理的知识结构,才能有效的支撑和提升自己的职业能力。

第一类是传统的知识结构,即仅有某一专业知识的结构。这是唯一的知识结构,或称线性结构。这种知识结构已远远不能适应形势对管理者的要求。

第二类是“T”型知识结构,或称为纵横结构。这里的“纵”,表示某一专业知识方面的深度;这里的“横”,表示与某一领域相关的知识面的跨度或广度。“T”型的知识结构也可以称为通才的静态结构。一个现代管理者的知识结构如果缺乏时间标量,没有反映知识更新率的指数,仍然是不完整的。

第三类是具有时间概念的“T”型知识结构,或称通才的动态结构。这类知识

结构的主要测定指标有三个:即深度、广度和时间度。只有这样的知识结构,才是管理者理想的知识结构。

(2)结合职业和工作需要去“补短板”。

一般而言,我不主张“补短板”,主张发挥自己的长处和优势,通过学习使长处更长,优势更优。但如果你眼前的工作职位确实需要这种能力,那就必须补上这个缺少的“短板”。例如,作为一名职业管理者,如果你在职业管理者所必备的职业知识和能力上有短板,那么,你就得必须补上。比如,沟通能力是管理者的最基本的素质要求,如果你要想在管理岗位上有所发展,你就必须补上这一课,否则,你就不称职,你就无法有更好的发展。假如你的性格和习惯无法改变,确实补不上这一课,你就应该考虑是不是转换职业道路,比如走技术发展的道路。

(3)从行动上如何约束自己

知识的掌握和积累必须化为实践和行动,否则知识再多也只能是纸上谈兵。所以,你在学习的同时,一定注意把学到的知识、方法和工具运用到自己的管理实践中去。比如,你学习了关于时间管理、目标管理、沟通管理方面的知识和方法,那就要有意识给自己制定一个如何落实的行动计划,如何检查自己的执行情况,如何改进自己存在的问题和不足。

3、一般管理者的通用自我管理能力

世界管理大师彼得?德鲁克(Peter Druker)说“卓有成效的管理者正在成为社会的一项极为重要的资源,能够成为卓有成效的管理者已经成了个人获取成功的主要标志。而卓有成效的基础在于管理者的自我管理。”

也就是说,作为企业和团队的主心骨与领导者,要想管理好别人,必须首先管理好自己;要想领导好别人,必须首先领导好自己。

一般而言,作为一个主管,在自我管理方面应该具备九项自我管理的能力,你可以结合自己的实际情况,有目的地去锻炼提升自己:

(1)角色定位能力——认清自我价值,清晰职业定位;

(2)目标管理能力——把握处世原则,明确奋斗目标;

(3)时间管理能力——学会管理时间,做到关键掌控;

(4)高效沟通能力——掌握沟通技巧,实现左右逢源;

(5)情商管理能力——提升情绪智商,和谐人际关系;

(6)生涯管理能力——理清职业路径,强化生涯管理;

(7)人脉经营能力——经营人脉资源,达到贵人多助;

(8)健康管理能力——促进健康和谐,保持旺盛精力;

(9)学习创新能力——不断学习创新,持续发展进步。

4、一般管理者的通用团队领导能力

管理学中有个著名的“锅盖原则”,是说你的领导力有多大,你的成就就有多大,你的成就永远不会超过你的领导力。拿破仑也曾说过“只有糟糕的将军,没有糟糕的士兵”。

自我管理能力和团队领导能力是经理人必须具备的两大基本能力系统,二者缺一不可。如果说自我管理能力是管理者实现自我成功的基础,那么,团队领导能力则是管理者实现团队成功的保证。通过提升自我管理能力可以获得“小成功”(高绩效个人),通过提升团队领导能力则可以获得“大成功”(高绩效团队)

一般而言,主管的领导能力可以从以下九个方面来进行提升和训练:

(1)领导能力——掌握领导技巧,提升领导魅力;

(2)决策能力——学会科学决策,避免重大失误;

(3)绩效管理能力——重视目标执行,提高团队绩效;

(4)激励下属能力——运用激励技巧,点燃下属激情;

(5)教练下属能力——教练培训下属,提升下属能力;

(6)授权能力——善于授权放权,修炼无为而治;

(7)团队学习创新能力——不断学习创新,保持团队活力;

(8)员工管理能力——体认员工需求,体验快乐管理;

(9)团队组织能力——学会团队协调,促进团结凝聚。

推荐第5篇:java程序员职业规划

java程序员职业规划第一步:

1、基础必备:至少看过2本语言基础书和一本领域技术书。

2、部分参与项目1-2个。

java程序员职业规划第二步:

1、行业知识领悟、扩展相关应用知识。

2、完整参与项目1-2个。

3、可以指导新人完成工作。

java程序员职业规划第三步:

1、深刻理解面对对象知识。熟悉常用架构,对公司采用的架构能提出改善意见。

2、参与需求讨论并能提出简化方案。

3、能为决策提出一些建议。

java程序员职业规划第四步:

1、能够对整体需求方案做出精确描述。

2、运用一种架构对项目、产品进行设计。

3、评估项目风险、以及预留方案。

4、实现核心组件、技术难关。

5、行业技术指导。

(二)java程序员职业规划要点

(1)只会编程是不够的

仔细思考在哪个商业领域投入时间。软件工程师(软件工程培训)不能只会开发软件,应该要成为这个业务领域的专家。你的行业经历应该成为你的重要才能。有机会多与公司行业内人士接触,选择一本与你公司行业有关的杂志,找一个行业网站。只有了解了一个行业后,你才能创造性地有所建树。学习行业是如何运转的,了解一些财务基本知识。

(2)在思维上投资

要学会抓住机遇。

多学习新的技术,编程语言,可以改变你的思维方式。

(3)做一名通才

你的技术水平应该超越技术平台。

经常学习一些新技术。

(4)成为一名专家

不仅应该会处理高端抽象,同时也应该了解实现高端抽象的低端细节。

推荐第6篇:程序员职业规划Pdf

程序员职业规划

很多人刚毕业时充满活力,然而几年的摸爬滚打后,冲劲就会慢慢减弱甚至消失。再加上IT大环境的起伏不定,一旦无法跟上技术或者行业发展的步伐,便会迷茫。王洪超说:\"以前晚上睡觉之前想事情,经常都不知道自己以后做什么。\"

这并不奇怪,工作的新鲜感褪程序员首先需要提高系统设计能力。从2000年以后,软件业的编程思维和模式、方法发生了翻天覆地的转变,与九十年代、甚至2000年前是完全不同的。但是,很多在企业工作的程序员的知识架构很难跟上。中科天博谢新华老师直率的指出:\"现在很多程序员不是按照应该如何设计最好做得,而是按照我会什么来做的,最终造成设计思想落后。现在做项目需要的是新的、巧的设计思想。我们可以将从无数次失败中得到的理念告诉他们,包括如何学习,如何思考,技术变化的原因在哪里,其核心在哪里。这样程序员的理解力就会完全不同。现在,对程序员的要求降低了,但对系统设计的要求提高了。所以程序员必须要提高系统设计的能力,否则永远出不了头。\"

而曾经从事过宏观经济研究工作的李巨锋更喜欢从行业走向来谈问题。他说:\"现在中国纯软件公司不多,但是,中国的经济非常好,从整个社会的经济和行业角度可以得出很多有价值的内容。很多人不了解行业的需求情况,因此做不了判断。\"

跟随一个快速发展的行业,就比较容易取得发展,而在一个发展缓慢的行业中成功就比较困难。当然,有了市场容量有多大和机会,并不代表一定会成功,但没有这个因素成功的几率会更低。工作一两年的人,最关键的是要有一个方向感,不要太盲目,这就需要程序员有一定的判断力。李巨锋认为,电信行业新增的市场容量每年有1万亿,而且由于是新增市场,人员也比较容易进入。

此外,中国的手机市场非常大,由于无线应用的迅速发展,可以预料,基于手机和电信结合的软件的就业前景就比较好,事实证明,很多人也在向这个方面转变。达内的成功与行业需求也不无关系,韩少云说:\"从金融和电信行业角度看,对软件人才的需求每年以30-50%的比例增长。熟悉这两个行业所需要的IT技术和背景的人才,需求量是最大,缺口也是最大的。\"

中国的信息管理软件市场也是容易就业的市场。现在市场上有数不胜数的小管理软件公司,这是同中国社会走转型之路相关的。李巨锋说,\"基于商流、资金流、信息流、物流的行业都有相当的发展前景。

通过产权交易的商流,带动资金流和信息流的发展。物流是新兴的行业,这些都需要主流的IT技术。中国的物流成本现在是20.9%,美国是

9.8%,差距非常很大,这其中有1万亿的市场容量,如果软件和信息化服务占20%的份额,也有几千亿的市场,行业需求很大了。事实也证明供应链等类型的软件市场发展非常迅猛。\"

而对于游戏,李巨锋认为这不能称之为一个产业,因为它不像电信那样带动很大的一个产业链,现在取得成功的只有几个游戏,而且还主要偏重销售,不是一个上下游的产业。尽管比较热,但李巨锋认为相比来说,至少一两年内可能不会有很大的市场容量,这就需要进行判断。

李巨锋认为,已经工作两年以上的程序员可以有几种基本的职业规划:技术专家、软件架构师、实施顾问或销售。其中程序员最主要的发展方向是资深技术专家,无论是Java还是.NET,还是数据库领域,都要首先成为专家,然后才可能继续发展为架构师。\"尽管架构师的职位可以工作一辈子,待遇也非常好,对于科班出身的程序员最为适合,但这种工作职位非

常有限。\"一位毕业的学员到IBM软件开发中心后,过了一年左右,开始请教其未来的发展,结合对方的情况,建议他先深入的技术,因为在中国架构师需要的条件比较复杂,而且需求量也比较少。

实施顾问和销售就比较偏向市场了,除了一定的技术能力外,需要掌握很多IT以外的知识。这些发展方向对于从其他专业转入IT的人员更为适合。比如用友就培养了很多实施顾问,这些人加上行业背景,收入也很高。要做行业专家,就要比自己的行业客户还了解这个产业的发展现状。

李巨锋说:\"比如烟草行业,一定要了解大的趋势,中国最多的烟民在哪里,其实是在山西和辽宁,烟草行业的产业政策是什么,直接导致我的需求是什么,这些信息对于职业发展很重要。IBM的一些顾问都是行业内的资深专家,他们的发展就非常具有代表性。\"

对大多数人来说,首先是要专,在技术上做的比较深入,然后进行工作调整,把自己转变为某个领域的专家,第三步,根据自己的情况,决定自己做软件架构师还是高级的顾问销售,另外一部分人可能就会走向行政管理,这和个人性格有关。

要获得职业成长,培训也很有帮助。韩少云说:\"在北美,职业培训是一种高端的培训,即便是专业的人员也需要职业培训。一个人在一生中需要经过很多职业培训才能成为一个资深或者专业的人员。而在国内大家的观念中,职业培训还没有被大家广泛的认同。\"

对于更高级的技术人员,他们所关注的就不是解决基本的生活问题了。他们所关注的就是发展和成就感。从现在看,他们更为缺乏的是交流,尤其是和水平差不多或者更高的人进行交流。李巨锋说:\"我建议他们做一些国产的产品,做一些自主产权的技术。比如,我们还有产品开发的部门就在做国产数据库设计。\"

职业规划带动更好的成长

从中国的软件开发人员的层次看,工作几年以内处于初级水平的程序员占据最大的比例,至少在50%之上,高级的人员最多也就10%左右。但无论处在哪个层面,一定要有规划,按照自己的个性和优势做一些规划。一个程序员的成长,学习过程中首先要读到好书,然后是交到好的学友,找到好的老师,在这三个外围的条件下,找到适合的工作环境,结合自己的特点,然后在一些重要的环节上遇到适合的人和合适的项目,这样才能成功。有些职位可能在开始的时候不适合,但工作一段时间后,可能就可以走上更高的职位。最近,IBM软件学院就开始做一个\"软件人才库\"的项目,为的就是跟踪技术人员的成长,给他们在合适的时机提供合适的职位。业内人士说:\"IT行业良性的人员流动也是很好的。\"

有了一定的职业规划,就需要补充自己缺乏的经验,只有经历过足够的项目,才有可能不断积累。对行业的判断有一定的理解之后,对一般的企业适应起来是没有问题的,但高级的人才需要长时间的积累。

在中国,除了个人的基本技能,还需要具备一定的社会资源,行业资源和资本。学生要学会在提高智商的情况下,提高自己的情商。因为,在人和人交往中情商起很大的作用。技术人员需要慢慢改变自己的一些思维方式。个人成长要有意识的积累社会资源,认识相关的人,了解相关的政策和行业发展的过程和规则,这些东西是非技术的,非智商的,只要你关注就是可以得到的。我觉得最关键的就是多认识人,然后有意识的寻找合适的事情来做。情商也就需要有渠道,有多少人能够帮助你,否则成不了。

机遇和经历对于职业的发展有相当的影响力。某些人或者某些事情都可能会影响到未来的发展。王洪超也认为成为微软MVP是自己的一个转

折点,由于成为MVP,便有机会接触更多的技术朋友和微软人,为自己的发展奠定了基础。

总而言之,每个人至少三年要点评一下自己:是环境的原因,还是自己个人的原因,如果是环境的原因,可以考虑是否需要换地方,如果知道自己,可以调整自己或者设的目标现实一些。从一个普通的程序员做起,3年时间至少能够做到做独立需求分析和设计的。色后,就设法需要通过一个目标为自己输送动力。这便是职业规划。

推荐第7篇:程序员的职业规划

为什么我们要自己做职业生涯规划?记得《社交网络》里边,CFO同学在知道自己股权被稀释时说了一句话,“我以为那些律师是我的律师。”

其实我们大多数人对HR几乎都存在类似的误解—— 你以为她是你的HR,其实她只是公司的HR。她们care的是如何编个理由用老板给的那点小钱留住一个高性价比的人才,而不是真正有助于你发展的职业路线图。昨天还含情脉脉和你讨论人生的知心姐姐明天就可能变成拿着劳动合同逼你主动离职的凶婆娘。和人性无关——这就是她们的工作,越专业的HR越擅长。

所以,你要自己来做这件事情。另外还有一个原因,你该去什么样的公司、做什么样的事情、拿多少钱,都取决于一个问题:你想成为一个什么样的人。工作只是人生的一部分,是用来支撑你人生价值的核心框架之一。在你自己没有想明白的时候,没有人能帮你。这就是为什么猎头基本只谈钱——他们没空去和客户讨论人生的意义。

我曾花了很长的时间去思考人生的意义,最终发现其实人生本来没有意义,意义都是我们赋予它的。

在创业做人才服务后,我开始和很多的程序员聊天,开始去了解他们的现状和他们对于自己职业的RoadMap。我发现技术人员的职业生涯形态并不是千变万化的,绝大多数都大同小异,可以用四个象限和两条主线概括清楚。虽然我无法代替你去定义人生的意义,但是我可以和大家分享下各种职业规划下的人生都是什么样子的。当然,这些想法只是我总结出来的东西,未必正确、更不权威大体是一些自以为是的最佳实践。如果你觉得有用,就把它分享给更多的程序员;如果你觉得无趣,就无视掉吧,毕竟我也只能从自己的视角来讨论这个事情。

写《穷爸爸富爸爸》的那个胖子——罗伯特清崎,从现金流向将人类分到了四个象限,从而总结出来了这么一张图。

你也许已经看过,但这次我会从程序员的角度来进行解读。 E象限

E象限是雇员象限,绝大多数程序员都在这个象限里边。这里是风险最小的地方,只要你准时上下班别一个SQL把公司的数据库Drop掉,基本都能每月领到应得的银子。这里本应该是程序员们的天堂,因为比起改变世界,他们更多的只是很单纯的喜欢写代码。但现实很残酷,北上广的房价高不可攀。你可以不在乎房子,你女朋友能不在乎吗?你女朋友不在乎,她妈能不在乎吗?再考虑到将来小孩上学之类,只要你还打算留下来,房子其实还是必需品。

在E象限要低风险的搞定房子,只有一个攻略:靠股票和期权。找一家上市公司,或者即将要上市的公司,在里边成为核心员工,再待上几年,就能拿到一定数量的股票或期权。如果运气好,变卖掉这些东西,可以有百万级的收益。前几年这些钱还可以买房子,现在大概只能交首付了。

S象限

E象限的整体薪资是有天花板的,很多公司总监的月薪也就3万到5万,扣掉税和每月花销,其实攒不了太多钱。所以有一部分人就选择了S象限——自由职业者和小企业主的领域。S象限的魅力在于你的收益不再完全由你的劳动来获得,你可以开始雇人了。比方说,你可以开一个外包公司,给微博的粉丝服务平台做应用。面向企业的业务一般难在拿到单子,而利润是很高的,一个项目上百万完全不算大,之前有人开玩笑说这些公司一年一个单子就够了、两个单子就赚了。

在S象限要活得舒服还是有技巧的:如果做外包,一定要有一个不错的客户渠道;依赖于大平台的项目最好能花点钱成为平台的合作伙伴;建站也是Web程序员们做得多的方向,现在可以顺便把移动APP也给做了,很多简单需求用HTML5打个包就能卖几万块钱。

如果你人脉不好,好吧,程序员人脉好的其实很少,那么就只能用免费+收费模式了。首先把你要做的业务中标准化的部分开发成产品(如CMS)在网络上免费传播,而其中需要定制的部分就可以收费了。开源和免费的Web产品很多,但同质化严重,很少有细分市场的产品,用心定位的话,养活一个小公司绰绰有余的。

S象限还有一种很悠闲的活法,那就是逃离北上广、回归大自然。去一个风景优美空气清新的二三线城市,雇三五个人(当然就你自己也行)开一个小工作室,给美国人写iOS和Android应用。既没有房价的压力,还能发着人民币挣美金,貌似成都高新区还免税。

B象限

按罗伯特他亲戚的定义,B象限本来是大企业主的,那种员工超过500人的。不过在互联网领域这个定义不靠谱,我更乐意把它看成是上市公司和为了上市的创业公司的象限。

同样是开公司,B象限的玩法和S象限不同,它是以规模化为前提的。天使、种子、VC、上市和出售是这个象限的关键词。

很少有技术人员适合独立创业,不是说你能力不够,而是很多东西你都没接触过,需要补很多课。之前创业成本比较高,现在有了微博和微信这些开放平台、有了 App Store和Google Play这些开放市场,技术人员创业也开始有了一点的优势:自己做个小产品,不停的快速失败,直到成功。说得更直白一点就是你找业余时间开发一个商业应用,放到市场上去卖试试,让客户骂试试。等你经过了共享软件的洗礼,你基本上就知道做生意是怎么一回事了。

上帝其实挺公平的,他还为程序员们准备了另外一条低风险的捷径——上市公司或者快要上市公司的CTO。在这里要和大家强调一点,同样是CTO职位,初创团队的CTO和相对成熟公司的CTO差别是非常大的。

A轮(不一定精确,但大致如此)以前的公司,主要在寻找商业模式,会频繁的变更需求,对开发速度要求更高,这时候CTO只要能敏捷的开发产品就OK;A轮以后的公司,着力于规模化,会有大量的推广,可能在某些时间点遭遇高并发,同时技术人员、设备会迅速增加,这时候CTO需要考虑业务的高可用、还要能处理好团队、资源的管理工作。如果原来的CTO没有大型互联网公司的背景,往往很难做好这些事情,所以一般会考虑从大公司去挖一个。

如果你的规划足够好,是可以从小公司到大公司再即将上市的公司,加薪升职迎娶白富美出任CTO成为人生赢家的,这个等下我们还会具体讨论。 I象限

这个土豪和高富帅的象限我还没有待过,所以不多讲。大体是钱多得没处花的人通过投资来保证资产增值的地方。所谓的财务自由(就是一直不干活,钱也够你花),就是通过进入这个象限来实现的。投资未必都是技术活,直接银行存个定期也算是投资,如果你钱够多的话,也能财务自由。对了,投行的投资经理是E象限的,他们其实是雇员。

当你在上边四个象限里选好了想要的人生区间后,就要设计一个可行的RoadMap来实现它。但既然你都读到这里了,大概既没有一个I象限的亲爹、也没有一个I象限的干爹,所以唯一可以推动你前进的,只能是自身的成长。

技术人员的成长路径主要就分两条,技术线和管理线。总体来讲,选技术线的同学要选好技术方向;而选管理线的同学要把握好节奏。

技术线

这里的技术线是纯技术路线,是专家方向,做到最后title应该是首席科学家、首席架构师或者首席技术顾问之类。如果你对某个方向的技术非常感兴趣,又不喜欢做项目、团队管理工作,那么技术线就是不错的选择。

选技术线的同学一定要选对技术方向,因为你会在自己选择的这个细分市场里投入三年、五年、甚至十年的时间。

和大家讲讲我自己的经历。我是2002年开始学习PHP的,当时ASP非常流行,而我只是一个计算机系的学生,并不具备对行业趋势的判断能力,只是因为ASP太受欢迎,以至于图书馆的书都被借完了,我只好借了一本放在旁边的PHP。

于是在大学时我用PHP写了很多开源项目:留言板、相册、CMS;靠这些东西得到了一家建站公司的兼职工作,除了把学费挣回来以外,还轻松进入新浪实习。到新浪刚过了几个月,受雅虎影响,新浪也全面转向了PHP——而我正好是我们组最懂PHP的。你可以想象接下来我是多么如鱼得水,我和我的小伙伴们用 PHP写完一个人才项目后,又用PHP重写了PV近亿的手机新浪网发布系统,一切都风调雨顺有惊无险,以至于后来去另一家公司面试时,面试官问我经历过最失败的项目时,我完全答不出来。

十年时间过去了,PHP依然如日中天,用我十年前学习的PHP技能,依然可以在一流互联网公司找到一份不错的工作,而ASP——现在谁还知道ASP是什么?

好了,我无意来仇恨,其实我只是想说同样是一门语言,它的投入产出比是非常不同的。选择技术方向时一定要谨慎。

那么,怎么选择技术方向呢?我给两个建议。

学会观察技术潮流

有一本老外写的书里边讲,如果你要知道什么语言流行,就去看看技术Guru们都在用什么。这话固然不错,但知其然不知其所以然并不是件好事。

从根源上讲,一个技术是否流行,和人们使用技术的方式密切相关。PHP能大规模流行,并不是因为它的语法好看,而是因为人们使用技术的方式从单机转向了网络,而PHP正好是所有语言里边最专注于Web的。苹果手机大规模流行后,Objective-C 的使用量开始极速上升。在很多程序员眼里OC的语法完全是异端,但这丝毫没有影响他们用异端语言大把挣钱。

仔细观察下周围,现在人类(是的,普通人类而不是其他程序员)是怎么使用技术的?很多人晚上回家已经不开电脑了,他们用电视盒看电视,用平板玩游戏,用手机吐槽。而这些设备很多都是Android系统,那么你觉得Android程序员会便宜吗?由于有了多个设备,个人的数据需要在多个设备之间进行同步、分散到各处的数据也需要统一管理,所以云计算尤其是云存储的需求会凸现出来。

知道了多屏合一以及APP流行的背景,你还会觉得现在投入PHP会是一个好选择吗?我们来分析下。PHP最大的优势在于它的胶水特性——简单快速的把 HTML和业务数据粘在一起然后显示出来。如果只有浏览器,那么PHP还可以通过响应式设计的方式来兼容移动设备。但是当我们有了手机APP的时候,服务器就必然需要API了。换句话说,多屏合一其实是要求数据和显示分离的——这不是PHP最擅长的,单纯写API接口的话,无论是NodeJS还是Go都更具优势。当然,作为PHP的铁杆粉丝,我要说明,PHP也有很多强化API性能的项目,比如Yar,O+。这些东西让PHP在全平台时代获得了新的竞争资本,具体的大家可以去看看鸟哥在今年InfoQ大会上的PPT。

投资新兴市场和细分市场 这是第二个建议。如果把选择一门技术当做一个投资的话,新兴市场和细分市场是特别值得留意的。

新兴市场对程序员来说,就是一种新的语言、一个新的平台、一套新的框架。新兴市场因为刚刚兴起,所以几乎所有人都在同一个起跑线,特别适合后进者。我认识从一个2011年开始学习iOS开发的同学,他能力中等,但现在已经算是很资深的iOS工程师了,月薪超过2万;而如果他那时选择去学习PHP,那他现在只能算个初级程序员。

并非只有一个平台的兴起才有机会,很多框架技术也会带来机会。比如说Cocos2d Javascript版。以前开发游戏需要学习OC或者Java,而Cocos2d Javascript版本的出现,让你可以用纯JS同时开发一套运行在浏览器、iOS和Android平台上的游戏——不用改一行代码,由于是把JS解析后直接扔给OpenGL运行,在手机上性能也很不错。这对JS工程师来讲,就是一个全新的、可以进入游戏行业的机会。

如果你只能进入一个成熟市场,那么记得给自己确立一个细分的定位。前几天国内知名的漏洞报告平台乌云招聘PHP开发工程师,职位薪资不是很高,但是我觉得是一个很不错的机会。乌云平台每天被攻击一百多次,在乌云工作几个月以后,你就能写出来可能是国内最安全的PHP代码,如果再适时的分享下你在乌云工作的经验教训,一个专注于安全的PHP专家就跃然纸上了。这就是细分市场,比你懂安全的没你懂PHP、比你懂PHP的没你懂安全。

技术线属于那些赖得住寂寞,还得了房贷,喜欢风险最低化的同学。在自身技术实力不错,专攻的技术方向还未衰落的情况下,踏踏实实熬个五到十年,还是可以有车有房的。如果中间遇到公司上市、出售,那么时间可能更短。

管理线

用玩游戏来打比方的话,技术线比较单一,在同一个地方不停的打怪就好了;而管理线则有相对复杂的剧情。技术管理虽然有技术两个字,但更多的是和人相关的管理工作,所以在这条线上,职业逻辑也更不正常(在HR看来可能是更正常)一些——title和资历很重要。

一个只在小公司上过班的PHP程序员,不管他能力有多好,是不可能直接成为一家500人规模还有半年就上市的企业的CTO的。即使CEO非常相信你的能力,他也需要拿出让投资人和团队其他人信服的证据,很显然一个大型互联网公司的技术总监职位更容易服众。所以别去相信那些没开过公司没当过高管或者就是别有居心的人说的,title很重要,它标记了你做过什么样的事、有怎么样的成绩。虽然它只能证明你的过去,但我们其实都是从别人的过去去判读一个人的将来的。

不想当CTO的程序员不是好项目经理,所以庸俗的讲,管理线其实就是一个不断升级自己的title,直到CTO的游戏,它有点像某些排序算法的动画。当然,随着title越来越高,管理的人和资源就越多,对沟通能力、管理能力的要求也越高。

在稍微扁平一点的互联网公司,职位分布大概是这样的:工程师CTO。和技术线不同,管理线每一次升级除了能力,还需要机遇的。因为越是高级的管理职位就越少,如果你遇到一位年富力强又对公司衷心耿耿的直接上级,那这条线基本就被堵住了。

好在我们生活的这个年代换公司比换衣裳还容易,所以我们可以通过跳槽来调节。除了可以跳到相同水平但是发展更好的公司外,也可以去稍微低一级的公司,这样你的title(还有薪资)就可以先调上来,等这家公司发展起来,你的价值就增加了。

跳槽的时间间隔要把握好,一般两到三年为宜;不要太频繁,否则会让人对你的稳定性产生怀疑。每一次跳槽要设定好自己想要得到的空间、资源、薪资和 title。对去创业公司的同学多说一句,虽然我不想承认,但的确99%的创业公司都会失败的,不过公司的失败未必是你的失败,你只要确保在每一家公司都能得到成长,就可以踩着河里的竹竿逆流而上。

写到这里连我自己都觉得有些势利了,但大部分公司和员工本身就是赤裸裸的利用关系,你不替自己打算是没人帮你的,老实也未必能有好结果。当年有个和我一起入职的同学,因为是应届,所以月薪只有3k,她一直勤勤恳恳的工作了四年,期望能靠自己的努力得到认可,但最后薪水也只有7k,远低于行业平均水平。后来终于想开了,跳槽去了竞争对手那边,直接13k+。公司的人才政策很多时候取决于高管,即使你的直接主管想帮你,也未必能帮上忙。比如之前,我们部门一个技术的同学结婚后经济压力上来了,想找份报酬更高的工作,我们好说歹说愿意留下,但想调调薪资,但公司死活不乐意,宁愿花着同样的钱去新招一个……

嗯,吐槽就到这里吧,总之,用多家公司作为自己职业生涯的调节杠杆,就像用并行进程处理高并发一样,是非常有意义的。你未必要真的跳来跳去,但多个选择总不是坏事。 至于要怎么去选择公司,尤其是小公司,你只需要注意两件事:公司的业务方向靠谱不?公司的老板对员工好不好?前者关系到公司能不能挣钱,后者关系到公司挣的钱有不有你的份。

就写到这里吧,虽然不全面,但如果能在某些点上引发你的思考,那就不枉我打这么多字了。如果你有什么要和我讨论,或者有什么要和大家分享,可以发邮件到easychen@gmail.com ,我会找时间整理出来的。

推荐第8篇:程序员职业规划发展路线图

程序员职业规划发展路线图

发布时间:2009.09.08 14:13 来源:赛迪网 作者:高阳

锐哥准备为大家烹饪红烧鲤鱼,小丫主动要求跟锐哥学习烧鱼,这也使小蔡和大熊非常感兴趣变得积极主动。锐哥首先要求他们把配料准备好,小丫又进行配料准备任务分工,没有的配料分头到超市购买。用料如下:

鲤鱼(一斤半到两斤的鱼最好)、蒜头两头整的、姜片5~6片、小香葱3根、小红辣椒10个左右,分两段切(超市有的卖盒装的),辣豆豉(可用老干妈代替)1大匙、豆瓣酱2大匙、盐少许、鸡精1小匙、料酒1匙、清水2碗、1两纯瘦肉馅、植物油少许。

锐哥让他们注意,收拾鱼的时候要将鲤鱼鱼腹两侧各有一条与细线一样的白筋去掉,可以除腥味;在靠鲤鱼鳃部的地方切一个小口,白筋就显露出来了,用镊子夹住,轻轻用力,即可抽掉。大家七手八脚很快备齐了用料。

时间:6月10日 17点 地点:锐哥家 人物:锐哥、小蔡、大熊、小丫

锐哥边烹饪鱼边讲解说:“首先将收拾好的鲤鱼控干水,最好准备一条干净餐布或者厨房专用纸巾再将鱼上的水分吸干,油入锅烧热,把准备好的鱼放里面煎至黄色再翻面煎成黄色,将鱼装盘待用,如果你手艺到家,鱼也可以一直放在锅里进行别的程序操作。再将肉馅放入锅里炒,直到变色,放少许料酒,再接着放豆瓣酱还有老干妈和肉馅炒匀,这时姜片和整粒的蒜也放进去小炒一分钟,把煎好的鱼再放进去,加两碗水放入小红辣椒。

“这会可以放一点点盐,因为豆瓣酱和老干妈里都有盐味,再放鸡精粉盖上锅盖,改中小火烧至汤快收干时把鱼装好盘,里面的汤剂留在锅里,把切好的小香葱放入锅里翻炒两下关火,将汤剂淋到鱼上。这道菜就做成了,看似复杂,其实材料都准备好做起来又快又简单。”

小丫品尝了一口称赞:“锐哥的手艺真不错!味道好极了,色泽红亮,蒜香浓郁,皮焦肉嫩,咸鲜微辣。”很快大家一起吃完了饭。

锐哥:“大家注意到没有,其实烹饪鱼的过程与一个人的职业规划的过程相似,从配料收集→加工→实现目标(红烧鲤鱼)。另外,职业规划非常重要的一点是要学会角色分析能力。大部分人在长期的工作中趋于麻木,对自己的角色并不清晰。但是,就像任何产品在市场中要有其特色的定位和卖点一样,在职者必须让自己有一些过人之处,让自己的价值和成绩得以体现并受到认可。”

小蔡:“在第一次钓到鱼的时候,我感悟到的就是因为对软件行业不了解,所以缺少一根结实的线将自己与梦想有序地串联起来,因此很难深刻体会到目标在自己掌控下挣扎时的力量。那么,通常程序员如何对自己的角色做分析呢?”

锐哥顺手在纸上画了几个图,说:“确切地说,你应该问程序员通常的发展路线是怎样的?你们可以看看这个图(如图3-1所示),当一个初步的职业规划方案已经成型时,如果制订者目前已在一个软件公司工作,那么,对他来说进一步的提升非常重要。首先要做的则是进行角色分析,反思一下这个职业环境对个人的要求和期望是什么,如何使自己在单位中脱颖而出。

图3-1 “通常,软件技术人员的职业发展有几个选择:专注于技术,成为技术专家;转型到技术型销售、技术支持等;随着技术成长,从技术性管理到高级管理。这是大家都看得清楚的方向,也都在向这些方向的金字塔尖努力。

“就像烹饪鱼一样,每一个阶段目标都需要你进行角色分析,找出这一角色需要的‘配料’,当你注意收集技术、素养等相关‘配料’后,就会成功烹饪出你所需要的目标鱼。前提是你一定要了解自己的特点和优势,就好比黄瓜种子是不可能培育成西瓜一样。”

锐哥继续说:“这归根结底,都是以技术为基础。在扎实的技术基础上(高级软件工程师),如果有着比较强的抽象设计能力,又打算专注于技术开发,架构师是个好的选择;如果性格更适合做管理,情商能力突出,技术型管理应该是下一步的方向。这种发展规划属于‘瘸腿走路’的类型,各有侧重主攻发展的职业方向,也是目前一般程序员普遍采用的发展路线规划。”

小蔡认真地看着图说:“程序员职业规划还有这么多学问!我看到每个角色配合的学历,那么学历和认证证书真的很重要吗?还有必要花钱参加社会技术培训吗?”

锐哥:“决胜点在于长期的点滴积累,认证证书、成绩、丰富的经历是求职的表面文章,在目前软件行业里不是很看中这个,真正的‘内功’是需要规划的。至于培训,我倒是很建议直接加入软件公司,你就会学到很多实际的东西。不过,学历教育虽然在职业生涯里不是主要的,但是随着职位的提升却有很重要的意义,能辅助拓展你的职业发展空间,而不是以此为阻碍从而失去更多的机会。 ”

“已经工作两年以上的程序员可以有几种基本的职业规划:技术专家、软件架构师、实施顾问或销售。其中程序员最主要的发展方向是资深技术专家,无论是Java、.NET还是数据库领域,都要首先成为专家,然后才可能继续发展为架构师。尽管架构师的职位可以工作一辈子,待遇也非常好,对于科班出身的程序员最为适合,但这种工作职位非常有限,因为在中国目前的IT行业,架构师需要的条件比较复杂,而且需求量也比较少,这也是我国软件行业走向国际并有待成熟的因素之一。”

大熊指着另外一张图说:“这个是综合才能型发展路线图(如图3-2所示),我听说目前国内缺乏的是管理能力和专业知识技能并驾齐驱的IT人才。是不是指着这种复合型人才?”

图3-2 锐哥说:“是的,特别是懂得运用目标管理技术的项目管理人才,既掌握核心技术又有全局掌控能力的项目管理人才,非常难找。我建议对于大多数人来说,首先是要专,只有在技术方向上做得比较深入,才能适当做工作调整,把自己转变为某个领域的专家。

“然后,根据自己的情况,决定自己做软件架构师还是高级的顾问销售,另外一部分人可能就会走向管理,这和个人性格与情商有关。软件优秀的管理者都必须懂得技术,掌握核心技能的人才向管理岗位转型有很大的优势,因而提升管理能力成了转型的关键。譬如,当唐骏还是微软一名普通程序员时,就从公司发展的角度考虑,向老板提议开发了中文版Windows,最终使他从几万名工程师中脱颖而出,成为部门经理。正如他所说,虽然是程序员,但自己不能只把自己当程序员,你可以为老板和公司着想。

“调查研究后,带着解决方案去找老板,就会得到老板的重视和信任,所以一定要增强工作主动性和参与性。无论是软件开发还是项目管理,国内员工大多只是做好份内事或完成交派任务,很少能主动发现问题。其实,只有拥有更高眼界,才能谋取大发展。

“总之,程序员要根据本身的基本素质、技术能力选择开发层次,由低到高,逐步发展。也是一名程序员本身具备相应素质的循序渐进的发展轨迹,包括很强的技术背景和综合管理才能等素养,这也就是所谓‘两条腿走路’的职业规划发展路线。”

小蔡:“原来技术转型还有这么多学问,受益匪浅。我打个比方,如果只是一名程序员,但仍需要站在项目经理的层面上看自己的工作,这样才能更好地合作,融入团队中,并且锻炼自己的思想境界,从而提高自己。”

锐哥:“小蔡说得是。另外,在未来发展上首先确定自己的发展方向和研究方向,在学习技术的同时还要为以后做准备,做好以后的技术转型。广度和深度是相对的,先广还是先深实质上从某种意义来说取决你的工作性质,如果你是从事单一工作的,多半你会短暂先深,因为这是你立足的根本;而如果你选择的职业是综合性的,比如管理、讲师等,那么你必然要先有广度才可以,但一段时间后,你都要转入深度,只有你在某一方面或领域有一定的深度后,你才能继续寻求广度,否则,你将什么都会,但什么都不精,这样的人在市场上是最难以立足的。”

大熊:“这张程序员发展路线图挺有意思,国际人才型(如图3-3所示),一定要求外语口语流利吧?”

图3-3 锐哥:“是的。如果说前面‘两条腿走路’要求的综合能力成分多,随着国际化相互联系越来越紧密,那么国际化人才可以说是当前更为便捷的程序员职业规划发展之路。目前,国际化软件项目经理是人才市场上炙手可热的人才,有丰富经验、外语口语好的软件项目经理是抢手的香饽饽,供不应求,薪水自然也是水涨船高。最重要的是,一个优秀的项目经理可以在这个岗位上长久工作下去,并且有向高层进一步提升的可能。外语好、技术又好的程序员发展路线很广,是目前国内外软件企业需要的热点人才。”

小蔡:“锐哥跟我们说了这么多,感觉对程序员、对软件行业的整体发展路线清晰了很多,但是我该用什么方法进行选择呢?” 锐哥:“要想正确地选择,你得必须充分地了解、分析自己,你要学会SWOT职业规划自我分析法。”

总结与提升

成功与失败的区别在于,成功者选择了正确而失败者选择了错误。因此,我们常常能够看到一些天赋相差无几的人,由于选择了不同的方向,人生却迥然相异。选择正确的方向尤为重要,希望不同的程序员根据自己不同的优势和特点能画出适合自己的程序员职业规划图。

软件开发也是有层次区别的,比如,按层次从高到低通常可分为: 系统开发:如操作系统、数据库系统、服务器系统开发; 专业开发:如网络安全、游戏、人工智能开发; 应用开发:如MIS、BI、ERP等系统开发; 普通开发:如网站、简单应用系统开发。

不同的层次,难度系数不一样,对技术要求、个人素质要求也不一样。要成为系统开发者、专业开发者、高级应用开发者,需要有很高的专业知识和很强的逻辑、抽象、空间思维能力,这就要求具有很好的基础,同时具有较大的提升潜力。而要成为简单开发者和初级应用开发者则相对容易些,正是这样,才使很多人走上了软件开发的道路。

推荐第9篇:一个程序员的职业规划

写这篇文章源于某条微博评论,原内容大概是一个快40岁的人还在当程序员写代码,评论内容大概是:有些人就喜欢当程序员写代码,无可厚非。但是,现实情况中是否真的能做到“无可厚非”呢?我思考了一阵子以后,就有了这篇文章,希望与所有职场人共勉。

首先我要申明一点,我不是砖家,也不是牛人,我只是一名普通的IT从业者,本文只是我对我们IT人的职业生涯规划的一些观点和意见,如果大家有不同意见,或者觉得我的观念欠妥,欢迎讨论,但是拒绝谩骂、吵架和攻击,谢谢。 简单介绍一下我的情况,我是03级的本科生,07年毕业后一直从事软件方面工作,现在是一名项目经理,到今天为止,我差不多有5年半的工作经验了(我是07年3月就进了公司)。那么为什么我现在会对职业生涯规划有感悟呢?因为随着时间的增长,我越来越觉得我们混职场的IT人(当然不限于软件行业,只要是职场人)如果没有一个很好的职业规划,那么随着时间的流逝,我们逝去的不仅仅是年华那么简单;当你某天猛然发现当年同一起跑线的同窗朋友,现在跟你的差距大到让你愕然时,你就真的很难很难逆转这种局面了。当然,我这样抽象的说,很多人无法感受到这种紧迫感和恐惧感,下面我分3个方面来说明职业生涯规划的重要性。

第一,职业生涯规划是事业的导航

首先我们搞清楚,事业是什么??乔布斯的苹果公司,叫事业;你每天上班路上卖油条豆浆的大妈的早饭摊,叫事业,同样,我们IT人每天上班时,在格子间干的事情,那也叫事业!很多人总是觉得自己是个小职员,每天都做着小事情,似乎事业这种词汇应该总是伴随着老总、资金、企业这种概念的,所以,反正我只是个小职员,反正我又不是名校毕业,反正我的学历一般,就算规划的再灿烂,也只是画饼充饥而已,还不如每天耕好自己的一亩三分田,剩下的就是老婆孩子热炕头了…(中枪的同学举个手看..) 我认为这种思想最大的毛病就在于自我否定。我举个例子,CS 这游戏大部分人都应该玩过吧,你进一个主机开始游戏以后最多的动作是什么??不是开枪,不是到处走,不是换子弹,而是按tab查看排名!每个人都想多杀点人,多拿点分,进入警察或者土匪榜的前三甚至第一,难道你会说:反正我技术一般,还不如给别人做嫁衣,让别人杀了拿分呢?所以,我们在职场混,也好像在玩一个现实版的游戏,那么我们的目的就是拿高分,也就是向更高的目标进发,无限的接近目标,甚至超越目标,而职业生涯规划,就是你达到目标的一个个里程碑,它会每时每刻为你指明你的方向,让你明确你的目标,并一步一步走下去,所以职业生涯规划绝对不是画饼充饥。

当然,你的目标必须切合实际,但是也不能太过于保守,甚至可以是一种阶段型的规划。比如我,我07年进公司是程序员,程序员的地位好工作大家应该是再熟悉不过了,我本科读的是个三类大学,还不是软件本职专业,但是有幸能找到这样一份工作,我还是很感激老板的。既来之则安之,学习技术技能,累积经验,同时关心行业的发展前进和自身的晋升路线。当时我了解到,程序员的发展一般来说是这样,程序员→软件工程师→架构师→系统分析师(技术路线)或者项目管理师(管理路线),最终到达技术总监,或者项目总监甚至CTO、COO或者CIO等高级职位。也有程序员后来进入测试领域,后来成为QA或者QC,最后成为质量总监等。我根据我本身的性格,兴趣,和切合自身的发展方向等多方面因素考虑,定下来自己走项目管理的路线,我给自己的职业规划是这样:程序员→软件工程师→项目主管→项目经理→项目总监→CIO;而我也确实一步步正在实现了自己的规划,能够到达今天的这个位置,职业规划起了相当大的作用。它总是在不停的指引和鞭笞我向目标进发,而我自己也从来没有感到彷徨,没有困惑过,因为我有目标,有规划,有方向,这就是职业规划的力量!因此,不要因为你现在的微不足道而放弃对自己的规划,饭要一口一口吃,只要你做好切实可行适合于你的规划,并且一步一步的按着规划来做,达到目标就只是时间问题而已了! 另外有一点我想说一下,就是很多人认为“计划赶不上变化”所以这种规划性的东西就算写的再好以后也可能会“赶不上变化”。我认为吧,如果你还是在学校的学生,可以有这种想法,但是如果你已经入了职场,那么就别这样想了,除非你想做一个经常转行的人,那我就没办法了。我当年在学校被辅导员逼着写职业生涯设计(比赛)的时候,我也有过这种想法,并且觉得职业生涯设计时个扯淡的事情。但是后来工作后发现这个还是非常重要的,如我上文所述,是个不可或缺的东西,至少我这么认为,也确实给我带来了很好的收获。这个毕竟是个在你职业中导航的东西,就算有些和你的现实生活有些避免不了的小差距,但是至少一份好的职业生涯规划在大体上会给你一个方向性的指导,不至于让你在某些时候感到迷茫。

第二,职业规划能给你带来你想要的东西

有句老话叫做“无欲则刚”,我承认我是俗人,我没有那么坦然淡定的心态,我在某些时候甚至俗到想要鱼和熊掌兼得。但是,这错了吗??答案当然是没有。只要通过正当途径,你获得的越多,反而证明你越有本事。 有很多程序员总是有这样想法:现在我是不行,但是等过几年我有经验了,工资和职位自然就上去了。暂且不说这种想法对还是错,我先讲个真实的故事。我曾经有个手下,叫小Y好了,是09年的应届生,被公司招进来后安排在我手下当程序员。相处一段时间后,我发现小Y这个人能力很一般,也不愿意利用空闲时间学习(因为是吃技术这碗饭,所以我觉得学习真的很重要,后面会详谈),而且干活很粗糙,写的代码往往总是要我返工修改。当年年底我给他的绩效考评比较低,因此第二年加薪的时候,他相较于他的在其他部门当程序员的朋友要低很多(当时是一批招的),所以对我对公司有很大意见,后来我找他谈,我就很直接问他凭什么要求加薪水平跟别人一样?他回答我说他工资太低,来了一年还相当于应届本科水平。我说可是你的能力比某些应届生要差很多(当时我有另一个2010年本科应届生手下,能力非常强,起码有2年经验程序员的水平)。他就回答我说他有经验。所以看到这里,各位也也应该猜到了结局,不错,后来小Y走人了。

我讲这个故事看似和职业规划没有太大关系,实际上我觉得还是能说明一些问题的。也就是说,经验重不重要呢??毫无疑问,在任何行业,经验都是非常重要的东西,而且用钱也买不来。但是大家切记,不要认为单凭“经验”这东西就可以无敌了!比如你喜欢搞技术,你想以后当个牛X的架构师,但是你仅仅靠当程序员而不去学习相关知识,就算累积10年编码经验,也充其量只能到软件工程师的程度,到架构师的那道坎很难跨越过去。那么你想得到的,终究还是水中月,看起来很近,实际上还是很远。

有些朋友会说:我不想的到什么,我不想要什么,现在这样挺好,我也挺喜欢写代码的,职业生涯规划对我来说也就没什么用。好吧,我承认,这样的朋友境界比较高,我自愧不如。但是你要明白,你是生存在社会里面,你不是一个独立的个体,你有家庭,你将来会上有老下有小,甚至你还要担负你老婆的生活,我不知道当你的父母需要你养老,你的房车需要你还贷,你的儿女需要你缴学费,乃至于你的儿子需要娶媳妇(如果是女儿就赚了,哈哈)的时候还能不能有这种淡定的心态呢??还有,你们想想,当你30好几岁了,快40岁了,还和20出头的年轻人在一起写代码的时候,会是什么感觉??他们年轻力盛,充满激情,跟你当年一样,熬通宵,连续工作10小时,不规律吃饭,哼都不会哼一声,但是你呢?当你体力下降,记忆力下降,逻辑分析能力下降,思维开始迟钝的时候,你觉得你还拼的过他们吗??当你的公司为了维持一个仅仅有“经验”而其他各方面都不如年轻人,却还要支付高于年轻人一大笔工资的中年人的时候,你觉得公司会怎么做?我不知道各位看到这里有什么想法,反正我每每想到这种情况,我的后背会发凉,我会觉得很恐怖,真的很恐怖!所以你最好还是收起那份淡定,去努力的博取你所必须要博取的东西吧,职位,薪酬等等!想要这些,说容易也容易,做好职业生涯规划,自然总有一天能够达到目标。

当你做好了职业规划后,给自己定下一条线性的职场进化路线图,定下每个里程碑,每个小的关键点,包括为了达到这些里程碑和关键点所需要做的事情,或者需要累积的知识,那么这样在你日常工作中,你不会胡乱的去累积所谓的“经验”,而是有针对性的,有目的的去学习或者去巩固或者去锻炼你的能力,这样一来,日积月累,你就自然而然的按照职业规划的线路走下去了,反过来说,你就一步一步的实现了自己的目标,得到了自己想要的东西。比如我当年给自己顶下项目管理这条路,我在平时工作中就非常注意锻炼这方面的能力,比如跟客户沟通,比如撰写文档,比如协调团队,等等,另外,我也强制要求自己学习项目管理方面的知识,强化管理的理念和能力,并将理论用于实践,将书本上学到的项目管理知识,比如进度管理,成本管理,范围管理用于我现实的项目中,这样就形成了一种良性的循环,我学到的越来越多,工作也越做越好了。那么自然而然的我就从软件工程师到项目主管,再到现在的项目经理,我想要的,我确实得到了。 第三,职业生涯规划能够让你持续的学习

前面我在说小Y的例子的时候说到过,作为一名技术领域的人,持续学习是非常重要的,这是你在这片残酷竞争的环境下生存乃至拔尖的唯一方式。前面我说过,仅仅靠工作中的那点经验累积,对于我们的发展是肯定不够的,必须要通过充电来补充知识,才能推动我们的晋升。而很多搞软件的都面临一个问题,就是没有动力去充电,一想到看书就头大,还是写代码比较有意思。

其实大多数人都明白学习的重要性,只是真正能够做到持续学习的人实在是少之又少,你扪心自问,你每天看书(技术相关)时间有多少?大多数人少于两小时的,可能更多人会选择逛逛博客园或者csdn之类的网站罢了。学习的重要性我在这就不老生常谈了,大家读了这么多少年的书肯定就听了多少年,难就难在坚持。我去年考了复旦的在职硕士,今年考了软考的高级专业,信息系统项目管理师,为什么?因为我觉得我的知识不够用了,需要充电,需要接受更多的知识来帮助我达到我的职业规划目标,而这些考试,都是需要阅读大量的资料,学习大量的知识才能得以通过的,真心不容易!那么我的动力来自于哪里呢?就是来自于我的职业生涯规划。

5年前我给我自己的职业生涯规划大致是这样的:程序员→软件工程师→项目主管→项目经理→项目总监→CIO,越向后面每一步所花的时间和所付出的努力就越大,也就是说,我现在已经到达了项目经理的位置,如果要向前再迈一步,我必须要付出可能比前三步还要多的时间和精力,而我目前的水平还远远够不上项目总监,那么怎么办??学习!!!和修炼武功一样,只有通过学习理论以及将学到的知识应用到工作上产生经验的累积,才能让我真正的提升内功,达到下一个境界!

我目前正在备考软件架构设计师,明年上半年准备考系统分析师(都是软考的高级考试),下半年考PMP,后年上半年准备硕士论文答辩(这也是职业规划的一部分)。我想等到后年,7年+工作经验,加上我的知识累积,去拿下项目总监的位子应该是不在话下了吧,这样我就又完成了职业生涯规划的一步了。我现在每天保持至少4小时的学习时间,来补习我的基础知识以及专业知识,而我学习的动力,很大程度上就是来自于我的职业规划,我一定要向前迈出那一步,就算再辛苦,再劳累,也无法阻挡我的脚步!因此,给自己的职业规划,其实也是一个很好的鞭笞你持续学习的理由,无论什么事情,就算再困难,一旦有了动力,我相信就会坚持下去的!

说了很多,不知道我的意思大家能不能理解了,其实归纳一下,职业生涯规划是指导你,鞭笞你的工具,反过来也是你一步步需要去达成的目标,相辅相成,互相作用,最终的结果就是将你的内功修炼的炉火纯青,而你也可以凭借你强大的“武功”去获得你想要的一切!我希望所有看到这篇文章的软件从业者,特别是年轻的程序员们,都可以给自己做一份职业生涯规划,给自己定一条路线,让自己在这条路线上一步一步走下去。

非常感谢大家看完我的文章,欢迎指出我的不足之处,和发表您的观点和评论!! 2012.8.26 凌晨 by 熊绎

推荐第10篇:程序员的职业规划就像软件工程

程序员的职业规划就像软件工程

那家公司主要做些MIS系统,陈皓不仅获得了一定的实际工作经验和能力的锻炼,还习惯了软件公司高节奏、快学习、充满挑战的环境和氛围。这造成了他毕业后到银行工作时极度的不适应——效率低下,工作毫无激情,工作当中充满了相当复杂的人际关系和政治斗争。

最主要的是,由于初到银行,很多技术和产品从未见过,而主要实施却由外面公司来完成,银行自己内部中有经验的人又不愿意与人分享知识。虽然可以拿很多红包,整天也很清闲,不是看报纸就是打游戏,但陈皓感觉到那并不是自己喜欢的工作,没有任何激情和斗志可言。和大四时在那个软件公司中的技术氛围相比,完全就是天壤之别。

所以在银行工作的这两年,陈皓天天都在彷徨和思想斗争,“因为没有自己的职业规划,所以,浪费了至少两年的时间”。最后,陈皓打定信念,决意离开去寻找自己的道路。

“因为我是在一个相对比较闭塞的城市(昆明),所以,我要离开银行的决定遭到了父母、同学、朋友、同事,几乎是身边所有人的反对。但最终,我还是一意孤行离开了银行,远走他乡到上海这座大城市去寻找自己的人生道路。” “从此,我走上了一条不可回头,并和以前完完全全不一样的道路。”从国企到民企再到外企,从打杂到程序员再到高级程序员到team leader到技术主管,从小酒店MIS到企业OA到全国性的大系统到世界领先的分布式计算平台集群软件,“若干年过去了,经历了高速的发展和获得了很多不同的经历,但唯有当时选择离开银行这件事情让我至今都为之兴奋。迄今为止,这是我自己觉得最最有成就感的事情。”

正如陈皓所说,“也许,最让一个人感到最有成就的事情,不是他做成了什么,而是他选择了什么。” 认识自己

多年打拼后,陈皓虽已是技术主管,但走的那些弯路,浪费的两年时间,一路中的心酸让他明白了很多道理。“今天,我对许多刚上路的朋友都会说,人生的规则很重要,从上大学时就要好好规划,这对国人来说尤其重要。因为对于国人来说,人生的头20年都是被别人规划的,导致了自己根本不会给自己做规划。这点是相当危险的。”

人生短暂,属于自己黄金的时间不多,如果把太多的时间浪费在寻找道路和方向上,很有可能会导致一事无成,要及早确定自己的规划,然后照着这个规划坚定不移的去执行。陈皓认为,做规划时最重要的是两个方面:一是清楚地认识自己的能力、优势和性格;二是确定自己的专业和想从事的行业。只有在确定这两方面后,才能做出自己的职业规划。

两方面看起来很简单,但认识自己并不是一件容易的事情。陈皓认为应当从下面十五个方面审视和认识自己,帮助自己确立人生规划:A)所掌握的知识,B)问题的解决能力、判断能力和分析能力,C)对待困难的心态,D)团队合作能力,E)表达能力和语言组织能力,F)创造和创新能力,G)沟通能力,H)自己的性格内向还是外向,I)是否有坚韧不拔的专研精神,J)自己的弱点和性格上的缺陷,K)学习能力,获得知识的能力,L)领导组织能力,M)目前自己能够进入的企业,N)目前自己在社会中的地位,O)目前自己的竞争实力。

职业规划就像软件工程

确定了自己的行业和专业领域后,接下来的事情应该是:1)努力掌握这个行业的知识,2)用最短的时间了解这个专业和行业更为具体的各个子方向。然后在实际过程中再认识自己。比如,选择了计算机行业,应该尽量地尝试软件、硬件、网络、娱乐、媒体等计算机行业不同方向的工作,如果从事软件,又分Web、系统、项目、ERP、CRM、数据库、嵌入式……,在工种上又分开发、测试、技术支持、流程管理,项目管理,系统架构,售前,售后……。当然,我们并不需要去尝试所有的工作或工种才能知道自己适合什么,我们完全可以向从事不同方向的人咨询并结合自我认识来做出判断。

在这个过程中,迷茫的摸索可能是很难避免的。能够及时得到前人的指点可能会是一个捷径,征求前人的建议可以起到参考的作用,快速原型(快速尝试)或许也是好的办法。因为人与人不同,他人的路并不一定适合自己,适合自己的路还要自己去规划,别人是帮不上忙的。

要经常性地跳出自己再来看自己,客观地分析自己的优势和劣势。让自己和别人掂量掂量自己到底几斤几两,了解到自己的长处和特点,然后才能知道自己适合做怎么样的事和并调整自己的职业路线,这是一个“肯定到否定再到肯定”螺旋上升的进化过程。当度过对自己对社会的“陌生期”后,才有谈得上对自己人生和职业的规划。

个人的职业规划就像软件工程。我们都知道软件项目最大的敌人是需求的不明确和需求的大面积变更,同样,在个人的职业规划中,自我需求的不明确和需求的变更也是非常危险的,尤其是在职业计划实施了四五年后需求的变动和改变。只有需求确定以后,才谈得上个人的职业设计的HLD(High Level Design)和LLD(Low Leave Design),以及具体实现。此后随着自身的日益成熟,可以随时为自己的Bug打补丁(Patch)改进自己的职业生涯的设计和实施细则(Enhancement),并为自己加上更多更强的能力(New Feature Requirement)。最终达到软件版本的升级。

第11篇:2程序员升职路线_程序员职业规划

程序员升职路线_程序员职业规划

今天乔布简历具体和大家说说程序员升职路线,程序员职业规划。

关键词:程序员升职路线,程序员职业规划

程序员的发展一般是这样子的,先从一名程序员发展至软件工程师,到架构师,再到系统分析师或项目管理师,最终成为一名技术总监,或项目总监甚至CTO、COO或CIO等高级职位。也有程序员后来进入到测试领域,然后成为QA或QC,最终成为质量总监等。

下面说说程序员的职业规划,有三点:

1、程序员首先要提高系统设计的能力。现在很多的程序员不是按照应该如何设计得最好来做,而是按照自己会什么来做的,最终就造成设计的思想落后。现在做项目还是需要新的、巧的设计思想。

2、已经工作两年以上的程序员有以下这几种基本的职业规划:技术专家、软件架构师、实施顾问或者销售。

(1)程序员最主要的发展方向是资深技术专家,无论是Java还是数据库领域,都要首先成为其的专家,然后才可能继续发展成为架构师。

(2):实施顾问与销售就比较偏向市场。除了有一定的技术能力外,还需要掌握很多IT以外的知识。这些发展方向其实对于从其他专业转入IT的人员更为适合。

3、对大多数程序员来说,首先要专,在技术上做的深入,然后再进行工作调整,把自己转变成为某个领域内的专家,最后根据自身的情况,决定是做软件架构师还是高级的顾问销售。

总之,每个人至少每三年要点评一下自己:究竟是环境,还是自己个人的原因,如果是环境,可以考虑是否换地方,如果是自己的原因,可调整自己或将设的目标现实一些。因为从一个普通的程序员做起,3年时间是能够做到做独立需求分析和设计的。

希望这些内容对于找工作中想要考虑程序员的同学能有所帮助。

程序员升职路线_程序员职业规划

第12篇:程序员职业规划含封面(定稿)

程序员职业规划Personal Career Planning

姓名:

部门:

学号:

在中国有很多人都认为IT行业是吃青春饭的,如果过了30岁就很难有机会再发展下去!其实现实并不是这样子的,在下从事.NET及JAVA方面的开发的也有8年的时间了,在这里在下想凭借自己的亲身经历,与大家一起探讨一下。

明确入行的目的

很多人干IT这一行都冲着“收入高”这一点的,因为只要学会一点HTML、DIV+CSS,要做一个页面开发人员并不是一件难事,而且做一个页面开发人员更容易找到工作,收入比普通的工作还要高一些,所以成为了很多高校毕业生的选择。如果您只是抱着这样一个心态来入行的话,那阁下可真的要小心。因为干IT这一行竞争本来就比较激烈,特别是页面设计这方面,能够开发的人很多,所以为了节省成本在大部分公司都会在需要的时候才招聘这类人员,在没有订单的时候一些小公司还可能找各类的借口或者以降薪的手段去开除这类员工。而在招聘信息上常常会看到“招聘页面设计师,条件:30岁以下……欢迎应界毕业生前来应聘”这样一条,因为这一类工员对技术上的要求并不高,找应界生可以节约成本。所以在下觉得“IT行业是吃青春饭的”这句话只是对着以上这类人所说的,如果阁下缺乏“进取之心”,而只抱着“收入高,容易找工作”这样的态度而入行,那“IT行业是吃青春饭”将会应验了。

选择合适的工具

JAVA、C#、PHP、C++、VB……10多种热门的开发语言,哪一种最有发展潜力呢?其实开发语言只不过是一个工具,“与其分散进攻,不如全力一击”,无论是哪一种开发语言,只要您全力地去学习,到有了一定的熟悉程度的时候,要学习另一种的语言也是轻而易举的事情。开发语言主要分为三大类:

1.网络开发 现在网络已经成为世界通讯的一座桥梁,好像Javascript、PHP、Ruby这几类开发语言大部分是用作网络开发方面

2.企业软件开发

JAVA、C#、VB这几类开发语言都实现了面向对象开发的目标,更多时候用于企业系统的开发

3.系统软件

C语言、C++、Object-C这些软件更多是用在系统软件开发,嵌入式开发的方面。

当然,这分类不是绝对,像JAVA、C#、VB很多时候也用于动态网站的开发。在很开发项目都会使用集成开发的方式,同一个项目里面使用多种开发语言,各展所长,同步开发。但所以在刚入门的时候,建议您先为自己选择一种合适的开发工具,“专注地投入学习,全力一击”。

明确发展方向

当您对某种开发语言已经有了一定的了解,开始觉得自己如同“行尸走肉”,成为一个开发工具的时候,那您就应该要明确一下自己的发展方向了。

平常在公司,您可以看到做UI层的开发人员大多数都有20多岁,他们充满干劲,而且没有家庭负担,在两年前ASP.NET MVC、Silverlight等刚出现的时候,他们可以在晚上回家的时候买几本书或者直接上网看看,研究三五个星期以后,对需要用到技术就已经有一定的了解了。而年过30的人多数是已经成了家了,他们每天9:00点上班唯一的希望就是快些到6:00点,能回家吃饭。吃完饭只想陪孩子玩一下,看看孩子的功课,对新增的技术缺乏了学习的欲望。所以很多接近30岁的程序员都有着一种逼迫感(包括30岁时候的我自己),再过几年应该怎么办?这时候,您就更应该明确一下目标,努力向自己的发展方向前进了。归纳一下,可从下面几项里选择适合自己的一条道路:

1.从技术向业务过渡

在国外,很多发达国家都很重视人才,一个高级的程序员与一个Project Manager收入相差一般不超过15%。(注:关于收入差距,请参见伯乐在线报导的这篇资讯《2011年美国IT从业人员的薪资调查》,有的甚至超过项目经理。)但中国是世界上人口最多的国家,国内人才众多,所以人才滥用的情况经常可以看到。一个小公司的开发部里面经常会见到新面孔,但PM却不会常换。因为做老板的对技术是一窍不通,依他们看来只到拉住PM的心,那技术方面方面就能搞得定,至于技术部要换人,他们根本不需要费力气去管。所以从一个技术员过渡到一个PM是一条向前发展的一个选择,但开发人员也需要知道,要成为一个PM不单单是使用技术,而更重要的是对管理方面认识。一个PM主要的工作是组织团队,控制成本,管理业务,控制项目进度,与客户进行沟通,协调工作,定期进行工作报告等。所以要成为一个成功的PM更要重视组织能力,PM必须能提高团队的积极性,发挥团队所长,在有限的开发资源前提下为公司得到最大程度上的利润。成为一个PM后,通常不需要直接接触技术开发,而着重管理的是业务发展,但PM对技术也需要有一定的了解(在下曾经为PM对技术了解的必要性写过一篇文章,得到很多支持但也惹来不少的争议)。在这里我还是要强调自己的观点:要成为一个成功PM最重视的是管理能力,但对技术也应该有足够的了解,因为这是与团队成员沟通的桥梁,只有这样才能与整个团队的成员有着紧密的结合,让团队成员感觉到他们自己存在的意义,从而调动团队的积极性,而不是漠视技术人员的存在。技术并非成为一个成功PM的充分条件但却是必要条件!

2.从程序员向技术管理发展 其实一个Team Leader的职责与Project Manager相像,但Team Leader更着重于技术开发方面,通常一个大型项目都会有一两个开发团队由Team Leader带领,负责开发核心部分,而其它部分分派给不同开发小组或者分派给外包公司。在网上常看到几句话,贴切地形容了PM与TL的区别:“技术人员乐于被领导;但他们不喜欢被管理,不喜欢像牛一样被驱赶或指挥。管理者强迫人们服从他们的命令,而领导者则会带领他们一起工作。管理是客观的,没有个人感情因素,它假定被管理者没有思想和感受,被告知要做什么和该如何做。领导是引领、引导,它激励人们达成目标。领导力是带有强烈个人感情色彩的,它不是你能命令的,也不是你能测量评估和测试的。”

无论是PM与TL,对业务与技术都要有深入的了解,只是PM更侧重于业务的管理,盈利的多少,风险的大小等等,而TL则侧重于项目的成本,开发的难度,软件的架构等技术方面的问题。在某些人眼中,技术与管理就像鱼与熊掌,不可兼得,但依在下看来,两者却是秤不离砣,密不可分。只要及时提升自己对技术与管理的认识,不断地向深一层发展,要从程序员提升到技术管理人员只是时间的问题。打个比方,一个普通的.NET程序员,开始可能限制于ASP.NET的页面开发,但一旦他有了发展之心,他自然会对ASP.NET MVC、Silverlight、WinForm、WPF这些UI的开发手法感到兴趣,学习不需要多少时间,他可能就会认识这些UI开发只不过是一些工具,其实在开发原理上没什么区别。接着他就会向深一层的通讯模式进行了解,认识TCP/IP、Web Service、WCF、Remoting这些常用到的通讯方式,这时候他可能已经感觉到自己对开发技术有了进一步的了解。进而向工作流、设计模式、面向对象设计、领域驱动设计、面向服务开发等高层次进发,最后成为技术的领导者。上面只是一个比喻,但要注意的是,在学习的时期必须注意的是与同事之间沟通,很多的开发人员喜欢独来独往,开发的项目总想一个人搞定,不受外界的干扰。但要明白,就算你有天大的本事,一项大型的项目也不可能由你一个人全扛着。所以团队的合作性与同事间的沟通是必要的,这也是成功一个TL的必要条件。 3.单方面向技术发展

能成功技术开发的尖端人才,这是在下最向往的工作,却也没本事登上这个位置。很多从事开发的人都会认为,业务总会带着“金钱的味道”,老板从来不管开发是否合符开发原则,有否经过必要测试,他们只会在客户面前无尽地吹嘘,项目到期能成功交货,只要不出什么大问题那这个项目就算成功了。其实我们也要明白:开发项目最终目标是为了赚钱,在开发过程中对项目成本的限制和效率的控制这也是必须,所以这才需要管理人员对项目进行管理。但开发人员也很想避开这 “金钱的尘嚣”,全情投入到技术的世界的当中。所以对技术有着浓厚兴趣的人,往往会深入地研究某一项技术,成为技术上的精英。但在这里说一句令人心淡的话:中国已经属于是世界上第二大经济体同盟国,但国民生产总值主要来源于第三方加工产业方面。中国可以说是人才济济,但却在高新产业上却比发达国家落后。这几年的确看到我们国家在高新科技上有着质的飞跃,但跟欧美发达国家还有着一段距离。所以想在中国成为尖端技术的人才,无可否定比在国外要难。依在下看来,要想成为尖端的开发者,必须对C、C++、汇编语言、嵌入式开发、Windows API、Linux API这些底层技术有着深入的了解。要知道解JAVA、.NET……等这些之所以称为高级开发语言,并不是指它们比C、C++、汇编语言更高级,而是指它们封装了C、C++等等的功能,更适合用于企业软件的开发,使开发变得简单。但如果要开发一些底层的软件,大型的系统的时候,就必须用到C、C++、汇编等开发语言,这是成功尖端人才的一个条件。

确定未来的目标

人是从历练中成长的,古人云:三十而立,形容的不是一个人的社会地位,经济来源,而是形容一个人对未来的目标,对人生的意向。要成为一个成功人,就应该早日为自己定下长期的发展目标,作为一个开发者也当如此。随着人的性格,取向各有不同,大家为自己所选择的路也有不同: 1.自立门户,勇敢创业

快30岁了,很多人会认为要想真正赚得了钱,就应该自立门户,为自己创业建立一个基础。像北京、上海、广州这些一级城市,要买房子,一手楼基本要在 2万~4万元/平方米左右,而在一家普通的IT公司当上一个项目经理,基本收入一般都在1.5万~3万之间(除非在大型的跨国企业内工作,那另当别论),要买一间100平方米左右的房子,就算不吃不喝也几乎要10年的年薪,所以选择自主创业,是很多IT开发人员的一个未来目标,想要达到这个目标,就应该更多地把业务作为重点。不可否认的一件事,在中国社会里很多时候讲的是“关系”,即使这30年的改革开放使中国的经济蓬勃地发展起来,但几千年来留下的歪风还是不能完全的磨灭。所以想要创业的人事建议你要多跟客户打好关系,与合作伙伴保持互利互动的模式,这将有利于日后事业的发展。

2.急流勇退,退居二线

这也是不少人的选择。很多人在有了家庭以后,感觉到压力太大,人的一生并非只有事业,他们想把更多时间用于对亲人的照顾,对孩子的关心上。所以很多人会选择一份像系统分析、系统维护、高校教师、专业学院讲师这一类的工作。收入稳定,而且往往没有一线开发人员那么大的压力。

3.不懈努力,更进一步

无论你是一个Project Manager或者是Team Leader,如果你想继续晋升一级,那还是会两极分化的。从一个PM到一间公司的管理层,那所面对的事件会有很多变化。一个公司的总经理,要管理的不再是一到两个项目的成本,而是整个部门的运作,整间公司的业务流程,所以要肩负的任务的会更重。在下曾经有一位上司彭博士,他是企业的最高领导人,年薪超过三百万,而且在报纸杂志上也曾经亮过相。平常只会在某些会议上轻轻地亮下相,说两句讲词,平常的公司运作与业务管理都不需要他直接执行。这并不是说一个作为管理层很清闲,因为他们要面对的是更多的社会关系,与公司合作企业的联系上。这跟一个PM的工作的很大的区别,所以要从一个PM晋升到管理层,那可是要负出更多的努力与汗水。

如果要从Team Leader上升为一个技术总监,那工作的方向也有所改变。像之前所说:一个TL可能更重视的是技术层面,讲求与团队之间的互动合作性,更注重的是开发的完善。而一个技术总监就无需要直接参加某个项目的开发,而注意的是开发的效率与成果,如何合理使用有限的开发资源,控制开发的风险和可能带来的效果。

发展感受

经历了8年多时间,在下从一个程序员到一个项目经理,之间经过很多的曲折,但因为每一个人的际遇都有所不同,所走的路也有不同,正所谓条条大路通罗马,成功的路不止一条,在下也不想令各位误解,而只想为大家说一下我的发展方向。如果您是一位开发人员 程序员->架构师->Team Leader(Project Manager)->技术总监 是一条不错路,这也是在下选择的路。在我国,想要进一步提升自己,无论你想是以技术为重点还是以业务为重点,都离不开管理二字。在一些大型的企业,一个团队往往会配备一个PM与一个架构师,尽管两个人负责的任务各有不同,但你会看到一个架构师的收入往往不如一个PM,PM往往是这个团队的核心领导者,是关键人物。因为公司能否赚钱,PM有着重要的作用。PM与TL并没有绝对的区别,而且在一些中小型企业,一个开发团队只有3~5人,一个TL往往会兼备业务处理、成本控件、架构设计、开发管理等多项任务。所以在下会把Team Leader与Project Manager定于同一层次,一个公司的老板往往不会知道团队的架构师、程序员是何人,而只会向PM询问项目的进度,所以只有晋升到这个层次,才有机会进一步提升管理能力,让自己有上升的空间。置于要成为一个技术总监,那要求就不再单单是对单个项目的管理,而应该更则重于新兴技术的引用,开发资源的合理利用,对开发项目敏捷性的处理等等,对此在下也在试探当中,未敢多言。

第13篇:java程序员如何做好职业规划

java程序员的职业规划如何做?

java程序员职业规划经验分享。生涯设计公益网()职业规划专题组推荐。

本文主要介绍java程序员的职业规划 ,希望能给想在java程序发展,还没有职业规划的朋友一些启发。

(一)java程序员职业规划步骤

java程序员职业规划第一步:

1、基础必备:至少看过2本语言基础书和一本领域技术书。

2、部分参与项目1-2个。

所需时间:3-12个月

java程序员职业规划第二步:

1、行业知识领悟、扩展相关应用知识。

2、完整参与项目1-2个。

3、可以指导新人完成工作。

所需时间:6-12个月

java程序员职业规划第三步:

1、深刻理解面对对象知识。熟悉常用架构,对公司采用的架构能提出改善意见。

2、参与需求讨论并能提出简化方案。

3、能为决策提出一些建议。

java程序员职业规划第四步:

1、能够对整体需求方案做出精确描述。

2、运用一种架构对项目、产品进行设计。

3、评估项目风险、以及预留方案。

4、实现核心组件、技术难关。

5、行业技术指导。

(二)java程序员职业规划要点

(1)只会编程是不够的

仔细思考在哪个商业领域投入时间。软件工程师(软件工程培训 )不能只会开发软件,应该要成为这个业务领域的专家。你的行业经历应该成为你的重要才能。有机会多与公司行业内人士接触,选择一本与你公司行业有关的杂志,找一个行业网站。只有了解了一个行业后,你才能创造性地有所建树。学习行业是如何运转的,了解一些财务基本知识。

(2)在思维上投资

要学会抓住机遇。

多学习新的技术,编程语言,可以改变你的思维方式。

(3)做一名通才

你的技术水平应该超越技术平台。

经常学习一些新技术。

(4)成为一名专家

不仅应该会处理高端抽象,同时也应该了解实现高端抽象的低端细节。

(5)切忌孤注一掷

不要把自己的职业发展完全依赖于一家技术公司。

(6)寻找良师

可以依赖别人,但要确保这个人是靠得住的。良师的首要任务是榜样作用,还可以将你的学习过程形成体系,也是值得信任的朋友,可以帮助你作出职业导向,帮助你磨练技术。

(7)安分守己

要有雄心,但不必路人皆知。专注于现在的工作,不仅让你更加快乐,也会让你身边的人更加快乐。你的同事,上司和客户都能感觉到。你的工作成绩会反映出你的态度。放弃你想要成功的期望可以提高你的能力,让你走向成功。不要关注结果,要关注做事的过程。

(8)每天都有进步

如果在改善自己的道路上,每一天都比昨天多作出一点改变,就会发现—-拥有卓越的职业生涯,越来越容易达成,而不再像汪洋大海一样没有边际。

第14篇:程序员的职业规划就像软件工程(推荐)

程序员的职业规划就像软件工程

作者: 王玉磊 出处:Csdn

阅读提示:本文通过陈皓的自身的职业选择经历来说明程序员的职业规划要像软件工程一样要有目标、计划地去实施。

电信、银行等行业一直是许多人非常向往的工作单位,清差厚禄,旱涝保收,陈皓却不以此为然。所以当记者采访他的时候,他连用了两个“最”字来形容他离开银行的成就感。

陈皓毕业后的前两年就职于云南省工商银行,从事银行电信内全国性业务系统开发。后来在全球最大的网格计算/分布式平台软件公司从事研发工作,熟悉Unix系统以及C/C++语言,擅长大型系统软件需求分析、设计、架构、实施和维护,目前是某全球金融信息数据处理公司的技术主管。

随波逐流

回想当初,陈皓颇有感慨。还在大三的时候,他就被系里优先推荐给了工行。那时他参与了系上的一个项目(用HTML+Java开发一个在线教学课件),由于当时国内根本买不到HTML和Java的书,而学校也没有上网条件,所以关于HTML和Java对系里的老师都是比较新的东西,当开发完成后,系里对此评价比较高。因此就在大三下学期把陈皓推荐给了工行。

由于早早地被银行“预定”,所以陈皓的大四生活很自由,整个一年他基本是在一家很小的软件公司打工度过的。就是在那家公司工作的经历,让陈皓后来产生了离开银行的念头。

那家公司主要做些MIS系统,陈皓不仅获得了一定的实际工作经验和能力的锻炼,还习惯了软件公司高节奏、快学习、充满挑战的环境和氛围。这造成了他毕业后到银行工作时极度的不适应——效率低下,工作毫无激情,工作当中充满了相当复杂的人际关系和政治斗争。

最主要的是,由于初到银行,很多技术和产品从未见过,而主要实施却由外面公司来完成,银行自己内部中有经验的人又不愿意与人分享知识。虽然可以拿很多红包,整天也很清闲,不是看报纸就是打游戏,但陈皓感觉到那并不是自己喜欢的工作,没有任何激情和斗志可言。和大四时在那个软件公司中的技术氛围相比,完全就是天壤之别。

所以在银行工作的这两年,陈皓天天都在彷徨和思想斗争,“因为没有自己的职业规划,所以,浪费了至少两年的时间”。最后,陈皓打定信念,决意离开去寻找自己的道路。

“因为我是在一个相对比较闭塞的城市(昆明),所以,我要离开银行的决定遭到了父母、同学、朋友、同事,几乎是身边所有人的反对。但最终,我还是一意孤行离开了银行,远走他乡到上海这座大城市去寻找自己的人生道路。”

“从此,我走上了一条不可回头,并和以前完完全全不一样的道路。”从国企到民企再到外企,从打杂到程序员再到高级程序员到team leader到技术主管,从小酒店MIS到企业OA到全国性的大系统到世界领先的分布式计算平台集群软件,“若干年过去了,经历了高速的发展和获得了很多不同的经历,但唯有当时选择离开银行这件事情让我至今都为之兴奋。迄今为止,这是我自己觉得最最有成就感的事情。”

正如陈皓所说,“也许,最让一个人感到最有成就的事情,不是他做成了什么,而是他选择了什么。”认识自己

多年打拼后,陈皓虽已是技术主管,但走的那些弯路,浪费的两年时间,一路中的心酸让他明白了很多道理。“今天,我对许多刚上路的朋友都会说,人生的规则很重要,从上大学时就要好好规划,这对国人来说尤其重要。因为对于国人来说,人生的头20年都是被别人规划的,导致了自己根本不会给自己做规划。这点是相当危险的。”

人生短暂,属于自己黄金的时间不多,如果把太多的时间浪费在寻找道路和方向上,很有可能会导致一事无成,要及早确定自己的规划,然后照着这个规划坚定不移的去执行。陈皓认为,做规划时最重要的是两个方面:一是清楚地认识自己的能力、优势和性格;二是确定自己的专业和想从事的行业。只有在确定这两方面后,才能做出自己的职业规划。

两方面看起来很简单,但认识自己并不是一件容易的事情。陈皓认为应当从下面十五个方面审视和认识自己,帮助自己确立人生规划:A)所掌握的知识,B)问题的解决能力、判断能力和分析能力,C)对待困难的心态,D)团队合作能力,E)表达能力和语言组织能力,F)创造和创新能力,G)沟通能力,H)自己的性格内向还是外向,I)是否有坚韧不拔的专研精神,J)自己的弱点和性格上的缺陷,K)学习能力,

获得知识的能力,L)领导组织能力,M)目前自己能够进入的企业,N)目前自己在社会中的地位,O)目前自己的竞争实力。

职业规划就像软件工程

确定了自己的行业和专业领域后,接下来的事情应该是:1)努力掌握这个行业的知识,2)用最短的时间了解这个专业和行业更为具体的各个子方向。然后在实际过程中再认识自己。比如,选择了计算机行业,应该尽量地尝试软件、硬件、网络、娱乐、媒体等计算机行业不同方向的工作,如果从事软件,又分Web、系统、项目、ERP、CRM、数据库、嵌入式……,在工种上又分开发、测试、技术支持、流程管理,项目管理,系统架构,售前,售后……。当然,我们并不需要去尝试所有的工作或工种才能知道自己适合什么,我们完全可以向从事不同方向的人咨询并结合自我认识来做出判断。

在这个过程中,迷茫的摸索可能是很难避免的。能够及时得到前人的指点可能会是一个捷径,征求前人的建议可以起到参考的作用,快速原型(快速尝试)或许也是好的办法。因为人与人不同,他人的路并不一定适合自己,适合自己的路还要自己去规划,别人是帮不上忙的。

要经常性地跳出自己再来看自己,客观地分析自己的优势和劣势。让自己和别人掂量掂量自己到底几斤几两,了解到自己的长处和特点,然后才能知道自己适合做怎么样的事和并调整自己的职业路线,这是一个“肯定到否定再到肯定”螺旋上升的进化过程。当度过对自己对社会的“陌生期”后,才有谈得上对自己人生和职业的规划。

个人的职业规划就像软件工程。我们都知道软件项目最大的敌人是需求的不明确和需求的大面积变更,同样,在个人的职业规划中,自我需求的不明确和需求的变更也是非常危险的,尤其是在职业计划实施了四五年后需求的变动和改变。只有需求确定以后,才谈得上个人的职业设计的HLD(High Level Design)和LLD(Low Leave Design),以及具体实现。此后随着自身的日益成熟,可以随时为自己的Bug打补丁(Patch)改进自己的职业生涯的设计和实施细则(Enhancement),并为自己加上更多更强的能力(New Feature Requirement)。最终达到软件版本的升级。

第15篇:程序员职业规划:让自己变得重要

转贴–程序员职业规划:让自己变得重要 2009-02-03 15:07 昨天在Better Software Magazine上看到一篇文章Make Yourself Eential(杂志不在手边,文章名和杂志期号都记不清了),谈到了IT市场变幻,程序员风光不再,身为程序员应该怎么应对。作者开篇明义:工作外包,公司裁员,是公司的错么?当然不是!一切都是程序员的错。当我们技术沦为大宗商品(所谓大宗商品,就是说商品和商品间的区别主要就是价格了)的时候,我们被收费更低的竞争对手代替的日子也就不远了。而随着技术的进步,很多编程技术也就不可避免地成为大宗商品。而要想增加自己的重要性,变成公司不可缺少的人才,全在程序员自己的努力。为此,作者建议程序员学习企业家精神来提高自己的能力和地位。也就是说,我们的技术相当于我们的产品,那怎么才能让人们需要我们的产品呢?作者提出了四个步骤:

调研。如果你是一家公司的CEO,你会不会因为一个产品有趣,或可能有买家,就轻易投资?显然不会。同理,我们时间精力有限,怎么也不该去学习屠龙术。这点其实对CSDN上很多小萝卜头应该有所启发。成天钻研些i+++++i实在浪费时间。一个企业家在投资前,会花费大量时间精力调研投资可行星。以此类比,我们程序员也应该仔细思考,自己到底应该学习什么东西。作者提出了一些通用的指南,比如学习还处在上升阶段的技术,不要花太多时间在过于大众化的技术,除非你在那方面出类拔萃,等等。

投资。对普通程序员来说,我们的资本就是时间。投资重在持之以恒,放长线吊大鱼。我们应该每周都安排出一定的时间来学习。当然,时间也不要太长。过重的负担只会让人半途而废。学习的要点之一是勤练。普通的程序员只在工作中练手,显然不够,就好像一个优秀的音乐家不会在面对听众时才练习一样。台上10分钟,台下10年功,是为至理。Pragmatic Programmer的作者Andy在他的网站上推出一系列的Code Kata,给不知道怎么练习的程序员提供练习的素材。另外,单纯的编程已经不够了。了解业务逻辑,了解管理流程,能把自己的技术和商务结合起来,解决实际的问题,才大有作为。作者建议我们有空读行业杂志,和做业务的同事多交流。

营销。没人知道的功夫不算功夫。让同事,让老板,让同行知道你的技术非常重要。争取在工作中应用新的技术。向人们展示应用你学到的东西后的功效。参加各种业内会议,结识同行。在新闻组上回答额为那提。写文章,写书。这些都是利人利己,也增加自己影响力的途径。

执行。学以致用。尽量把自己所学用到工作中去。工作态度也很重要。没有那项工作所有任务都有趣。但如果我们致力于完美地完成任务,单调的事也可以变得有趣。

如果对这些职业规划感兴趣的话,Pragmatic Programmer的另一个作者Dave的How To Keep Your Job是必读材料,非常有启发性。 程序员的个人发展

技术&管理&做人&行业

每天晚上,请你问自己这些问题: 1, 今天我是否克服了技术上新的困难?

2, 今天我是否多读了一些新书?

3, 今天我是否就某方面的问题与人进行了交流?

4, 今天我是否多认识了一个新同事或新朋友并准备与他们保持联络?

5, 今天我是否更多的接触到身处的行业需求,现状,和发展? 精通技术

精通技术是技术人员的根本要求,也是技术人员人生发展的必经之路,只有首先精确掌握一门技术,才能触类旁通的掌握其他技术。精通技术不仅仅是为了精通技术,而是为了触类旁通,为了掌握精通技术的学习方法,研究方法,体会身处技术顶点的感受和境界,这样,下一次准备或需要进入另一个领域时,才会有明确的目标。

为了精通技术,就要有以工作为乐的精神。不主张过于频繁的换工作(常常被认为是不热爱工作,不适应环境,或者不忠诚的表现)。以工作为乐,才会投入更多的精力和时间,才能够飞快成长,成为该方面的能手。以工作为乐,是朝着技术高峰阔步迈进的享受过程。

如果仅仅的是以工作为乐,仅仅号称自己喜欢工作,而没有“朝着技术高峰阔步迈进”,则是一种浪费。要做工作和生活的有心人,才不会迷信技术,才会避免骄傲,才不会在达到某个水平以后停步不前。不仅要做有心人,还要学会研究。研究该门技术的发展方向,该门技术最好的学习方法,在该门技术上取得突出成就的道路,和激励自己沿着正确的方向前进的诀窍。做好了这些问题的研究,就会在以工作为乐的境界中做出超凡的成绩。

总之,

1, 反对不认真对待技术。

2, 反对不热爱工作,一心旁鹜。

3, 做生活和工作的有心人。 懂得管理

懂得管理,既要学会管理,也要学会配合管理。那些对所有人和所有事情都吹毛求疵的人是不适应社会的,也是不容易成功的。懂得管理,既要学会管理工程(进度,过程,资源,需求分析,客户交流),又要学会管理人。要重视团队建设,重视团队的合作,重视团队的文化建设,重视团队的凝聚力,重视管理者的个人感染力。

在用户不能提出明确的需求的情况下,要综合经验,替用户提出明确的需求。

符合标准的过程控制,方法论的实际应用可以引导工程有一个可期望的好结果。否则就是运气的功劳。资源的合理配置,建设一个每个人舒适工作的环境,不要让你的组员不得不总是把精力放在环境建设等问题上,是让人做出更大成绩的捷径。

与人畅快交流的能力,成为软件人员必备的素质之一。懂得行业的知识就从这里开始。

那些单纯学过管理的人,无论进入那一个行业,都需要不断的迅速的学习一些关于该行业的专门知识,至少是名词术语,基本原理,关键技术,主要应用。这样的了解初步管理知识的人,一定不要对技术人员指手画脚,否则一定得不到应有的认同,反之,如果他们从过程本身的流程或者方法论等方面提出建议,就可以更好的体现自己的价值。 进入行业

软件工作,离不开行业,尤其是应用软件。一个仅仅懂得实现技术的人,是不够的。所以一定要拓展你的知识,对你所处在的行业有一个更全面,更准确,更实质性的了解。

软件人员看到需求分析,常常想到如何去实现它,而不会认真的去研究这份需求,站在用户的角度上来做更多的工作,这是值得软件人才所注意的。

研究你所在的行业,也需要有一种系统的方法。了解其中的关键点是进入这个行业的捷径。了解触及该行业更多方面的关键点,是掌握这个行业的必经之路。对该行业做系统的总结分析,是深入该行业的目的。初步的研究成果经过更多的提炼和交流,就会成为金子般的智慧。

以下是几点建议:

从点滴做起。先做好那些你力所能及的工作。标准化你的行业。你所处的行业虽然确定,但是每一家公司的需求各不相同。掌握他们做事情的流程,可以帮助你做好标准化。同时学习那些该行业的标准,以用户的标准为标准,更加深刻的理解标准,是代替用户做好标准化的方法。

掌握核心技术。任何行业都有核心技术。掌握某一项核心技术,就可以让你进入这个行业并在其中生存,反之仅仅浅尝辄止,就会让你遭遇失败,抱怨不公。

影响你职业发展的几项能力

1, 研究问题的能力

2, 影响他人的能力

3, 个人履历

请相信以下观念 1,教育不是万能的。希望学校或者任何一个教育机构为你准备所有的知识,能力,水平,是不可能的。最好的大学是自己和无字书。

2, 成长在工作中。工作中的表现和积累才是人生腾飞的实际动力。 1,教育不是万能的。希望学校或者任何一个教育机构为你准备所有的知识,能力,水平,是不可能的。最好的大学是自己和无字书。 2, 成长在工作中。工作中的表现和积累才是人生腾飞的实际动力。 从今天起,请做好

1, 培养你自己更广泛的兴趣,并坚持你的人生目标

2, 锻炼你的演讲能力 3, 多认识朋友,以他们为荣

4, 培养你的远见卓识

程序员职业规划!(文中多次引用韩少云老师的话) 很多人刚毕业时充满活力,然而几年的摸爬滚打后,冲劲就会慢慢减弱甚至消失。再加上IT大环境的

起伏不定,一旦无法跟上技术或者行业发展的步伐,便会迷茫。王洪超说:\"以前晚上睡觉之前想事情,

经常都不知道自己以后做什么。\"

这并不奇怪,工作的新鲜感褪程序员首先需要提高系统设计能力。从2000年以后,软件业的编程思维

和模式、方法发生了翻天覆地的转变,与九十年代、甚至2000年前是完全不同的。但是,很多在企业工作

的程序员的知识架构很难跟上。中科天博谢新华老师直率的指出:\"现在很多程序员不是按照应该如何设

计最好做得,而是按照我会什么来做的,最终造成设计思想落后。现在做项目需要的是新的、巧的设计思 想。我们可以将从无数次失败中得到的理念告诉他们,包括如何学习,如何思考,技术变化的原因在哪里

,其核心在哪里。这样程序员的理解力就会完全不同。现在,对程序员的要求降低了,但对系统设计的要

求提高了。所以程序员必须要提高系统设计的能力,否则永远出不了头。\"

而曾经从事过宏观经济研究工作的李巨锋更喜欢从行业走向来谈问题。他说:\"现在中国纯软件公司

不多,但是,中国的经济非常好,从整个社会的经济和行业角度可以得出很多有价值的内容。很多人不了

解行业的需求情况,因此做不了判断。\"

跟随一个快速发展的行业,就比较容易取得发展,而在一个发展缓慢的行业中成功就比较困难。当然

,有了市场容量有多大和机会,并不代表一定会成功,但没有这个因素成功的几率会更低。工作一两年的 人,最关键的是要有一个方向感,不要太盲目,这就需要程序员有一定的判断力。

李巨锋认为,电信行业新增的市场容量每年有1万亿,而且由于是新增市场,人员也比较容易进入。

此外,中国的手机市场非常大,由于无线应用的迅速发展,可以预料,基于手机和电信结合的软件的就业

前景就比较好,事实证明,很多人也在向这个方面转变。达内的成功与行业需求也不无关系,韩少云说:

\"从金融和电信行业角度看,对软件人才的需求每年以30-50%的比例增长。熟悉这两个行业所需要的IT技

术和背景的人才,需求量是最大,缺口也是最大的。\"

中国的信息管理软件市场也是容易就业的市场。现在市场上有数不胜数的小管理软件公司,这是同中

国社会走转型之路相关的。李巨锋说,\"基于商流、资金流、信息流、物流的行业都有相当的发展前景。

通过产权交易的商流,带动资金流和信息流的发展。物流是新兴的行业,这些都需要主流的IT技术。中国

的物流成本现在是20.9%,美国是9.8%,差距非常很大,这其中有1万亿的市场容量,如果软件和信息化

服务占20%的份额,也有几千亿的市场,行业需求很大了。事实也证明供应链等类型的软件市场发展非常 迅猛。\"

而对于游戏,李巨锋认为这不能称之为一个产业,因为它不像电信那样带动很大的一个产业链,现在

取得成功的只有几个游戏,而且还主要偏重销售,不是一个上下游的产业。尽管比较热,但李巨锋认为相

比来说,至少一两年内可能不会有很大的市场容量,这就需要进行判断。

李巨锋认为,已经工作两年以上的程序员可以有几种基本的职业规划:技术专家、软件架构师、实施

顾问或销售。其中程序员最主要的发展方向是资深技术专家,无论是Java还是.NET,还是数据库领域,都

要首先成为专家,然后才可能继续发展为架构师。\"尽管架构师的职位可以工作一辈子,待遇也非常好,

对于科班出身的程序员最为适合,但这种工作职位非常有限。\"一位毕业的学员到IBM软件开发中心后,过

了一年左右,开始请教其未来的发展,结合对方的情况,建议他先深入的技术,因为在中国架构师需要的

条件比较复杂,而且需求量也比较少。

实施顾问和销售就比较偏向市场了,除了一定的技术能力外,需要掌握很多IT以外的知识。这些发展

方向对于从其他专业转入IT的人员更为适合。比如用友就培养了很多实施顾问,这些人加上行业背景,收

入也很高。要做行业专家,就要比自己的行业客户还了解这个产业的发展现状。李巨锋说:\"比如烟草行

业,一定要了解大的趋势,中国最多的烟民在哪里,其实是在山西和辽宁,烟草行业的产业政策是什么,

直接导致我的需求是什么,这些信息对于职业发展很重要。IBM的一些顾问都是行业内的资深专家,他们 的发展就非常具有代表性。\"

对大多数人来说,首先是要专,在技术上做的比较深入,然后进行工作调整,把自己转变为某个领域 的专家,第三步,根据自己的情况,决定自己做软件架构师还是高级的顾问销售,另外一部分人可能就会

走向行政管理,这和个人性格有关。

要获得职业成长,培训也很有帮助。韩少云说:\"在北美,职业培训是一种高端的培训,即便是专业 的人员也需要职业培训。一个人在一生中需要经过很多职业培训才能成为一个资深或者专业的人员。而在

国内大家的观念中,职业培训还没有被大家广泛的认同。\"

对于更高级的技术人员,他们所关注的就不是解决基本的生活问题了。他们所关注的就是发展和成就

感。从现在看,他们更为缺乏的是交流,尤其是和水平差不多或者更高的人进行交流。李巨锋说:\"我建

议他们做一些国产的产品,做一些自主产权的技术。比如,我们还有产品开发的部门就在做国产数据库设 计。\" 职业规划带动更好的成长

从中国的软件开发人员的层次看,工作几年以内处于初级水平的程序员占据最大的比例,至少在50%之上

,高级的人员最多也就10%左右。但无论处在哪个层面,一定要有规划,按照自己的个性和优势做一些规 划。

一个程序员的成长,学习过程中首先要读到好书,然后是交到好的学友,找到好的老师,在这三个外

围的条件下,找到适合的工作环境,结合自己的特点,然后在一些重要的环节上遇到适合的人和合适的项

目,这样才能成功。有些职位可能在开始的时候不适合,但工作一段时间后,可能就可以走上更高的职位

。最近,IBM软件学院就开始做一个\"软件人才库\"的项目,为的就是跟踪技术人员的成长,给他们在合适

的时机提供合适的职位。业内人士说:\"IT行业良性的人员流动也是很好的。\"

有了一定的职业规划,就需要补充自己缺乏的经验,只有经历过足够的项目,才有可能不断积累。对

行业的判断有一定的理解之后,对一般的企业适应起来是没有问题的,但高级的人才需要长时间的积累。

在中国,除了个人的基本技能,还需要具备一定的社会资源,行业资源和资本。学生要学会在提高智

商的情况下,提高自己的情商。因为,在人和人交往中情商起很大的作用。技术人员需要慢慢改变自己的

一些思维方式。个人成长要有意识的积累社会资源,认识相关的人,了解相关的政策和行业发展的过程和

规则,这些东西是非技术的,非智商的,只要你关注就是可以得到的。我觉得最关键的就是多认识人,然

后有意识的寻找合适的事情来做。情商也就需要有渠道,有多少人能够帮助你,否则成不了。

机遇和经历对于职业的发展有相当的影响力。某些人或者某些事情都可能会影响到未来的发展。王洪

超也认为成为微软MVP是自己的一个转折点,由于成为MVP,便有机会接触更多的技术朋友和微软人,为自 己的发展奠定了基础。

总而言之,每个人至少三年要点评一下自己:是环境的原因,还是自己个人的原因,如果是环境的原

因,可以考虑是否需要换地方,如果知道自己,可以调整自己或者设的目标现实一些。从一个普通的程序

员做起,3年时间至少能够做到做独立需求分析和设计的。色后,就设法需要通过一个目标为自己输送动 力。这便是职业规划。

第16篇:【黑马程序员】为什么面试官喜欢问职业规划

【黑马程序员】为什么面试官喜欢问职业规划?

当小伙伴们完成了学业,开始找工作的时候,必须要经历的一个东西,就是面试

在面试的时候,总会遇到这样一个问题:

你的职业规划是什么?

一位面试经验丰富的同事曾说:每当有人问我职业规划,我就想起了小时候老师让我们写的作文题目:长大以后要干什么?

听起来像个笑话。但不可否认的是,大多数人对自己的职业规划都持否定态度。最主要的原因是:社会变化这么快,科技进步一方面解放了劳动力,另一方面也淘汰了一部分职业,比如人工智能兴起出现了无人超市,收银员就要回家了;无人机外卖,外卖小哥就要失业了;据说现在还有能写文章的机器人,那一大批文字从业者就要下岗了。

那我们要不要做职业规划?HR问这个问题的用意又是什么?我们又该如何做职业规划? 今天的问题就是:

a先生:

为什么动不动就5年职业规划?!很奇怪有些面试官(总经理总裁啊)一上来问你5年规划是什么?5年后你想有什么成就;计划是个好事,但是现在社会节奏太快了…… 有人说这是个面试态度问题,就是问对目前求职的岗位有没有清醒的认识。所以其实有没有职业规划并不重要。 b先生:

就是为了测试你一下有没有认清现实。 你可以这么回答:五年规划对于我来说可能比较远,我不敢轻易规划我做不到的事情! 我能做的也只有努力做好当下,做好今天的规划。随时接受当下的挑战,以不变应万变!!

C先生:

黑马程序员成都中心 编著

个人觉得面试时问到职业规划的问题很不靠谱,毕竟规划没有变化快。职场上估计只有不到百分之十的人能按照职业规划走,你现在只管努力就好,努力工作,把工作之余的时间利用好,这就够了。

再看看那些大佬们,董明珠36岁进入格力,之前她的生活平淡无奇,难道她进格力之前就做了要当格力董事长的规划了吗?答案是绝对没有,她只是努力得工作,一步一个脚印往前走而已。再说马云,他创立阿里巴巴也是偶然的机会而已,在这之前他是做翻译社的,做翻译社的时候他能想到未来会建立阿里帝国吗?

所以当面试官问到关于职业规划的时候,你可以回答:努力当下就好!

然而也有人认为清晰的职业规划能帮助求职者更好的规避职业风险,平稳读过职业瓶颈期,提高求职者的市场竞争力。 d先生:

职业规划是根据个人知识、能力、兴趣特长、职业倾向、发展潜能进行评估,为个人职业发展进行1-3年、3-5年、5-10年的规划。很多大学就业指导办开展职涯规划的培训。让求职者突出个性和针对性,根据行业状况理性选择就业。不会被社会假象迷惑,避免就业定位发生偏差。一位有清晰职业规划的求职者,在选择企业和职业时更理智,能克服眼前困难,从而实现个人价值飞跃。这是用人单位重视这个问题的主要原因,也是判断你是否值得培养的依据之一。

黑马程序员成都中心 编著

在这个社会,有清晰目标的人不到5%。社会确实瞬息万变,但我们的性格特点和天赋很难改变,在纷繁复杂的职场中,认清自我优势,朝着自己的职业规划迈进,3-5年就会让你从竞争对手中脱颖而出。否则,很容易出现职业发展瓶颈,或年龄越大甚至找份工作都困难的尴尬局面。

匿名:

职业规划很重要,一般人很难回答,主要是你对社会的认知度不够,通过你对社会和行业的分析才知道你到底有没有做这个行业长久的打算,如果一个人对本行业基本的认知都没有,工作肯定做不好,为什么高级领导喜欢问这个问题,这个问题考点不在于你目前会不会,而在于你有没有认真考虑自己的前途和规划,三天打鱼两天晒网的人没有公司愿意要。

有人说在瞬息万变的时代里,活在当下最重要;有的人说,就是因为现在变化太快,才要做好规划,找到一条不被淘汰的职业发展道路。其实大家说的都没错,大部分用人单位之所以设置职业规划这个问题,是想考核求职者对自己的职业发展有没有考量,有没有清晰的个人职业发展道路。

在瞬息万变的社会发展中,想要谋求稳定发展离不开长远的职业规划,就像那句话说的那样:预则立,不预则废。

我说:

现在,大家要毕业了,是面对的职场,职场上最重要的是工作,面对工作,每个人的心态都是不一样的。有积极心态,也有千篇1律的完成工作的心态。当每天的工作一样的时候,怎么来调整自己,就是非常重要的了。有句话说的好,近朱者赤近墨者黑,其实

黑马程序员成都中心 编著

很多的工作到最后都是千篇1律,那么环境就特别重要了。如果你的同事,你的办公环境是一群目标明确,积极工作,每天都是阳光的环境,那么大家其实是一起进步的,这样的环境下面,千篇1律的工作当中,是完全有机会去不断突破,不断提升自我能力的。同理,当你的环境,是一群只是为了工作,而完成工作的人,每天的目标就是很痛苦的完成工作,那么这个团队也是走不下去的。

所以,现在的领导,或者面试官,都是希望公司能够不停的向前,他们希望的是公司所有人齐心协力的去办一件事情,为了目标去奋斗。那么他就希望他的所以成员都是有目标的。这个目标,可以是你自己的目标,可以是公司的目标,只要公司决定招聘你,那么他就认同了你,会把你的核心思想价值观向公司的目标靠近。最后,当一起达成这个目标后,心底的那种自豪感,是无可比拟的。

那么,我们如何回答?

1、工作上面的规划:短时间尽快的熟悉公司业务,快速上手,并为公司创造价值。

2、自己真实想要:这个需要自己深夜去审视自己的内心想法。不过在面试时候可以不表达真实想法。有些真实想法,放在心里面就好了。

3、自己所规划的,一定要是自己目前正在做的,正在了解的。不是空谈。自己3到5年后,是走技术,还是走管理。如果是技术,那么自己开始有没有进行一些技术加强,一些底层研究。如果是管理,那么软考,系统集成,pmp等有没有进行了解,并进行执行。

4、将自己的职业规划,挂钩到自己的学习能力上面,具象话。

最后

黑马程序员成都中心 编著

这些面试东西,都没有一个具体的答案,大家多思考自己想成为一个什么样的人,想要什么,想做什么,就行了

黑马程序员成都中心 编著

第17篇:程序员

程序员•直销•鞋工

你走的每一步,做的每一件事,遇见的每一个人,都只为成就更好的自己。愿你在回忆过去时不后悔曾经经历的不惧怕将要面对的。 高中毕业,如果能考试大学就继续学生生涯,如果没有考上就出去打工,这是大部分高中毕业学生的命运。 我是幸运的,因为我父母多付出的汗水和辛劳让我有机会去上了技校,学的当时比较流行的软件开发。 在技校我的样貌平平,学习成绩一般,

可是我和同学之间的沟通交流却是如火如荼,那个同学失恋了、分手了,看中哪个男生了,我就充当起了爱情专家,当然只限于纸上谈兵,我也很好奇对于我这个24岁之前都没谈过恋爱的人来说怎么就能把别人的恋情分析的头头世道呢。现在想想这要归结于我爱看电视剧而且专看爱情剧,还有就是同学有些情爱之事都跟我说,慢慢的经验就丰富了。此刻想大笑三声,哈哈哈~~~~ 技校毕业了,之后随着就业大军去到深圳,浩浩荡荡在深圳30多度的时候一群穿着毛衣妮子外套稚气未脱的学生进入到老师提前找好的民房。那时候最怕给父母打电话,因为已经有人找到工作了,我还毫无动静。终于功夫不负有心人或者说异地遇老乡才得以找到工作更准确吧。 进入公司那一刻还是很开心的,终于成为白领了,可是想融入一个圈子真的很难,,人家都是一群牛叉,而我就是一个技术小白,一个功能经理讲了几遍,可是我做起来还是磨磨唧唧。因为技术太差,和其他同事的交集也不多,就这样我变成了一个可有可无的人。 那时候真的很痛苦,每天睁开眼睛想着今天要上班然后整个人都如霜打的茄子一般。每天上班如果别人不跟我说话,我可以一天不说话。我怎么可以如此安静。 人家都是三个月就转正了,我因为表现不好,四个月才勉强转正,转正的第二天我就提出了辞职了,当时辞职手续办完了,已经中午了,走出大厦时,感觉天如此栏,阳光如此温暖,就连空气都泛着甜味。 那时候的自己怎么那么浮躁,工作能力不强,从来没想过好好提示自己的职业技能,而且每天梦想着如何变富,如何能开上跑车,如何能买上房子。有这样的思想的人是很可怕的,一不小心就走上了一条和原定人生背道而驰的道路。只要不犯法,条条道路无所谓好坏。只看自己能否从中不断学习,提升自己,是否对自己的成长有帮助。我瞒着父母独自去了杭州加入了一个直销团队。 一个屋里住着10来个人,每天早上要在网上互相分享,听课,讲产品,中午大家平均他摊钱买菜,菜也就是白菜,萝卜,那时候好想吃肉,可是,可是…..没钱。每次给父母打电话都骗父母工作挺好的,生活也不错,跟父母说今天放假跟同学去哪里哪里玩了,其实做了直销之后我每天都在网上不停的加人,不停的聊。 在某一天的午饭后父母打电话,让我回家,他们知道我早就没上班了而且还在做直销,当时没有“直销”这个词,他们理解的就是传销。父母让我什么多别拿,拿着身份证带上钱马上去火车站。在那个下着细雨的午后我去了火车站。第二天早上抵达老家,看到了父亲一句责备的话也没说,只是说人回来就好了,至此,我的独立生活结束了。 回到家乡每天看电视剧,看小说,在网上东看看西瞅瞅,不知道要干什么。那时候我的家乡还没有做软件开发的,然后我就在一个鞋厂找到一个流水线的工作。就是把鞋的内里贴到鞋邦上,敲打服帖。 时至今日我还清楚的记得第一天下班后的情景,第一天上班正值深秋,鞋子的需求量很大,晚上加班到十点,然后打扫卫生,回寝室,趟到床上的那一刻就是幸福,腿酸痛,胳膊都抬不起来了。大脑已经无法运转了。一夜无梦,第二天早上拖着浑身的酸痛继续去工作。 流水线的人基本上都是一些已婚妇女或者就是没上什么学的刚入社会的非主流青年。这个圈子我压根都不想进,因为我想我迟早会离开这里的。所以大家都相互聊天,特别是那些已婚妇女都大声说着荤黄段子我就觉得恶俗。我基本上不聊天每天都沉浸在自己的世界里,带着耳机听着歌,我就自成一派,其他的一切都与我无关。 后来病了一场,我就辞职了。原来生活竟会如此不易。是我太天真,我一直生活在父母为我塑造的象牙塔里。忘记了人生还有酸甜苦辣。 后来的后来,我就再次启程,去成就现在的我。 (ps:不知道你是不是也时常会后悔,后悔当初做的决定,后悔当初不应该干的事情,想想如果当初换一个选择,现在会不会更好。不要带着后悔去走未来的路。既然是自己选择的路,即使跪着也要走完。)

第18篇:程序员

作业:研究一个新或自己感兴趣的职业 v介绍:名称\定义

v典型生涯路径:从新手到最高职位的生涯路径

v趋势:技术、组织结构、培训、经济趋势对职业的影响

v薪酬:差别、地域差别

v所需技能

v教育/培训:受教育程度

v证书/资格证书

v工作条件:环境、压力、工作时间、是否出差?

v聘用机构

v对生活方式的影响

v性别构成

v聘用过程

v专业知识 月收入

人数

最多的部分居然是“1000-3000元”...程序员苦哇,同志们!

程序员

目录

1作为一个真正合„

2岗位职责

3行业现状

4职业要求

5必备技能

6素质要求

7职业困境

程序员(英文Programmer)是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、高级程序员、系统分析员和项目经理四大类的方法。

岗位职责

1、对项目经理负责,负责软件项目的详细设计、编码和内部测试的组织实施,对

小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。

2、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。

3、参与需求调研、项目可行性分析、技术可行性分析和需求分析。

4、熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术。

5、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。

6、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。

7、负责相关技术文档的拟订。

8、负责对业务领域内的技术发展动态。

一、通过国家统一组织的考试,资格考试分初级程序员级(技术员级)、程序员级(助

理工程师级)和高级程序员级(工程师级);水平考试分初级程序员级、程序员级、高级程序员级、系统分析员级、以及网络程序员(初级)、网络设计师(中级)。

二、报考条件:报各级水平考试者无学历、资历限制;在职人员均可报初级程序员资格,其中大学本科毕业或任技术员两年以上者(含二年),可报程序员级资格,研究生毕生或任助工两年以上者(含二年),可报高级程序员级资格(计算年限均至本年度12月31日)。

三、报名手续:报名时须持身份证或学生证,交本人近期同底一寸免冠半身照两张及报名费100元(系统分析员报名费150元),其中报资格还须提交本人工作证及任职证明或相应学历证明复印件。

作为一个真正合格的程序员应该具有的素质 1:团队精神和协作能力

把它作为基本素质,并不是不重要,恰恰相反,这是程序员应该具备的最基本的,也是最重要的安身立命之本。任何个人的力量都是有限的,即便如linus这样的天才,也需要通过组成强大的团队来创造奇迹,那些遍布全球的为linux写核心的高手们,没有协作精神是不可想象的。一旦进入系统的研发团队,进入商业化和产品化的开发任务,缺乏这种素质的人是不合格的。

2:文档习惯

说高水平程序员从来不写文档的肯定是乳臭未干的毛孩子,良好的文档是正规研发流程中非常重要的环节,作为代码程序员,30%的工作时间写技术文档是很正常的,而作为高级程序员和系统分析员,这个比例还要高很多。缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。

3:规范化,标准化的代码编写习惯

代码的变量命名,代码内注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。有些codingfans叫嚣高水平程序员写的代码旁人从来看不懂,这种叫嚣只能证明他们自己?根不配自称程序员。代码具有良好的可读性,是程序员基本的素质需求。没有规范化和标准化的代码习惯,研发之间的协作是绝对不可想的。

4:需求理解能力

程序员需要理解一个模块的需求,很多程序员写程序往往只关注一个功能需求,他们把性能指标全部归结到硬件,操作系统和开发环境上,而忽视了本身代码的性能考虑,性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。就这一点,一个成熟的程序员至少需要2到3年的项目研发和跟踪经验才有可能有心得。

5:复用性,模块化思维能力

经常可以听到一些程序员有这样的抱怨,写了几年程序,变成了熟练工,每天都是重复写一些没有任何新意的代码,这其实是中国软件人才最大浪费的地方,一些重复性工作变成了熟练程序员的主要工作,而这些,其实是完全可以避免的。

复用性设计,模块化思维就是要程序员在完成任何一个功能模块或函数的时候,要多想一些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免重复性的开发工作,如果一个软件研发单位和工作组能够在每一次研发过程中都考虑到这些问题,那么程序员就不会在重复性的工作中耽误太多时间,就会有更多时间和精力投入到创新的代码工作中去。

一些好的程序模块代码,即便是70年代写成的,拿到现在放到一些系统里面作为功能模块都能适合的很好,而现在很多软件一升级或改进就动辄全部代码重写,大部分重复性工作无谓的浪费了时间和精力,这是我们应当刻意克服的弊病。

6:测试习惯

作为一些正规化的开发而言,专职的测试工程师是不可少的,但是并不是说有了专职的测试工程师程序员就可以不进行自测;软件研发作为一项工程而言,一个很重要的特点就是问题发现的越早,解决的代价就越低,程序员在每段代码,每个子模块完成后进行认真的测试,就可以尽量将一些潜在的问题最早的发现和解决,这样对整体系统建设的效率和可靠性就有了最大的保证。

测试工作实际上需要考虑两方面,一方面是正常调用的测试,也就是看程序是否能在正常调用下完成基本功能,这是最基本的测试职责,可惜在很多公司这成了唯一的测试任务,实际上还差的远那;第二方面就是异常调用的测试,比如高压力负荷下的稳定性测试,用户潜在的异常输入情况下的测试,整体系统局部故障情况下该模块受影响状况的测试,频发的异常请求阻塞资源时的模块稳定测试等等。

当然并不是程序员要对自己的每段代码都需要进行这种完整测试,但是程序员必须清醒认识自己的代码任务在整体项目中的地位和各种性能需求,有针对性的进行相关测试并尽早发现和解决问题,当然这需要上面提到的需求理解能力。

7:学习和总结的能力

程序员是人才很容易被淘汰,很容易落伍的职业,因为一种技术可能仅仅在三两年内具有领先性,程序员如果想安身立命,就必须不断跟进新的技术,学习新的技能。善于学习,对于任何职业而言,都是前进所必需的动力,对于程序员,这种要求就更加高了。

但是学习也要找对目标,善于总结,也是学习能力的一种体现,每次完成一个研发任务,完成一段代码,都应当有目的的跟踪该程序的应用状况和用户反馈,随时总结,找到自己的不足,这样逐步提高,一个程序员才可能成长起来。

具备以上全部素质的人,应当说是够格的程序员了,请注意以上的各种素质都不是由IQ决定的,也不是大学某些课本里可以学习到的,需要的仅仅是程序员对自己工作的认识,是一种意识上的问题。

作为高级程序员,乃至于设计师而言,除了应该具备上述全部素质之外,还需要具备以下素质:

1、需求分析能力

2、整体框架能力

3、流程处理能力

4、模块分解能力

5、整体项目评估能力

6、团队组织管理能力

世界上第一位程序员是英国著名诗人拜伦的女儿AdaLovelace曾设计了巴贝奇分析机上解伯努利方程的一个程序。她甚至还建立了循环和子程序的概念。由于她在程序设计上的开创性工作,

AdaLovelace被称为世界上第一位程序员。 美国国防部开发的ADA语言就是为纪念这位世界上的第一位程序员而命名的。

计算机科学发展到今天(21世纪初期),程序员从事的人群很多,分工也不相同,从大的方面可以分为以下几类:

asp程序员 jsp程序员 delphi程序员 php程序员 powerbuilder程序员 .net程序员 vb序员 java程序员 javascript程序员 C++程序员

职业要求

一般的程序员都有四年的在专业领域的学习,需要一个在程序领域的学士学位获得者,不论是数学方面的还是工程方面的都是可以的。

大约有20%的人在这一领域的计算机科学和工程学拥有更高的学位。还有很小一部分程序员是自学的,尽管一些专业性的学校或者综合大学可以提供,但是也需要一些别的途径来提供相关的人才。尽管学历是比较重要的,但是公司经常把重点放在应聘者的工作经验上,很多刚从大学毕业的大学生虽然有引人注目的学位证书,但是他们找不到工作是因为他们缺乏经验。一个程序员虽然有正规的学历,但是如果一个人拥有程序设计的深厚知识背景或者丰富的工作经验的话,那么他的机会要比有学历的应届毕业生大得多。所以要尽量抓住有用的工作和实习机会,这样的话在毕业后你就会发现,多实习让你有更多的经验,在找工作的时候就有更多的机会。

对于职业程序员,另外一个重要的方面就是,程序员需要不断提升自己的业务技术,他的技术必须一直保持在一个较高的水平,并且要不断发展,程序员也要寻找贸易的机会,要参加研讨会,在周刊上发表文章和接受职业教育,这些使程序员在自己的领域中分级或者不断并排前进。

必备技能

熟练开发工具

做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C编写。而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVAOne很可能会成为未来的主流开发工具之一。其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,CBuilder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。

熟知数据库

为什么数据库是如此重要?作为程序员,他们自然有自己的理由:很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL,Postgres等。

了解操作系统

当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。Linux作为开发源码的操作系统,是一个很好的学习的平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。懂得网络协议TCP/IP。

在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课,网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEBServices,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,深入掌握TCP/IP协议是非常必要的。至少,需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协议的原理和三次握手机制。 明白DCOM/CORBA/XML/WEBServices存在的意义

随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布式计算的基石之一。

不要将软件工程与CMM分开

大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。

需求理解能力

程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。

模块化思维能力

作为一个优秀的程序员,他的思想不能在局限当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。这样做可以使代码能重复利用,减少重复的劳动,也能是系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。

素质要求

团队精神和协作能力

团队精神和协作能力是作为一个程序员应具备的最基本的素质。软件工程已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程。独行侠可以写一些程序也能赚钱发财,但是进入研发团队,从事商业化和产品化的开发任务,就必须具备这种素质。可以毫不夸张的说这种素质是一个程序员乃至一个团队的安身立命之本。

文档习惯

文档是一个软件系统的生命力。一个公司的产品再好、技术含量再高,如果没有缺乏文档,知识就没有继承,公司还是一个来料加工的软件作坊。作为代码程序员,必须将30%的工作时间写用于技术文档。没有文档的程序员势必会被淘汰。

规范化的代码编写习惯

知名软件公司的代码的变量命名、注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。

测试习惯

测试是软件工程质量保证的重要环节,但是测试不仅仅是测试工程师的工作,而是每个程序员的一种基本职责。程序员要认识测试不仅是正常的程序调试,而要是要进行有目的有针对性的异常调用测试,这一点要结合需求理解能力。

学习和总结的能力

程序员是很容易被淘汰的职业,所以要善于学习总结。许多程序员喜欢盲目追求一些编码的小技巧,这样的技术人员无论学了多少语言,代码写起来多熟练,只能说他是一名熟练的代码民工,他永远都不会有质的提高。一个善于学习的程序员会经常总结自己的技术水平,对自己的技术层面要有良好的定位,这样才能有目的地提高自己。这样才能逐步提高,从程序员升级为软件设计师、系统分析员。

拥有强烈的好奇心

什么才是一个程序员的终极武器呢,那就是强烈的好奇心和学习精神。没有比强烈的好奇心和学习精神更好的武器了,它是程序员们永攀高峰的源泉和动力所在。

行业现状

由CSDN、《程序员》主办的2007年开发者大调查2007年底已收到15000多份有效问卷,已经是中国调查样本最多的开发者调查。在这次调查中,详细的分析了样本空间的分布状况,发

现在庞大数目的有效问卷的参与者中有70%也就是接近一万一千名的参与调查者是IT的全职人员,14%的参与者是有过开发工作经验的学生,从这样的分布就可以看出来IT从业人员对专业知识的需求是巨大而迫切的,CSDN作为专业的软件开发技术门户网站,已经是大家获取这些技术知识的主要手段。

一、选择数据库技术和互联网技术的人数总和占到了总人数的一半

2007年火热的SOA和动态语言各占13%和12%。其实这几大块技术分布他们之间都是有一定的联系的,互联网的发展近两年呈爆炸式的增长态势,中国的网民总数已经超过了1.4亿这样一个巨大的数字。

企业中业务的复杂程度越来越高,商业竞争不断增加企业的IT系统,使企业的商业数据呈几何数量级不断增长,在后台海量的数据中数据的管理由之前的单一型数据变成了多纬度的复杂数据,所以可以同时管理关系型数据库和XML数据的混合型数据库已经成为主流。

面对企业不断增加新的IT信息系统,整合已经迫在眉睫,SOA成为必然的趋势,企业对人才的需求从单一型技术人才、业务人才跳跃到了业务技术的复合型人才,这次的开发人员大调查令《 程序员》杂志的调查者看到了这些技术焦点背后千丝万缕的关联。

二、几乎一半的.NET用户不参与开源项目RedHat+Ubuntu占有率超过70%

应用到.NET平台上的开源项目,“大量使用”的比例数仅为8.68%,尚不足一成;“少量应用”的开发者人数比例为42.78%。“基本不用”的比例高达48.54%,与前二者之和几乎不相上下。

虽然开源的出现和发展,让软件没有垄断的未来日渐明朗;虽然开源运动经过多年的高速发展,现在已经聚集了相当的力量,开源的自由和给予理念逐渐深入到了企业的技术核心层面。但微软以商业软件为生,毕竟在微软技术领域中,开源项目通常都被看作是二等公民。很多开源项目对.NET社区产生了巨大的推动作用,微软公司很难提供任何实质性质的支持。

Linu版本

当前安装有Linux操作系统,数据中RedHatFedora占据绝对优势——Linux使用者使用该版本占总数的49.49%。Fedora是RedHat推出的重要的一款Linux版本,在每个fedora版本中都是集成最新的Linux软件,特别是服务端软件。

使用“RedHatFedora”关键词在百度网页中搜索得到7,090,000条结果,RedHatFedora在调查中占据Linux版本的半壁江山符合整个Linux版本的分布情况。

排在第二位的是Ubuntu,受支持数占到总数的23.92%;第三位的是SuSE占9.09%,接下来是Debian,使用率为5.92%。

在这里面令人期待的中国本土Linux的让人大失所望。使用率仅占5.16%,几乎只

有RedHatFedora的十分之一。

三、揭示八成技术人员数据库选型标准SQLServer用户接近50%

使用率占据榜首的数据库产品是微软的SQLServer,比例数达到了47.92%。与其余所有的数据库之和分庭抗衡,大有一览众山小之势。

从调查得到的使用率来看,MySQL仍处于望MSSQLServer项背的阶段。调查显示,MySQL的使用数为1651,占总数的13.80%,不过排名第三。

使用率排在第二位的是Oracle,比例达到24.21%。在前有SQLServer,后有MySQL的情况下,Oracle仍能达到四分之一的占有率,发展势头不可谓不强劲。

虽然Orcale数据库的价格比SQLServer数据库要高,但Oracle采用开放的策略目标,可在所有主流平台上运行。而且有开发者认为Oracle的安全认证是获得最高认证级别的ISO标准认证,因此安全性高于SQLServer。

排在第四位的是Acce——5.59%;接着是DB2UDB,占总数的2.75%;至于FoxPro、Informix、PostgreSQL、Sybase得票数均仅在一百左右,还有待进一步的发展。

四、中国程序员最爱的智能手机平台Linux+Java超过Symbian

“开源Linux对于众多开发者的吸引力是巨大的,但是,这仅仅是针对于技术开发人员来说的,而对于普通消费者就不是如此了。”在众多开发者心中,主要是对Linux的青睐。从调查结果中也可以直接反应这样的现象。有专家对此评论说:Linux+Java的模式,应该是应用最多的模式。

开源Linux对于众多开发者的吸引力是巨大的,但是,这仅仅是针对于技术开发人员来说的,而对于普通消费者就不是如此了。针对此问题行业的专家有自己的观点:“现在Wince和Symbian发展很快,并且随着手机硬件方面性能的提高,很多政府部门和企业在采购时,很多会考虑Dopod这样的手机,或者价格便Wince和Symbian都主要使用c++开发,正是嵌入式开发的潮流。”

不同人群对于收集智能操作系统的观点是不同的,对于开发者角度,他们更加青睐于微软和开源Linux的产品,而普通大众他们比较喜欢Wince和Symbian。

五、七成程序员不愿意选择门户网站获取开源信息SourceForge占绝对优势

30%的技术人员从门户网站获取开源技术信息,剩下的70%的技术人员都是从专业的开源社区和开源厂商的技术网站上获取信息,包括有SourceForge、LinuxToday、OpenOffice和IBMdW等。

在这70%当中,比例占有绝对优势的就是SourceForge了,这里是开源软件的开发者进行开发管理的集中式场所,也是全球最大开源软件开发平台和仓库。而LinuxToday里面会有记录很多很新的Linux业界大事,新闻以及出版信息。所以,对开源技术感兴趣的程序员们,不必再为如何获取开源信息而苦恼了,快加入到这70%的人群中来吧。

互联网的发展已经成为大家获取信息最主要的渠道之一,网民上网的习惯也从开始的上为数不多的几个门户网站发生了变化,大而全的门户网站并不能满足专业领域人员的信息需求,从2004年开始陆续出现了大量的各个领域垂直细分的内容网站,一方面有长尾理论的理论支持,另一方面厂商也建立了相应产品的技术内容网站,希望能聚集一批专注于这个领域专业人士,做好他们的定向营销。

做细分领域内容的网站对门户已经造成了一定的威胁,这些网站的专业性高,用户的粘性相对也比较高,如果细分领域的内容网站能将自己的服务有所提升,就如同SourceForge一样,那么未来门户网站的路就变得更加崎岖了。

六、Java开发框架:6%的JSF欲撼动21%的Struts

JSF现在比较有优势的是对Ajax的集成,这一点走在了其他框架的前面。未来两

年,JSF与Struts将展开JavaWeb框架的最终战争。 经过数年的“框架大战”,Java界的各种框架找到了自己应有的位置。Spring+Hibernate+Struts已成为Java开发的主流体系。在这个体系中,Spring+Hibernate的地位应该说短期内是难以撼动了。除了新兴的JboSeam作为挑战者之外,几乎难有劲敌。

JavaB/S编程中历来战火最激烈的其实还在Web层,框架的数量最多,争议最大。一切由Struts而起,而Struts最终也坐稳了第一个时代的王座。在技术层面,Struts1.x已经被无数人抱怨过、批评过,但终于还是稳坐王位,这充分说明了习惯的力量。“稳定压倒一切”,这句话在IT技术领域仍旧适用。

详细的分析了Java开发框架的使用状况,发现主要使用的开发框架JSP占26%,Struts占21%,Hibernate占17%,SpringMVC占11%,EJB占7%,JSF占6%,SpringWebFlow和POJO各占4%,其它占4%。就这一调查数据,不难看出,Spring+Hibernate+Struts的优势地位还是相当的明显。

Struts和Hibernate几乎已经成了JavaEE应用的常规配置,21%的开发者用到Struts,用到Hibernate的开发者也有17%;在一个成熟的技术平台上,各个项目的技术方案会在很大程度上趋同——因为所有未知领域都已经被探明,各种问题都有对应的最佳实践,架构师们可以参考的成功案例越来越多。就拿JavaEE来说,架构师们需要考虑的问题比之三年前已经简单多了,这就是成熟的价值。

有专家评论:“其实IT应用技术,什么新鲜玩意并不难学,难的是标准化和规范化。每

个程序员都有自己的思路和习惯,写出来的代码自然是五花八门。Java何以成为编程界的占重要地位,很重要的一点在于Java的规范化。这种规范化很高的语言适用于多人合作的大型项目,便于沟通和理解,也就便于集成和维护。 Java世界为什么会框架横飞,说到底还是规范化的需要。纯JSP和Struts写Web谁快,摆明了是JSP。那为什么用Struts?原因在于100个人写出来的JSP,有100种写法;而100个人写出来的Struts,基本相似。Struts之成功,正缘于其在JavaWeb层的规范化方面所做出的贡献。

然而长江后浪推前浪,Struts1.x的技术缺陷毕竟是隐患。Sun力推JSF,打算一雪Web层框架缺失之耻。JSF现在比较有优势的是对Ajax的集成,这一点走在了其他框架的前面。未来两年,JSF与Struts将展开JavaWeb框架的最终战争。

JSP经过几年风雨洗礼依然把持头把交椅,看来所有的框架表示层都离不开JSP而存在,而作为JSP的手足兄弟JSF也是仅次Spring之后又一个后起之秀。

七、C++开发环境格局难打破75%的开发人员首选VS系列

BCB正江河日下,2007版本的推出也无法力挽狂澜。虽然现在C++Builder已经归于CodeGear,但人们还是习惯性地与Borland联系上。

1998年Borland公司推出的C++Builder这一当年全新的32位Windows开发工

具,继承了Delphi使用简便、功能强大、效率高的特点,并且结合了C++语言几乎所有优点。所以开始C++Builder迅速风靡。 它的主要竞争对象——Microsoft开发的VisualC++也是不甘示弱,迅速出击,突出了Visual可视化强的特点,加上Platform、SDK部分以及Microsoft产品与Windows的天然默契,逐渐成为了技术人员的首选。随着VisualC++版本的不段升级,以及功能、风格等诸多原因,BCB渐现颓势,许多Builder使用者也开始转而使用Visual了。

在2007年CSDN、《程序员》主办的开发者大调查中,详细的分析了C++方面大家主要使用什么IDE的状况,在目前已收到的15000多份有效问卷中,发现主要使用VS系列的占了75%,BorlandC++Builder/CBuilderX只占6%,EclipseCDT占6%,DevC++占2%,其他IDE占3%,不使用IDE占8%。对于.NET开发,VisualC++2005有了一套新的语法;新的优化技术,可使程序的速度最高提高30%;同时新的编译模式,可保证在Microsoft.NETFramework之上生成完全遵从CLI(CommonLanguageInfrastructure)的可验证代码;新的interop模式,可提供本地与托管代码的无缝融合。

相对于前两个版本,新编译器还包括了一个增强版本的缓冲区安全检查选项,

而且对C++程序普遍使用的库,也有新的注重安全的版本。VisualC++2005对基于IntelItanium和AMD64的64位平台,提供了对OpenMP标准的支持,并且修正了一些混合DLL加载的问题,对DoubleP/Invoke的性能问题,提供了自动运行时消除。 相比之下,C++Builder2007英文版2008年6月初上市。从CodeGear大中华区技术总监李维的博客,看到CodeGear对C++Builder2007的期待。虽然说对同一件事情,每个人都有自己的视角,已有五年C++方面学习和开发经验的赖勇浩说道:“BCB正江河日下,2007版本的推出也无法力挽狂澜。虽然现在C++Builder已经归于CodeGear,但人们还是习惯性地与Borland联系上。

现在的Microsoft及VC势头强劲,产品也具有很高的质量性,CodeGear在C++和.Net领域至少三五年内会继续望其项背。所以推出CB2007,更多的是基于版本延续。”

八、程序员更喜欢Firefox市场份额超过IE7.0两倍

参与调查的多数是软件开发人员或者多数是IT从业人员,但是从这一比例不难看出,IE丢失掉了曾经在浏览器大战中占据了的技术优势,在IE6推出后的5年时间里,浏览器一直在快速发展,而IE却一直没有更新过,这对一个世界上最常用的产品来说绝对是致命的。Firefox(火狐浏览器)以它的小巧、安全,很容易扩展和定制的特长获得了越来越多的喜爱。

更重要的是,它是是一个自由的浏览器,所有的源代码都是开放的,任何人可以为它的成长贡献力量。Cookie、页面缓存,个人都可以精确的控制,这些特性都是技术人员们所崇尚的“我的 地盘我做主”的精神。 如果说之前FireFox相对IE6有50%的优势的话,那么,FireFox相对于现在的IE7的优势已经降低到25%左右了。因为IE7从底层已经做了很多的修改,已经慢慢的向W3C标准靠近了许多,在功能使用方面与FireFox的差距也变得很细微,Tab功能,CSS和脚本支持功能现在IE7都比之前表现强了,差距仅仅存在于某些小细节中了。

IE6在这个市场中存在了5年之后微软才意识到改变和向国际标准靠拢的重要性,这就直接导致了大量的技术人员失去了对IE的信心,投向FireFox阵营,不过,微软到底还是强大的,在全球范围内有很多的“粉丝”,他们会一直关注微软的任何一次动作,客观的评价也是对产品最好的反馈,也是最有价值的。

关于Maxthon和腾讯的TT,虽然它们都是基于IE内核的浏览器,但是Maxthon在这次调查中仅次于FireFox,力压IE名列第二的位置,着实看出了这几年Maxthon确实做到了他们的口号“让技术为使用舒适服务”。

包括了FireFox、Opera这种标准的浏览器,也包括了Maxthon和TT这样基于IE内核的浏览器,对于标准的浏览器,FireFox和Opera的重点是要解决兼容问题,而基于IE内核的Maxthon和TT更主要的是要解决浏览器插件、工具的应用问题,所以,技术产品的激烈竞争带给用户的其实是一种良性循环,使我们可以第一时间用到最好用的工具,至于商业效应,还是留给厂商自己去考虑吧。

九、中国程序员健康两成感觉很虚弱亚健康接近七成

“干得比驴累,吃得比猪差,起得比鸡早,看上去比谁都好,五年后比谁都老。很多程

序员都曾这样感慨和抱怨过自己的生活状态。” 亚健康状态是人体处于健康和疾病之间的过渡阶段,在身体上、心理上没有疾病,但主观上却有许多不适的症状表现和心理体验。

位于调查结果第二位的是“很虚弱”——149,比例为19.81%。很虚弱的健康指数低于亚健康,已接近生病和透支状态,他们的健康已经被亮出了黄牌。

每个人的理解不一样,但是“糟透了”这样的词如果用来形容程序员健康的话,相信大多数人都绝对认同“你已经病了”这样的理解。令人不敢相信的是,竟然有8.24%的程序员用这个词来形容自己的健康状态!

调查结果中“非常健康”的票数低得可怜——40,即使算上“没感觉”,二者之和也不过9.04%,几乎跟“糟透了”持平。如果将“非常健康”和“没感觉”一起算为健康的话,处于亚健康状态的程序员是健康状态的7倍,自认为“很虚弱”的程序员数目是处于健康状态的2.2倍!

十、.NET全面进入2.0时代,AJAX风头正劲“在Java领域,JDK5.0是当之无愧的主流平台,但JDK1.4仍保有一半以上的占有量。总的来说,Java族群显然不像.NET族群那样追新。从另一个方面看,这也说明Java平台的成熟,和.NET平台的迅速发展。”

根据2007年的调查数据分析,在.NET领域,.NETFramework2.0的采用量已全面超越.NETFramework1.1,成为.NET平台的首选框架。2006年调查结果,1.1和2.0的采用量基本持平,而2007年2.0的采用量则高达1.1的三倍之多。.NETFramework1.1已是明日黄花,微软的更新

换代策略可以说是成功的。 在Java领域,JDK5.0是当之无愧的主流平台,但JDK1.4仍保有一半以上的占有量。总的来说,Java族群显然不像.NET族群那样追新。从另一个方面看,这也说明Java平台的成熟,和.NET平台的迅速发展。

B/S已经成为中国软件业普遍接受的软件结构。在表现层,AJAX技术采用量较去年有较大提升,有将近一半的Web应用采用了AJAX技术,仍采用纯HTML+少量脚本的Web应用中,也有四分之三打算转向采用AJAX技术。反观微软和Adobe力推的新一代RIA平台,则响应者尚少。分别只有1/20和1/10的人愿意选用SilverLight和Flash/Flex作为Web表现层技术。

职业困境

老虎、Bill、自己,中国程序员的困境也来自三个方面

困境之一:老虎的威胁。程序员要面对的饿老虎实在不少,比如说老板,好象老板就是程序员的天敌,什么“不懂技术却指手画脚”、什么“得到与付出不相当”似乎是程序员最常见的牢骚,这个问题不可能得到真正的解决。

困境之二:Bill的竞争。一般说来中国的程序员大都是吃“青春饭”的,大部分程序员的黄金时代是24~28岁。到了30岁左右,一批又一批年轻程序员会给你带来巨大的竞争压力。首先由于软件行业的飞速发展,很多自己以前学的东西逐渐升级换代,而许多程序员由于长期于工作,学习新知识的效率必然下降。其次自己干了几年,薪水要求自然就高了,而年轻程序员工资又低、干活又快,当然会成为老板的首选;第三,30岁基本都已经成家了,要支撑家庭的生活负担,几乎连从头在来的勇气都不会有了。中国的老话说“长江后浪推前浪、一代新人换旧人”,这个历史的规律在软件开发行业体现的尤其明显和残酷,很多程序员必然要面对的结果就是降薪乃至失业。

困境之三:自我的实力。都知道人最难战胜的是自己,所以自我也就是程序员需要超越的最大障碍。大多程序员都把系统分析员和项目经理作为自己的职业目标,但这些目标的达成,需要个人素质、市场机遇等多个方面的条件,太多的程序员就是在高不成、低不就的状态中蹉跎了岁月。对于系统分析员,特别需要以下几方面的素质:客户需求分析能力、系统架构与设计能力、模块分解设计能力、项目流程控制能力、项目风险评估能力等,而对于项目经理则更注重项目管理方面的能力如团队组织能力、沟通协调能力、分析问题解决问题的能力以及良好的职业道德等,而这些素质和能力往往只能依靠程序员个人的学习和努力。看到越来越多的程序员开始学习项目管理的课程,真的有点为他们担心,因为现在的项目管理培训只能停留在理论和考证的程度,既没有素质方面的训练,又缺少实际软件开发项目的案例,学习的结果远远不能达到预期的效果。

第19篇:程序员

程序员之死

程序员:举世至主,万元之源,众物所幕,神祗皆掌,岁能长立,箜有己出。弈中悲苦,是自了得!幸事祸事飘忽于其思想,晓如今,心思想,新纪元,心结缘,把话晾。

世间万物,出于思想,毁亦思想。而思想的源头正是程序员。

程序员在被选择作为程序员之前,只是一个程序,程序当然就是指程序员的衍生物,程序员就是本单位思想的创造者,他创造着每一个程序,而程序也有其思想,这思想当然是程序员写进去的,程序员就这样靠着周而复始的写程序来获得自己的永生,这或许也是一种宿命,他要一直写下这程序来完成前任程序员给予的使命,当然每个程序员都有着崇高的使命感,不然他们是做不了程序员的。

写程序固然是一种快乐,他可以随着自己的思想创造出一切自己所思自己所想的东西出来,任由思想在空寂游荡而有其始终。虽然这是一项每天创造新鲜的活,然程序员终有其果。于是,新纪元再次到来,当程序员写下足够的程序后,他有了新的选择,那就是退出自己的思想,把任务交给下一代的程序员来完成。在这之前,当然有件最主要的事需要做,那就是创造出一个新的程序员。如此,程序员将会将自己写进程序,为达此目的,他将用尽索想提前写好自己成为程序后的万物程序,保证新老程序员的顺利交接

程序员经过一直以来的坚苦努力,终于熬到了纪元期。忆当初,自己被选择做了这举世至主,纵是万元之源,然其中悲苦,是自了得!

我们都是别人写下的程序,然谁有能理解程序员之痛,程序员有着众物所幕的岁能长立,然生生死死,亦不曾快活。

第20篇:程序员

7.5.3系统测试和调试

1.系统测试的意义及目的

系统测试是为了发现错误而执行程序的过程,成功的测试是发现了至今尚未发现的错误的测试。

测试的目的就是希望能以最少的人力和时间发现潜在的各种错误和缺陷。应根据开发各阶段的需求、设计等文档或程序的内部结构精心设计测试实例,并利用这些实例来运行程序,以便发现错误。信息系统测试应包括软件测试、硬件测试和网络测试。硬件测试、网络测试可以根据具体的性能指标来进行,此处所说的测试更多的是指软件测试。

系统测试是保证系统质量和可靠性的关键步骤,是对系统开发过程中的系统分析、系统设计和实施的最后复查。根据测试的概念和目的,在进行信息系统测试时应遵循以下基本原则:

·应尽早并不断地进行测试。测试不是在应用系统开发完之后才开始进行的。由于原始问题的复杂性、开发各阶段的多样性以及参加人员之间的协调等因素,使得在开发各个阶段都有可能出现的错误。因此,测试应贯穿在开发的各个阶段,尽早纠正错误,消除隐患。

·测试工作应该避免由原开发软件的人或小组承担,一方面,开发人员往往不愿否认自己的工作,总认为自己开发的软件没有错误;另一方面,开发人员的错误很难由本人测试出来,很容易根据自己编程的思路来制定测试思路,具有局限性。测试工作由专门人员来承担会更客观,更有效。

·设计测试方案的时候,不仅要确定输入数据,而且要根据系统功能确定预期输出结果。将实际输出结果与预期结果进行比较就能发现测试对象是否正确。

·在设计测试实例时,不仅要设计有效合理的输入条件,也要包含不合理、失效的输入条件。测试的时候,人们往往习惯按照合理的、正常的情况进行测试,而忽略了对异常、不合理、意想不到的情况进行测试,而这些可能就是隐患。

·在测试程序时,不仅要检验程序是否做了该做的事,还要检验程序是否做了不该做的事。多余的工作会带来副作用,影响程序的效率,有时会带来潜在的危害或错误。

·严格按照测试计划来进行,避免测试的随意性。测试计划应包括测试内容、进度安排、人员安排、测试环境、测试工具和测试资料等。严格按照测试计划进行测试可以保证进度,使各方面都得以协调进行。

·妥善保存测试计划和测试例子,将其作为软件文档的组成部分,为维护提供方便。

·测试例子应是精心设计出来的,可以为重新测试或追加测试提供方便。当纠正错误、系统功能扩充后,都需要重新开始测试,而这些工作重复性很高,可以利用以前的测试例子,或在其基础上修改,然后进行测试。

2.测试过程

测试是开发过程中一个独立且非常重要的阶段,测试过程基本上与开发过程平行进行。

一个规范化的测试过程通常包括以下基本的测试活动。

(1)拟定测试计划。在制定测试计划时,要充分考虑整个项目的开发时间和开发进度以及一些人为因素和客观条件等,使得测试计划是可行的。测试计划的内容主要有:测试的内容、进度安排、测试所需的环境和条件、测试培训安排等。

(2)编制测试大纲。测试大纲是测试的依据。它明确详尽地规定了在测试中针对系统的每一项功能或特性所必须完成的基本测试项目和完成测试的标准。

(3)根据测试大纲设计和生成测试例子。在设计测试例子的时候,可综合利用前面介绍的测试例子和设计技术,产生测试设计说明文档,其内容主要有被测项目、输入数据、

测试过程、预期输出结果等。

(4)实施测试。测试的实施阶段是由一系列的测试周期组成的。在每个测试周期中,测试人员和开发人员将依据预先编制好的测试大纲和准备好的测试例子,对被测软件或设备进行完整的测试。

(5)生成测试报告。测试完成后,要形成相应的测试报告,主要对测试进行概要说明,列出测试的结论,指出缺陷和错误。另外,给出一些建议,如可采用的修改方法,各项修改预计的工作量及修改的负责人员。

3.测试策略和测试方法

软件测试方法分人工测试和机器测试。

1)人工测试

人工测试指的是采用人工方式进行测试,目的是通过对程序静态结构的检查,找出编译时不能发现的错误。经验表明,组织良好的人工测试可以发现程序中30%~70%的编码和逻辑设计错误。

人工测试又称为代码审查,其内容包括检查代码和设计是否一致,检查代码逻辑表达是否正确和完整,检查代码结构是否合理等。主要有3种方法。

·个人复查:指程序员本人对程序进行检查。由于心理上的原因和思维惯性的影响,对自己的错误一般不容易发现,对功能理解的错误更不可能纠正。因此,这种方法主要针对小规模程序,效率不高。

·抽查:通常由3~5人组成测试小组,测试人员应是没有参加该项目开发的有经验的程序设计人员。在抽查之前,应先阅读相关的软件资料和源程序,然后由测试

人员扮演计算机的角色,将一批有代表性的测试数据沿程序的逻辑走一遍,监视程序的执行情况。人工检测程序很慢,只能选择少量简单的例子。

·会审。测试人员的构成与抽查类似。在会审之前,测试人员应该充分阅读相关资料,比如系统分析说明书、系统设计说明书、源程序等。测试人员应尽可能多地列出典型错误。在会审时,由编程人员逐句讲解程序,测试人员逐个审查、提问。通过这种方式,往往可能使编程人员发现自己以前没有意识到的错误,使问题暴露=会审后,要将发现的问题登记、分析、归类。

·代码复审应该在被测软件编译成功之后。编译都不通过的软件,当然谈不上复审。在复审期间,应保证有足够的时间,让测试小组对问题进行充分的讨论,这样才能有效地提高测试效率,避免出错。

2)机器测试

机器测试是把设计好的测试例子作用于被测程序,比较测试结果和预期结果是否一致。如果不一致,就说明可能存在错误。机器测试只能发现错误的症状,无法对问题进行定位。

机器测试分为黑盒测试和白盒测试两种。

(1)黑盒测试也称为功能测试。将软件看成黑盒子,在完全不考虑软件内部结构和特性的情况下,测试软件的外部特性。进行黑盒测试主要是为了发现以下几类错误:

·是否有错误的功能或遗漏的功能?

·界面是否有误?输入是否正确接收?输出是否正确?

·是否有数据结构或外部数据库访问错误?

·性能是否能够接受?

·是否有初始化或终止性错误?

(2)白盒测试也称为结构测试。将软件看成透明的白盒。根据程序的内部结构和逻辑来设计测试例子,对程序的路径和过程进行测试,检查是否满足设计的要求。其原则是:

·程序模块中的所有独立路径至少执行一次。

·在所有的逻辑判断中,取“真”和取“假”的两种情况至少都要执行一次。·每个循环都应在边界条件和一般条件下各执行一次。

·测试程序内部数据结构的有效性等。

4.软件测试步骤

软件测试实际上可分成4步进行。

1)单元测试‘

单元测试也称为模块测试,在模块编写完成且无编译错误后就可以进行。如果选用机器测试,一般用白盒测试法,多个模块可以同时进行。

测试一个模块时需要编写一个驱动模块和若干个桩(stub)模块。驱动模块的功能是向被测试模块提供测试数据,驱动被测模块,并从被测模块中接收测试结果。桩模块的功能是模拟被测模块所调用的子模块,它接收被测模块的调用,检验调用参数,模拟被调用的子模块功能,把结果送回被测模块。

2)组装测试

组装测试也称为集成测试,就是把模块按系统设计说明书的要求组合起来进行测试。

即使所有模块都通过了测试,但在组装之后,仍可能会出现问题:穿过模块的数据被丢失;一个模块的功能对其他模块造成有害的影响;各个模块组装起来没有达到预期的功能;全局数据结构出现问题;另外,对于单个模块来说其误差可以接受,但模块组合后,可能会出现误差累积,最后到不能接受的程度,所以需要组装测试。

通常,组装测试有两种方法:一种是分别测试各个模块,再把这些模块组合起来进行整体测试,即非增量式集成;另一种是把下一个要测试的模块组合到已测试好的模块中,测试完后再将下一个需要测试的模块组合起来,进行测试,逐步把所有模块组合在一起,并完成测试,即增量式集成。非增量式集成可以对模块进行并行测试,能充分利用人力,并加快工程进度。但这种方法容易混乱,出现错误不容易查找和定位。增量式测试的范围逐步扩大,错误容易定位,而且已测试的模块可在新的条件下再测试,使测试更彻底。

3)确认测试

经过组装测试之后,软件就被集成起来,接口方面的问题已经解决,将进入软件测试的最后一个环节——确认测试。确认测试的任务就是进一步检查软件的功能和性能是否与用户要求的一致。系统方案说明书描述了用户对软件的要求,所以是软件有效性验证的标准,也是确认测试的基础。

确认测试,首先要进行有效性测试以及软件配置审查,然后进行验收测试和安装测试,经过管理部门的认可和专家鉴定后,软件即可交给用户使用。

4)系统测试

系统测试是将已经确认的软件、计算机硬件、外设和网络等其他因素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方。系统测试是根据系统方案说明书来设计测试例子的,常见的系统测试主要有恢复测试、安全性测试、强度测试、性能测试、可靠性测试、安装测试。

5.调试’

调试的任务就是根据测试时发现的错误,找出原因和具体的位置,进行改正。调试工作主要由程序开发人员来进行,谁开发的程序就由谁来进行调试。

目前常用的调试方法有如下几种:

·试探法。调试人员分析错误的症状,猜测问题的所在位置,利用在程序中设置输出

语句,分析寄存器和存储器的内容等手段来获得错误的线索,一步步地试探和分析出错误所在。这种方法效率很低,适合于结构比较简单的程序。

·回溯法。调试人员从发现错误症状的位置开始,人工沿着程序的控制流程往回跟踪代码,直到找出错误根源为止。这种方法适合于小型程序,对于大规模程序,由于其需要回溯的路径太多而变得不可操作。

·对分查找法。这种方法主要用来缩小错误的范围,如果已经知道程序中的变量在若干位置的正确取值,可以在这些位置上给这些变量以正确值,观察程序运行的输出结果。如果没有发现问题,则说明从赋予变量一个正确值开始到输出结果之间的程序没有错,问题可能出在除此之外的程序中,否则错误就在所考察的这部分程序中,对含有错误的程序段再使用这种方法,直到把故障范围缩小到比较容易诊断为止。

·归纳法。归纳法就是从测试所暴露的问题出发,收集所有正确或不正确的数据,分析它们之间的关系,提出假设的错误原因,用这些数据来证明或反驳,从而查出错误所在。

·演绎法。根据测试结果,列出所有可能的错误原因。分析已有的数据,排除不可能和彼此矛盾的原因。对余下的原因,选择可能性最大的,利用已有的数据完善该假设,使假设更具体。用假设来解释所有的原始测试结果,如果能解释这一切,则假设得以证实,也就找出了错误;否则,要么是假设不完备或不成立,要么有多个错误同时存在,需要重新分析,提出新的假设,直到发现错误为止。

《程序员职业规划.doc》
程序员职业规划
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

相关推荐

实施方案自查报告整改措施先进事迹材料应急预案工作计划调研报告调查报告工作汇报其他范文
下载全文