CSDN - 文档中心 - 其他 标题 * 软件工程师的年终总结* sunny_y_m(原作) 关键字 软件工程 软件工程师 总想着每天、每个月、乃至每年都有点进步。2002年,对我来说,是起伏不定 的一年,也是收获颇丰的一年。当然,最大的收获是有了一个可爱的女儿。:-) 在这一年,我跳了两次槽,一次是自愿的,还有一次是被迫的。我目睹了一些 公司从盛到衰的过程,也看到了一些脚踏实地的公司。 离开X1公司,是因为我觉得X1公司不是在做软件,所谓的印度模式,我想,绝 对不是这么做的。理想不合,不想浪费时间,也只能背负跳槽的恶名,挂冠而去。 去X2公司,是因为看到他是美国独资公司,做外包软件,能够接触美国的客户和技 术,希望能够有所收获,何况,职位也不错。的确很想好好做,也跳累了,只想稳 定发展,毕竟,是做父亲的人了。没有想到的是,竟然让我目睹了一场资产争夺的 好戏。公司易主,流言满天,诽谤四起,官司大战,这种平常只有在电视和电影里 看到的情节,我实实在在的亲身经历了,也算是人生的重要一课吧,至少,让我看 到了人性最阴暗和恶毒的一面。自然,是做不下去了,只能又走。 也看到了一些踏踏实实做事情的公司。园区的瑞博软件就是一个。很少看到如 此踏实做事的公司。若干年后,只要他能够存活,必定是一个成功的公司。虽然老 板对我也很有诚意,只是,对于教育软件,我实在没有太大的兴趣,何况,如果想 做教育,我何不选择安博呢?毕竟,安博给于我很多。回头想想,在其他公司,我 都是在奉献,只有在安博,是学习了很多。 说起跳槽,其实,看看那些公司,有多少是在踏踏实实做事情的?老板本不懂 软件,都是看着软件行业能赚钱,想来捞一票,结果把中国的软件行业做坏了,也 害苦了中国的程序员。自己不好好做事,怎么怪别人跳槽?同工作经历的坎坷相 比,,在个人能力方面,今年的进步是非常大的。今年上半年,我的进步集中在技 术领域。我更加深入研究了设计模式、EJB体系和.Net平台,还有UML建模,终于有 所突破,设计了一套自己的基于.Net平台的系统架构和开发工具,并且得到了应用 的证实。在网上也陆续发表了一些文章,受到比较好的欢迎,还上了赛迪网的开发 之星。 下半年,在软件工程方面收获是很多的。 看到网上对于印度模式从吹捧到批驳的吵闹,也看到X1公司学习印度的失败,加 上自己从开始就对那些记者的怀疑,决定好好学习软件工程。我一向认为,任何东 西,不能道听途说,只有自己好好深入研究,才能得其精髓。同时,软件工程绝对 不能只看印度的,毕竟,美国才是软件业最发达的国度。 列举一些学习的参考资料:《RUP软件工程过程》、《MSF微软解决方案》、《XP极限 编程》、《CMM实践应用——Infosys公司的软件项目执行过程》、《人月神话》、《软件需 求》、《软件工程Java语言实现》。每本书,我都仔细研读了,颇有体会。 我开始就想,印度软件工程绝对不会象那些记者所说的那么简单,所谓的高中 生编程说。所以,我必须实际看看印度的软件工程。《CMM实践应用——Infosys公司 的软件项目执行过程》,是印度最大的软件公司Infosys公司的分管质量的副总裁写 的,介绍他们的CMM4的软件工程,果然不同凡响。这是我了解印度软件工程的主要 窗口。 首先,同原来的想法不同的,也可能同大多数人(尤其是受那些软件记者影响 很深的“专业”和非专业人士)想法不同的是,_软件工程实际上不仅仅只是管理, 而是一门涉及很广的交叉学科_。在软件工程中,大约一半的内容是专业性很强 的,涉及到软件分析、设计甚至编码的技术。所谓的结构化、面向对象,都在软件 工程的范畴内,同样是软件开发和组织的重要内容,也是软件质量保证的重要内 容。至于软件开发的管理部分,只能算是软件工程中软件工程过程的部分,或者说 项目管理部分。脱离管理来开发软件是绝对不可行的,同样,抛弃技术基础,空谈 管理出效益,便如无源之水、无本之木。诚如《软件工程Java语言实现》中所说: “软件工程范围极为广泛。软件工程的某些方面属于数学或计算机科学,其他方面 可归入经济学、管理学或心理学中。”在这里,我强调了软件工程中的技术部分, 并非轻视管理,只想在软件工程的概念上做一些拨乱反正,也希望多一些人来关心 软件的核心技术,而不要空喊口号和概念。毕竟,中国的软件太缺乏核心技术了。 其次,对管理要求的严格不说(这个谁都知道),实际上,不管是美国的软件 工程,还是印度的软件工程,都是比较灵活的。即便是印度这样的所谓“软件工厂” 模式,对于软件工程过程管理极为严格,也有一个部分是专门讲述过程剪裁的。整 个软件工程过程是非常庞大和繁复的,然而,由于项目具体情况不同,如项目的规 模,参与人员的数量、素质等的不同,对于软件过程的每个部分,不是都必须的, 可以根据具体情况来进行剪裁。这个部分对于我的启发是很大的。以前做什么 ISO9000等,开始做了一个以为很好的规范,但是,到具体项目,总是对不起来, 到处有问题,现在想想,便是少了这个变通的部分。不过,话说回来,这CMM也是 老美想出来的,而不是印度。 第三,对于开发人员的选用,我发现,美国人是非常注重选用优秀的开发人员 的。Martin Fowler曾经开玩笑的说,如果给他一批水平不高的开发项目,他会考 虑全部解雇,重新招聘。《人月神话》中也说,如果200人开发一个项目,其中25个 人最能干,那么会考虑解雇其余的175个人,让项目经理来编程(当然,后面还有 一些抉择分析,这里断章取义了)。其结论的基础是基于以下研究结果:优秀的开 发人员和差的开发人员,其效率之差可以达到数量级。另外,从管理的角度来说, 只有人多了,才会有管理问题,当团队规模控制在一定的范围内时,便不会有太大 的管理问题。 对于软件来说,很难实现同传统产业一样的工厂化生产,这是由软件开发的本质决 定的。软件的复杂性是软件的本质属性,在这个属性没有改变之前,软件便不会实 现同传统产业一样的工厂化生产。至于印度的所谓“软件工厂”,实际上,只是完成 了软件代码的编写工作,并不是实现了整个软件研发工作,而代码编写工作,恰恰 是软件开发中最简单的一环。至于印度是否真的有很多高中生程序员,印度人的书 上没有说,记者到说了不少,我也无从考证。所以,软件的开发,还是需要选用优 秀的人的。除非,公司只想帮别人编写代码,而不希望有自己的产品和技术。 第四,软件开发中,最重要的还是团队合作和交流。这个是我目前最深切的感 受。具体的,大家都知道,也用不着多说。 最后,对于软件开发来说,公司老板的想法是最重要的。如果老板说“No”,那 便是水平再高,管理再好,也终归无用。 年龄渐长,也做父亲了,却总是在漂泊,没有一个可以稳定发展的地方。希望 目前的公司能够有这个机会。不想总是跳槽。 对该文的评论 LuoXu/(2003-1-16 8:42:22)/ 佩服,佩服,大哥实在是高。兄弟也刚刚有了一个女儿,但技术上什么也没学到, 可怜啊。。。 lcb001/(2003-1-16 8:32:39)/ 同意lyxwww的看法 kind_li/(2003-1-16 8:25:16)/ 说得不错,很值得借鉴 hongliang13/(2003-1-16 6:43:11)/ 我从这片帖子看到了CSDN不好的一面,本来作者是挺有感想的,说出来就说出来 呗,怎么就总有人瞎骂呢?有病袄? tfxg/(2003-1-15 23:51:16)/ 楼上几位也大苟刻了吧,所谓学到很多新的东西都跟自己以前做比较,当然是不能 跟别人比了。 对于一个人来说能够不断的进步肯定是好的,我就不相信有谁那么厉害一下子什么 技术都很懂而且有一定的研究。 wpg/(2003-1-15 23:40:26)/ 坚决同意作者对软件工程的观点。 penbamboo/(2003-1-15 21:14:51)/ 这么说来找一个能够让人实实在在做事学东西的地方真有点不容易.再过一个学期 我也要毕业了.不知各位能否给我个意见,到哪个地方去选哪些企业呢?问题好像很 弱智.但我现在的态度的确很诚恳. asdf008/(2003-1-15 20:47:45)/ 好文,谢谢 handsomebaby/(2003-1-15 20:06:54)/ “软件工程是一门综合性的学科”我很赞成。我个人认为,一个项目经理,首先是一 个优秀的程序员。因为,在实施软件工程时,不懂技术的项目经理,经常是瞎指 挥,说胡话;不精通技术,如何做项目详细设计?现在,有些人甚至把管理和技术 对立起来,我有个北京某个航天大学念计算机专业的同学对我说,他们是搞项目设 计的,不需要太精通技术!FAINT! lyxwww/(2003-1-15 19:22:19)/ 是老板问题,造成中国这样的问题。 一个项目在投标时 A 个工时,但要我们 A/10工时 作完。 那里有好的东西出来。 frode/(2003-1-15 19:14:52)/ 对管理来说,借鉴别人的经验就很好,但照搬就不行。比如我们国家需要自己的操 作系统,自己的编译器,自己的变程集成环境等等。这些需要一群高级人员,他们 需要熟悉各种操作系统优劣,熟悉编译原理,熟悉各种标准,懂得系统化方法,然 后他们设计系统架构,定义各个模块的接口。接下来定计划,编程。如果让他们这 群人编程,能在最短时间编出来吗?我觉得不然。应该交给各个项目组,项目组自 己内部结构,分别开发。当然各个模块应该清晰、明了、稳定,这可以减少许多交 流,也就是管理费用。 其实许多管理方法要看公司的人力结构来选定才行,有些还要看物力和财力。比如 公司才力雄厚,那么人员工资比市场上稍高,这有利于吸引人才稳定人才作用,管 理上就可以考核严格一点,让压力大一点。反之,则应在其他方面下工夫稳定人才。 JackShine/(2003-1-15 18:58:36)/ 值得看看麻,我也想去印度公司看看,可总不能一年看一个啊,还有美国公司、日本 公司,呵呵... 既然你看过了,也说过了,我就安全做自已的事了。 谢谢! selectmy/(2003-1-15 18:18:02)/ 看来sunny_y_m的公司和IT界的某些公司,还是有存在着:一个干,两个看,三个说, 四个测的现象. 实干的人是不说太多废话的. alaska/(2003-1-15 17:54:21)/ 看来作者在苏州园区? 很久没去了,不知道那里现在情况如何。 lfw802250/(2003-1-15 17:39:04)/ To Joeblackyang: 不知道您老在什么方面有深厚的功力? rockhard/(2003-1-15 17:38:32)/ 作者能花时间写上这些感觉没发布出来,是值得赞赏的,为什么有人会提出苛刻的 批评?真为有些人感到悲哀。 zwm0908/(2003-1-15 17:23:37)/ Very good! I know a lot! aetherstone/(2003-1-15 17:15:47)/ Joeblackyang(2003-1-15 13:03:56) 你说的这些东东大家都明白,你列举的个人收获还有新学到的技术,我看只是自我 安慰,自欺欺人罢了,像你这样频繁的跳槽,我才不相信在某个领域会有多么深厚 的功底,这也代表了大多数中国的IT人,唉,委实可悲! To Joeblackyang 你怎末如此武断呢? sunny_y_m/(2003-1-15 16:40:53)/ Joeblackyang(2003-1-15 13:03:56) 你说的这些东东大家都明白,你列举的个人收获还有新学到的技术,我看只是自我 安慰,自欺欺人罢了,像你这样频繁的跳槽,我才不相信在某个领域会有多么深厚 的功底,这也代表了大多数中国的IT人,唉,委实可悲! 如果你碰上这样一个公司:总经理和老板吵架,总经理甩了老板,将公司吞掉,然 后老板告总经理诈骗。在这种情况下,你会怎么办?不跳?跟总经理干?跟老板 干?继续浪费时间?没有人天生愿意跳槽,特别是一个做了父亲,有老婆孩子的人。 yangzhenhai/(2003-1-15 16:31:29)/ Joeblackyang(2003-1-15 13:03:56) 你说的这些东东大家都明白,你列举的个人收获还有新学到的技术,我看只是自我 安慰,自欺欺人罢了,像你这样频繁的跳槽,我才不相信在某个领域会有多么深厚 的功底,这也代表了大多数中国的IT人,唉,委实可悲! 形势比人强,能专心做软件的公司,中国不会超过500个吧!那其他的人呢?都是 混日子的? fa791222/(2003-1-15 16:16:09)/ 我不知怎地就是静不下心来看书,或许我不适合搞技术。 leanlay/(2003-1-15 15:49:55)/ 大学我是学机械的,当时认为技术最重要,而且也学了和多的技术(各种编程语 言,各种工具软件),研究生我学计算机,却发现技术最不重要,而分析和设计才 是最重要的!我不知道,我是在前进还是在后退? hm127/(2003-1-15 15:40:57)/ 软件开发与工作环境有极大关系。包括开发小组的团结与合作、公司给你的成就感等等 hk2000c/(2003-1-15 15:18:49)/ 压榨、看不顺眼的人开掉、欺骗新员工,这是许多台湾公司的作风。hate!hate!HATE! wangbm/(2003-1-15 15:12:54)/ 学的东西是多,多而不精。 跳槽多了,挣得少,感觉好累 huzais/(2003-1-15 14:45:16)/ 同意楼上观点! 那么频繁的跳槽,你能学到多少东西,我看不是公司的问题,而是你自己的问题! cnhchang/(2003-1-15 14:32:24)/ 这也是对中国IT业2002年的一个总结 wangbm/(2003-1-15 14:27:56)/ 今年跳到如X1公司,明年再跳。 已做过了四家了,只想稳定下来。 今年在软件工程上有较大长进,熟悉了。NET(C#)开发。 cxb1004/(2003-1-15 14:20:18)/ 问题是分析的很透彻,但是没有实际解决途径,还有,咱们不能老是跟那些国际大 公司比阿,他们是发展了多久了阿!现在有些文章动不动就是说微软、ibm阿,中 国有这样的实力吗? 还说什么核心技术,中国的核“芯”就是486的水平! 大家都是打工的人,何必如此阿。 beming/(2003-1-15 14:18:43)/ 我看不出他经常跳槽哦 有些地方还是值得我们学习的,起码让我们知道如果一个环境不适合自己,自己应 该知道怎么办才是争取 oddes/(2003-1-15 14:00:26)/ "《人月神话》中也说,如果200人开发一个项目,其中25个人最能干,那么会考虑解 雇其余的175个人",说得太好了。ABC分析法也适用于项目,20%的人完成80%的内 容。呵呵。 shanhe/(2003-1-15 13:49:31)/ 我想作者的确是到了一定的年纪有了一定的积累才会有感而发的。 flyylf/(2003-1-15 13:18:34)/ Joeblackyang(2003-1-15 13:03:56) 你说的这些东东大家都明白,你列举的个人收获还有新学到的技术,我看只是自我 安慰,自欺欺人罢了,像你这样频繁的跳槽,我才不相信在某个领域会有多么深厚 的功底,这也代表了大多数中国的IT人,唉,委实可悲! 何必这样说别人呢,我觉得作者挺棒的。环境有时确实不由人。 Joeblackyang/(2003-1-15 13:03:56)/ 你说的这些东东大家都明白,你列举的个人收获还有新学到的技术,我看只是自我 安慰,自欺欺人罢了,像你这样频繁的跳槽,我才不相信在某个领域会有多么深厚 的功底,这也代表了大多数中国的IT人,唉,委实可悲! shupu/(2003-1-15 12:54:22)/ 作者的有些地方很值得我借鉴啊:)