您的位置:首页 > 编程语言

IT专员解答编程人员思想疑团

2011-07-07 17:37 218 查看
周:谈谈你在学习IT技术的过程中遇到的困惑吧。我觉得,由于你纯粹依靠自学,尽管你目前正在读清华的MSE,但一定还有些东西不能完全理解。你有什么问题,我们可以探讨一下。我在这个行业做了将近20年时间,国内的、国外的,管理的、开发的,我遇到过很多问题,也许我能帮你解决一些问题。

邓:我还不是很了解国内开发一个项目,究竟要经过一个怎么样的过程。我们马上就要学软件项目管理课程了,由微软的人来讲。但微软毕竟是一个全球知名的大企业,他们做得很规范,而国内的企业是不是也在这样做呢?如果我以他们的标准去应聘国内企业,会不会又出现眼高手低、高不成低不就的问题?这是我一直担心的一个问题。

周:这个问题我是这么看的。微软研究院是一个很大的机构,大概有几百人的规模吧,而且微软做的软件也都是非常庞大的软件,这里面每个人的分工都很细,有做需求分析的,有做整体设计的,有做编程的,还有做测试的,最后还有做文档编写的,他们的这种流程安排得非常规范,完全按照软件开发的那套流程来做。为什么呢?因为他们做的软件非常庞大,必须有很多人配合着来做,所以微软不得不采取这样一种方法。现在中国的企业是不是也这样呢?不是。就拿你们保险公司的团体险这个业务部来说,把你们的业务全部搬到计算机上,整个工作量也不会太大,只要有一个项目小组,一共8、9个人做上半年,就可以开发出来。另外,微软做的是系统软件,而中国最需要的是应用软件。微软做的是开发工具和开发平台,提供给客户的是一套工具性的东西。而你们是在利用微软的工具开发自己应用的东西。那么相对来说,你这个应用系统要小得多,你们几个人就可以完成需求分析、结构设计和编程,甚至你一个人就有可能全部完成。而测试则可以让一些不懂的人去测试,让最终真正使用这个软件的人去测试。不过文档还是要由你来写,比如用户说明书、用户操作手册等等。所以,现在中国应用软件还没有做到很庞大的地步,所以开发方法和微软就会有区别。当然,将来也会有很大的应用系统,那究竟会大到什么程度呢?比如,美国有一个超市叫沃尔玛,他的数据量已经达到几十个T了,而中国能上T的数据库还比较少。等到那个时候,就需要按照软件工程或者CMM这种标准严格进行了,否则根本做不出来。但中国目前的应用还没有发展起来。所以说,你学的MSE以及微软给你们讲的东西,可能在几年以后才能用上。你毕业以后如果到小公司,可能不会马上就用到这些知识,你要有这个心理准备。

邓:原来如此。另外还有一个相似的问题──国内企业的软件项目经理平时做哪些具体工作?比如我,几年以后也可能要向这个方向努力,否则就真的高不成低不就了。我听说现在拿项目都是凭关系,如果没有关系就拿不到项目。我非常困惑。

周:你这个问题提得非常现实。中国的项目经理和国外的项目经理存在巨大区别。国外将项目经理称作“Project Manager”,他的作用是组织几个项目小组共同完成一个项目。要真正做一个大的项目,其中包括许多环节。第一个环节是销售,就是在前期告诉客户,你有实力做这件事情。只有销售做好了,才能派系统分析员过去做前期分析。一旦客户认可,项目组长就可以接过来做详细设计,了解用户的详细需求,再把需求一步一步全部写出来,让客户看是不是他所希望得到的结果。用户认可了以后,签署合同。然后才开始编程序、测试、写文档。之后是QA(质量保证)做质量把关。QA在国外是一个非常重要的部门,产品最终交给客户使用的时候,是需要QA经理签字的。如果没通过测试,QA经理绝对不会签字。就像会计师事务所的会计师一样,QA经理担负着重大的责任。总之,国外的项目经理是一个“协调人”的角色,他协调销售、开发、测试,而这三个环节都有相应的项目组,项目经理不会每天都直接去和客户打交道,也不会直接去编程序、作测试。项目经理都是公司具有资深经验的人,他们级别很高,甚至还有直接调动人事和财务的权利。但在中国就不一样了,中国企业的项目经理是需要带头干活的,因为目前中国企业的项目规模相对还比较小,还没有细分。在国外三个部门才能做的工作,在中国一个部门就能做。所以,我觉得在中国要真正达到规范化的软件开发,至少还需要五年的时间。这不仅仅和技术和管理有关,还有意识和社会环境等方面的原因。

邓:对。看来在中国做项目经理,还需要付出很大的精力和努力,因为一切还都不规范。

周:中国的项目经理需要自己做很多事情,别人不做的事情他都得做,非常辛苦!你学的这个软件工程硕士将来可以做系统分析员、结构设计师、开发工程师,或者软件开发项目经理,但要真正做到项目经理的位置,你必须要有非常丰富的经验。首先你要做过客户需求分析,然后你还要做过开发,你还要懂得测试,否则你站在这样一个位置上根本无法统领一个团队。所以,你下一步首先还要在底层做一段时间,把基础打牢。如果从底层做起,我的建议是最好去一家大公司做一年到两年的时间,你学一学他们是怎么做项目的。鉴于你的特点,因为你比较喜欢跟客户打交道,又学了MSE这个专业,我建议你毕业以后从事系统分析,也就是做用户的需求。你从系统分析做起,紧接着再了解一些结构设计、开发、测试等方面的知识,你对整个流程就比较熟悉了,你就可以尝试去做项目经理。等做了一段时间的软件项目经理以后,可以向CIO的方向发展。另外,我还建议你一边学习,一边做项目,这样可以把你学的东西用在实践之中。

邓:这个建议非常好,我也在考虑。

周:你不要单纯地学习,因为课堂里学到的那些内容,只是表面的东西。你一定要参与到一个大的工程项目,一边上学一边做项目。你可以找一家软件开发公司,公司对你的时间要求不能太严格,给你的工作量也最好不要太多,你只是作为一个普通的开发工程师就可以了,不要担当主角。以你现在的水平到一个公司做开发,4000块钱的工资应该没有问题。当然,工资少一点没什么大碍,只要得到一个实践的机会,能与你学的东西互相结合,你对所学知识的理解就比较深刻了。等你拿到MSE学位之后,你就有实力去做系统分析。到时候,你尽量到保险公司做项目开发,因为你IT和业务都很熟,这样工作起来比较顺手,而且也比其他人更有优势。

邓:您能不能再多谈一些系统分析员方面的事情?

周:中国目前很少有专职的系统分析员。但随着中国应用软件的普及和大型应用软件的实施,必将催生一大批系统分析员的出现。系统分析员的意义在于了解客户的需求,比如了解政府里的文件如何传输、如何批阅、部委和部委之间如何交换文件,等等。你刚才说的税务总局和财政部颁发的文件政策互相矛盾的例子,其实完全可以避免。那么,这么大的一个系统就需要很多系统分析员,税务总局的需求是什么?人事部的需求又是什么?二者糅合在一起,这个软件应该怎么做?这就是系统分析人员要做的事情。只有系统分析清楚了这些事情,才能开始搭建应用软件的整体框架,否则无法做结构设计。如果用户的需求经常改变,你将根本无法开发,即使开始开发了,最终这个项目也不一定能完成,就因为系统分析没有做好。系统分析的工作和你的性格正好相吻合,以前你总有这种想法,就是尽量满足用户的需求,让用户更加满意,而做系统分析也是这个意思。用户系统分析是做好软件项目的前提,也是最重要的一步,要花整个项目的2/3的时间。如果用户需求分析做得不好,后面的事都将无从说起。

邓:我觉得今天的谈话让我明白了很多问题,解决了很多困惑,启发很大!非常感谢您,周老师!

很多人都需要别人的指点,这样他可以少走许多弯路。如果当初他来北京的时候,就下定决心进入IT行业,只要在中关村“转悠”半个月,他一定能找到一个电脑公司的工作,哪怕是扛机器的工作。之后,他可以渐渐摸索技术。事实上,很多在中关村卖电脑的人,连26个英文字母都识不全,很多攒机器、搭网络的人,只是初中毕业的水平。而他是一个有三年工作经验的大学毕业生,怎么会输给他们呢?

然而,邓旭并不了解这些,否则他也就不会去卖保险了。如果他当时选择了中关村这条路,也许6年的磨练早已让他成了一名电脑技术专家,他也就不再需要花3年的时间去清华读软件工程硕士了。邓旭是那种比较踏实、平稳的人,这固然是他的优点,他做一件事情能善始善终;但这同时也是他的缺点,他在做事的过程中不够灵活,缺少打拚和冒险的精神。

我觉得邓旭应该多交一些朋友,一些能够在一起交流思想、切磋技术的朋友,这样不但可以提高自己的综合素质,还可以为自己创造更多的机会。这些朋友不一定见过面的人,邓旭可以直接写Email给那些素不相识的人,或者到BBS上发帖子,或者参加各种各样的研讨会、交流会。这些都是认识新朋友的方法。有时候朋友的一个建议,可能会对自己产生深刻的影响。

邓旭小学时代的梦想是成为一个天体物理科学家,很显然,这个理想是不切实际的。读了4年大学,毕业后到冶炼厂工作,在北京做6年保险,邓旭直到现在才把自己的职业定位放在IT方向,真正开始了自己喜欢的职业生涯,而他现在已经年界而立。当然,多年的颠簸,让他获得了丰富的社会经验,但在自己的职业生涯上,他却并没有取得丰厚的成果。

事实上,邓旭完全可以避免走这些弯路。他有几次定位前途的关键时刻:第一次是在上大学之前,他需要有一个通过一番奋斗走过来的好朋友,给他一些忠告和指点,告诉他自己应该选择什么专业,如何定位职业,然后朝着一个大概的方向去发展。或者,他需要阅读一些成功人士的文章或传记,从中思考自己的一个方向。第二次是大学毕业以后,如果自己的理想还是想做一名天体物理科学家,可以去中科院地球物理研究所,或者省一级的地球物理研究单位做一名临时工,哪怕是打扫卫生都可以。这样,他就可以直接接触那些从事物理研究的人,可以学习相关的知识,感受相应的气氛。长此以往,只要他具备相关的能力,就完全有可能向研究室的助手、正式研究人员、助理研究人员、研究员的方向发展。如果他能做出一些成绩,可能真的会成为一个科学家。第三次是到北京的时候,如果他认识一个电脑行业的朋友,如果他仔细咨询一下向IT方向发展应该怎么走,也许两年的时间他就可以成为电脑方面的行家。凭着邓旭踏实肯干的精神和他的素质,相信他很快就会得到老板的赏识,他也就可以做他喜欢做的技术工作,然后发展成为部门经理。如果当时他选择了一家电脑公司,而且一干就是6年,我想现在邓旭应该已经做到副总经理的位置上了。现在,邓旭到了第四次做出选择的时候──MSE毕业以后,做系统分析员,然后做项目经理。如果他能按照这个方向坚定不移地向前发展,我相信几年以后他应该可以做到一个中型公司的CIO(首席信息官)的位置。

可以说,一个人的成功,其本身的素质和能力只会占一半的因素,而另一半的因素则取决于他在关键时刻的选择。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: