最新软件工程师个人工作总结优质

时间:2023-06-28 17:55:42 作者:曹czj

总结是写给人看的,条理不清,人们就看不下去,即使看了也不知其所以然,这样就达不到总结的目的。什么样的总结才是有效的呢?这里给大家分享一些最新的总结书范文,方便大家学习。

最新软件工程师个人工作总结优质篇一

从八月份入职至今,已一年过去了,回顾自己这段时间在xx公司所走过的路,所经历的事情,没有太多的感慨,没有太多的'惊喜,却多了一份镇定,多了一份从容。

回想入职初,在x月份,从开始第一周熟悉工作环境,第二周便参与煤矿安全生产管理系统的相关文档设计工作,期间在项目组各位同事的指导、安排下,进行了系统的软件开发委托合同书及系统功能模块设计说明文档的编写,也借此过程学习煤矿生产业务。

在x月份,便正式参与了管理软件功能模块的设计工作,在xx的指导、讲解下初次尝试完成了管理软件的维护子系统的功能模块设计;在九月中旬跟随公司施工人员在xx一号矿进行业务调研,从而在我们自己的管理系统中,取其长、补其短,也借此机会了解实际的煤矿生产情况,加深对煤矿产业业务流程的理解;在九月底便根据张工的指导开始工程技术文档子系统的功能模块设计。

x月份,在xx的指导下,进行了物资管理子系统的功能模块设计,并就设计的正确性、合理性分别同xx及xx进行讨论;到十月中旬管理软件的各子系统功能模块基本全部设计完成;十月底,根据各子系统模块设计搜集系统数据,建立初步的数据字典及概念模型,为后期数据库设计做准备。

x月份的工作以整理系统业务关系与业务流为主,但由于业务关系图的表现形式不够合理,不足以清晰、明了得表现出各层次关系,导致工作多走了几个环节,好在张工张工及时发现问题,并多次向我指导、讲解,最终决定以列表结合流程图形式搜集、汇总系统所有子模块的业务动作、涉及人员及联系模块,为后面工作的展开提供依据。

xx围绕两个工作展开,一是系统业务描述文档的设计编写,因为该文档是日后编程人员了解煤矿生产业务、系统功能及数据库设计的主要依据,xx也多次强调,文档的设计务必从读者角度考虑问题,因此最终设计由简单到复杂,由整体到具体,各层次尽量做到衔接紧密,易于理解;另一项工作是针对已完成的关系列表、系统功能模块设计的业务合理性、正确性和xx逐条讨论,并将设计中出现的问题逐条记录在问题跟踪文档中。月底的工作便是根据问题跟踪文档对模块设计进行修改、完善。

在公司领导的带领下,通过项目组所有成员的不懈努力,在xx月份系统所有功能模块设计完成,在xx月份系统所有业务流程整理完成,在xx月份,对各功能模块设计及业务流的初次审查、整改工作已经完成,现在已开始进行项目组内对各功能模块设计及业务流的审查工作。

1.做事前准备、计划是很有必要的

这一点在入职第一周业务学习及近期搭建各模块业务关系工作中就体会特别深,正是磨刀不误砍柴工,做好准备、计划对之后的工作能起到事半功倍的效果。

2.工作要脚踏实地、一步一步,切不可太过心急

整个软件的设计从最开始的业务调查、模块框架设计、业务流程设计到具体软件开发设计,每个环节都是建立在前一个环节的基础上,每个环节上的失误都会影响到之后所有环节。

3.学会从整体看问题

这一点在入职初期的业务流程学习中就感受很深,从整体看问题,从主业务流程入手,理解更容易,学习得也更快,在整个工作过程中大的方向也不会错。

4.要学会适当的思维转变

之前的软件开发工作主要是编码工作,所考虑的问题也只局限于技术方面,但在系统业务及功能模块设计工作中,一定要考虑到整个煤矿产业的业务流程和客户群的操作习惯。

5.与同事的交流要及时要充分,尤其是项目组内成员

及时充分的交流能快速解决疑惑、能使整个工作衔接更紧密、能使问题考虑更周全。充分的交流能保证工作的质量,及时的交流能提高工作的效率。

6.在系统设计过程中要学会从客户角度考虑问题

软件良好的客户体验是衡量软件质量的重要标准,因此在软件设计过程中一定要考虑使用软件的客户范围、客户的操作习惯和软件的易操作性。

7.处理问题一定要以公司利益为重,坚持立场、把握好原则

公司项目部成员对**1号矿项目的成功实施便证明这一点;另外在集控平台开发过程中,何工也是基于这一点,多次对系统功能设计提出更高要求,以使系统功能更加完善、可操作性更强。

9.要学会思考问题、分析问题、处理问题,学会分解问题,把一个大的问题分解成若干个小问题,再将各小问题放到整体考虑其合理性。

在整理系统业务流程和搭建模块间业务关系工作中,就因为表现形式不够清晰、合理,做了不少重复工作。最终还是在张工的指导下,以“总—分—总”的形式解释业务关系,完成了业务详细说明书。

9.不要局限于固定模式,要学会创新

20xx年已经过去,崭新的xx年来临了,在新的一年里,工作上,生活上,我们都站在了新的一个工作起点,要开始新的一轮工作,我也在此感谢领导和各位同事的支持和帮助,我将在新的一年里继续努力,不断提高自己的业务及专业水平,虚心向大家学习,为xx公司为长风的发展尽自己的力量。

最新软件工程师个人工作总结优质篇二

性 别: 男

年 龄: 23岁

婚姻状况: 未婚

最高学历: 本科

政治面貌: 共青团员

现居城市: 广州

籍 贯: 广东

电 话:×××××××××××

e-mail:×××@

求职意向

工作年限: 应届毕业生

工作类型: 全职

期望薪资: 面议

工作地点: 广东

求职行业: 信息产业、计算机

工作经历

xx-06 - ××××服饰有限公司 软件工程师

工作描述: 从事操作使用sql 开发。

教育经历

xx-07 - xx-07 华南师范大学 软件工程 本科

专业描述: 主修:java程序设计,jsp程序设计,j2ee程序设计,面向对象程序设计,c++程序设计,计算机组成原理,web网页制作,软件项目管理,计算机组装与维护等。

自我评价

本人性格开朗与人处事融洽,对工作善始善终,能承受日益严重的竞争压力,并能在成功与失败中完善自己。活泼开朗、乐观向上、适应力强、勤奋好学、认真负责、坚毅不拔、勇于迎接新挑战。擅长业务具有良好的沟通能力与团队合作精神。

最新软件工程师个人工作总结优质篇三

什么就更加不知道了。那时候最简单的开关机也是通过直接拔插电源完成,安装系统对我来说简直是有史以来人类的最高技能,对于那些拿着螺丝刀安装机器的人就认为是宇内超级高手,身具杀人于无形之绝世秘技。

拿破仑说不想当将军的士兵不是好士兵,我最初的梦想就是想成为软件测试的高手,傲视天下。所以不断偷师,总结经验,自认为掌握了成为高手的几个秘技,这几年混迹 “ 江湖 ” 还算无往而不利。不敢独享,望与吾辈测试人员切磋,早日总结成功密技之大成,助新进人员早日入门,也算不愧对东北活雷锋的称号。

第一招 学会利用网络

刚参加工作面对浩瀚的网络世界,当时如刘姥姥进大观园,什么都新奇,什么都想要,从网上下载很多源程序的代码,软件技术文档之类,恨不得把所有的好东西收集到手中,其实有些在他人看起来就是垃圾一堆。当时觉得有了这些“ 武林秘籍 ”,成为高手指日可待。最初参加工作由于自己工作努力有幸转为开发,加入项目组后我的习惯还是没有改,反而变本加厉,手中的资源更加多,上网的时间更加频繁。

一次项目经理分配任务,觉得依靠手中的秘籍加上自己的 “ 聪明才智 ” 很快会完成,不料短短的时间,所有的一切变成了马奇诺防线。解决问题很慢,思路不清晰,项目经理在对我施压的过程中教会了我终身难忘的一招,学会利用网络寻找要解决问题的答案,从此 google 成了我的最爱,关键字成了我变化的招数。

在软件测试工作中,他帮我解决了很多疑难问题,解答了很多令我迷惑的地方。也是我帮助测试同行解决问题手段之一,很多软件测试新手,甚至老手都没有意识到自己手上就握有 “ 无敌秘籍 ” ,所以只要你耐心找,答案就在身边。

这里总结一下利用网络搜索引擎的技巧:

组合搜索

每次搜索某个文件,如果只给出一个单词进行搜索,经常会出现成千上百万计的匹配网页。然而如果再加上一个单词,那么搜索结果会更加切题。

选择表述内容的词组

一般我在网页搜索引擎的时候,选择一些可以表达我要查找内容的关键词组,用来缩小搜索范围,从而找到搜索结果是最好的办法。运用词组搜索涉可以先先简单地输入一个问题作为词组搜索,如果仍然找不到合适的,那就用多个可以表达要查询内容的关键字进行查询。

定位信息来源

其实网络上还有很多关于搜索技巧的文章,大家可以自行学习。千万要记住搜索引擎是帮助你成功的有力武器。

第二招 学会动手

参加软件测试工作后,随着工作经验的增长自我感觉越来越好。在公司里也逐渐受到同事领导的重视,一次针对公司的新的软件功能进行测试的时候,像往常一样 “ 随手 ” 测试出了几个 bug ,然后 “ 仔细 ” 的填写了 bug 单(这个 bug 的现象已经出现了很多次了)。这时候测试经理走过来,重新复查了一下填写的 bug .他在重现我的 bug 的过程中,简化了我的输入变化,bug 神奇的又出现了,同样的现象,他关闭软件重新变化输入,扩展出 10 几个变化后,软件不动了,内存不断上升。

终于他找到了产生软件的 bug 的原因,然后对我说 “ 寻找 bug 要准确定位,我们开发团队是一个整体,时间是等量的,时间不在你身上浪费,就是在他身上浪费。如果测试人员每次发现的 bug 描述不清楚,并且多个问题潜在的错误原因是一个,虽然操作可能稍微有些变化。

在以后的日子里,每次解决问题的时候我都记得多试验几次,多尝试。网上很多朋友还有同事问我问题的时候,其实他们只是万里长征就差一步,只要再多动手实验一次就可以达到目的了。所以多动手,多尝试。

刚开始入行的时候,总是思考如何做好软件测试。认为公司的测试流程混乱总是很郁闷,认为自己学不到东西,如何才能测试好产品,常说心动不如行动,以前看到古龙小说中经常出现的场景无名小子不断挑战高手,总结积累。我总结了有些经验是实战中得到的,所以不断尝试引入新的测试流程然后评估,这个过程虽然很痛苦,但是从中积累了不少经验。

这段时间让我学习到了很多东西,接触了 iso,cmm ,测试管理工具,自动化工具(因为公司不正规给了我很多学习的机会,后来到了比较大的软件公司后,以前的经历给了我更多的发展机会,因为大公司非常正规了,公司内部人员分工明确,所以能力的锻炼反倒少了)。

由于工作中经常写报告反倒养成了总结教训的习惯,因为纸面上的东西是永远也忘不掉的。在写的过程中可以不断补充扩展,整个过程是思想升华的过程,当年达摩面壁九年就是融会贯通的典型例子,如果他不是有个思考的过程,他也不能成为一代大家。如果后来不时有人把他的绝技记录下来,也就不能有后来的少林寺七十二绝技。

所以善于思考,总结经验,也是成为高手之路的不二法决。

第四招 学会利用论坛资源

其实测试新兵和测试高手之间的区别,往往是不会利用现有资源。在论坛中我们会看到很多新手不断的提问,但是有很多问题其实都是已经别人提过了,或者已经有解决方案的。所以经常会看到 “测试高手”的身影,并且不提问题,而且还能“锄强扶弱”,是测试新丁的救命稻草。

好像是高手们无所不能,其实摘掉这层耀眼的光环,他们并没想像得那么厉害,只不过通过自己的搜索找到的答案,然后帮助其他人。当然也有很多人都是通过自学,然后在论坛中交流得到了很多经验,高手其实也是因为善于思考问题,亲自动手解决问题。所以动手和利用论坛资源的过程中他们也在不断提高。

很多时候看到论坛中有人提问,问题描述不清,很多人看了很困惑。发贴题目动不动请高手帮忙,救命之类的,好像天下大乱,世界末日。虽然这个题目很招人,但是无法让那些想帮助你的人帮你,因为题目不清晰,而且高手字样吓阻了很多人。

其实问问题也是个思路整理的过程,描述清晰,让人理解清楚,才能望文知意知道你的当前发生问题的环境,才能让那些想帮你的人解决问题,否则给人无从下手的感觉,解决问题效率不高。

第五招 学习和你所测试的软件产品相关的知识

要想成为好的测试人员,还要了解你要测试的软件的相关知识。要了解软件产品的架构是什么样的。要了解软件的市场需求,在接触软件之初要可以多看看用户的反馈信息,这些才是用户最关心的,也是你在测试中需要注意的问题,满足客户是最大的需要。

但是了解软件需求之后要学会要多读些软件系统的技术文档,软件设计文档,这些文档可以帮助你了解产品如何工作。还有多看看公司 bug 库中的问题,这些存在的问题可以帮助你了解软件产品那些地方存在缺陷,软件系统那些地方会出现错误。软件是运行在一个大环境中,如果对系统不熟悉,那么有些问题你不能从一个更广阔的层面考虑,学习操作系统的知识,有助于你发现缺陷,定位问题更加准确。比如软件运行在windows 或者 linux ,如果你不懂操作系统,你就无法建立测试环境,有些时候时候软件的组件发生问题,就是你系统配置造成的,对系统不熟悉,你会把外在原因归结为软件本身。

所以要学习关于和软件系统相关的知识,比如编程,网络,数据库等。不一定你要学习到多好的程度,只是通过这些扩展的知识面,你可以在发现问题,解决问题上不会局限在狭小的圈子里。

和一切相关的人员交流,不同的交流渠道,获取消息是不同的,角度也不同。和客户交流,你会在测试中从客户的角度发现问题;和开发人员交流,你会了解开发人员怎么实现软件功能的;和项目管理人员交流,你会知道开发进度以及遇到的困难。

一直以来的工作与学习,将实践与理论相结合,并且在工作当中,找出规律,活得经验,我相信我已经成为了行业里面的佼佼者,虽然也还会有不足之处,我会在未来的学习与工作当中,继续学习,继续为行业作出领头羊的作用。

2页,当前第212

最新软件工程师个人工作总结优质篇四

软件是由计算机程序和程序设计的概念发展演化而来的,是在程序和程序设计发展到一定规模并且逐步商品化的过程中形成的,软件开发经历了程序设计阶段、软件设计阶段和软件工程阶段的演变过程。下面是小编收集整理的软件工程师个人工作总结范文,欢迎借鉴参考。

从八月份入职至今,已一年过去了,回顾自己这段时间在xx公司所走过的路,所经历的事情,没有太多的感慨,没有太多的惊喜,却多了一份镇定,多了一份从容。

回想入职初,在xx月份,从开始第一周熟悉工作环境,第二周便参与煤矿安全生产管理系统的相关文档设计工作,期间在项目组各位同事的指导、安排下,进行了系统的软件开发委托合同书及系统功能模块设计说明文档的编写,也借此过程学习煤矿生产业务。

在xx月份,便正式参与了管理软件功能模块的设计工作,在张工的指导、讲解下初次尝试完成了管理软件的维护子系统的功能模块设计;在九月中旬跟随公司施工人员在一号矿进行业务调研,从而在我们自己的管理系统中,取其长、补其短,也借此机会了解实际的煤矿生产情况,加深对煤矿产业业务流程的理解;在九月底便根据张工的指导开始工程技术文档子系统的功能模块设计。

xx月份,在张工的指导下,进行了物资管理子系统的功能模块设计,并就设计的正确性、合理性分别同张工张工及何工进行讨论;到十月中旬管理软件的各子系统功能模块基本全部设计完成;十月底,根据各子系统模块设计搜集系统数据,建立初步的数据字典及概念模型,为后期数据库设计做准备。

xx月份的工作以整理系统业务关系与业务流为主,但由于业务关系图的表现形式不够合理,不足以清晰、明了得表现出各层次关系,导致工作多走了几个环节,好在张工张工及时发现问题,并多次向我指导、讲解,最终决定以列表结合流程图形式搜集、汇总系统所有子模块的业务动作、涉及人员及联系模块,为后面工作的展开提供依据。

xx围绕两个工作展开,一是系统业务描述文档的设计编写,因为该文档是日后编程人员了解煤矿生产业务、系统功能及数据库设计的主要依据,张工张工也多次强调,文档的设计务必从读者角度考虑问题,因此最终设计由简单到复杂,由整体到具体,各层次尽量做到衔接紧密,易于理解;另一项工作是针对已完成的关系列表、系统功能模块设计的业务合理性、正确性和张工张工逐条讨论,并将设计中出现的问题逐条记录在问题跟踪文档中。月底的工作便是根据问题跟踪文档对模块设计进行修改、完善。

在公司领导的带领下,通过项目组所有成员的不懈努力,在xx月份系统所有功能模块设计完成,在xx月份系统所有业务流程整理完成,在xx月份,对各功能模块设计及业务流的初次审查、整改工作已经完成,现在已开始进行项目组内对各功能模块设计及业务流的审查工作。

1.做事前准备、计划是很有必要的。

这一点在入职第一周业务学习及近期搭建各模块业务关系工作中就体会特别深,正是磨刀不误砍柴工,做好准备、计划对之后的工作能起到事半功倍的效果。

2.工作要脚踏实地、一步一步,切不可太过心急。

整个软件的设计从最开始的业务调查、模块框架设计、业务流程设计到具体软件开发设计,每个环节都是建立在前一个环节的基础上,每个环节上的失误都会影响到之后所有环节。

3.学会从整体看问题。

这一点在入职初期的业务流程学习中就感受很深,从整体看问题,从主业务流程入手,理解更容易,学习得也更快,在整个工作过程中大的方向也不会错。

4.要学会适当的思维转变。

之前的软件开发工作主要是编码工作,所考虑的问题也只局限于技术方面,但在系统业务及功能模块设计工作中,一定要考虑到整个煤矿产业的业务流程和客户群的操作习惯。

5.与同事的交流要及时要充分,尤其是项目组内成员。

及时充分的交流能快速解决疑惑、能使整个工作衔接更紧密、能使问题考虑更周全。充分的交流能保证工作的质量,及时的交流能提高工作的效率。

6.在系统设计过程中要学会从客户角度考虑问题。

软件良好的客户体验是衡量软件质量的重要标准,因此在软件设计过程中一定要考虑使用软件的客户范围、客户的操作习惯和软件的易操作性。

7.处理问题一定要以公司利益为重,坚持立场、把握好原则。

公司项目部成员对**1号矿项目的成功实施便证明这一点;另外在集控平台开发过程中,何工也是基于这一点,多次对系统功能设计提出更高要求,以使系统功能更加完善、可操作性更强。

8.要学会思考问题、分析问题、处理问题,学会分解问题,把一个大的问题分解成若干个小问题,再将各小问题放到整体考虑其合理性。

在整理系统业务流程和搭建模块间业务关系工作中,就因为表现形式不够清晰、合理,做了不少重复工作。最终还是在张工的指导下,以“总—分—总”的形式解释业务关系,完成了业务详细说明书

9.不要局限于固定模式,要学会创新。

1.已掌握整个煤矿管理的业务处理及流程。

3.学会如何进行软件业务及功能模块的详细设计。

4.学会如何发现问题、思考问题、解决问题。

1.时刻掌握项目进度情况,进度一旦出现状况要及时作出反应

2.处理问题一定要以公司利益为重,坚持立场、把握好原则。

1.公司员工交流不够多,尤其是不同部门间的工作交流,而这种交流能使各部门的工作衔接更紧密,工作效率更高。

2.技术人员接触其他相关技术的机会不多,不过这一点公司正在改善,plc讲座也即将进行。

3.在准备项目经理考试期间,如果公司能统一每周提供几个小时供大家学习、讨论、交流,效果可能会更好些。

4.午饭时间太紧,员工中午休息时间太紧,一定程度上影响下午的工作效率。

以上都是个人角度的一些看法,考虑不合理之处还望领导及各位同事批评指正。

xx年已经过去,崭新的xx年来临了,在新的一年里,工作上,生活上,我们都站在了新的一个工作起点,要开始新的一轮工作,我也在此感谢领导和各位同事的支持和帮助,我将在新的一年里继续努力,不断提高自己的业务及专业水平,虚心向大家学习,为xx公司为长风的发展尽自己的力量。

一、财政局项目,本人独立负责开发会计处的三个子系统:

1、会计人员信用查询系统。

2、代理记账机构信用查询系统。

3、会计人员网上报备系统。

以上三个子系统上线后,方便了社会各界查验会计人员的真实信息、方便了查询合法的代理记账机构信息,以及方便了各单位对会计人员的报备。

1、房屋租赁合同管理系统。

2、短信收发管理系统。

3、会员管理系统。

4、基础信息管理系统和人事管理系统的部分功能模块。

系统应用后,豪享来在管理全国各门店房屋租赁合同上,一定程度上提高了管理效率,并且及时有效提供了相应预警信息;短信收发系统方便了总部及时传递各项信息;会员系统更好的管理全国各门店的会员信息;人事系统在管理中减少工作量等。

三、金融行业项目,我参与了中国银行厦门分行,企业转账管理系统中的部分模块开发。本系统方便了企业快速实现大量和复杂的转账工作。

四、国土资源与房产管理局项目,正在负责和开发的是住房货币化补贴网上申报审核系统。本项目采用了新技术,使界面更加大方美观,很大程度上改善人机交互平台的效果。

总结不足:驻豪享来总部做项目时,由于团队内部某些原因,加之外面的其他因素,一定程度上影响了工作效率、影响开发进度和影响最终软件质量;这是包括我在内项目组中的每个成员都必须检讨的地方。

通过总结一年来的工作,尽管有了一定的进步和成绩,但在一些方面还存在不足,个别工作做得还不够完善。在今后的工作中,我将努力找出工作中的不足,以便在日后的工作中加以克服。自我不断的学习吸收新技术,认真学习好规范规程及有关文件资料,并且及时的把新技术应用在实际的项目中,进一步提高项目的技术含量。

通过一年学习实践,在以下技能上面有了较大进步:

1) 对研发、生产各项环节的更清晰认识。经过2x2 triplexer、ecan cnu、ecan clt几个案子的历练,增进了对设计预研,设计验证,设计导入生产等环节的熟悉程度;同时,更多参与与各部门间的交流,沟通能力得到锻炼,增加了处理各种问题的经验。对产品的研发历程和成本产生等有了一个比较完整的认识。

2) 对网络的更深认识。年初花了不少时间对triple play相关技术的规格,以及实现方案做了很多调研工作。在实现方案调研过程中,查漏补缺,让我对网络的认识更加的完善。硬件上主要有,对osi七层网络结构模型的更深认识,对pon网络结构有较清晰了解,ethernet产品的一般实现方案有较深了解,知道了一些路由及交换产品的一般实现方案,还了解到voip产品的构成及实现方案等等;软件上主要有,对linux系统的更深认识,对sip协议的细节认识,对router软件实现的认识的加深,以及sip服务器的移植、使用等。

3) 对产品可靠度设计的更深刻认识。包括de-rating,esd,hi-pot等设计考虑的深入学习。

4) 对硬件基本调试方法的更深刻认识。包括使用万用表,示波器,网络分析仪等设备对产品各参数的测量,并bug shooting等。

5) 一些基本的pcb layout常识学习。 对如signal integrity,designe for manufacturing,pcb fabrication,pcb过流能力考虑等等, 都有了一个初步的认识。

6) 对一些元件的更认可认识。在制作采规及元件选用时,及时对各种器件的基本知识做了整理,对电阻、电容、二极管、power ic等元件有了更加全面的认识。

2.明年工作计划

硬件方面:

1) 学习硬件调试、维修。 增加数字电路调试经验,单片机常用外围单元调试、设计经验等。

2) 继续完善各种元件的基本知识。

3) 增加pcb layout经验

linux编程方面:

4) linux makefile编程、及shell编程继续学习,以提高工作效率。

5) linux应用编程继续练习。争取明年一年能熟练linux应用编程!

6) 继续熟悉linux系统,可简单进行移植,裁剪,驱动编程。

以上,结合公司project,重点进行强化。

3.个人发展规划

嵌入式技术应用广泛,比如,可作为设备的控制模块,catv编解码终端中的应用,各种网络设备中的核心控制器模块。嵌入式技术在增加产品附加价值,如易用性、界面友好性等方面表现突出;同时,嵌入式技术又可以快速集成现有技术,ic,或ip以形成新产品,来满足市场需求。

综合公司业务范围,嵌入式技术优势,以及个人所学专业知识,未来2~3年内,定位为嵌入式工程师,努力学习相关知识。

最新软件工程师个人工作总结优质篇五

总想着每天、每个月、乃至每年都有点进步。xx年,对我来说,是起伏不定的一年,也是收获颇丰的一年。当然,最大的收获是有了一个可爱的女儿。

在这一年,我跳了两次槽,一次是自愿的,还有一次是被迫的。我目睹了一些公司从盛到衰的过程,也看到了一些脚踏实地的公司。

离开x1公司,是因为我觉得x1公司不是在做软件,所谓的印度模式,我想,绝对不是这么做的。理想不合,不想浪费时间,也只能背负跳槽的恶名,挂冠而去。去x2公司,是因为看到他是美国独资公司,做外包软件,能够接触美国的客户和技术,希望能够有所收获,何况,职位也不错。的确很想好好做,也跳累了,只想稳定发展,毕竟,是做父亲的人了。没有想到的是,竟然让我目睹了一场资产争夺的好戏。公司易主,流言满天,流言四起,官司大战,这种平常只有在电视和电影里看到的情节,我实实在在的亲身经历了,也算是人生的重要一课吧,至少,让我看到了人性最阴暗和恶毒的一面。自然,是做不下去了,只能又走。

也看到了一些踏踏实实做事情的公司。园区的瑞博软件就是一个。很少看到如此踏实做事的公司。若干年后,只要他能够存活,必定是一个成功的公司。虽然老板对我也很有诚意,只是,对于教育软件,我实在没有太大的兴趣,何况,如果想做教育,我何不选择安博呢?毕竟,安博给于我很多。回头想想,在其他公司,我都是在奉献,只有在安博,是学习了很多。

说起跳槽,其实,看看那些公司,有多少是在踏踏实实做事情的?老板本不懂软件,都是看着软件行业能赚钱,想来捞一票,结果把中国的软件行业做坏了,也害苦了中国的程序员。自己不好好做事,怎么怪别人跳槽?同工作经历的坎坷相比,,在个人能力方面,今年的进步是非常大的。今年上半年,我的进步集中在技术领域。我更加深入研究了设计模式、ejb体系和。net平台,还有uml建模,终于有所突破,设计了一套自己的基于。net平台的系统架构和开发工具,并且得到了应用的证实。在网上也陆续发表了一些文章,受到比较好的欢迎,还上了赛迪网的开发之星。

看到网上对于印度模式从吹捧到批驳的吵闹,也看到x1公司学习印度的失败,加上自己从开始就对那些记者的怀疑,决定好好学习软件工程。我一向认为,任何东西,不能道听途说,只有自己好好深入研究,才能得其精髓。同时,软件工程绝对不能只看印度的,毕竟,美国才是软件业最发达的国度。

列举一些学习的参考资料:《rup软件工程过程》、《msf微软解决方案》、《xp极限编程》、《cmm实践应用——infosys公司的软件项目执行过程》、《人月神话》、《软件需求》、《软件工程java语言实现》。每本书,我都仔细研读了,颇有体会。

我开始就想,印度软件工程绝对不会象那些记者所说的那么简单,所谓的高中生编程说。所以,我必须实际看看印度的软件工程。《cmm实践应用——infosys公司的软件项目执行过程》,是印度最大的软件公司infosys公司的分管质量的副总裁写的,介绍他们的cmm4的软件工程,果然不同凡响。这是我了解印度软件工程的主要窗口。

首先,同原来的想法不同的,也可能同大多数人(尤其是受那些软件记者影响很深的“专业”和非专业人士)想法不同的是,软件工程实际上不仅仅只是管理,而是一门涉及很广的交叉学科。在软件工程中,大约一半的内容是专业性很强的,涉及到软件分析、设计甚至编码的技术。所谓的结构化、面向对象,都在软件工程的范畴内,同样是软件开发和组织的重要内容,也是软件质量保证的重要内容。至于软件开发的管理部分,只能算是软件工程中软件工程过程的部分,或者说项目管理部分。脱离管理来开发软件是绝对不可行的,同样,抛弃技术基础,空谈管理出效益,便如无源之水、无本之木。诚如《软件工程java语言实现》中所说:“软件工程范围极为广泛。软件工程的某些方面属于数学或计算机科学,其他方面可归入经济学、管理学或心理学中。”在这里,我强调了软件工程中的技术部分,并非轻视管理,只想在软件工程的概念上做一些拨乱反正,也希望多一些人来关心软件的核心技术,而不要空喊口号和概念。毕竟,中国的软件太缺乏核心技术了。

其次,对管理要求的严格不说(这个谁都知道),实际上,不管是美国的软件工程,还是印度的软件工程,都是比较灵活的。即便是印度这样的所谓“软件工厂”模式,对于软件工程过程管理极为严格,也有一个部分是专门讲述过程剪裁的。整个软件工程过程是非常庞大和繁复的,然而,由于项目具体情况不同,如项目的规模,参与人员的数量、素质等的不同,对于软件过程的每个部分,不是都必须的,可以根据具体情况来进行剪裁。这个部分对于我的启发是很大的。以前做什么iso9000等,开始做了一个以为很好的规范,但是,到具体项目,总是对不起来,到处有问题,现在想想,便是少了这个变通的部分。不过,话说回来,这cmm也是老美想出来的,而不是印度。

第三,对于开发人员的选用,我发现,美国人是非常注重选用优秀的开发人员的。martinfowler曾经开玩笑的说,如果给他一批水平不高的开发项目,他会考虑全部解雇,重新招聘。《人月神话》中也说,如果200人开发一个项目,其中25个人最能干,那么会考虑解雇其余的175个人,让项目经理来编程(当然,后面还有一些抉择分析,这里断章取义了)。其结论的基础是基于下面研究结果:优秀的开发人员和差的开发人员,其效率之差可以达到数量级。另外,从管理的角度来说,只有人多了,才会有管理问题,当团队规模控制在一定的范围内时,便不会有太大的管理问题。

对于软件来说,很难实现同传统产业一样的工厂化生产,这是由软件开发的本质决定的。软件的复杂性是软件的本质属性,在这个属性没有改变之前,软件便不会实现同传统产业一样的工厂化生产。至于印度的所谓“软件工厂”,实际上,只是完成了软件代码的编写工作,并不是实现了整个软件研发工作,而代码编写工作,恰恰是软件开发中最简单的一环。至于印度是否真的有很多高中生程序员,印度人的书上没有说,记者到说了不少,我也无从考证。所以,软件的开发,还是需要选用优秀的人的。除非,公司只想帮别人编写代码,而不希望有自己的产品和技术。

第四,软件开发中,最重要的还是团队合作和交流。这个是我目前最深切的感受。具体的,大家都知道,也用不着多说。

最后,对于软件开发来说,公司老板的想法是最重要的。如果老板说“no”,那便是水平再高,管理再好,也终归无用。年龄渐长,也做父亲了,却总是在漂泊,没有一个可以稳定发展的地方。希望目前的公司能够有这个机会。不想总是跳槽。