当时看算法本身的文档,然后又回头看线性代数,终于理解了算法,并用程序表达了出来。由于是嵌入式用的,又花了大量时间进行算法优化。

后来跳槽时终于尝到甜头:

1。薪水高,基本上一应聘就是Senior的职位

2。稳定,这个一般大街上招一个程序员是做不来的

3。机会多,这个怎么说呢,反正只要是大公司招人,象微软、Google等,除了问一些语言本身的问题外,基本上就是算法和数据结构的问题。

通常面试那些时间你写源代码是来不及的,基本上就是写伪代码。或说明你的算法基础和思路。答的好一两句话就解决了。

想走这条路的朋友,我首先建议好好读读《数据结构与算法:C++版》,里面所有常用算法和经典算法及数据结构必须烂熟。其次,建议将大学课本找回来,几本高数好好复习复习。《线性代数》《概率和数理统计》《微积分》《常微分》等等。

我们不是大牛,基本上创造不出新算法,但是我们能够将别人的算法实现或者能把一个具体问题分解成已知的算法,那么你就是一个很不错的算法工程师了。

说实在话,语言只是工具,是很容易掌握的。99年2000年泡沫时期,不是很多人突击那么三个月就可以上路做programmer么。就象刀法是很容易学会的。要应用精熟,也不过是长时间的积累而已。

对语言的理解实际上就是对刀法的领悟,有人是顿悟。但是多用总是会渐悟的。

最重要的是基础,就是数学能力,那可是内功。可以这样说,你要想真正和其他程序员拉来差距就在这里。

我朋友的孩子想走计算机编程这条路,考大学我就推荐考数学系!

再有就是多做那些大公司的面试题,一是锻炼自己的大脑,二是熟悉这些算法的应用。

好了,现在能想到的就这几点,这里给几个面试的例子,看看能不能用最简单的描述解答

1.如何生成一组正态分布的随机数?

2.有一个二维迷宫,如何找到出口路径?

3.有数据库存储一股票每五分钟的实时报价,如何生成每小时,每天,每周的股票价格变动曲线?

====我的建议答案

1。生成二维随机数,只取落在正态分布包络线内的数

2。二维连通图深度优先遍历

3。傅利叶变换

zc530.Com小编推荐

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


职业规划怎么写,相信很多朋友们对这个问题很感兴趣,下面给大家介绍一下。第一部分,前言即总论;第二部分,自我分析,包括业余爱好、性格、价值观、专业技能等;

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

陈皓毕业后的前两年就职于云南省工商银行,从事银行电信内全国性业务系统开发。后来在全球最大的网格计算/分布式平台软件公司从事研发工作,熟悉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)。最终达到软件版本的升级。

如何从优秀的程序员成为伟大的程序员[2]


4、对代码的信任

作为项目管理者,你怎么相信他们的代码。有些程序员,你可以对他们说:我星期五就要结果.--星期五到了,你收到了这样的Email:代码我都已经检查过了,现在就等着测试了。你很放心,只会有很少的瑕疵在质量确保的团队被查到。当然,还有些轻率的例子,一些程序员在邮件里是这样说的:我还没弄完,星期一上午我会最先完成它.你不太确信这东西,发现很多Bug,很长时间基本上不能用。又得花上几个星期清理代码中的Bug.

关键:你对一个开发人员越有信心,他离成为一个伟大的程序员的距离就越近。想象你是你的管理者,如果他并不担心你的代码,会给你多少信心和勇气!

5、对方案的信任

和对代码的信任是一回事--如果你手上有伟大的程序员,你就会对解决方案有信心。这些程序员同时也是伟大的建筑师。他们剖析整个问题,指出问题需要怎样去解决。这就不只是用伟大的代码编程的问题了,很大程度取决于你怎样构筑解决方案。这是关键,而且会让你在软件世界里出类拔萃。

6、满足客户需求

一天下来,你写出了最棒的代码、用了最好的框架和最好的解决方案,但这真的能迎合用户的需求吗?恐怕根本不是那么回事儿。你搞砸了。尽管现在多次失手,一个伟大的程序员还是会正中靶心,找出客户需要的,给用户逐步展示他们所需要的无bug的最终版本。需求正中靶心的同时,用户满意了。

7、不断升级

伟大的程序员会积极主动地把自己的技术升级。他们对知识的态度就像饿猫见着了牛奶,他们从不用上级催促给自己设定目标、不用经理要求他们完成任务,因为他们自己就已经安排OK了。

他们发现自己想要参加的大会就会给公司写Email本人非常想参加今年的Tech-Ed大会。我将用心研习,并对作出贡献。我预计这可节省金钱/其他原因.如果可行,不知公司是否帮我支付此行?如果我收到这样的邮件,我不仅会帮他支付参会费用,他的路费我也会全程买单。

伟大的程序员们永远会关注例如。net用户组或Java用户组的所有用户群体。他们参加本地的技术会议,并从中汲取知识。你会看所有最新博客和最新的杂志吗?现在列出你最喜欢的前5个开发博客。你能做到吗?你应该像参加基督教青年会那样轻松做到。做到这些,可以很好的帮助你延伸你的思路!你将会不断获得更好的点子!你会得到更好的回报!

从糟糕到不朽 程序员的八个级别[2]


第四级 一般的程序员

这类程序员的优点在于,他们很清楚地意识到了自己可能这一辈了也无法成为一个伟大的程序员。天才只是很少的一部分人。如果这类程序员有一些商业和人员管理能力,他们也会在公司里相当的成功。认识自我并不简单,这并不是一般人能做到的,能够认识自己的人已经是很不错了,找到自己的长处,并像那个方向努力,一定也会很成功的。因为在公司里,并不只有程序员一种职位,经理,PM,流程,SQA,技术支持,售前,管理员,测试人员等等都可能会让这类程序员有更为广阔的天空。

第三级 业余的程序员

这类人员不管是不是计算机科班出身,基础如何,他们对编程有着特殊的爱好,他们可能会是一些很有前途的学生或实习生,也许他们可能会给开源做一些贡献(比如说提供一些语言包或是一些插件什么的),有时候,他们也会写两个小工具软件放在网上让人下载,也行有些时候就是为了玩玩而开发一些小程序而打发一下他们空闲的时间。他们完全是靠热情和承诺来编程。兴趣永远是最好的老师,也是最好的一件事,因为兴趣而引发的热情通常会让这些程序员成为骨干程序员。

第二级 不知名的程序员

这一级的程序员是典型的为大众所知的程序员,他们有一定的编程能力,但并不出众,也许他们会在一家大公司里工作,只程序员只不过是他们的工作而已,并不是他们人生的全部。当然,这样的程序员也挺好的。必竟,平凡地人还是大多数,平凡地活着也没有什么错的。

第一级 糟糕的程序员

这类程序员不知道为什么就走上了编程这条路,他们甚至连最基本的编程经验和能力都没有。所有被他们碰过的事情都需要他们的同事重头再返工一遍,他们根本不就是程序员。程序员这个职位对于他们可能就是一个错误。

正如原文作者所说,这些级别并不是很严肃的,也并不是每个程序都会去思考一下自己的未来,但是这些级别可能会让你去想一想从事程序员十年/二十年/三十年后,自己可能变成什么样。

软件工程师,你的价值在哪里?[2]


职业规划怎么写,相信很多朋友们对这个问题很感兴趣,下面给大家介绍一下。第一部分,前言即总论;第二部分,自我分析,包括业余爱好、性格、价值观、专业技能等;

二、 跨领域的强势竞争力。

信息科技瞬息万变,每个产业都变的越来越复杂,因此越来越需要专业分工,某种角度来说,每个人都需要花更多的时间与精力来加强自己的专业,要谈跨领域的能力,其实谈何容易。

但是请记住,就是因为很难,所以更值得去做。跨领域专长的培养也可直接反应在你的不可取代性上面。

三、 弹性再弹性,请让自己有最好的适应能力。

对于大部分工程师来说,这也会是个难题,然而却不可逃避。二十年前那个一份工作做到退休的美好时代已然远离,现在与未来迎接我们的,是一个信息平台不断变化,技术不断演进的时代,请记得随时保持你的弹性,乐于接收新的知识与观念。

对于生涯规划这件事情我其实抱持着非常怀疑的态度,人生其实怎么计划都比不上老天爷在背后给你来一刀阴的。不要抱着你现在所拥有的一切不放,要有心理准备,你所拥有的专业职能随时都可能被现实的职场一脚踢开,保持敏锐的观察力,并且拥抱变化。

一旦你察觉所懂得的专业即将被时代的潮流所淹没了,千万别怀疑,你不是在疑神疑鬼,赶紧学习新的专业技能。五年前复兴美工毕业的人也没想到五年后一个不是专科毕业的人也能靠书本以及网络来学习使用PhotoShop来跟他抢饭吃。大部分的工程师前一天晚上都还在网络上抓美女图,隔天就突然迸出个什么CMMI来要把他的工作变成工厂里生产线的一个配装员。

四、 全球化竞争,你的定位在哪里?

老实说,成也全球化,败也全球化。

如果不是网络的蓬勃发展,信息科技不会在短短几年内如此跃进,进而增加这么多就业机会来。然而,全球化到了一个极致后,信息从业人员要面对的除了日新月异的科技之外,还得与全世界的程序员竞争。

在这样的洪流中,不论是软件工程师还是其他产业的知识工作者皆然,我们都不可避免的要去思考自己在职场中的定位。BLOG、Skype、eBay这些东西在十年前都还不存在,当这些新东西出现时,势必造就了新的就业机会,相对的也必定剥夺了某些旧有的工作。

当我们面对如此竞争的职场时,要不断的思考自己的核心价值何在,找到自己对于工作的热情所在。再怎么不景气的产业都会有赚钱的公司与大鸣大放的成功者,再怎么热门的产业也会有经营不善关门大吉的公司与不求长进被请回家吃自己的员工。

只有找到自己的定位,才能立于不败之地,祝福大家。

程序员你真的只是程序员吗[2]


或许上面写的比较偏激,但真的是很普遍,我想告诉你们,你们虽然只是负责一个模块,但无论如何,请要知道你的项目到底是什么,如何运转,哪些地方好,哪些地方不好,因为这是对你自己的一个提升,也是对公司的一个负责。说到负责,我不得不说责任感,很多人就是缺少了责任感,以为完成了任务就可以了,但你要知道,你的公司或许等的不是你的完成呢?

请您拿到项目需求的时候,分析一下您要做的东西,用你敏捷的思维想一下,该如何去做,还请您多想想下一步,如果扩展了,我要改哪些地方,最重要的是,请您想想,这个任务对公司是否有利,或许你会说你只是个程序员,我没有权利去改变任务,没有错,你是个程序员,首先请你完成你的任务,在完成任务的同时,想想任务的完成对公司的运营是否起到反作用,因为有时你会比你的老板更了解项目对公司的利弊。如果你真的觉得不太好,不要怕,提出你的观点,但一定要想好你观点的描述,尽可能的表达清楚,让你的老板知道你的意思,因为老板他不一定懂技术,所以一定要白话一点。如果你的观点是正确的,你们老板也听明白你的意思了,那样你们老板会更加的器重你,而不会不可理喻的让你完成他所要的东西了。毕竟这是对他好的建议,也是对公司发展好的建议,如果你的观点不好,那样老板也会给你一定的提点,何乐而不为呢?

下班后,请你抽空想想公司的发展吧,因为你是公司中的一员,公司发展前景好也代表着你的发展前景好,如果你的想法给公司带来了好的前景,那也是对你能力的一种肯定。

最后说说面试,我也经历过很多面试,同样也面试过很多人,刚开始也会为工作着急,到处找面经,但最好的面经是无法从其他地方找来的,因为面试是一个展示自己的机会,而不是一再的ctrl+v 。刚开始我也会紧张,但马上,我调整了自己,每次面试就当自己一种磨练,一种交流、沟通、展示的机会,随后的几次面试都比较成功,再随后的几年,我回到了老公司进行面试,显然他们对我的能力已经是一个肯定了,最后我还是没有选择他们,因为我回去面试只是为了看看公司的发展进行的如何了,因为这一切也有着自己的一份努力。最好玩的是一次邮件面试,对方给了很多题目,大多是网上都有的,我也没有baidu,用自己的想法回答了所有的问题,并提出了很多意见,没想到对方回错了邮件,把他给人事的邮件发给了我,貌似是说面试还可以,就是工资高了点之类的话,我也懒得继续往下看,回信给对方,发错邮件了。过后不久收到对方的面试通知,更确切的说是offer,不过在他电话中我直接给回绝了,因为我已经在一家自己喜欢的地方就职了。

我爱我的公司,我爱我的程序,我也爱我的老婆和家人,因为他们给了我快乐,也给了我支持,让我能更全身心的去投入到代码之美中,我更相信公司能异军突起,成为IT界的领军人物,因为我看到了一群为公司孜孜不倦,辛苦能力的同事,我很爱这种氛围,我相信我们的努力一定会给自己带来收获,就算没有收获,我也没有任何怨言,因为我沉醉了,因为我快乐,因为我是个快乐的程序员。

软件工程实践者的思想[2]


5.工程

最狭义的工程,是描述做什么和做到什么.

也就是说,是对目标的描述和成果的检测。至于这个工程目标的实现,是过程和方法的事;而有效、快速地实现过程和方法所需的,就是工具.

这种软件工程体系层次(SoftwareEngineeringArchitecturalLayers)被描述成一张图。

过程伴随工程而出现,解决的是工程中步调一致的协作问题。那么工程是因为什么而出现的?

很显然,软件规模的不断增大是导致软件工程出现的根本原因。所以你会看到在几年前,开发一个小工具可以不讲工程;或者现在在你的Word中,为了将半角替换成全角字符而写的那个宏,也不需要工程。

接下来,即使软件规模增大,如果有一个牛人中的超牛人,愿意用20年来写一个任意庞大和复杂的操作系统,他也是能做到的。然而现实中不会有软件公司给他这样的机会。

项目的复杂可能要求不同知识领域的角色参与,而庞大则要求更多(人力、技术与管理)资源。团队作为开发行为的模式,是软件规模和复杂度渐次累积的结果。

团队必将越来越庞大,因为(与工程对应的)软件规模必将越来越复杂。没有团队意识的软件公司将在高度过程化、通晓方法理论、拥有大量工具的集团军面前一触即溃。

6.组织

工程理论其实是包含组织学的。然而我在上面的那张图中,将组织与工程分离开来,并在二者之间画下了一道纵向的线。

如果说工程关心的是需求、配置和文档等等这些要素,那么这样的工程还是停留在技术层面:关注的仍是工程实现细节,而非目标。从角色角度来看,这是项目经理和技术经理共同关注的那一部分。

然而项目经理还必须关注于人力资源、项目资金以及多个项目之间的协调等问题。这些问题与工程本身并没有直接关系,而是组织方面的内容。

所以在工程环节里,文档管理和配置管理等词汇中的那个管理,是管理的具体技术和方法;而在组织这个环节中的管理,才是真正的管理学上的用词。

在这张图上,我试图从这个角度上来说明:作为项目经理,你必须有一部分的工作是非技术性的。甚至,你可能绝大部分的工作是非技术性的。因为与技术相关的管理技能(需求、配置、过程管理等)可以由开发经理来做,或者公司对于这一方面有较统一且成熟的规范,因而无需投入过多的精力。

你必须更关注于对这个(或这些)工程的组织与计划。站在组织者这个角色上,你现在要考虑的内容可能会是:

为项目的各个阶段建立计划,并逐渐地细化计划内容,以及确立项目过程中每一个环节、每一个计划阶段的优先级和复杂度;

确立项目或者产品阶段目标,成果的准确描述、定位,以及整个项目的质量目标及其考核办法;

对团队中的不同角色展开培训,以指导并协调角色间的工作,从而消除因为工作习惯的差异带来的影响;

为每一个人准备他所需要的资源,这不单单是把一套shareware变成正式版或者把512M内存变成2G,还包括准确地评估他的工作量,以及决定是否为他增加一个(能协同工作的)副手;

软件工程师职业规划


一、前言

社会的发展日异月新,社会的竞争越来越大,大学生越来越多,因此,大学生也就变得越来越不值钱。作为大学生,为自己做一个计划就格外重要了,为自己职业生涯规划开始成为在人争夺战中的另一重要利器,作为当代大学生,若是带着一脸茫然,踏入这个拥挤的社会怎能满足社会的需要,使自己占有一席之地?因此,我试着为自己拟定一份职业生涯规划,将自己的未来好好的设计一下。有了目标,才会有动力。我会以自己的行动来验证,让时间来证明一切。

二、行业环境分析

说说我们现在的就业环境吧,二十一世纪进入信息时代,席卷全球的信息科技给人类的生产和生活方式带来了深刻的变革,信息产业已成为推动国家经济发展的主导产业之一。目前,中国软件产业还处于成长期,其市场潜力还远远没有挖掘出来。2010年左右,中国软件产业将步入成熟期。it产业作为知识密集、技术密集的产业,其迅猛发展的关键是有一大批从事it技术创新的人才。一定数量、结构和质量的it人才队伍是it产业发展的支撑,一个国家的it人力资源储备、it人才培养及使用状况决定着该国it产业发展的水平和潜力。也可以说,it产业的竞争就是人才的竞争,高水平的it人才培养和队伍建设是走向it产业大国和强国的前提条件。所以,无论是从大的方向讲,还是从小的方面讲,培养和储备高素质的it人才都显得非常重要。

市场需要的是计算机专业人才,而很多计算机专业毕业的学生都不能满足市场的需求,所以才会有抱怨计算机专业就业难的说法。解决办法还是靠自己吧,大学四年,不要像上面说的无所事事,对自己的专业有所熟悉并且精通一个方向,相信前途会是美好的。

三、自我盘点

1、优势盘点:

小时候的生活条件虽然有些艰苦,却让我养成了不怕吃苦,刻苦奋斗,愈挫愈勇的良好品格。人生漫漫,难免去经历风吹雨打,面对纷繁复杂、竞争激烈的社会。这些品格将永远伴随我,是我取得成功的重要保证,同时也是我人生中一笔弥足珍贵的巨大财富。

2、劣势盘点:

有时候不爱接受批评,推卸责任,明明是我的不对,却想法推卸到别人身上。现在虽然不那么严重了,但有时还是会有的。还有因为来自农村,没有经济基础,这决定了我的事业的起点相对而言要低,要做相对较长时间的物质积累,才能去实现心中的种种梦想。而且,到目前为止,还没有任何的工作经验,各类的荣誉证书也太少。而且目前我的专业课也不是很突出,这无疑为今后的求职之路带来一定的阻力。

3、优点盘点:

本人活泼开朗,乐观;善于坦诚待人,结交朋友,喜欢助人为乐,善于学习,时刻积累知识;善于组织活动,有一定的领导能力;容易与人相处,合作和适应能力强,喜欢与人共同工作;而且,我口齿伶俐,胆大,动手能力较强做事认真、投入,有毅力、有恒心,能坚持目标,另外有一股不服输的屈脾气。

4、缺点盘点:

做事不够细心,精力不够集中,效率不高,态度也不够专注。有时候也比较怀疑自己的能力,面对重大事情总是犹豫不决,于是很多情况下会坐失良机,另外还爱幻想,惰性较大,行动更不上思想。有时候说话过于直率,有时候还会有点霸道,总不能三思而后行,对此我深感悔恨。

四、解决自我盘点中的劣势和缺点

面对上面的自我分析,我想起自己走过岁月中的点点滴滴,心中不禁有些惭愧。我对自己以往在学业、文体、社团活动中的表现不是很满意。我发现我自己惰性较大,平日里总有些倦怠、懒散,学习、倘若不改正,这很可能会导致我最终庸碌无为。不过还好,我还有改进的机会。否则,岂不遗憾终生?

就此我一定要改进自己,使自己向着更好的方向发展。人生最大的敌人不是自己的对手,而是自己。当劣势和缺点成为你前进道路上的巨大阻力的时候,就应该想法去解决劣势、改正缺点。所谓江山易改,本性难移,要想解决我的劣势和缺点虽说不是不可能,但难度系数较大。真心向同学、老师、朋友请教,及时指出自存存在的各种不同并制定出相应计划以针对改正。但凭借将强的毅力与不服输的韧性,一定要解决我盘点中的劣势和缺点。

五、完成主要内容:

1近期目标

(1)、努力学习,突破英语六级。面对如此广阔而竞争又如此激烈的市场,怎样快速进入物流行业,获得你想要的那个职业、职位呢?考取职业资格证书是最现实、最有效的捷径之一。事实也证明多一个证书就多一个谋生的手段、多一次求职的机会。虽说六级只是一个证,但也是找到工作的一个很重要的凭证,不仅仅是如此,更重要的是可以提升自己的英语水平,为自己以后能有更大的发展空间,同时也能更好的适应这个发展迅速的社会。在求职中,考官更青睐英语好的员工,尤其在计算机这个行业中,有时在笔试时他们会让你用英语答题,因此,从现在起好好学习英语,学习英语,百利而无一害。

(2)学好专业课

毕竟专业课的水平如何才是我们今后能否找到工作最重要的标准。就算你能夸夸奇谈,天上地下无所不知,宇宙之间世界之上无所不能;凭你再能滔滔不绝、口若悬河的说天侃地、论古今中外,也不如拿出真实的本事,用能力去征服你的考管,去打动你的上司。有才华、有能力,能做好某方面的工作,独当一面,能为公司创造更多的收益,才是公司想要的。因此我们必须得提高自己的能力,学好我们的专业课。关于专业课,我的学习计划是这样的:

i、学习网页制作。今天的世界,是信息大爆炸的世界,到处都充满了媒体与信息的气息,尤其是伴随着电子技术的发展,计算机已经成为人们生活中不可或缺的一部分,计算机已经走近人们的日常生活中。与此同时,网络的技术的发展也有了突飞猛进的发展,我们每天获得的最新消息,查阅的各种资料,与亲朋好友联系,大部分都是在网络上进行的,而网页就成为其中至关重要的载体。因此学好网页制作,不仅能跟上时代的步伐,更重要的是它可以为我们利用,成为我们向外宣传自己,展示自己的平台,同时还能学到技术,丰富自己的头脑,很好的保护自己的信息不被外人知晓。另外如果你做出一个很好的网站(当然不一定非得想新浪、网易那样的大网站),那么或许你可能今后会有一笔不菲的收入哦!学习网页制作利己利人,岂不美哉!

ii、学习c++语言:作为计算机专业的学生,如果不掌握一门(如果你有能力可以掌握几门)计算机语言,很难说的过去,也很难在今后的职场生涯中找到对口的工作,因此,熟练的掌握并运用一门语言迫在眉睫。虽说现在市面上的语言种类很多,目的,功能各不相同,但是c++以其强大的功能,简洁的代码,较快的执行速度,已成为各种开发工具的龙头老大,学好c++,只有你想不到的,没有你做不到的。它可以开发各种图像窗口界面,各式各样的软件,甚至包括我们的操作系统。因此学好c++无疑是为自己今后的工作之旅有了一个好的定位。虽然这门语言以其纷繁的语法,繁杂的功能及较多的限制,学起来比较难,尤其对于新手更是如此。但奋勇向前,愈挫愈勇,不畏艰险正是我的特长。我看好c++语言,学好c++,没的商量!

iii、学习数据结构和数据库:我今后想个做软件开发员,但要想做软件开发人员,必须得懂得数据库和数据结构,学好数据结构、数据库可以使自己的头脑更清晰,算法更合理,执行速度更快。有一好的算法至关重要,尤其是这种思想更有价值。(自己加点东西,对此我知道的不多)

(3)、个人发展、建立良好的人际关系网:建立良好的人际关系,是一个人事业成功的基础。良好的人际关系可以使你左右逢源,游刃有余。对此我们需要有一颗宽容的心,需要真诚,需要积极交往的主动性,塑造很好的个人形象,善用各种交际手段,克服社会知觉中的偏见。正所谓知人者智,自知者明。能否正确地认识和了解他人,同样关系到人际交际能否顺利进行。要走出对他人认知的心理误区,却能客观地悦纳自己和他人,正视现实,并努力去改变自己能改变的事物,善于发现自己、别人和外部世界的光明面,从而使自己保持一种积极的、乐观的、进取的、和谐的精神状态。塑造良好的个人形象,增进个人魅力提高自身的人际魅力。每个个体都有其内在的人际魅力,他是一个人综合素质在社交生活中的体现。这就要求我们丰富自己的内心世界,从仪表到谈吐,从形象到学识,多方位提高自己。只有建立良好的人际关系网,将来在社会中才能充分发挥自己的能力,使其左右逢源、得心应手。

2、远期目标

远期目标的意义正如白龙马和它兄弟毛驴的故事,大家都清楚它们走过的路差不多,但唯一差别就是:白龙马一直以去西天取经为目标,明确地向前走,最后得到成仙;而毛驴却是围绕着磨盘转了一生,劳累而死。因此,确立远期目标就是你能否取得真经的标准,是你能否攀登高峰的度量。

职业目标:高级软件开发人员。

(1)、2009-2012我喜欢热闹,深爱着繁华的大都市,北京则是我梦中的家园,

那里高手如云,竞争相当激烈,我喜欢竞争的氛围,让自己时刻保持着紧迫感,不至于被时代所抛弃。另外,北京也是旅游、购物的好去处,在那里很轻松就能得到你想要的东西。

这段时间的计划是这样的:利用3年左右的时间,经过不断的尝试努力,找到合适自身发展的工作环境、工作岗位。在此期间通过学习,使自己在技术上有一个明显的提高,积累更多的经验,为以后的发展打好基础,成为一名真正的开发人员。这段时间内的经济目标是30004000.

(2)、2012-2015通过一段时间的积累,成为某一方面的主要负责人员,成为某项技术中的关键人员技术骨干,在公司中有较高的知名度与威望。经济目标是5000-6000.在此期间,拥有一个美满的家庭,同时还要给父母一个安逸、开心、无忧的晚年生活。

(3)、2015-2018储蓄资金,买一套真正属于自己房子,如果还有条件的话,可以考虑拥有自己的公司。基本收入8000+。三十岁以前,靠转业挣钱;三十岁以后,靠交际赚钱。我觉得的这句话再对不过啦,它非常适合当今的行业市场。在环境的改变中,我要学会适应环境,那样才会立于不败之地。跳槽并不是一件坏事,只不过又打通了自己另一个经脉,大脑的另一片荒林又被开发了。未来的事情谁也无法预测,不过对未来有准备的人总能够得到出乎意料的结果。

六、如何实现自己的目标

1、不积跬步,无以至千里;不积小流,无以成江海。人无点滴量的积累,难成大气候。从现在起每天努力充实自己,为自己的目标而储备能量、积累更多的专业知识。勤勤恳恳,专心学习,没有不经一番彻骨寒,哪来梅花扑鼻香。只有付出,才能有收获。没有兢兢业业的辛苦付出,哪里来甘甜欢畅的成功的喜悦?

没有勤勤恳恳的刻苦钻研,哪里来震撼人心的累累硕果?付出才应该是这段时间的主题曲,学习才是本阶段的最重要的任务。同时还有锻炼自己的注意力,在嘈杂的环境里也能思考问题,正常工作。在大而嘈杂的办公室里有意识地进行自我训练,以适应各种环境,能在各种情况下依旧保持敏锐的判断力。

2、虚心向老师同学学习,和同学们和睦相处,互相鼓励、互相帮助,成为相亲相爱的一家人,努力构建好的人际关系网。充分利用自身的工作条件扩大社交圈、重视同学交际圈、重视和每个人的交往,不论身份贵贱和亲疏程度。为了更好的加强自己的专业知识水平,通过各种途径向高手请教、学习,比如qq、信箱、聊天室、论坛等,紧紧跟着时代的步伐,这样才能有生机、动力、永不落伍。

3、积极的锻炼身体。强健的体魄犹如树木之根本,大厦之基石。问渠哪得清如洗,唯有源头活水来。锻炼身体关系到一生的健康,因此锻炼身体责无旁贷。我争取每周锻炼3次身体,包括跑步、打羽毛球等各种方式。只有强健的体魄,将来才能以饱满的激情与斗志投入到无限的工作中去。另外还要养成良好的饮食、生活、卫生习惯。要有充足的睡眠时间,保证每天睡眠6-8小时。

七、结束语

常立志者不如立长志,立志固然很重要,但一个人,若要获得成功,必须勤勤恳恳的努力,无怨无悔的付出。没有付出哪来的收获,如果没有行动而只是空想,结局只能是黄粱一梦,一切都是镜中之花,水中之月,可望而不可及的,花开花谢终是空,人生如烟又似梦。所以我必须努力磨练自己,我知道天道酬勤,宝剑锋从磨砺出,梅花香自苦寒来。不经一番寒彻骨,怎得梅花扑鼻香。既然选择了远方,就注定要风雨兼程。古人云,金鳞岂是池中物,一遇风雨变成龙。人不自信,谁人信之。我深信我的未来不是梦!

软件工程师的职业规划


职业规划怎么写,相信很多朋友们对这个问题很感兴趣,下面给大家介绍一下。第一部分,前言即总论;第二部分,自我分析,包括业余爱好、性格、价值观、专业技能等;

不少人都曾经这样问过自己:人生之路到底该如何去走?记得一位哲人这样说过:走好每一步,这就是你的人生。是啊,人生之路说长也长,因为这是你一生意义的诠释;人生之路说短也短,因为你度过的每一天都是你的人生。每个人都在计划自己的人生,都在实现自己的梦想:梦想是一个百花园,我只是百花园里一根小草,可小草也有一个大理想,于是我在这里畅想一下自己的。


未来社会发展的最终趋势将是集体一体化,这就注定软件的开发编程是必不可少,而且具有计算机网络的公司、银行、证券公司、海关、企事业单位及公、检、法等部门,都需要一定的编程人员,所以我可以从事计算机信息安全管理,或信息安全产品销售与服务等工作,从事计算机信息化管理,计算机辅助设计,ERP等相关软件的维护、销售、项目开发等工作。而作为一名计算机应用专业的学生,不可能对所有技术都涉猎到,因此我便选择软件技术作为跳板。


一、相关分析


1. 外部环境分析


(1)社会环境分析:当前国民经济信息化进入新的发展阶段,电子政务及互联网蓬勃发展,带动了计算机相关产业的发展,以软件业为例,中国正以年均超过25%的速度在增长。IT人才供不应求是世界范围的现象,许多国家都有20%至30%的缺口,我国也不例外。计算机专业毕业生找工作难却也是不争的事实,这就关系到毕业生素质问题了。


(2)分析目标地域:目前计算机行业的竞争相当的激烈,知识的更新淘汰速度相当的快,工作时间长节奏快,人们戏称搞计算机的人为IT民工有起一定道理。


2.目标职业分析


(1)目标职业名称:软件工程师


(2)工作内容:完成软件项目的详细设计,手册及测试文档的编制,参与软件产品的平审,负责完成代码的编写工作,负责完成集成,测试及确认工,负责实施用户培训工作。


(3)任职资格:


A.精通C/C++、汇编语言、数据结构、计算机基础原理;


B.需有自已比较优秀的作品(开发工具为C/C++);


C.熟悉Linux平台下编程者


D.沟通能力强,语言表达清晰,逻辑性强;


3. 就业和发展前景:


中国的软件人才缺口确实庞大,但是想要进入这一行业的人要特别注意,近几年内想要从事软件开发行业,单单具备一些简单的技术操作能力是不够的,还需要具备系统架构的策划能力。主做NIIT软件工程师培训的北京现代商务培训中心的闫玲老师说,现在的用人单位对高素质的软件工程师的需求可以用如饥似渴来形容,上海的NIIT公司培训毕业的学员的就业率达100%,用人单位中多是银行的IT部门和跨国IT企业。而从事软件开发的北京畅然信息技术有限公司的魏贵阳说,对于具有实际操作能力的软件人才是用人单位最为需要的。而且越是上规模的公司,工作的拆分层次越清晰,对于软件人才的需要越大。


二.职业生涯规划设计


1.确定职业目标和路径


① 近期职业目标:在校期间


A.在校期间完成基本的学业,掌握好基础课,为考研作准备。通过英语四级考试,利用课余时间深入的学习软件编程技术(C++,Java),Linux系统,数据库语言,汇编语言、数据结构、计算机基础原理,提升自己的专业素质。


B.积极的参加各项活动,提高自己沟通能力,语言表达能力,交际能力,团队合作能力。


C.利用假期时间找一些小型的公司工作实践,在实践中发现问提,提高自己,了解最新的行业发展动态,学习最新的技术。


2. 中期职业目标:毕业后


利用四年工作实践的时间熟练的掌握软件编程,积累大量的软件编程经验,学习企业管理知识,关注最新的行业发展动态新技术的应用,成为一个出色的软件工程师,自己接一些小项目,积累一些资金。


3. 长期职业目标:


尝试和一些志同道合的专业人员朋友合作创业,以自己的成熟技术和良好的信誉为核心竞争力,在同行中拥有自己的优势,一点点的积累经验,扩大自己的客户群,使公司一点点的发展壮大。


三.结束语


职业规划目标就如空中楼阁般美好却遥不可及,到头来只是一个安慰自己的美丽谎言。然而,现实是未知多变的,定出的目标计划随时都可能遭遇问题,要求有清醒的头脑,巨大的勇气,克服困难,取得成功。也许最终我们的目标也不能达成,但至少我们努力过,奋斗过,拼搏过,人生也便无悔。


每个人心中都有一座山峰,雕刻着理想、信念、追求、抱负;每个人心中都有一片森林,承载着收获、芬芳、失意、磨砺。一个人,若要获得成功,必须拿出勇气,付出努力、拼搏、奋斗。成功,不相信眼泪;成功,不相信颓废;成功不相信幻影,未来,要靠自己去打拼!

软件工程师职业规划书


职业规划就是对职业生涯乃至人生进行持续的系统的计划的过程。一个完整的职业规划由职业定位、目标设定和通道设计三个要素构成。

电信、银行等行业一直是许多人非常向往的工作单位,清差厚禄,旱涝保收,陈皓却不以此为然。所以当记者采访他的时候,他连用了两个最字来形容他离开银行的成就感。陈皓毕业后的前两年就职于云南省工商银行,从事银行电信内全国性业务系统开发。后来在全球最大的网格计算/分布式平台软件公司从事研发工作,熟悉unix系统以及c/c++语言,擅长大型系统软件需求分析、设计、架构、实施和维护,目前是某全球金融信息数据处理公司的技术主管。

随波逐流回想当初,陈皓颇有感慨。还在大三的时候,他就被系里优先推荐给了工行。那时他参与了系上的一个项目(用html+java开发一个在线教学课件),由于当时国内根本买不到html和java的书,而学校也没有上网条件,所以关于html和java对系里的老师都是比较新的东西,当开发完成后,系里对此评价比较高。因此就在大三下学期把陈皓推荐给了工行。由于早早地被银行预定,所以陈皓的大四生活很自由,整个一年他基本是在一家很小的软件公司打工度过的。就是在那家公司工作的经历,让陈皓后来产生了离开银行的念头。那家公司主要做些mis系统,陈皓不仅获得了一定的实际工作经验和能力的锻炼,还习惯了软件公司高节奏、快学习、充满挑战的环境和氛围。这造成了他毕业后到银行工作时极度的不适应效率低下,工作毫无激情,工作当中充满了相当复杂的人际关系和政治斗争。

最主要的是,由于初到银行,很多技术和产品从未见过,而主要实施却由外面公司来完成,银行自己内部中有经验的人又不愿意与人分享知识。虽然可以拿很多红包,整天也很清闲,不是看报纸就是打游戏,但陈皓感觉到那并不是自己喜欢的工作,没有任何激情和斗志可言。和大四时在那个软件公司中的技术氛围相比,完全就是天壤之别。所以在银行工作的这两年,陈皓天天都在彷徨和思想斗争,因为没有自己的职业规划,所以,浪费了至少两年的时间。最后,陈皓打定信念,决意离开去寻找自己的道路。因为我是在一个相对比较闭塞的城市(昆明),所以,我要离开银行的决定遭到了父母、同学、朋友、同事,几乎是身边所有人的反对。但最终,我还是一意孤行离开了银行,远走他乡到上海这座大城市去寻找自己的人生道路。从此,我走上了一条不可回头,并和以前完完全全不一样的道路。从国企到民企再到外企,从打杂到程序员再到高级程序员到teamleader到技术主管,从小酒店mis到企业oa到全国性的大系统到世界领先的分布式计算平台集群软件,若干年过去了,经历了高速的发展和获得了很多不同的经历,但唯有当时选择离开银行这件事情让我至今都为之兴奋。迄今为止,这是我自己觉得最最有成就感的事情。正如陈皓所说,也许,最让一个人感到最有成就的事情,不是他做成了什么,而是他选择了什么。认识自己多年打拼后,陈皓虽已是技术主管,但走的那些弯路,浪费的两年时间,一路中的心酸让他明白了很多道理。今天,我对许多刚上路的朋友都会说,人生的规则很重要,从上大学时就要好好规划,这对国人来说尤其重要。因为对于国人来说,人生的头20年都是被别人规划的,导致了自己根本不会给自己做规划。这点是相当危险的。

人生短暂,属于自己黄金的时间不多,如果把太多的时间浪费在寻找道路和方向上,很有可能会导致一事无成,要及早确定自己的规划,然后照着这个规划坚定不移的去执行。陈皓认为,做规划时最重要的是两个方面:一是清楚地认识自己的能力、优势和性格;二是确定自己的专业和想从事的行业。只有在确定这两方面后,才能做出自己的职业规划。两方面看起来很简单,但认识自己并不是一件容易的事情。陈皓认为应当从下面十五个方面审视和认识自己,帮助自己确立人生规划:a)所掌握的知识,b)问题的解决能力、判断能力和分析能力,c)对待困难的心态,d)团队合作能力,e)表达能力和语言组织能力,f)创造和创新能力,g)沟通能力,h)自己的性格内向还是外向,i)是否有坚韧不拔的专研精神,j)自己的弱点和性格上的缺陷,k)学习能力,获得知识的能力,l)领导组织能力,m)目前自己能够进入的企业,n)目前自己在社会中的地位,o)目前自己的竞争实力。职业规划就像软件工程确定了自己的行业和专业领域后,接下来的事情应该是:1)努力掌握这个行业的知识,2)用最短的时间了解这个专业和行业更为具体的各个子方向。然后在实际过程中再认识自己。比如,选择了计算机行业,应该尽量地尝试软件、硬件、网络、娱乐、媒体等计算机行业不同方向的工作,如果从事软件,又分web、系统、项目、erp、crm、数据库、嵌入式,在工种上又分开发、测试、技术支持、流程管理,项目管理,系统架构,售前,售后。当然,我们并不需要去尝试所有的工作或工种才能知道自己适合什么,我们完全可以向从事不同方向的人咨询并结合自我认识来做出判断。

在这个过程中,迷茫的摸索可能是很难避免的。能够及时得到前人的指点可能会是一个捷径,征求前人的建议可以起到参考的作用,快速原型(快速尝试)或许也是好的办法。因为人与人不同,他人的路并不一定适合自己,适合自己的路还要自己去规划,别人是帮不上忙的。要经常性地跳出自己再来看自己,客观地分析自己的优势和劣势。让自己和别人掂量掂量自己到底几斤几两,了解到自己的长处和特点,然后才能知道自己适合做怎么样的事和并调整自己的职业路线,这是一个肯定到否定再到肯定螺旋上升的进化过程。当度过对自己对社会的陌生期后,才有谈得上对自己人生和职业的规划。

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

从一名程序员过度到项目经理


1.从程序员到PM,是一条脱变的路,事实上程序员走的路最终不应该是项目经理。首先有一点需要明白的就是,一定规模的项目中,项目经理不需要太懂技术,他可以是一知半解。项目经理的任务不是在技术方面,技术相关的应该交给SA去做。项目经理更多地是做管理,沟通等工作,你如果可以的话到书店查看一下关于项目管理的书籍,你就会明白。当然对于小项目来说,有可能是PM,SA是同一个人,而这样的项目经理更多只是SA加上一些管理工作。要做项目经理,你就首先告诉自己不再去碰技术细节了。程序员并不是一个培养项目经理的好环境。所以没有什么从Coder到什么developer再到SA然后是PM的路,这是一条比较悲哀的路。在大公司,SA下一个目标不是PM,而consultant,然后是seniorconsultant,PM走的是另一条路,所需要的技能不是技术,技术给PM带来的能力提升是很少的。在项目中你最后能分清楚PM与SA的关系及各自在项目中的分工与用途。

2.其实我蛮同意gzlucky(Lucky)的看法的,确实是我们公司不少项经理就是不很能跟得上现在的一些技术,因为很多人都快年近四十,儿子都上高中了,要他们再学新技术真的难度比较大,他们的工作基本上就是天天找手下的程序员,布置这个任务,询问那个任务做的怎么样了。不过我的头倒是和我一样编程,他手下写代码的就我一个人,他自己也会ASP和JSP,但是可能对。NET不熟,就由我来主负责了。我觉得项目经理还是像他这样的好,自己也能懂不少技术,可以服人。但是我的头儿好像在沟通这一块不是非常出色,当然也有可能是俺太内向,不太与他沟通,所以他也只是在交待任务后就不再多询问,而不像别的项目经理天天追程序员后头问。我想问问各位,你们看哪种项目经理才是比较好的,像我的头儿这样的,还是像某些喜欢追程序员后面问进展的。

3.原来在一个小公司做过半年的DM,一年的PM,后来为了让自己的技术更扎实一些,离开了原来公司,现在在大公司做程序员,开始后悔了,在大公司里很难接触管理方面的东西,也很难晋升,个人认为在小公司做DM,PM,有经验后直接找大公司的PM,这样也是一条路。

或者考PMP之类的证书,然后直接找管理的工作。

希望过来人能给予更好的意见和建议,我也现在想往管理层发展。

技术很硬了再去做PM,这种想法是错误的,我就犯了这个错,边搞好技术(为了生计)边学管理知识(为了将来),慢慢向管理发展,不能等。有句话说的好,机会是属于那些有准备的人的。利用业余时间多学些管理方面的东西,所谓人的差异在业余时间。

要走向管理层,英语一定要学好。

沟通很重要,要做好管理者,先学会做人。多跟下属沟通,多为下属着想,而不要去巴解讨好上司。体谅下属,把项目计划做的尽量合理,不要让下属加班,给下属发展和晋升的空间,这样才能是下属有干劲,才能把项目做好,你才有更高的升迁机会。

只有把自己知道的不断的让你得力下属知道,只有提拔起一些得力的下属来,你才有时间和精力去向上爬,不然你抱着不放,就没有升迁的机会。

管理不是喝酒抽烟那么简单,那只是过去的那种不思上进,耽误自己前程。

吃尽苦中苦,方为人上人。

做PM不是混,是要把项目做好,这跟做人是一个道理,这也就是为什么做管理要先学会做人的道理。

pm的整个工作重点是什么?如果做为一个PM,技术不高怎么对付组里的牛人

我们经常会因为公司里的顶尖人才、个性化太强,不能与其他人合作而感到棘手,要解决这一问题其实也是有法可寻的。

一、在肯定其价值和优势的前提下,明确地制定改进的目标;

二、顶尖人才能够面对中肯的,明确及一对一的批评作正面反应,所以要加强与他沟通的力度;

三、可以根据具体情况调整考核目标,加强与其他员工合作的内容;

四、把顶尖人才调到相对能独立发挥其才能的岗位,减少与别人发生矛盾的机会。

程序员误区:软件开发职业是青春饭


职业规划就是对职业生涯乃至人生进行持续的系统的计划的过程。一个完整的职业规划由职业定位、目标设定和通道设计三个要素构成。

我们听得最多的误解莫过于软件开发职业是青春饭这句话了,这样的说法在人们中间很流行。

这种说法意思是说,只能在年轻的时候从事软件开发工作,当然这个年轻也给出了一个具体的年龄,就是30岁以前,30岁以后就不能搞开发工作了,肯定转行做其他工作去了。

这种说法的理论依据是,做软件开发非常的用脑子,而且都是代码的工作,只有年轻人才能有这个精力去投入软件的开发工作中去,年龄大了就干不了啦。

很显然,这个误解理论来自于外行人,但是,这个外行理论却时不常的成为新程序员前进的障碍。原因就是,新程序员们看不到职业的发展方向,搞不清楚自己的发展路径。

1 不必为30岁以后烦恼

我们在前面章节和大家说过程序员修炼三境界,关于软件开发职业是不是青春饭的问题,我们在那个章节中,从程序员的发展路径中我们基本上可以比较清晰的看到了答案。

这个路径告诉我们,初级程序员,程序员,软件工程师并不是软件开发职业的唯一表现形式,这仅仅是职业的初级形式,大约在三年内完成进阶任务。这个误解估计主要来自于对软件开发职业的理解,认为软件开发职业仅仅是指初级程序员,程序员,软件工程师,所以,都是年轻人在做这个职位。

我们要充分理解程序员未来的光明性和曲折性,程序员职业发展的曲折性也会表现为一定的活跃性,即,部分人会在进阶过程中掉队,虽然程序员工作三年可以进阶为开发经理,但是,这个过程是曲折的并不是一夜之间完成的。

2 30岁以后照样可以编程序

不管你在30岁以后是否已经进阶为开发经理还是继续做程序员,一样都可以做编程序的工作。认为在30岁以后应该专门做管理工作的观点同样是错误的。30岁以后,虽然做初级程序员的可能性不大了,但是,核心编码工作,尤其是难度较大的那部分编码工作,还是较多涉及的。

3 50多岁的程序员多的是

据美国调查企业Evansdata公司发表的调查报告显示:

从事软件软件开发的程序员中女性比例逐渐减少,现在仅占9%,大部分开发程序员都是36-50的男性,平均年收入在5.5万美元以上。Evansdata公司的调查报告搜集了全球1.4万名软件开发程序员回答信息。

这种情况之所以没有在中国出现,其主要原因是中国的信息技术起步较晚,在中国信息技术大面积普及的时间大约是1990年以后,那个时候的年轻人,现在也只不过是30多岁,至多40岁。

在国内找到50多岁的程序员有点难,主要是中国软件开发行业的起步比较晚。但也不是不可能,我就认识这么一位前辈,他目前是一家小公司的老板,他的公司有程序员,但据我所知,个别的程序他也会自己去调试调试,他的这个精神是我等后辈应该学习的。

4 点评青春饭

软件开发职业不仅不是青春饭,而且这个职业会让你永葆青春呦!呵呵。

青春饭:

职业本身并没有对年龄的限制,如果你愿意可以一直干下去。

5年程序人生路 从新手到项目管理[2]


工作渐渐展开之后,就是平静如水的生活,每天上班,吃饭,睡觉,日子也过得很快。刚开始,由于懂得东西少,所以每次任务下来后,都是积极的去完成,因为害怕自己做不完。但是渐渐的,当自己清楚该怎么做的时候,人会产生疲倦,因为每天都做一些差不多的劳动。慢慢的,做事情就喜欢拖拉了。当分配一个任务后,自己先估量一下这个工作自己大概需要多久,一般老板给的时间会多很多。所以喜欢把工作先放着,去看看网页,逛逛论坛什么的,等到剩下的时间差不多了,需要开始工作了,就懒洋洋的进入工作状态,但是往往完成工作质量都不怎么好,很多提交后会有些BUG。不过我也没怎么在意。因为和老板关系好嘛,像我这样,再怎么说也属于元老级别的。就这样慢慢的工作了几年。因为小公司什么都要做,技术也积累了很多。包括各种主流数据库的用法,。NET,CSS,JAVASCRIPT,PHP,JAVA,perl,FLASH, 等等,其间,自己独立开发项目的时候,总想找出一种架构,加快自己下一个项目的开发进度。但是每次开发完后,发现上次设计的架构真垃圾。开发过很多项目,每次都想了一些新的架构方法。到现在沉淀下来的还值得用的架构思想也没多少。记得在做JSP的时候,感觉JSP里面服务端代码和HTML混在一起,很难看。不如。NET的事件驱动好用。就去写个模块,让JSP也实现事件驱动的模式。结果写到后来,也没得到什么好处,并且感觉有点不伦不类,后来项目慢慢做大了,才渐渐明白面向对象的用意。当一个项目很小,逻辑很简单的时候,用面向对象的方法设计用处不大,反倒是组件用处更大。因为项目小,基本上都是建几张表,改改HTML的工作。但是项目一大,逻辑变复杂了,如果你要理清楚逻辑,这里就需要一种方法论。我一开始写算法的那种方法有点不适用了。原来那种是从顶层开始,向下细分。是一种至上而下的设计方法。而面向对象不是,它是一种由点及面的设计方法。面向对象是先找出一个个对象点,然后再找出每个点之间的关系。在实际的项目中,你很难从上至下的设计。因为项目需求往往刚开始很不全面,很多项目后来改得都是面目全非。从上至下的设计不适合这种平凡的修改。并且当需求很大时,他涉及东西太多,你也很难从一个俯视的角度去全面的看这个系统。所以从上至下的设计不能满足要求。打个比方,记得一个项目已经做了80%,结果客户觉得用得不方便,要改一下。很多原来做的功能都不需要,并且提了几个新功能。但这几个功能也只是对原来的功能稍加改动。但是逻辑上看却是大相径庭。人脑不是电脑,如果想着这个代码,去改那个代码,势必到后来让自己也搞糊涂了。所以需要抽象出几个对象出来,是按照客户的思维方式。然后抽象出来的对象里面包含原来的功能。这样做起来就事半功倍。

在工作的磨练中,慢慢的发现了普通的程序员与优秀的程序员的一些差别:

1, 普通的程序员遇到问题喜欢张口就问别人,问之前没经过大脑想想。这是一个不好的习惯。其一,自己都没仔细想想,就算别人帮你把问题解决了,你自己不多久就会忘记。下次遇到,照样是不会。因为这个问题你没有经过大脑。其二,能够回答你问题的人,多半是有一定经验了。他们或许很会安排好自己的事情,管理好自己的时间。如果时常去打断他们,他们会觉得你很烦。

优秀的程序员多半会先到网上查找一下相关问题,看看网上有没有相关解决方法。经过一翻查找,他会把这个问题记得比较牢。

2,在一个项目的合作开发中,普通程序员往往只了解自己开发那方面的东西。项目做完后往往对整个项目有哪些功能都不太清楚。可能会有人抱怨,自己工作都做不完,哪有时间去了解整个系统。但现实多半是,花大量的时间去网上闲逛,却不愿花时间去增进知识。 如果总认为项目的设计是设计者的工作,自己没必要去了解。那么这样的程序员只能是手工劳动者。

优秀的程序员会对整个项目有认识,对一些自己感兴趣的功能会去做一下了解,更优秀一点的,会去对整个项目的架构设计做一下了解。自问如果他是项目设计者该怎么做? 去学习项目设计的优秀之处,去发现设计的不足之处。触类旁通,把优秀的地方用在自己将来的工作当中。

3,普通程序员往往有很大的惰性。不能自觉的去学习知识,增进能力。所以每天耗费大量的时间在一些消遣状态中。所以时间往往白白的浪费掉。

优秀的程序员往往会安排好自己的工作和学习。在工作中学习,在学习中工作。能够感觉到自己每天都向着自己的目标在前进,状态佳,动力足。他们因为每天工作情绪很高,所以研究的东西也多,时间比较宝贵。因此他们会善于利用一些工具来操作自己的电脑,大大来的减少琐碎的电脑操作时间。更有胜者,会开发一些符合自己的操作习惯的小程序,来提高自己的效率。说不定这些小程序放到网上共享,可能还会有意想不到的收获。

我现在做项目管理,看着手下的程序员,时常也让我想起原来做程序员时候的坏毛病。比如,上班迟到啊,工作时间上网闲逛啊,交上来的程序BUG成堆啊!看到这些,我时常都是会心的笑笑,可以理解! 不过我也时常提醒他们,如果你们想将来成为IT界的精英,而不是等到30岁感觉自己无路可走,那么请你们珍惜自己的时间。如果你们自己都不珍惜自己的时间,那么别人更不会去珍惜你的时间。

今天花了两个多小时,写了一篇短篇自叙。感觉值得,把自己五年多的光阴回顾了一遍。从前的故事历历在目。写下来过五年后再来回顾一下,说不定会是另一番感受。