程序员专业顶岗实习工作总结
一段忙碌又充实的实习生活又告一段落了,想必你学习了很多新方法,这个时候该写一份实习总结了吧。下面是小编为大家整理程序员专业顶岗实习工作总结范文5篇,希望能帮助到大家!
程序员专业顶岗实习工作总结篇1
本人自20_年x月份参加工作至今,x个月的实习时间已经结束。在这段时间里,在领导和同事们的悉心关怀和指导下,通过自己的不懈努力,在各方面都取得了进步。
实践让我的技能不断增长,工作能力不断加强。刚开始工作的时候,发现自己以前在学校学习的知识很死,知识面很窄,以前做的练习项目的实用性也不是很好。在开始的几周公司给我们实习员工培训了__平台的使用,通过这次培训使我认识到__平台的优势,可以大大提高软件开发效率。随后我就加入到“__x税源控管系统”项目的开发中,成为开发小组中的一员。在项目开发过程中一边是同事们的悉心指导,一边是自己反复琢磨与理解,几个月下来大大提高了自己业务和技术两方面的技能,已经能够比较熟练的掌握基本的工作方法和一些技巧,而且能够独立完成一些模块的开发。
通过实践,我解决实际问题的能力得到了很好的锻炼。工作中也遇到了很多的以前没有遇到过的新技术,面对技术难题我总是直接面对,没有逃避,也因此自学了好多新的技术,大大提高了自己的自学能力,也加深了对自己工作要负责的信念。在项目开发过程中也遇到了一些自己确实无法解决的困难,在经理和同事的帮助下也顺利的解决了,在此表示感谢。在开发团队中,加强了自己的团结精神和集体感,对工作认真负责,对团队认真负责。通过这个项目不仅学习到了很多技术也了解了整个项目的大体流程,从需求分析、数据库设计、详细设计、代码编写、测试、项目维护等方面,使自己不仅从一个代码编写人员的角度还从一个整体的角度来看整个项目开发,加深了软件开发概念的理解。
不断学习使我对工作有了更进一步的认识和了解。不懂就学、就问,是一切进步取得的前提和基础。因为有大学专业课的底子和参加过专门的JAVA培训使我在工作过程中遇到的技术知识能更快的理解和掌握。工作中时常遇到新的问题,就需要查阅相关资料,请教同事和经理,一个问题一个问题的解决,一个困难一个困难的克服,不仅将原有知识温习巩固,产生新的理解,而且学到很多新知识,有了许多新的认识。但某些认识都还是肤浅的,还需要我在实践当中去不断深入地理解。
现场开发与维护使我不仅从一个开发人员的角度而且从客户的角度去思考问题。在项目的开发后期,也就是项目即将上线的阶段我与其他几位同事被派往现场去开发与维护项目。以前的开发都是根据需求分析来进行,功能要求一般在分析里面都写的很清楚,但是在现场开发直接面对客户,客户提出的需求一开始只是一个大体的功能描述,如何将这个只是语言描述的功能转化为技术实现需要很强的抽象能力和对业务的深入理解,这个过程大大锻炼了自己的综合能力。在第一时间接触客户的需求,从客户的角度思考问题,只有更了解客户需求才能更合理的设计软件的结构,功能。了解客户,了解需求,转化到技术层面。这个过程得到的经验很难得。
良好的心态转换。从学校到社会,从学生到职员,自己做到了自然的转换过程,希望自己以后对工作更加认真负责。在今后的工作中,我将发挥优势克服不足,朝着以下几个方向努力:1、学无止镜,时代的发展瞬息万变,各种新技术知识日新月异。我将坚持不懈地努力学习各种理论知识,并用于指导实践,以更好的适应行业发展的需要。2、熟练的掌握各种业务技能才能更好的投入工作,我将通过多看、多学、多练来不断的提高自己的各项业务技能。3、"业精于勤而荒于嬉",实践是不断取得进步的基础。我要通过实践不断的总结经验,提高自己解决实际问题的能力,并在实践的过程中慢慢克服急躁情绪,积极、热情的对待每一件工作。
总之,短短的半年实习期,是我人生角色转换,不断成长的一个重要阶段,也是我对编程由陌生进而熟悉、热爱并愿意为之终生默默奉献的重要阶段。
程序员专业顶岗实习工作总结篇2
一、实习单位及岗位简介
(一)实习单位的简介
_______有限公司是一家刚刚成立的私营公司,在职员工大部分为80后软件精英,主营软件开发(Java方向),电子产品批发零售,信息系统集成服务,公司行业主要是互联网、电子商务、计算机软件、计算机硬件等。公司地址在_________,现共有员工大概50人。主要有Web开发部、Jsp开发部、Android开发部等。经过不断地学习和实战,每个部门都有其实力强硬的带头人,整体上是一个积极向上,团结奋进的创业型企业。
企业文化:人才是企业的财富,优秀的产品,良好的服务是企业价值的体现;爱祖国、爱人民、爱事业和爱生活是企业凝聚力的源泉;尊重知识、集体奋斗、艰苦创业是企业发展的要求;责任意识、创新精神、敬业态度和精诚合作是企业文化的精髓;实事求是是企业的行为准则。
(二)实习岗位的简介
我所在的实习岗位是一个所属Android部的程序开发岗位,主要工作是配合组长,做一些力所能及的东西。同时组长会针对性的给我一些网站或者资料,让我学习,这些资料主要是和他现在做的项目相关的技术实现。我自己看一边做个基本的了解,同时对这些技术和框架有个大体的认识。然后他会再结合他的项目,有针对性的给我讲解这些技术的应用,是怎样在他的项目里实现的。然后会给我分配一个小任务,让我拿来练手的同时,又一遍温习和巩固先前学到的技术。
我的实习工作从一个APP的界面开始,慢慢熟悉这个APP的框架结构,然后把组长写好的核心算法放进框架中,实现其功能。总的来说,我在这个团队中主要担任辅助的工作,将其他人写好的模块放进项目框架中,从中不断学习Amdroid开发的技巧和别人的代码风格。
二、实习内容及过程
时间一晃而过,转眼间到公司已经两个多月了。这是我人生中弥足珍贵的一段经历。在这段时间里各级领导在工作上给予了我极大的帮助,在生活上给予了我极大的关心,让我充分感受到了领导们“海纳百川”的胸襟,感受到了大发人“不经历风雨,怎能见彩虹”的豪气。在对公司各级领导肃然起敬的同时,也为我有机会成为公司的一份子而自豪。在段时间里,在领导和同事们的悉心关怀和指导下,通过自身的努力,各方面均取得了一定的进步。
来这个公司虽然才短短两个月,收获挺多的,由对项目的一窍不通到现在对它的流程以及相关的技术都有所了解,也让我深深体会到了沟通自学的重要性。所以我们每一步都有要集中注意力,争取把每一步都做好。
刚开始我们做这个程序的时候,大家都比较盲目,只是负责人说了一下,我们就开始进行编了在这个过程之种我们吃了许多的苦,有时候凌晨三四点我们还在加班,可最后做出的作品是输入速度太慢,我们的主管于是带领我们到他们一
楼的微机室是去看他们以前编写的程序;不看不知道,一看吓了我们一大跳,以前我们那有这样想过呀,只要能做出来,没有错误就行了,可是速度呢?人家一个小时输入的东西,我们的程序可能需要一个早晨,看完之后主管对我们说:这样的程序送你,你会用吗?
那个打击呀,辛苦了几天几夜,最终却是这样的一个结果。可打击归打击,我们又得重新来做!相对而言,我们这次要比以前有经验了,一次比一次成熟起来了,在经历了又一个一天一夜的奋战,我们终于又有新希望了,可是心情刚好,那么又传来了消息,说他们的数据又发生的变动,有了新的调整,这在以前我们也想过这个问题,也想好好的做,可是我们又一想工厂不是要实用吗?这方面变化的可能性很小,于是为了方期间我将有变量写进了代码之中,这一变,无疑宣布我要失败了。和我在一起的几个同事也是这种情况,所以我们这些没有开发过软件的充当软件高手的新手们又得重新面对新的问题了。
失败,又一次被打败!
几天之后我们又做出了程序,很辛苦,此时我们才明白程序员的不易了,编程是一个见效特别慢的东西,而且对方又看不见,如果一不小心你的程序可能会无法打开,或者是说出现别的什么,那就完了,你几天的成果就什么也看不见了,不像别的东西,做了,可以让大家看得见。我的程序在最后的调试时出现了一点小故障,一时间我一点思路也没有了,所以我失败了。
当然比表面来看我是失败了,败的很惨;可是从某种意义上说我又达到了我的目的,因为只有失败的人永远都不会停下思考的脚步,激起了我沉睡的思想,使我一颗盲目的心有了方向,我不能这样输了,从那儿倒下去的,我会从那儿站起来的,顶着那么大的压力,我的体会绝不低于他们中的任何一个人,说实话,在一段实习期间,我真的有点撑不住了,我也想到过放弃,可我不能就这样轻言放弃,我失败了,我输掉的是技能,不是人格;可我退缩了,就会失掉了人格,我将失去了所有,失掉技能我还会追回来的!
人生的每一步旅途中,总有着一道无形的栏杆,每一次跨越需要很多的勇气,也不是每一次跨越都能够成功,失败是不可避免的.,主要的是要敢于承认失败,面对失败,努力去做,解决它,有这个决心,我想人生会成功的,至少可以无憾!这次我想我会很用心的去学习,尽量把他做到完美,至少我自己要九十分的满意我才会交出我的作品。
虽然加入公司这个大家庭已经有不短的时间了,对开发技术掌握的还不是很深,对发现问题的处理还不是很全面,对分工的工作还没有形成系统的计划。随着对公司和工作的进一步熟悉,我也希望能够在今后的工作中更加迅速的提升自己的业务能力以及技术能力,我觉得多做一些工作更能体现自己的人生价值。“业精于勤而荒于嬉”,在以后的工作中我要不断学习业务知识,通过多看、多问、多学、多练来不断的提高自己的各项业务技能。学无止境,时代的发展瞬息万变,各种学科知识日新月异。我将坚持不懈地努力学习各种知识,并用于指导实践。在今后工作中,要努力做好开发人员的本职工作,把自己的工作创造性做好做扎实,为项目的开发以及公司的发展贡献自己的力量。
通过和大家一段时间的相处,我深切地感受到,我们公司部是一个团结、上进、充满活力的集体。每天大家都是笑脸相迎,即使面临很大的工作压力,办公室里仍然会听到笑声;面对客户,大家总是热情真诚;面对技术上的困难,大家总是互相帮助,直至解决难题。整个部门和睦相处,就像一个温馨的大家庭。而部门领导就是这个家庭中的家长,给每个人很大的空间自由发挥。从他们身上,
我真正体会到了敬人、敬业、高效、高水平服务的真实意义,体会到了服务部服务、奉献的意义,体会到了创造完美、服务社会的服务理念,知道了什么是创新就是生活。特别令我感动的是,每当我遇到困难向大家求助时,谁都会无私的告诉我。
我很庆幸自己能在这样有限的时间里,在这么和谐的气氛中工作、学习,和同事们一起分享快乐,分担工作。所以我努力向同事学习,不懂就问,认真完成领导和同事交给我的每一项工作。
实习,是开端也是结束。展现在自己面前的是一片任自己驰骋的沃土,也分明感受到了沉甸甸的责任。在今后的工作和生活中,我将继续学习,深入实践,不断提升自我,努力创造业绩,继续创造更多的价值
人生就是经历着风风雨雨,在风雨中倒下去,然后站起来的时候,那时的彩虹最美丽!
三、实习收获与体会
学习Android有一段时间了,了解到在智能手机软件不断发展的今天,很多传统PC机上的应用正在向智能手机客户端转移。但是在学习的过程中有出错的操作以及随之而来的全英文报错内容,让人感觉到非常的郁闷和烦躁!可是随着时间的推移,随着掌握的知识的增加,不知道从哪天开始忽然发现从最初的面对Android时的烦躁到现在居然对Android有了一探究竟的兴趣!总结了一下自己学习Android以来的一些心得,和大家分享一下!
1、首先在学习Android的时候要有一份永不放弃的决心,从某些方面来说,学习Android是一件非常枯燥的事情,尤其是刚开始的时候,面对全英文的黑白操作界面,所以,持之以恒是最重要的!
2、自己创造一个Android学习的环境!由于Android有大量的操作需要记忆,很显然,靠死记硬背是不科学的!的方法就是实践,多操作,联系的多了,自然而然的就记住了,而且还是记得最牢靠的!
3、细微处着眼。Android是很严肃的,也许一个命令大小写的错误就可能导致出错,甚至多一个少一个空格,或者小符号,它也会给你个“小脸色”看看,这就要求我们在操作Android虚拟机的时候非常的细心,有足够的耐心!
4、留意Android代码的报错。出现操作错误的时候,它会报错,告诉你哪里出问题了,可能有的同学英语能力比较差,碰到报错的时候看不懂,也就不去管它,这就导致了排错非常的困难。所以,碰到报错的时候即使我们看不懂,我们也努力的去读,然后根据一字半字的去“猜”,然后等找到错误了它就会潜意识的让我们明白那句全英文的报错的大体意思,时间长了,碰到的次数多了,就算我们英语能力差,我们也可以“读懂”它报错的意思!
写在最后我想告诉大家的就是学习Android要多实践,即使刚开始失败了也要继续,再失败再继续,再失败再------学习Android失败是很正常的事情,希望大家能坚持,不要害怕失败。遇到问题的时候先尝试着自己解决,等解决不了的时候再请教别人!
不仅学Android要如此,学习其他方面的东西也应该如此。学习靠积累,持之以恒方能见效。
四、致谢
在此,感谢我的实习单位给了我这次实习的机会,能让我学到这么多在学校学不到的东西。同时也要感谢我的组长,能在那么繁忙的工作中还对我提出的问题耐心解答。也感谢我周围的同事,不因为我是一个实习生而对我有偏见,他们待人都很诚恳,也因为他们,我才能这么快的融入到这个团队中,带着轻松愉快,积极奋进的心态结束了这些天的实习。再次感谢帮助过我的这些人!
程序员专业顶岗实习工作总结篇3
20__年3月7日对我来说是一个特殊的日子,这是我结束了15年的学习生涯带着实现自我价值的渴望心情即将工作的日子。还记得3月7日早晨那束妩媚阳光映在我的脸庞,一丝舒适温暖的感觉直冲心窝,已记不得有多少个日日夜夜没这种感觉,清晨就是好,现如今还有多少人可以享受这种感觉。下一秒后,我将迎着这美好的阳光,接受全新的挑战。
我从20__年3月7日开始到茂名市E科技有限公司技术部实习,到6月7日实习结束。在部门领导和同事的指导帮助下,我慢慢了解了公司的组织结构、经营状况及管理机制,以及技术服务部的基本业务,并学到了许多开发软件知识。
我实习所在的部门是技术部,主要负责编写网站建设。几乎所有优秀的网站开发人员都是从基层做起,然而编写网站开发建设是基础中的基础,网站开发人员只有充分了解了网站开发的各项需求才可能完成一个完整优秀的网站,同样,软件开发流程的每一个步骤都影响着整个项目的进度甚至影响着该项目是否可以成功完成。我在深刻认识到了这点后,我需要更加认真对待我的工作,想做一名优秀的网站开发人员我必须把我目前的工作做好。在社会上行走就必然会面临压力,工作时效率一般会影响工作量,做不出成绩时,会来自各方面的压力。
实习的三个月我做了如下工作:
1、为公司撰写了一份“信宜市农村旅游信息资源服务平台”需求分析文档,该需求说明书主要阐述该项目开发的目的、背景、性能需求、功能需求等。我在网上查找了大量资料,同时请教同事领导,最终,完成了主管交给我的任务。这是我工作中撰写的第一份需求说明书,虽然存在不足,但我会在以后的工作中不断改进。
2、撰写了一份“化州市中草药信息服务平台建设技术方案”项目说明书文档,为了做好该工作,我收集了大量资料,加之整理、分析、提纯,把提纯整理的结果交给主管评审修改。
3、撰写一份“茂名市研究发展中心网站建设技术方案”,这份文档的撰写不同于以往的说明文档,我加入了自己创新的思路,完成这份文档的撰写后,我觉得我的应用能力再一次提升。这次实习后,总结出:不能被别人的思路所束缚,创新已成为我现在的工作重点。
4、为茂名市海洋与渔业局做一个“十件民生实事”网上投票页面。该页面是ASP技术实现的,我们学过ASP课程,且我对ASP有一定的了解和研究,因此顺利完成任务。
5、撰写了一份“茂名市中级人民法院网站建设方案”,因为有前几次的撰写经验,这次完成的速度和质量都得到领导的肯定。
三个月的实习时间虽然不长,但是我从中学到了很多知识,关于做人,做事,做学问。只有拥有自信才能够克服一切,去实现自己的理想,创造自己的人生。
从学校到社会,环境改变了没有什么可怕的,可怕的是你要让环境来适应你,我是不会让这种事情发生的。为了可以更好更快的完成工作,同时也为了提高社会适应能力,此时就应该不断地汲取新知识。我选择了学习开发网站的技术:PHP、JSP,目前我认为这两种技术比较适合我,同时公司开发网站也是使用这两种技术。以上就是我的实习总结,可能并不是一份多么规范的总结,但确确实实是我在工作中的感受。在此,我十分感谢学校的老师教会我网页制作、网站建设、管理与维护等计算机专业知识,和给我技术上的帮助,就业指导上的帮助。同时,感谢茂名市E科技有限公司,感谢技术部给我这样一个宝贵的实习机会,感谢各位领导、各位同事给我的指导和帮助,感谢他们对我的栽培!谢谢!
程序员专业顶岗实习工作总结篇4
以前在校很少自己做程序,对软件工程更是一无所知.来到公司,开始接触"大规模"(其实现在看来实习的项目其实还是很小的)软件开发,一时真的有些迷茫.比起VSS,MVC,QA,CMMI,我对JAVA,JSP,XML的一窍不通根本不值一提.大家都不想输在"起点",所以都默契地在加班,这样一直持续了实习的两个月.
刚来的时候"_教育"显得慢吞吞,我们还经常盘算去哪哪玩之类的.我和FLYSKY(20个新生里唯一一个南区的兄弟,软件学院的)还经常出去吃各种小吃,每到一处都尝尝本地的风味,这是他的习惯.之后开始的培训还不是很难过,JAVA,C++,ORACLE,老师们讲的很"好",可以说是非常好,好得我们没有几个人能听懂.大家开始发愁,我也是每天晚上都基本看书到10点.
"我心说得亏哥们我还练过",来之前的2月份我就自己买了一本THINKINGINJAVA,看懂看不懂怎么说也算是准备了一下JAVA.C++虽说没去上过课,但凭我的直觉我就一下看中这东西很有用,自己也看过一阵.至于ORACLE,虽然不了解,但毕竟因为佩服"_"的性格和敬业精神,咱SQL选修也不是白混的.专业倒还有点"基础",再加上咱这自学能力也不是吹的,基本维持.可等到后来的日语课就全迷糊了:本就没有语言天赋,再加上记忆严重欠缺,总是特别害怕去上日语课.不过特别喜欢那个老师说话的感觉,加上她一直对我都很好,所以还是很用心的学着.
随着培训的收尾,我们开始正式进入项目.从需求分析,概要设计到详细设计,我们一步一步的开始接触软件开发的每个细节.最受不了的就是每天都要记"周报",填写自己的劳动成果.因为这个我还被QA通报了好几次呢,真的很郁闷.其实现在我很感谢这种制度化的东西,某些情况下好习惯的养成是要靠强制来确保的.详细设计之后就是企盼已久的编码,我心想终于可以做点"正事"了.现在回头一看才知道,其实编码只占软件开发的整个过程劳动量的1/4左右,而且其他的环节也不是想象中的那么无足轻重.
编码我其实做的很不好,主要是因为需求分析阶段就没有认真仔细的理解需求和规格说明,加上编码时一个关键时段我回校和老同学叙旧.那阵项目经理(PM)就经常和我们说,"有问题自己想办法,不要经常问我"其实是在叫我们自己酝酿,遇到难题只有"憋"一"憋"才能有真的收获.而我不在的那三天正好是大家技术/思路上的一个"跃迁",很多难题的解决方法都基本成熟,大家的编码也接近50%了,所以回来时我感觉已经掉队很多.再一个就是编码中期时机器出问题,环境搭不上了,这使我更加紧张和急躁,大大影响了我的士气.后来利用五一其间的加班我终于赶完了自己的模块,达到了第一个里程碑.其实从发现落后到加班赶完这段经历,对我来说也具有里程碑的意义.不仅考验了我自己的能力和心理素质,也了我对集体的责任感和合作意识.我可以叫别人来帮我做赶上进度,但那样我会错过自己学习的机会,以后再遇到难题我还是不行;我也可以硬着头皮导致项目延期,那样我以后的日子保证不好过,而且这么做也不符合我的性格.事实我顶住压力独立完成任务不管是对集体还是对我个人都是一件大好事.
紧张的编码之后是单体测试,很多人都在继续编码,原来大家的编码都是没有完全做完.本是自己给自己挑毛病的过程,我们却都用来完成之前没有完成的任务,说来不禁可笑.单体测试之后就是恶梦一样的系统测试.传说系统测试压力很大,测试组找到BUG上报后这边就得限期修改,之后提交给测试组进行下一轮的测试,回归若干次,测试结束后产品达到允许的缺陷率才可以出荷.不过由于这时已经有人要返校体检,其他人也军心涣散导致集体"早退",测试没有很正式的进行,只是简单的做了一下界面的统一和功能的检查,连性能测试都没做.不能不说是实习的一个败笔.
回想整个实习,不到10周时间我们从学生开始转变为员工,从对公司完全陌生到有了一定的了解,不管是处世为人还是技术思想我们都有确确实实的进步.
再结合我自己来看一看.最大的收获就是我克服了有些自大的坏毛病,虚心的向别人学习.我知道这就是我练习与不同类型的人适应,交流的开始.技术上自不必说,我绝对学到了以前在学校一年也不一定学到的东西,这就是一个态度的问题."态度决定一切",这句话太有道理了.另外一点遗憾就是小孟说的,我似乎也感到自己有点"工作狂"的味道.为了拿下那些代码和BUG,我有好几周都连续加班到晚上11点,由于工作占用了时间,我连以前一直的跑步都没坚持下去.这样不是好兆头,我必须要养成合理的作息制度,不管工作怎样忙,必须不能占用自己的作息时间.还有一个就是和别人的交往.曾因为一些小事分别和老胡和哲明闹了不愉快,幸好后来都说开了,大家没计较.我一定要严谨,克制,绝对不在以后的正式工作中做这样的蠢事.
总体来说,我对实习充满了快乐的回忆,也许是因为我在大学的生活过于平淡和压抑.希望我可以延续这样的快乐,将自己带上事业的顶峰.
程序员专业顶岗实习工作总结篇5
总想着每天、每个月、乃至每年都有点进步。20__年,对我来说,是起伏不定的一年,也是收获颇丰的一年。当然,最大的收获是有了一个可爱的女儿。
在这一年,我跳了两次槽,一次是自愿的,还有一次是被迫的。我目睹了一些公司从盛到衰的过程,也看到了一些脚踏实地的公司。
离开__公司,是因为我觉得__公司不是在做软件,所谓的印度模式,我想,绝对不是这么做的。理想不合,不想浪费时间,也只能背负跳槽的恶名,挂冠而去。去_2公司,是因为看到他是美国独资公司,做外包软件,能够接触美国的客户和技术,希望能够有所收获,何况,职位也不错。的确很想好好做,也跳累了,只想稳定发展,毕竟,是做父亲的人了。
也看到了一些踏踏实实做事情的公司。园区的瑞博软件就是一个。很少看到如此踏实做事的公司。若干年后,只要他能够存活,必定是一个成功的公司。虽然老板对我也很有诚意,只是,对于教育软件,我实在没有太大的兴趣,何况,如果想做教育,我何不选择安博呢?毕竟,安博给于我很多。回头想想,在其他公司,我都是在奉献,只有在安博,是学习了很多。
说起跳槽,其实,看看那些公司,有多少是在踏踏实实做事情的?老板本不懂软件,都是看着软件行业能赚钱,想来捞一票,结果把中国的软件行业做坏了,也害苦了中国的程序员。自己不好好做事,怎么怪别人跳槽?同工作经历的坎坷相比在个人能力方面,今年的进步是非常大的。今年上半年,我的进步集中在技术领域。
我更加深入研究了设计模式、EJB体系和。Net平台,还有UML建模,终于有所突破,设计了一套自己的基于。Net平台的系统架构和开发工具,并且得到了应用的证实。在网上也陆续发表了一些文章,受到比较好的欢迎,还上了赛迪网的开发之星。
下半年,在软件工程方面收获是很多的。
看到网上对于印度模式从吹捧到批驳的吵闹,也看到__公司学习印度的失败,加上自己从开始就对那些的怀疑,决定好好学习软件工程。我一向认为,任何东西,不能道听途说,只有自己好好深入研究,才能得其精髓。同时,软件工程绝对不能只看印度的,毕竟,美国才是软件业最发达的国度。
列举一些学习的参考资料:《RUP软件工程过程》、《MSF微软解决方案》、《_P极限编程》、《CMM实践应用—Infosys公司的软件项目执行过程》、《人月神话》、《软件需求》、《软件工程Java语言实现》。每本书,我都仔细研读了,颇有体会。
我开始就想,印度软件工程绝对不会象那些所说的那么简单,所谓的高中生编程说。所以,我必须实际看看印度的软件工程。《CMM实践应用——Infosys公司的软件项目执行过程》,是印度最大的软件公司Infosys公司的分管质量的副总裁写的,介绍他们的CMM4的软件工程,果然不同凡响。这是我了解印度软件工程的主要窗口。
首先,同原来的想法不同的
也可能同大多数人(尤其是受那些软件影响很深的“专业”和非专业人士)想法不同的是,软件工程实际上不仅仅只是管理,而是一门涉及很广的交叉学科。在软件工程中,大约一半的内容是专业性很强的,涉及到软件分析、设计甚至编码的技术。所谓的结构化、面向对象,都在软件工程的范畴内,同样是软件开发和组织的重要内容,也是软件质量保证的重要内容。至于软件开发的管理部分,只能算是软件工程中软件工程过程的部分,或者说项目管理部分。脱离管理来开发软件是绝对不可行的,同样,抛弃技术基础,空谈管理出效益,便如无源之水、无本之木。诚如《软件工程Java语言实现》中所说:“软件工程范围极为广泛。
软件工程的某些方面属于数学或计算机科学,其他方面可归入经济学、管理学或心理学中。”在这里,我强调了软件工程中的技术部分,并非轻视管理,只想在软件工程的概念上做一些拨乱反正,也希望多一些人来关心软件的核心技术,而不要空喊口号和概念。毕竟,中国的软件太缺乏核心技术了。
其次,对管理要求的严格不说实际上,不管是美国的软件工程,还是印度的软件工程,都是比较灵活的。
即便是印度这样的所谓“软件工厂”模式,对于软件工程过程管理极为严格,也有一个部分是专门讲述过程剪裁的。整个软件工程过程是非常庞大和繁复的,然而,由于项目具体情况不同,如项目的规模,参与人员的数量、素质等的不同,对于软件过程的每个部分,不是都必须的,可以根据具体情况来进行剪裁。这个部分对于我的启发是很大的。以前做什么ISO9000等,开始做了一个以为很好的规范,但是,到具体项目,总是对不起来,到处有问题,现在想想,便是少了这个变通的部分。不过,话说回来,这CMM也是老美想出来的,而不是印度。
第三,对于开发人员的选用,我发现,美国人是非常注重选用优秀的开发人员的。
MartinFowler曾经开玩笑的说,如果给他一批水平不高的开发项目,他会考虑全部解雇,重新招聘。《人月神话》中也说,如果200人开发一个项目,其中25个人最能干,那么会考虑解雇其余的175个人,让项目经理来编程(当然,后面还有一些抉择分析,这里断章取义了)。其结论的基础是基于以下研究结果:优秀的开发人员和差的开发人员,其效率之差可以达到数量级。另外,从管理的角度来说,只有人多了,才会有管理问题,当团队规模控制在一定的范围内时,便不会有太大的管理问题。
对于软件来说,很难实现同传统产业一样的工厂化生产,这是由软件开发的本质决定的。软件的复杂性是软件的本质属性,在这个属性没有改变之前,软件便不会实现同传统产业一样的工厂化生产。至于印度的所谓“软件工厂”,实际上,只是完成了软件代码的编写工作,并不是实现了整个软件研发工作,而代码编写工作,恰恰是软件开发中最简单的一环。至于印度是否真的有很多高中生程序员,印度人的书上没有说,到说了不少,我也无从考证。所以,软件的开发,还是需要选用优秀的人的。除非,公司只想帮别人编写代码,而不希望有自己的产品和技术。
第四,软件开发中,最重要的还是团队合作和交流。
这个是我目前最深切的感受。具体的,大家都知道,也用不着多说。最后,对于软件开发来说,公司老板的想法是最重要的。如果老板说“No”,那便是水平再高,管理再好,也终归无用。年龄渐长,也做父亲了,却总是在漂泊,没有一个可以稳定发展的地方。
希望目前的公司能够有这个机会。不想总是跳槽。