时间:2023-03-06 16:01:13
序论:写作是一种深度的自我表达。它要求我们深入探索自己的思想和情感,挖掘那些隐藏在内心深处的真相,好投稿为您带来了七篇程序员总结范文,愿它们成为您写作过程中的灵感催化剂,助力您的创作。
总结主要写一下重点的工作内容,取得的成绩,以及不足得出结论,下面就让小编带你去看看程序员季度个人总结报告范文3篇,希望能帮助到大家!
程序员季度总结报告1
我是一名程序员,在过去的一年里,软件研发部团结协作,以及在公司这充满奋斗的环境下,我以严肃认真的工作态度和百折不饶的精神,努力的完成了公司的各项工作,在软件研发、团队协作和个人成长上也取得了一定的成绩。在公司一年的工作已经结束,特向公司总结汇报如下:
一、软件研发
根据公司的安排,项目的需要。在自身的努力、伍经理的帮组,团队的合作下,克服重重技术困难,增长了工作经验,收获丰盈:
1、asp开发
以前我在其他公司也做过一些开发,但是底层和架构与页面样式我都是没有涉及到的。通过这一年在本公司的的这些项目程序中的锻炼,我成长了,我学会了很多很多。
首先,面向对象语言的收获。对于当前编程的主流思想是对象,任何事物都可以用对象来表示。以前理解这些话很费解都是从表面上理解,没有从中的体会,通过这次asp项目的开发,不管是数据还是外部一些条件我们都可以抽象成对象,都可以用对象来表示,具体可以用语言中的类方等。asp如此,c#如此java也同样如此。
其次,具备独立完成vb知识方面的能力。以前没有做过vb的东西,加上这次asp的做,这次涉及到的领域也非常广,常用的重要的都有涉及,并且还补充__ml,java实际操作中空白的部分。通过这一年的开发,我能胜任这方面的工作,能独立完成这方面的工作。
再次,c#方面存在一些不足。LocALhOST通过c#这次软件的开发,也发现自己的不足,如基础知识掌握不牢,缺乏编程整体思想。这些都是需要在工作中完善和改进的。
2、数据库开发
数据库是伴随着项目以来用的最多最平凡的技术。以前对数据库只是会一些简单常用的操作,经过这一年项目的实战,对数据库的操作增加了一些丰富的经验。为以后的工作和经验的积累都奠定了坚实的基础。同时在项目中还用到了oracel与access数据库,这是我的收获。
优点:
能熟练的运用数据库技术进行开发。特别是对sql数据库的操作,经过这么长时间的积累,基本上能合理的设计和新建数据库,同时在数据结构上也加强了对数据库的理解。通过项目的实践现在能熟练使用和编写多种sql语句。还掌握了一些关于数据库优化sql语句优化的方法,能进行一些简单的优化。
缺点:
数据是一门比较先进的技术,并不是你会写一些sql语句,能建几个数据库你就是数据库工程师。要成为一个好的数据库管理员是要经过长时间的工作积累。针对自己的不足,在以后的工作和学习中多接触,多运用新的知识点。充实自己的经验和知识储备。
二、团队协作
上面的成功与收获,除了自身努力外,以及公司的支持。是这个团队铸造了我。我们这个团队也是因为有了我们这些拼搏协作的队员,使得它成为一个具有务实、拼搏、创新精神的团队。我与软件研发小组是一个整体,这里的团队总结也就是我在这个团队中的收获。
务实:公司下发的任务,下发的工作,件件都是用心去做的。我们这个团队中没有一个人在工作的时候做了工作以外的事情,都是实实在在的做跟工作相关对公司有益的事情。相信在伍经理的带领下现在是这样,以后同样也是这样。
拼搏:公司给的每一个任务不管它多难,如果工作没有完成我们会晚上加班,也要尽可能的完成当天的工作。如果工作实在忙,为了赶进度我们放弃周末休息时间也要尽可能的使项目提前。
创新:现在我们开始项目的时候都会进行研讨,一般都会进行一个效率和逻辑的分析与讨论,保证程序正确的前提尽可能的提高程序的效率。
互助:我们小组内只要任何一个人出现技术或其它的问题,我们都会彼此都会尽可能的去帮助他。不会因为某一个人而拖住整个项目滞后。
交流:我们在项目中会及时沟通自己的收获,特别是一些针对性的技术问题。这样可以省了很多重复研究的时间,这是一笔很可观的时间。
在交流中只要我会的,我懂的,我不会去吝啬。我会积极的去与你交流,我的团队名言“人强团则强,人弱团则削”。
三、个人成长
通过公司这快一年的锻炼与学习我真的进步了很多,不管从技术上还是做事上,都不像以前那样了。我在公司学到的懂得的使我飞速成长。
技术上:不管从语言上还是做事的逻辑上都得到了很大的的提高。现在在软件小组里面自己能独立完成一部分工作,承担自己的责任。
程序员季度总结报告2
光阴如梭,一年的工作转瞬即将成为历史,伴随着新年钟声的临近,我们依依惜别硕果累累的过去,满怀热情的迎来即将到来的新的一年。在这年终之际,现对来公司一年的时间里所作的工作总结如下:
一、____项目的编码工作
从了解____项目的背景、及计划安排,熟悉____公司制度及业务流程,再到熟悉新能开发模式,之后我根据需求调研报告,从基本的数据库创建,到编码,完成了销售部、生产部、采购部、质检部四个模块的基本单据的制单、审核、选单、查询、打印等系列的编码工作;完成了____项目的模块测试及流程测试。
通过这段时间的努力,使我个人的耐心、细心程度及对工作的合理安排得到了锻炼,学会了在繁忙之中找条理,危难之中找希望。同时自己也有一些不足之处,一些细节地方技术上还不太成熟,还需加以学习与钻研。
二、erp项目的实施工作
从__月初开始进行____项目的实施,每天早起赶在企业上班前赶到企业进行erp的实施。实施期间主要是软件的安装实施及对企业的erp系统的使用人员进行软件使用培训;纪录客户使用过程中出现的问题,晚上下班后加班加点将每天的小错误及客户变更修改完毕。通过这项工作,使我原本欠缺的业务能力得到了很大的提高,并学到了很多与客户交流的技巧及业务上的知识,更加明晰了erp系统的流程。但离一个成功程序开发人员的标准还差得很远,在今后工作中,定会多多注意,加以改善。
三、帮助和使用手册文档的编写
帮助的编写使我熟悉了____的使用,为后期的oa开发也奠定一定的基础,使用说明的编写,使我更加加深了项目开发的整体思路与技术要点,总结了前期开发和实施中碰到的问题,并又一次的对软件整体进行了测试,对暴露出的小bug进行了最后的修改。
四、利用工作之余的休息时间加强学习
注意收集有关____方面的资料文件,提高自己的处理新问题和解决新问题的能力,并加强学习java及oa方面的知识,为后期的工作打好基础。
展望临近的新一年,我会更加努力、工作上认真负责,再接再厉,更上一层楼。相信自己会完成新的任务,能迎接新的'挑战。
程序员季度总结报告3
在过去的一年中,我担任公司开发部的一名程序员,主要从事着____项目的开发工作,这一年来我低调努力工作着,不求闪亮显眼和光芒四射,只为平静和淡定;这一年中所做的成绩如下:
一、独立开发方面
____项目中本人独立负责开发会计处的三个子系统:会计人员信用查询系统。记账机构信用查询系统。会计人员网上报备系统。这三个子系统上线后,方便了社会各界查验会计人员的真实信息、方便了查询合法的记账机构信息,以及方便了各单位对会计人员的报备。
二、团队开发方面
餐饮行业项目,在团队开发项目中直接参与了____餐饮有限公司总部的信息综合管理平台项目,主要负责的系统有:房屋租赁合同管理系统。短信收发管理系统。会员管理系统。基础信息管理系统和人事管理系统的部分功能模块。系统应用后,____在管理全国各门店房屋租赁合同上,一定程度上提高了管理效率,并且及时有效提供了相应预警信息;短信收发系统方便了总部及时传递各项信息;会员系统更好的管理全国各门店的会员信息;人事系统在管理中减少工作量等。
三、项目管理方面
金融行业项目,我参与了____银行____分行,企业转账管理系统中的部分模块开发。本系统方便了企业快速实现大量和复杂的转账工作。____项目正在负责和开发的是住房货币化补贴网上申报审核系统。本项目采用了新技术,使界面更加大方美观,很大程度上改善人机交互平台的效果。
四、总结不足
java程序员试用期个人工作总结范文一
领导您好,来咱们公司已经两个月,在紧张的工作与学习中,感觉时间过得很快。转眼到了试用期结束的时侯了。我在这两个月的工作中,从技术层面,到与项目组的融合度契合度,这两方面上讲都有了一定的提高。这与公司的各位领导,同人的支持与帮助分不开。在这里说一声:谢谢您!
在两个月工作中,初期熟悉公司技术,钻研项目业务,配合项目组完成阶段性的任务。
从主要职责具体上讲:
1.负责时代项目的模块编码工作,完成功能应符合设计的功能及性能要求,符合部门相关规范;
在时代项目组基本完成了公告管理模块,与部分特配单模块,正在进行主界面菜单的完善与更新;
在地质调查局项目组,完成了审批与全文搜索功能,与修洪海经理共同完成远程数据库同步更新功能,与贾俊奎经理完成了CMS站点远程实时更新功能;
所完成功能符合设计的功能与性能要求,符合规范;
2.负责对所分配模块的单元测试,同时应配合测试人员进行系统集成测试
所作模块完成时,先做测试,然后提交组内测试人员集成测试,遇到错误能够及时修改。
3.协助实施人员进行系统实施,并在项目经理的组织下进行问题的修改;
还没有实施任务;
4.负责编写相关模块的开发文档,文档应符合部门的开发文档规范;
能够根据模块编写开发文档,基本符合部门开发规范;
5.完成上级交办的其它工作。
能够及时完成上级交办的其他工作;
从工作要求上讲:
1.自觉遵守公司各项规章制度
认真完成工作,遵守员工守则;
2.努力学习、掌握并能熟练应用岗位相关业务知识,以饱满的工作热情、积极的工作态度投入到工作中,按要求完成岗位工作;
在工作中,做到努力学习不懂就问,及时与项目组同时之间的沟通,避免失误。工作热情高,不迟到不早退,能够按要求完成岗位工作;
3.高度的责任感和良好的团队合作精神;
在工作中敢于承担压力,有责任感。与同时之间关系融洽。共同合作完成本职工作。
4.对公司外部的工作要高度保持公司形象,对公司内部的工作要高度保持部门的良好形象;
能够做到维护公司形象,与部门形象,有主人翁意识;
5.按公司要求提交周报、完成各种公司流程。
可以按公司要求提交给上级部门周报,做事安公司流程规章制度;
6.按时提交项目阶段性成果。
基本能够及时按质按量完成项目阶段性成果;
以上是我试用期的工作总结,还有技术与能力还有很多地方需要改进,需要加强。以后会多多学习,多多提高。努力工作。为公司尽一份自己的力量!
java程序员试用期个人工作总结范文二
伴随着充实紧凑的工作生活,两个月的时间已经过去了。这一段时间里有工作上的收获,知识的丰富,经验的增长,同时也暴露出很多问题和不足。总结经验,吸取教训,本文将主要从几个方面来对工作进行总结:工作的主要内容;其中的失败和教训以及成功和经验;展望下一阶段的工作,确定自己的目标。以此作为惩前毖后的记录。
来到一个新的工作环境,最能发现自身的不足,这几个月,抱着虚心学习的态度,学习公司的开发流程,熟悉公司的企业文化,了解公司产品框架,主要技术,主动和同事沟通、学习经验,希望能更快的融入公司、融入开发团队,能够全心的投入工作。试用期期间完成的工作还十分有限,简单列了一些:掌握java开发语言和环境,由于在校学习时主要是以.net作为开发语言,所以在刚入职时通过一段时间学习并基本掌握了java开发技术。
熟悉公司开发流程,熟悉cbp产品框架。了解了核三框架的总体结构和开发流程,并能在核三的基础上进行项目开发。
参与了社保电子支付项目的开发。主要负责web端的模块开发,通过开发的过程,学习和掌握了flex界面开发,hibernate和oracle数据库
因为自己在经验上的不足,所以,在项目的开发过程中碰到开发进度慢的问题。综合起来看原因在于:
1、没有项目经验,没有经历过系统和完整的系统开发。
2、对于技术的学习和掌握还不够深入。
3、发现问题的能力不够,在自己以往的学习方式中,欠缺一种主动发现问题的能力。今后,我会多注意在这些方面的学习和积累。
这两个月的工作生活是充实且富有乐趣的,结识了很多同事和朋友,公司的氛围是非常轻松愉快的。感谢两个月来经理的关心,感谢部门同事的悉心指导,感谢公司各位同事的热心帮助,希望能在接下来的工作中能惩前毖后,总结经验,吸取教训,做到个人与公司共荣辱同进退,共同实现中地的辉煌。
java程序员试用期个人工作总结范文三
回首这一年的工作,有硕果累累的喜悦,有工作当中的艰辛,也有遇到困难和挫折时的惆怅。在项目可开发的过程中,难题一个接一个的出现,自信心不止一次的受到过打击,虽然自己早就知道,要做到符合公司的要求,做一名合格的程序员,这些是远远不够的。每天我都会不断勉励自己,好好学,以后会好的。在此同时,公司也给了我很多学习的机会,这是我对以后的编程之路又有了信心。在担任公司程序员一职已经有一年多的时间,在这一年时间里,我学到了很多东西。每个人都是在不断的总结中成长,不断的是审视中完善自己。在这一年里自己也是在总结、审视中脚踏实地完成好自己的本职工作,现将这一年的工作总结如下:
思想方面
严格按照一个程序员应有的素养来约束自己,爱岗敬业,具有强烈的责任岗和事业心,积极主动认真的学习专业知识,工作态度端正,听从公司的安排,积极配合客户完善数字化校园系统。
工作方面
热爱自己的本职工作,能够正确认真的对待每一项工作,工作投入,热心为大家服务,认真遵守劳动纪律,按时上下班,有效利用工作时间,坚守岗位,需要加班完成工作的要按时加班加点,保证工作能够按时完成。在这一年多的时间里面,我本着把工作做的更好这样一个目标,主动了解公司的开发项目流程,请教他们开发技术上的问题。
工作心得
1. 在这一年多的时间里面,我参与的都是团队合作的项目,无论是自己还是同事,我们都将就团队精神。在信任自己和他人的基础上,思想统一,行动一致,这样的团队一定会攻无不克战无不胜。我们的很多工作是一起完成的,在这个过程中,大家互相提醒和补充,大大提高了工作效率,所有的工作中沟通是最重要的,一定要把信息处理的及时,有效和清晰。
2. 每一个项目在开始着手的第一步,一定要和客户把需求沟通清除,只要了解项目的需求,才有可能真正做好一个项目。我们需要向客户提出,要求客户提供所有涉及该项目的资料,每次与客户见面都需要熟悉业务与程序的程序员随时记录需求。
3. 工作中,将任务详细化,详细到每个页面,甚至是一个页面中的图片什么时候做好,做好到什么程度,这样把工作进度有计划有方向的定下来,做事很有效率。
4. 每天的工作小结真的很重要,这让我们每天都有计划的知道自己干了什么,不是漫无目的的工作,所以我们应该养成,日记、周记、月记、年记的工作习惯。
5. 工作并不是一成不变的,也许有一天你要去其他岗位帮忙,所以同事之间的技术要相互学习,也许有一天,公司需要你发挥其他的技能帮忙,所以相互学习也是很重要的。
工作教训
在公司工作的期间,我也发现了自己离一个符合公司要求的程序员还有很多差距,主要体现在工作技能与工作经验的不够,也是我以后要在工作中不断磨练和提高自己的地方。仔细总结一下,自己在工作中主要有以下方面做的不够好:
1. 工作的条理性不够清晰,要分清主次和轻重缓急。
在开发时间很仓促的情况下,事情多了,就一定要有详细而主次分明的计划,哪 需要立即完成,哪些可以缓缓加班完成,在这方面还有很大的优化空间。
2. 对流程、业务需求不够熟悉。
在工作中,发现因为流程或业务需求的问题而不知道如何下手的情况有点多,包括错误与缺漏还有当时设计考虑不到位的地方,对于这块的控制力度显然不够,平时总是在开发,但说到底对业务很熟悉才是项目很好完成的前提。
3. 缺乏工作经验。
4. 学习的知识不够广泛。
一个项目中,涉及的技术往往有很多种,知识多了,就会灵活变通,以后我也会加强这方面的学习。
工作计划
1.
2.
3.
4.
5.
6. 要提高工作主动性,做事干脆果断,不拖泥带水。工作要注重实效、注重结果,一切工作围绕着目标完成。 要提高大局观,是否能让其他人的工作更顺畅作为衡量工作的标尺。 把握一切机会提高专业能力,加强平时知识总结工作。精细化工作方式的思考和实践。 虚心请教比我做的优秀的其他同事,向他们学习技术或经验。
其实作为一名员工,所有的地方都是需要学习的,多听、多看、多想、多做、多沟通,向每一个员工学习他们身上的优秀工作习惯,丰富的专业技能,配合着实际工作不断的进步,不论在什么环境下,我都相信这两点:
一、选择你,让我充满向往
当我在北京年首届招聘会(首体招聘会和国展招聘会)投出我的求职简历时,我并不知道,这几份简历会把我带进一个怎样的世界,我将走上一条怎样的路。心底的自信强溢在脸上,又带着那样的迷惑、不安和好奇。我参加了五个公司的面试,由于我前期的精心准备,获得了五个公司的录用机会。在选择与自己的倾向爱好中,命运让我走近了你,公司,走近了你,也更让我充满了向往和渴望。
二、一点一滴,温暖在心田
这里给我的第一印象是公司的人性化制度,对于上下班的时间比较灵活,采用队列的模式,可以早到早下班;其次是公司规范化管理,对于新来的员工就如同一张员工信息表中添加一条记录那么简单,因为有规范的框架,所以员工入职自然也方便很多;再者就是同事们团结合作的气氛,公司有一批年轻且充满朝气的血液,在这里每个人都很上进,大家都很友好;在这里大家都是朋友,互相帮助,互相关照;还有就是公司的福利会的完善,公司竟会给每个月过生日的员工发放一份小礼物,而且还在公告栏留有一个空地,给本月份过生日的员工张贴生日快乐标语。对于新来的我来说,自然喜欢上了这个公司,同时得到了很多他们最真诚的帮助。前辈们对我的指导,总是无私的毫不保留,亲切、耐心,让我心里热乎乎的,让我很快融入到了这个年轻的集体。
实习期间,除了浅层次地学习了专业技能外,我还感受和体会到了很多技能之外的东西。首先是公司的敬业和那种生机蓬勃的工作氛围。走进这样的一个集体中,你的心会不由自主地年轻起来,你的脚步会不由自主地跟着大家快起来,而你的工作态度更会变得努力、认真,再认真一些,再努力一点。也许,这就是一个集体的凝聚力,这就是一个企业写在书面之外的“特殊文化”!
三、公司,我能为你做些什么
记得第一天到所在原来的地址办公地点时,一种从未经历过的紧张弥漫在心头,因为看到的是公司员工忙碌的身影;听见的是电脑键盘劈啪作响声与电话洽谈的话语声。在我担心自己会跟不上公司要求的同时又企盼自己能够尽快的跟上公司的步伐,向其他员工一样步入工作正轨。
我自己的实习生涯就从.2.21日这天报道开始了。进行了报道填写相关的手续后,我开始打扫清理着属于我的办公桌椅。紧接着在指导老师的安排下,我开始进入了练手熟悉项目阶段。接触的第一个培训任务是全英文的任务文档,大概意思是在C++中自己编写动态链接库DLL并且实现调用该DLL。这是任务里有点熟悉的知识,因为C#语言中有接触过DLL,但新的开发环境和陌生的开发语言C++让我很不适应。在David的热情指导下和同事Andy的启发下,用了不到一周的时间,我顺利的完成了第一个培训项目。
工作一周后正赶上公司发工资,我领取了属于我的第一份工资:710.18元(.2.21—.2.28)。好高兴,看到自己的劳动果实,有无法言比的高兴。
第二周又开始了第二个培训项目,又是纯英文的文档,内容挺多,看了一遍没理解什么要求,反而发蒙。大概包含Service服务的的编写,多线程同步和串口通讯与UPS通讯。这个任务涉及到的每个知识点都需要认真研究,查好多资料,因此,这段期间遇到很多问题,最突出的是心态,曾有多次否定自己,有的时候甚至有放弃的念头。在David的先搭好框架,然后一点一点填充内容的启发下,我理顺了思路,又开始认真研读文档要求,经过冷静的研读,能看懂任务的具体要求了。于是我开始了一个知识点一个知识点的攻破,在经历了放弃,重来的曲折之后,这个任务用了两周的时间完成了,控制在时间进度内,沉重的心情算是轻松了很多。通过这个项目的锻炼,使我意识到在做一个项目的时候肯定会有很多不懂的知识,但一定要稳住,不能急躁,不能慌张,每天要有合理明确的日程安排,要有挑战自己的信念,要对自己有信心,理论联系实际,不怕出错、虚心请教。这样切实体会到了工作的真正意义。这意义来源于坚持。
工作一个月恰逢赶上公司搬家,对于熟悉公司是一个好的机会,而且还有了一个动手制作网线的机会。由于学校网络课上亲自制作网线的失败阴影,对自己的动手制作网线的能力总感到怀疑。通过一个下午的练习,更多的学习,制作网线的成功率有很大长进,而且一直记不住的排线顺序连梦里都在说排线顺序。
做完了两个练手项目后,正好赶上有个HTML5网页游戏的新项目,是iPod手机的一个游戏项目,我们公司负责web服务器(java)和客户端(javascript+html5)。安排我和另一个比我晚一周报道的同事Avel在一个有着很多项目经验、思维灵活的Maco带领下开始
该项目。兴奋之余又带着紧张,兴奋的是可以参与项目研发了,紧张的是怀疑自己能否胜任。不知不觉中html5项目已经接触4个星期了,接触项目的这段日子里,每天神经弦都蹦紧紧的,这是我接触的第一个具有金钱利益关系的项目,而且还有很多要学的新知识,所以每天很早就来上班,晚上也时常主动加班。看着项目功能一点点完善,看着自己的思路或者是代码在项目中有用武之地,不大不小的成就感油然而生,经过一番努力,在Maco的带领下,第一阶段的任务顺利完成,用户也很满意,我也很高兴,也挺佩服自己,虽然我在项目中出的力只能算是九牛一毛。在项目的研发工程中,学到的知识是有限的,但更多是提高了我解决问题的能力和调整了面对困难的心态。项目的第二个阶段马上就要开始了,我期待着新的任务,新的挑战。
四、谢辞
光阴荏苒,回顾自己刚来公司那会儿,自信满满的样子。经过了这段时光沉淀,青涩的影子渐渐消逝,留下的是知识的积累与踏实的厚重。实习期间,我是以积极的心态投入工作。每天上班早到晚退,在指导老师与同事的帮助下,我慢慢克服了不自信的态度。
软件心理学的发展史
软件心理学发展大致可分为两个阶段[7],第一阶段是软件心理学的创立和初探阶段,第二阶段为软件心理学的丰富和发展阶段。两个阶段的主要区别是理论基础、研究对象和研究方法不同。20世纪70年代为软件心理学研究的第一阶段,研究学者主要由计算机科学家组成。1971年,Weinberg出版了《程序开发心理学》一书,开辟了软件心理学的新领域。该书从人类行为、社会行为和个人行为等3个角度审视程序开发。但是温伯格坦言,该书中的许多思想未找到“科学依据”,没有很好的理论基础。该阶段采用实验手段研究的代表是Shnei-derman,他采用内省、案例研究和实地研究等手段,对编程风格、项目组织、团队进程、程序员能力倾向和人格特质因素等方面进行了探索[4]。但是,Shneiderman的实验缺乏认知模型的支撑,面临设计问题简单、编程环境失真等问题。20世纪80年代至今为软件心理学发展的第二阶段,吸引了计算机科学家、心理学家和人素工程学家的参与。该阶段以认知模型的构建为特征,采用客观的行为分析作为严格试验方法的补充。从认知心理学引进理论框架,并将其研究成果引入到软件工程中,以促进软件工具的研发,改进编程活动。该阶段弥补了第一阶段的不足:研究对象扩展到专业程序员,而第一阶段的研究对象几乎都是学生;考虑了软件开发的集体性及协作性;所涉及的活动不只是编码,也研究需求规格说明及软件设计;考虑了语言和编程范式对编程活动的影响。纵观软件心理学的发展史,软件心理学的研究方法渐趋成熟、研究内容逐渐丰富、研究学者日益多元化。软件心理学的发展过程是软件工程与心理学融合程度逐步提高的过程。
软件心理学研究体系
从学术文献来看,软件心理学研究的热点主要集中在7个领域:程序设计的认知机制、程序理解理论、专家与新手的差别、程序员人格特质与绩效的关系、程序员情感与绩效的关系、程序员能力倾向测试和人机界面设计。笔者分析了各项研究内容之间的关系,如图1所示。软件心理学的研究从3个层面展开:第一层面为认知活动机理层,第二层面为根源因素层,第三层面为应用层。第一层面从软件生命周期的核心活动出发,研究其认知机制,主要包括软件设计活动的认知机制,以及编码、测试、维护中的程序理解机制。第二层面在第一层面的基础上,研究影响主体绩效的根源因素,一方面研究情感、人格特质对主体绩效的影响;另一方面从“主体的能力是由学习和训练得来的”这一观点出发,研究专家与新手在知识、策略和元认知方面存在怎样的差别。第三个层面是将前两个层面的研究成果应用到软件工程相关的活动中,如将根源因素层的研究成果与心理学测量方法相结合,研究程序员能力倾向测试,用于选拔适合从事软件开发的人员。将程序员的行为和认知机制的研究结果用于指导软件开发环境的人机界面设计。将专家与新手的差别的研究成果应用于软件工程人员的教育与培训。软件心理学在人机交互中主要应用于用户建模及可用性的设计与验证,关注用户描述,对用户的感知、认知和动作进行建模,并构建感知-认知-动作的集成建模。该方面的应用旨在了解和支持人与计算机的交互,使设计的软件或系统的可用性更高。该领域是软件心理学与计算机科学结合最成功的研究领域,存在的评述较多。本文接下来对前6个领域的研究现状及其对软件工程领域的启发展开论述。
主要研究进展
1程序设计的认知机制
研究进展程序设计认知机制主要包含3类元素:知识、策略和过程组织。程序设计知识分为句法知识、语义知识和图式知识[5]。前两类知识与程序语言紧密相关,而图式知识是程序设计的核心。图式(Schema)是主体内部的一种动态的、可变的认知结构单元,是由旧知识组成的无意识的心理结构。图式理论的核心思想是,将主体过去的经历形成模式,在解决问题的时候无意识地匹配和调用与目前情况相符的模式。图式的存在使得人类的认知具有自动加工的特点,同时也是认知失误的重要原因[6]。程序设计图式包括编程图式、结构图式和问题域图式[13]。编程图式是编程领域特有的图式,包括编程基础知识和算法知识等。结构图式是生成和理解文本的重要知识,如1个功能程序的结构图式由3个角色组成:输入、计算和输出。问题域图式是程序要解决的特定问题的领域知识。根据图式理论,程序设计的核心活动是相关图式的激活。程序设计过程就是程序员激活储存于记忆中的适合解决当前问题的若干图式,并对这些图式进行组合的过程。以图式为核心的程序设计模型以Adelson模型[7-9]和Détienne模型[10]为代表,将程序设计认知活动视为图式检索、图式匹配、解决方案评价、调试和通用化[7,8]的过程。程序设计的策略[11-13]包括:①自顶向下和自底向上。自顶向下是指将总体问题逐层分解为小问题解决的策略,自底向上是从细节到总体逐步构造的策略。②向前和向后。向前设计模式即程序解决方案按照执行方向设计,向后设计模式即程序解决方案按照与执行相反的方向设计。③广度优先和深度优先策略。广度优先策略是先解决完一个层面的所有问题,再解决低一个层面的问题,深度优先策略是将一个问题从上到下解决完成后再解决其它问题。④过程式和声明式策略。若编程方案是规程控制,则是过程式的。若编程方案用于声明静态属性,如对象、角色等,则是声明式的。⑤心理模拟,用于评价问题解决方案。程序员在不同情境下会使用不同的策略,策略的触景包括编程语言的认知维度[14]、编程环境特征、问题类型和程序员自身思维方式和已获得的图式,程序员趋于选择自己熟悉和使用频率高的策略[15]。程序设计的过程组织有两种方式。一种为结构化组织方式,认为程序设计是按照自顶向下、宽度优先的方式组织的。但是实验发现,实际的程序设计过程并不是严格按照这种结构化的过程进行的。程序员设计或编程过程中会出现机会性的偏离[16],即程序员(设计师)以实现目标为第一要务,不受规则的限制,自顶向下和自底向上、深度优先和宽度优先策略都会用到,取决于具体的情景。存在许多支持该模型的实验研究结果,如程序员有时会优先实现他认为最重要的功能。这种认知策略会被多个因素触发,如资源限制。当工作记忆超出容量时,结构化的工作模式就会失效,由宽度优先策略跳变为深度优先策略,产生机会主义偏离,即机会主义组织方式。
应用与启示从程序设计认知机制可以看出,良好的知识结构(设计模式)、恰当的策略和过程组织将促进设计工作的开展。基于此,可设计出更适合程序员使用的软件开发工具。在软件开发环境中提供可视化的结构图式和知识图式支持,对程序员具有重要的辅助作用。如在面向对象编程工具中提供一个通用化的对象图式,包括创建、初始化、读、写、输入和输出功能;在开发工具中提供控制流、数据流和功能分解图等。同时,领域知识库的构建对软件开发具有重要意义,也是软件开发工具面临的一个新挑战[17]。程序员机会偏离现象说明,编程环境不能过分强制程序员按照自顶向下的方式编程[18]。编程环境应提供相对灵活的导航工具,以便程序员在不同对象之间快速切换。在支持机会主义偏离的情况下,同时也要提供未完成任务的追踪功能,因为发生机会主义偏离后,被中断的任务搁置后容易被遗忘。
不足与展望程序设计的一个重要特点就是解决的问题是“不明确的问题”(ill-definedproblem)[13,18],存在需求描述不清晰、缺失等问题;并且,一个问题可能存在多个解决方案,无法通过单一的标准进行评价,甚至无法评价。因此,对所要解决的问题的表征(representation)非常重要,问题表征中生成的情景模型直接影响设计方案的生成,也与设计方案共同演化,是造成个体差异的重要活动之一[19]。而目前的研究都是假设所有程序员对问题的表征是一致的,缺乏对程序员问题表征的研究。分析程序员的问题表征,将其集成到程序设计认知模型中,是未来的研究趋势[13,19]。目前的认知模型将设计的核心活动简化为图式检索、匹配和评价的过程。而实际项目中,程序员可能面临知识不足的问题。因此学习成为程序设计中一项重要的认知活动。学习中理解和集成图式将占用大量的工作记忆资源(germaneload)[20],对程序设计的其它活动存在重要影响。而目前的认知模型均缺乏对学习活动的研究,这将是未来研究的一个重要内容。最后,人类认知的一个重要特性就是具有主动监控和调节的高级能力,即关于“认知的认知”———元认知能力。元认知能力与认知失效调节及问题解决能力密切相关[21],而目前的认知模型几乎都没有考虑这一全局性的认知活动。研究程序设计元认知能力对程序设计其它活动的影响机理及其评价和训练方法,对程序员的选拔和培训具有重要应用价值,将是未来一项重要的研究方向[22]。
2程序理解机制
程序理解可谓是程序开发心理学最古老的课题之一。它解决的核心问题是,程序员如何处理源代码和构建高效的软件系统[23]。研究程序员程序理解的行为和策略,以此指导软件可视化编程环境的开发[24]。
研究进展程序理解理论最初从文本理解理论借鉴而来。文本理解是通过信息加工构造表征的过程。该过程翻译文本中包含的显式信息,并调用经验知识得到推断信息,再将两类信息综合为一体。即信息加工过程的信息有两个来源:外源,编码在文本中的信息;内源,存储在记忆中的知识。Letovsky模型[25]使用知识库、心智模型(内部表征)和同化过程,从较高的抽象层次描述了这一过程。程序理解模型包括3类:功能方法,理解程序等价于利用知识图式;结构化方法,理解程序等价于构造关系网;心智模型方法,理解程序等价于构造详细的情景表征。功能方法的核心假设是,程序理解就是激活和实例化知识图式。程序理解的活动包括:激活储存在记忆中的图式,利用从程序代码中提取的索引,并从援引的图式出发推断程序所包含的某些信息。功能理解模型的主要代表是Soloway模型[26]。结构化方法认为,理解程序就是构造命题之间的关系网。程序可以用顺序、迭代和条件等控制结构的基本单位来描述。专家利用结构图式识别结构单元(顺序、迭代和条件),然后构造不同层次的表征。结构化方法的模型主要有Shneiderman&Mayer模型[27]。心智模型方法认为,程序理解就是构造情境表征。这就需要区分两类模型:程序模型和情景模型。程序模型与自然文本理解中的命题模型和文本库概念类似,反映程序在命题层次包含什么内容。而情景模型反映问题领域的实体及其关系,即问题目标及数据流。程序的理解首先需要构造程序模型,这依赖于结构化知识,特别是编程语言的语义和句法知识;在此基础上,构建情景模型,从而达到对程序的理解。心智模型主要有Pennington模型[28]。Mayrhauser集成元模型[29]将Soloway模型和Penning-ton组合起来,并且实验证明,程序员在3个理解过程中转换。该模型由4个部分组成:自顶向下、情境模型、程序模型和知识库。前3个部分反映理解过程,知识库是构建其它3个部分的必要因素,为程序理解过程提供相关信息并存储推断得出的新信息。
应用与启示对程序理解原理的研究,可指导程序理解辅助工具的设计[30]。如在程序浏览方面,对于自顶向下的理解过程,需要提供从顶层的抽象信息到底层的细节信息的浏览;对于自底向上的理解过程,需要提供控制流和数据流浏览;工具还需要同时提供宽度优先和深度优先的浏览,才能同时满足专家和新手的要求。除此之外,工具代码及注释检索功能将大大提高程序理解效率[31]。同时需要提供能够让程序员询问变量角色等的询问功能。最后,应考虑为程序理解提供一些其它认知支持手段,如为专家提供外部便签薄,为新手提供教学辅助,使其能够实时地获得语言和领域知识。集成领域知识将提高程序理解效率[32]。
不足与展望首先,在实际的软件项目中,维护人员很可能不是程序编写者,程序理解过程中通常伴随新知识的学习。因此,随着编程人员和技术的变化,终端用户相关的学习理论将成为一个研究趋势。第二,从理解模型可以看出,领域知识在程序理解过程中发挥重要作用。领域知识的集成是一大难点,也是未来的重要研究方向之一。第三,目前程序理解理论主要研究个体的认知机制,程序理解将向社会化组织化的方面扩展,同地合作和分布式合作方面将受到关注。第四,在工具方面,未来程序理解辅助工具将向快速改进、综合化、集成建议和搜索功能、接口高适应性、可视化、支持团队合作等方向发展[30]。
3专家与新手的差别
研究进展程序员的技能在很大程度上是一种习得性能力,因而研究专家与新手的差别对程序员的教育和培训有着重要意义。专家和新手的差别主要表现在4个方面:知识、策略、熟练程度和元认知[33]。专家与新手在领域知识和编程知识方面存在较大差别。Adelson&Soloway[7]和Burkhardt等人[34]发现,新手在领域知识方面的欠缺将导致其在构建情景模型方面存在困难,但是并不影响其构建程序模型。Schraagen[35]发现,即使都是有经验的程序员,领域知识欠缺的程序员的解决方案也会比领域知识丰富的程序员给出的方案差。因此,区分专家与新手的一个重要因素就是领域知识的掌握情况。在编程知识方面,Rist[36]发现新手更关注语言句法等表面细节信息,而专家更关注于语义信息或设计模式等深层次的信息。Soloway和Adelson等人发现[7],专家在解决模式化问题时的表现比新手好,而在解决非模式化问题时却不存在显著差别。Wiedenbeck[37]同样发现专家倾向于记住程序的语义等抽象表征信息,而新手倾向于记住程序的函数和语义等具体信息。Ye[38]指出,专家比新手拥有更大的图式组块(chunks),在他所研究的样本中,与新手相比,专家在C语言方面的概念块更抽象,组成元素更多。由于知识的组块,对新手是多个图式,对专家却可能只是一个图式,这使得专家的工作记忆能够调用和处理更多的信息。专家与新手除了在知识的数量与组织结构上存在差别之外,在知识的使用策略方面也存在显著差别。经验丰富的程序员倾向于使用自顶向下、宽度优先和向前的策略,而新手倾向于使用自底向上、深度优先和向后的策略[7,33,40,41];并且专家的编程策略可以在不同的问题上重用。Schraagen[35]指出,即使面临新的问题,良好的策略也能保障他们以较为结构化的方式解决问题。Ko[42]发现,即使在陌生的编程环境中,也不会影响专家程序员的问题理解策略。专家与新手在元认知方面存在重大差别。研究[33]发现,专家能够更好地意识到所犯的错误,并及时对生成的问题解决方案进行验证。专家元认知能力也表现在专家更善于利用外界记忆辅助设施(如笔记)作更多的注释[43]。
应用与启示专家和新手不只是存在知识占有多少的差别,在知识的组织、知识的使用策略、熟练程度和元认知方面也存在差别,这对软件工程人员的培训和学习以及专家系统的设计有重要指导意义。对程序员的培训不能只灌输编程语言规则等显性知识,还需要启发其分析知识之间的关系,以及不同解决方案使用的场景,进而形成高层次的图式;还需对知识使用策略和元认知进行训练;在培训的方式上,仅采用书本和授课方式是不够的,由于专家具有实用主义和自动化的特点[44],因此需要设计具体的任务对其进行实战训练。
不足与展望在弄清专家与新手的差别,特别是找到新手存在的缺点后,新手的学习和教育就成为重要的研究课题[45,46]。面向对象编程教育及可视化教育工具的开发成为近年来的一个研究热点[47]。
4程序员人格特质与绩效的关系
大量证据表明,软件开发中程序员的生产率和能力存在着巨大差别。具有相似背景的程序员在编程绩效方面存在巨大差别,学者们猜想,只有存在某种“固有的人格特质”才能解释这种差别。该领域的研究对程序员的选拔具有重要指导意义。
研究进展目前软件心理学领域主要采用迈尔斯-布里格斯类型指标(MBTI)和五因素模型[48]来研究人格特质类型与程序员绩效之间的联系。根据MTBI理论分析[49]:①在思考(thinking)/情感(feeling)维度方面(T/F),要检测和修改编程错误,克服语言错误,编程工作需要逻辑和分析能力,思考型比情感型更能胜任编程工作。②在感觉(sensing)/直觉(intuiting)方面(S/N),感觉型人更倾向于一步一步达到目标,对工作和细节更有耐性;而直觉型人工作更依赖于预感和直觉;但是直觉型人对复杂任务更感兴趣,感知型人更适合简单任务。③外向型(extrovert)/内向型(introvert)维度(E/I),内向型人更注意细节,在行动前喜欢彻底思考事情;外向型人思考问题倾向于表面化。在E/I维度的实证研究方面:David研究了MBTI与代码审查能力之间的关系,实验证明,E/I维度与代码理解能力之间存在强关联关系[50];Capretz[51]研究结果表明,软件工程人员大部分都是内向型性格;Chandler等人[52]发现,计算机专业的研究生主要都是内向、感知和判断型的;在程序员人格特质调查中,Turley发现软件行业样本中90%是内向型人[53]。在SN维度实证研究方面:Bishop[54,55]发现直觉型人在解决问题中表现得更好;Whitley[49]发现直觉型的学生确实更具编程潜能;Capretz[56]研究发现,他的专业程序员样本中直觉型人所占比例远远超过一般人群,他认为直觉型、思考型,特别是直觉-思考型在编程相关任务中能够工作得更好;Devito研究了MBTI与代码审查能力之间的关系[57],发现直觉型人比感知型表现好,直觉-思考型表现尤其好。在TF维度实证研究方面:Bishop[55]认为,完成软件开发中的一些任务(特别是问题解决相关领域的任务),需要在规定的限制条件下执行标准化过程,需要进行客观的逻辑的分析,思考型人更能胜任;Turley和Bieman[53]的研究表明,他们的样本中85%是思考型人;Capretz的专业程序员样本中81%是思考型;Chandler等人的计算机专业学生中86%是思考型;Myers研究表明,思考型人更适合于与逻辑思考有关的任务[58]。
应用与启示在现代软件人员选拔和项目管理中,人员的性格因素不容忽视。人员选拔需要根据角色的任务特点,选择适宜性格的人员,如直觉-思考型人普遍更适宜作编程工作;而需求分析更偏重交流能力,外向型性格比内向型性格更为适宜。实验表明,如果IT企业能够根据雇员的性格特点和潜能进行优化组织,生产效率和质量都可能得到提高[56,59]。
不足与展望正如Whitley所说[49],人格特质与绩效方面的研究是相关性研究,而不是本质上的实验研究,不能得出因果关系推论,不能说编程潜力、态度和行为的差别是由于人格类型导致的。需要对这种相关关系进行深入的机理研究,给出人格特质与绩效之间的相关关系的合理解释,这将是未来的一项重要的研究内容。在找到性格类型与能力偏好的关系的基础上,对于一个特定任务,如何选择和搭配团队成员以形成更加和谐、高效和多样化的团队也是未来一项重要的研究内容[48]。
5程序员情感与绩效的关系
情感(moods)是指“心境或主要情绪的意识状态”[60]。Merriam-Webster字典将情绪(emotion)定义为“意识的情感方面,一种感觉状态,是一种有意识的心智反应(如愤怒或恐惧),对特定对象的强烈感觉体验,一般伴随有身理的和行为的变化”。情感和情绪都是感情状态。情感持续的时间更长,引起的原因没有情绪明确。情感可以持续一两天或者更久,而情绪在几分钟或者几秒钟之内发生或者消逝。大多数心理学家认为情绪和情感在本质上是一样的。几乎所有的日常活动都受到情绪的影响,从驾驶飞机到编程,无一例外都能感受到正面或者负面情绪。情绪可能破坏日常任务,通常会对精力、睡眠和思维造成干扰,严重的可能导致疼痛。研究发现,情感会影响人类的多种活动,如创造性、记忆、推理、行为、认知加工、信息加工、学习、决策和工作绩效[60]。
研究进展虽然情感与绩效关系方面存在大量研究,但是很少有针对IT专业人士的情绪研究。近年心理学领域开展了情绪对行为的影响研究,情绪对IT专业人士的影响的研究却很少[60]。情绪心理学相关研究表明,情感影响推理。而推理是编程的必要元素,如果情感能影响推理能力,那也可能会影响程序员的绩效。Khan[61]设计了实验来测试情感对程序员调试任务的影响。其方法是让程序员在开始调试任务之前,先观看几组激发特定情绪的录像带,比对各组任务绩效。结果表明,情绪的觉醒水平对调试任务存在重大影响,而情绪的效价对任务的影响却不明显。即程序员检测和改正错误的能力依赖于情绪的觉醒水平。Good等人[62]意识到情感对程序员绩效的影响,在计算机实验室中引进了表达和监控学生情绪的设备。实验表明,此设备有助于学生的情绪表达、交流与修复,进而促进学业成绩,获得了良好的反馈。
应用与启示情感对编程绩效存在影响,该领域的研究对程序员的管理有着重要指导意义。如情绪的觉醒水平对调试任务存在重大影响,企业管理中就需要尽量避免员工情绪出现大幅波动,过于高兴或悲伤都对工作不利。需要避免员工带着负面情绪工作,思维受到影响可能引入严重的软件缺陷。情感波动对编程绩效存在较大影响,组织在选拔程序员过程中可参考此因素,优选那些情绪稳定型人格特质程序员负责关键性任务。可用大五人格测量中的神经质维度(neu-roticism)问卷衡量情绪稳定性。
不足与展望针对程序员情绪的研究目前还处于实验室研究阶段,这与实际工程项目中程序员的工作环境存在巨大差别;并且情绪具有实时性和积累效应,如何在不侵扰程序员编程工作的条件下,实时地检测程序员情绪进而帮助其调节情绪是未来的发展趋势。文献[63]提出通过程序员使用鼠标和键盘的信息来监测程序员的情绪。文献[64]提出通过增加人机界面的情感意识(emotionawareness)设计来促进用户的正面情绪。
6编程能力倾向测试
众所周知,有些人认为学编程很困难,而有些人却觉得很简单。要可靠地将这两类人识别出来却是一个大问题。编程能力倾向测试旨在解决这样的问题。
研究进展Wilson&Shrock[65]研究了12个预测因子后发现,有3个预测因子与编程能力有着重要的相关关系,依次是:舒适水平、数学和归因(把成功归因于运气的学生编程能力较差)。Beise等[66]考察了年龄、种族和性别与编程入门课程之间的关系,从统计学上表明,性别和年龄都不是有效的预测因子。Nathan等人发现学生的预期是一个重要影响因素,那些预期自己能得“A”的学生更容易成功[67,68]。Lister等[69]、Fincher等[70]、deRaadt等[71]、Simon等[72]、Tolhurst等[73]指出,在编程入门课程中表现差的学生缺乏问题解决能力。Stuart实验发现,系统商数(SQ)-移情商数(EQ)与编程存在强正相关[74]。Simon等人[75]、Sue&Gary[76]、Tolhurst等人[73]都发现,学生的空间观想能力与编程能力存在正相关,地图描绘实验中画俯瞰图的学生在课程中得分更高,画路线图的学生成绩比俯瞰图的差,画路标图的学生成绩最差。空间观想能力与代码导航能力有关,进而关系到程序心智模型的构建。
应用与启示编程能力倾向测试可以提供学业和就业方向咨询,选择那些适合学习编程的学生,提高编程课程的通过率,减少计算机学生的退学率[77];为企业选拔更适合编程的员工,并识别哪些员工需要进行计算机相关训练。
不足与展望可以看出,目前该领域的研究未能取得公认统一的结论。学者们对预测因子的选取具有较大随意性,各自提出的预测因子繁多且缺乏系统性。究其原因,研究者们未能对软件工程中各种角色所需的认知能力进行机理层面的分析。相关性分析不能说明因果关系。学生在某种任务中的绩效与编程绩效相关只能说明该项任务与编程任务在所需的认知活动上存在某种程度的交叠。因此,用这些因子预测学生将来的编程表现是不够合理的。作为编程能力潜力的预测因子,需要选取与编程认知活动密切相关且相对稳定的因素。本文前几节的分析和总结对编程能力倾向测试的未来研究方向具有重要启发:1)编程能力在很大程度上是习得性能力,知识与经验的差异是程序员个体差异的最主要原因。因此在个体经历和其它条件相同的情况下,学习能力的差异是影响程序员未来编程能力的一个重要因素。同时,学习能力是一项较为稳定的能力,可作为编程潜力预测因子之一。2)软件工程的核心认知活动是问题解决(problemsol-ving),而元认知对问题解决活动进行监控与调节。元认知能力的高低对问题解决绩效起着重要影响[78],并且元认知能力也是较为稳定的高级能力[21],可作为编程潜力预测因子之一。3)情绪、动机(motivation)等因素对认知活动存在较大影响。同样,在外界刺激条件下,人格特质是个体情绪动机差异的决定因素,且人格特质具有长期稳定的特点,可探索部分人格特质维度作为编程潜力的预测因子,如情绪稳定性。总之,编程能力倾向测试的未来研究应着眼于分析软件工程的任务活动特征,识别那些对编程活动有着因果关系且较为稳定的因素作为预测因子,才可能达到“潜力测试”的效果。
结束语
述职报告的主体要选择几项主要工作,细致地将过程、效果或失误及认识表述出来。下面是小编为大家整理的关于程序员个人述职报告范文,希望对你有所帮助,如果喜欢可以分享给身边的朋友喔!
程序员个人述职报告范文1在过去的一年中,我担任公司开发部的一名程序员,主要从事着--项目的开发工作,这一年来我低调努力工作着,不求闪亮显眼和光芒四射,只为平静和淡定;这一年中所做的成绩如下:
一、独立开发方面
--项目中本人独立负责开发会计处的三个子系统:会计人员信用查询系统。记账机构信用查询系统。会计人员网上报备系统。这三个子系统上线后,方便了社会各界查验会计人员的真实信息、方便了查询合法的记账机构信息,以及方便了各单位对会计人员的报备。
二、团队开发方面
餐饮行业项目,在团队开发项目中直接参与了--餐饮有限公司总部的信息综合管理平台项目,主要负责的系统有:房屋租赁合同管理系统。短信收发管理系统。会员管理系统。基础信息管理系统和人事管理系统的部分功能模块。系统应用后,--在管理全国各门店房屋租赁合同上,一定程度上提高了管理效率,并且及时有效提供了相应预警信息;短信收发系统方便了总部及时传递各项信息;会员系统更好的管理全国各门店的会员信息;人事系统在管理中减少工作量等。
三、项目管理方面
金融行业项目,我参与了--银行--分行,企业转账管理系统中的部分模块开发。本系统方便了企业快速实现大量和复杂的转账工作。--项目正在负责和开发的是住房货币化补贴网上申报审核系统。本项目采用了新技术,使界面更加大方美观,很大程度上改善人机交互平台的效果。
四、总结不足
驻--总部做项目时,由于团队内部某些原因,加之外面的其他因素,一定程度上影响了工作效率、影响开发进度和影响最终软件质量;这是包括我在内项目组中的每个成员都必须检讨的地方。
通过总结一年来的工作,尽管有了一定的进步和成绩,但在一些方面还存在不足,个别工作做得还不够完善。在今后的工作中,我将努力找出工作中的不足,以便在日后的工作中加以克服。自我不断的学习吸收新技术,认真学习好规范规程及有关文件资料,并且及时的把新技术应用在实际的项目中,进一步提高项目的技术含量。
程序员个人述职报告范文2光阴如梭,一年的工作转瞬即将成为历史,伴随着新年钟声的临近,我们依依惜别硕果累累的过去,满怀热情的迎来即将到来的新的一年。在这年终之际,现对来公司一年的时间里所作的工作总结如下:
一、--项目的编码工作
从了解--项目的背景、及计划安排,熟悉--公司制度及业务流程,再到熟悉新能开发模式,之后我根据需求调研报告,从基本的数据库创建,到编码,完成了销售部、生产部、采购部、质检部四个模块的基本单据的制单、审核、选单、查询、打印等系列的编码工作;完成了--项目的模块测试及流程测试。
通过这段时间的努力,使我个人的耐心、细心程度及对工作的合理安排得到了锻炼,学会了在繁忙之中找条理,危难之中找希望。同时自己也有一些不足之处,一些细节地方技术上还不太成熟,还需加以学习与钻研。
二、erp项目的实施工作
从-月初开始进行--项目的实施,每天早起赶在企业上班前赶到企业进行erp的实施。实施期间主要是软件的安装实施及对企业的erp系统的使用人员进行软件使用培训;纪录客户使用过程中出现的问题,晚上下班后加班加点将每天的小错误及客户变更修改完毕。通过这项工作,使我原本欠缺的业务能力得到了很大的提高,并学到了很多与客户交流的技巧及业务上的知识,更加明晰了erp系统的流程。但离一个成功程序开发人员的标准还差得很远,在今后工作中,定会多多注意,加以改善。
三、帮助和使用手册文档的编写
帮助的编写使我熟悉了--的使用,为后期的oa开发也奠定一定的基础,使用说明的编写,使我更加加深了项目开发的整体思路与技术要点,总结了前期开发和实施中碰到的问题,并又一次的对软件整体进行了测试,对暴露出的小bug进行了最后的修改。
四、利用工作之余的休息时间加强知识
平时注意收集有关--方面的资料文件,提高自己的处理新问题和解决新问题的能力,并加强学习java及oa方面的知识,为后期的工作打好基础。
展望临近的新一年,我会更加努力、工作上认真负责,再接再厉,更上一层楼。相信自己会完成新的任务,能迎接新的挑战。
程序员个人述职报告范文3来公司担任程序员一职已一年多时间,在这一年时间里,我学到了很多东西。每个人都是在不断的总结中成长,在不断的审视中完善自己。在这半年里自己也是在总结、审视中脚踏实地地完成好本职工作,现将这半年的工作总结如下:
一、思想方面:
严格按照一个程序员应有的素养要约束自已,爱岗敬业,具有强烈的责任感和事业心,积极主动认真的学习专业知识,工作态度端正,认真负责,听从公司的安排,积极配合全友家私完善ERP系统,任劳任怨。
二、工作方面:
热爱自己的本职工作,能够正确认真的对待每一项工作,工作投入,热心为大家服务,认真遵守劳动纪律,按时上下班,有效利用工作时间,坚守岗位,需要加班完成工作按时加班加点,保证工作能按时完成。在这半年里,我本着把工作做的更好这样一个目标,开拓创新意识,积极圆满的完成了以下本职工作:
配合全友家私开发并完善SRM系统
独自开发全友家私SAP日志维护系统
三、存在不足:
公司领导以及部门领导同事的帮助和指教,使我的工作有了很大提高,当然我还存在着很多不足之处,处理问题思路简单,不够成熟,工作中容易产生急躁情绪,需要更加学习专业知识,提高自己的工作水平。
程序员个人述职报告范文4我是一名程序员,在过去的一年里,软件研发部团结协作,以及在公司这充满奋斗的环境下,我以严肃认真的工作态度和百折不饶的精神,努力的完成了公司的各项工作,在软件研发、团队协作和个人成长上也取得了一定的成绩。在公司一年的工作已经结束,特向公司总结汇报如下:
一、软件研发
根据公司的安排,项目的需要。在自身的努力、伍经理的帮组,团队的合作下,克服重重技术困难,增长了工作经验,收获丰盈:
1、asp.net
开发
以前我在其他公司也做过一些开发,但是底层和架构与页面样式我都是没有涉及到的。通过这一年在本公司的的这些项目程序中的锻炼,我成长了,我学会了很多很多。首先,面向对象语言的收获。对于当前编程的主流思想是对象,任何事物都可以用对象来表示。以前理解这些话很费解都是从表面上理解,没有从深入的体会,通过这次asp.net项目的深入,不管是数据还是外部一些条件我们都可以抽象成对象,都可以用对象来表示,具体可以用语言中的类方等。asp.net如此,c#如此java也同样如此。其次,具备独立完成vb.net知识方面的能力。以前没有做过vb的东西,加上这次深入的做,这次涉及到的领域也非常广,常用的重要的都有涉及,并且还补充-ml,javascript实际操作中空白的部分。通过这一年的开发,在.net方面我能胜任这方面的工作,能独立完成这方面的工作。
再次,c#方面存在一些不足。LocALhOST通过c#这次软件的开发,也发现自己的不足,如基础知识掌握不牢,缺乏编程整体思想。这些都是需要在工作中完善和改进的。
2、数据库开发
数据库是伴随着项目以来用的最多最平凡的技术。以前对数据库只是会一些简单常用的操作,经过这一年项目的实战,对数据库的操作增加了一些丰富的经验。为以后的工作和经验的积累都奠定了坚实的基础。同时在项目中还用到了oracel与access数据库,这是我最大的收获。
优点:能熟练的运用数据库技术进行开发。特别是对sql数据库的操作,经过这么长时间的积累,基本上能合理的设计和新建数据库,同时在数据结构上也加强了对数据库的理解。通过项目的实践现在能熟练使用和编写多种sql语句。还掌握了一些关于数据库优化sql语句优化的方法,能进行一些简单的优化。
缺点:数据是一门比较先进的技术,并不是你会写一些sql语句,能建几个数据库你就是数据库工程师。要成为一个好的数据库管理员是要经过长时间的工作积累。针对自己的不足,在以后的工作和学习中多接触,多运用新的知识点。充实自己的经验和知识储备。
二、团队协作
上面的成功与收获,除了自身努力外,以及公司的支持。是这个团队铸造了我。我们这个团队也是因为有了我们这些拼搏协作的队员,使得它成为一个具有务实、拼搏、创新精神的团队。我与软件研发小组是一个整体,这里的团队总结也就是我在这个团队中的收获。
务实:公司下发的任务,下发的工作,件件都是用心去做的。我们这个团队中没有一个人在工作的时候做了工作以外的事情,都是实实在在的做跟工作相关对公司有益的事情。相信在伍经理的带领下现在是这样,以后同样也是这样。
拼搏:公司给的每一个任务不管它多难,如果工作没有完成我们会晚上加班,也要尽可能的完成当天的工作。如果工作实在忙,为了赶进度我们放弃周末休息时间也要尽可能的使项目提前。
创新:现在我们开始项目的时候都会进行研讨,一般都会进行一个效率和逻辑的分析与讨论,保证程序正确的前提尽可能的提高程序的效率。
互助:我们小组内只要任何一个人出现技术或其它的问题,我们都会彼此都会尽可能的去帮助他。不会因为某一个人而拖住整个项目滞后。
交流:我们在项目中会及时沟通自己的收获,特别是一些针对性的技术问题。这样可以省了很多重复研究的时间,这是一笔很可观的时间。
在交流中只要我会的,我懂的,我不会去吝啬。我会积极的去与你交流,我的团队名言"人强团则强,人弱团则削"。
三、个人成长
通过公司这快一年的`锻炼与学习我真的进步了很多,不管从技术上还是做事上,都不像以前那样了。我在公司学到的懂得的使我飞速成长。
技术上:不管从语言上还是做事的逻辑上都得到了很大的的提高。现在在软件小组里面自己能独立完成一部分工作,承担自己的责任。
程序员个人述职报告范文5回首过去,展望未来
回首这一年的工作,有硕果累累的喜悦,有工作当中的艰辛,也有遇到困难和挫折时的惆怅。在项目可开发的过程中,难题一个接一个的出现,自信心不止一次的受到过打击,虽然自己早就知道,要做到符合公司的要求,做一名合格的程序员,这些是远远不够的。每天我都会不断勉励自己,好好学,以后会好的。在此同时,公司也给了我很多学习的机会,这是我对以后的编程之路又有了信心。在担任公司程序员一职已经有一年多的时间,在这一年时间里,我学到了很多东西。每个人都是在不断的总结中成长,不断的是审视中完善自己。在这一年里自己也是在总结、审视中脚踏实地完成好自己的本职工作,现将这一年的工作总结如下:
思想方面
严格按照一个程序员应有的素养来约束自己,爱岗敬业,具有强烈的责任岗和事业心,积极主动认真的学习专业知识,工作态度端正,听从公司的安排,积极配合客户完善数字化校园系统。
工作方面
热爱自己的本职工作,能够正确认真的对待每一项工作,工作投入,热心为大家服务,认真遵守劳动纪律,按时上下班,有效利用工作时间,坚守岗位,需要加班完成工作的要按时加班加点,保证工作能够按时完成。在这一年多的时间里面,我本着把工作做的更好这样一个目标,主动了解公司的开发项目流程,请教他们开发技术上的问题。
工作心得
1.在这一年多的时间里面,我参与的都是团队合作的项目,无论是自己还是同事,我们都将就团队精神。
在信任自己和他人的基础上,思想统一,行动一致,这样的团队一定会攻无不克战无不胜。我们的很多工作是一起完成的,在这个过程中,大家互相提醒和补充,大大提高了工作效率,所有的工作中沟通是最重要的,一定要把信息处理的及时,有效和清晰。
2.每一个项目在开始着手的第一步,一定要和客户把需求沟通清除,只要了解项目的需求,才有可能真正做好一个项目。
我们需要向客户提出,要求客户提供所有涉及该项目的资料,每次与客户见面都需要熟悉业务与程序的程序员随时记录需求。
3.工作中,将任务详细化,详细到每个页面,甚至是一个页面中的图片什么时候做好,做好到什么程度,这样把工作进度有计划有方向的定下来,做事很有效率。
4.每天的工作小结真的很重要,这让我们每天都有计划的知道自己干了什么,不是漫无目的的工作,所以我们应该养成,日记、周记、月记、年记的工作习惯。
5.工作并不是一成不变的,也许有一天你要去其他岗位帮忙,所以同事之间的技术要相互学习,也许有一天,公司需要你发挥其他的技能帮忙,所以相互学习也是很重要的。
工作教训
在公司工作的期间,我也发现了自己离一个符合公司要求的程序员还有很多差距,主要体现在工作技能与工作经验的不够,也是我以后要在工作中不断磨练和提高自己的地方。仔细总结一下,自己在工作中主要有以下方面做的不够好:
1.工作的条理性不够清晰,要分清主次和轻重缓急。
在开发时间很仓促的情况下,事情多了,就一定要有详细而主次分明的计划,哪 需要立即完成,哪些可以缓缓加班完成,在这方面还有很大的优化空间。
2.对流程、业务需求不够熟悉。
在工作中,发现因为流程或业务需求的问题而不知道如何下手的情况有点多,包括错误与缺漏还有当时设计考虑不到位的地方,对于这块的控制力度显然不够,平时总是在开发,但说到底对业务很熟悉才是项目很好完成的前提。
3.缺乏工作经验。
4.学习的知识不够广泛。
一个项目中,涉及的技术往往有很多种,知识多了,就会灵活变通,以后我也会加强这方面的学习。
工作计划
要提高工作主动性,做事干脆果断,不拖泥带水。 工作要注重实效、注重结果,一切工作围绕着目标完成。要提高大局观,是否能让其他人的工作更顺畅作为衡量工作的标尺。 把握一切机会提高专业能力,加强平时知识总结工作。 精细化工作方式的思考和实践。虚心请教比我做的优秀的其他同事,向他们学习技术或经验。
其实作为一名员工,所有的地方都是需要学习的,多听、多看、多想、多做、多沟通,向每一个员工学习他们身上的优秀工作习惯,丰富的专业技能,配合着实际工作不断的进步,不论在什么环境下,我都相信这两点:
一是:三人行必有我师
关键词:项目导向;理实一体化;Web应用程序开发;学习领域;课程开发
中图分类号:G712
文献标识码:A
目前国内职业院校计算机应用技术专业存在所教非所用、职业教育与社会需求脱节的培养机制问题。这主要是因为这些专业在教学内容的选取上存在较大的随意性,在职业能力的塑造特别是动手能力的培养上存在较大的随机性。如何针对职业岗位培养学生职业能力,开发出一大批工学结合的计算机应用技术专业课程,从而有效推动学生高质量就业,这是目前高职计算机应用技术专业面临的重大挑战。下面是对高职计算机应用专业《软件开发技术》工学结合课程开发的实践探索。
1 计算机应用技术专业及其就业岗位
计算机应用技术专业主要面向IT行业的软件开发工作的一线程序员岗位,培养能在IT行业的软件开发领域内从事计算机程序开发、软件编码测试、软件技术服务和管理、软件销售和推广等岗位的高素质技能型人才。
与传统的计算机应用技术专业相比较,它注重培养学生知识、能力与素质。把基础知识与专业技能相融合,培养“素质+能力+专长”的应用编程能力和创新能力。
计算机应用技术专业(.net方向)就业岗位包括:Web应用软件开发企业中的销售人员、实施及维护人员、系统开发人员、系统管理人员。通过对这些岗位进行归纳总结,确定Web程序员、Web应用软件产品支持技术员、网站开发程序员、Web产品工程师作为学生就业的主渠道。
2 《软件开发技术》课程的地位和作用
《软件开发技术》在专业课程体系中起核心骨干作用,是培养基于.net技术Web程序员的主要支撑课程。同时也是计算机网络技术专业、计算机多媒体技术专业重要的拓展课程。通过课程学习使学生具备适应Web程序员岗位的专业技能和职业素养,并掌握一定的理论知识,为就业后的可持续发展奠定基础。
本课程的先修课程有《C#程序设计》《计算机网络》《数据库原理与应用》等课程,这些课程属于职业准备课程和职业技能训练课程,为学习本课程和职业岗位准备基本技能,后续课程是《软件项目实践》和毕业设计,属于岗位技能应用课程,与学生毕业后的职业岗位任职要求相一致。
如何让学生利用Web应用程序开发的基本方法,使用.net技术进行中小型Web应用程序开发;具备较强的自主学习和创新能力,并形成良好的编程习惯和团队合作精神。基于这一背景开设的《软件开发技术》课程,正是为了解决这类专业核心能力的培养问题而开设的。
3 课程设计理念与思路
3.1 课程设计理念
《软件开发技术》课程开发以Web应用产品行业的需求为导向,以Web应用开发程序员等职业岗位能力培养为重点,与Web应用软件开发公司紧密合作,按照项目导向、任务驱动教学模式,设计和开发一系列基于工作过程的教学标准和教学资源,实现教学做一体化的课堂教学。
3.2 课程设计思路
根据软件开发市场、软件企业、行业对Web开发程序员的需求,确定“Web程序员”的职业岗位培养目标。按照Web应用项目开发流程(生产过程),确定工作任务。归纳出完成工作任务所必须掌握的技能,梳理成课程教学模块所需的知识点、技能点、素质点,最终选取煤矿安全资格考试系统作为教学载体。在教学实施过程中通过“项目导向、任务驱动”教学模式,结合一体化教学、角色扮演、项目训练等教学方法和教学手段,达到培养Web程序员应具备能力的课程目标。构建课程模块如下图1所示。
4 教学内容的针对性与适用性
4.1 面向就业岗位
根据企业调研和毕业生跟踪,明确本课程培养的学生主要面向的就业岗位包括Web应用软件开发企业中的销售人员、实施及维护人员、系统开发人员、系统管理人员。通过对这些岗位进行归纳总结,确定Web程序员、Web应用软件产品支持技术员、网站开发程序员、Web产品工程师为课程重点针对的教学岗位。
4.2 以职业能力培养为目标
课程教学内容的选取是根据职业岗位实际工作任务所需要的知识、能力、素质要求。专业建设指导委员会专家共同分析面向就业岗位的岗位职业能力,确定了以下岗位职业能力。
确定课程内容主要包括以下几部分内容。课程能力模块选取如图2所示。
4.3 选取企业煤矿安全资格考试系统作为教学载体
为了使学生能够体验完整的项目开发流程,提高学生的适应能力、应用实战能力、团队协作能力与持续发展能力,选取煤矿安全资格考试系统作为课程主要教学案例。因为煤矿安全资格考试系统是与合作企业合作项目,素材全面,包括源代码、数据库设计、相关维护配套工具、说明等资料齐全。煤矿安全资格考试系统案例涵盖了Web应用程序设计的核心内容,能涵盖各岗位的职业能力要求。
5 教学内容的组织与安排
5.1 按企业WEB应用项目开发实际工作流程,序化教学内容.
以真实煤矿安全资格考试系统为载体,以职业能力培养为重点,以“做中学”为实现途径,以煤矿安全资格考
试系统开发流程中每个工作任务要使用的技术为依据,以工作过程的循序渐进原则设置,将课程内容序化为8个学习情境、16个工作任务。教学内容的组织与安排如表1所示。
5.2 单个学习任务教学内容的组织
下面以学习情境四煤矿安全资格考试系统设计中工作任务系统数据库设计为例进行说明:
(1)任务导引:数据库设计。教师引导复习煤矿资格安全考试考试系统概要设计,并引出新任务:数据库设计。学生思考教师提出的问题。
(2)案例演示:煤矿安全资格考试系统数据库设计。教师演示教学案例,学生观看演示案例。
(3)任务提出与分配:设计煤矿安全资格考试系统数据库。教师下发开发任务,学生分组讨论本阶段的任务,进行任务划分,设计煤矿安全资格考试系统数据库。
(4)实施。学生阅读煤矿安全资格考试系统概要设计文档,学习Power Designer工具的使用,使用Power Designer设计煤矿安全资格考试系统数据库,编写数据库设计报告。项目经理审批数据库设计报告。创建并生成煤矿安全资格考试系统数据库。教师点评学生设计过程中存在的问题,学生根据教师的点评完善自己的作品。
总之,通过以企业真实的开发项目煤矿安全资格考试系统为载体,设计8个学习情景、l6个学习型工作任务,实施项目导向、任务驱动学习,让学生能实际经历Web应用软件开发流程和规范,养成良好的团队协作职业素质,有效提高了课堂教学的质量和效率。
参考文献:
[1] 邓泽民,陈庆.职业教育课程设计[M].北京:中国铁道出版社,2006
技术
我在学校里学的是电气自动化,程序基础仅限于C基础课程的一些知识,后来由VB、HTML转向asp,在asp上花费了不少时间,对asp比较熟悉,后来由于公司业务需要,将开发平台转向,开始对不是很感冒,以为就是asp的一点扩展(那时还不知道三层架构,数据数据访问全在页面里!),后来招来几个北大青鸟的过来终于意识到的强大之处,经过个人的努力已经逐步掌握了,现在层次上只能讲个人觉得是入门而已,原因是多方面的,待会儿会讲到。
相信从面向过程转向面向对象的同学都有一种感觉:面向对象开始真的有点别扭,涉及到属性,尤其是类之间的各种关系,那时老想用面向过程传递参数多方面啊。于是老在想对象这种东西,从概念中跳中来,以自己的方式去理解才逐渐体会到面向对象的精华来,分层次展现、分级别访问、封装对象之间各种关系逐渐真正理解了,尤其是对象之间的关系,如对象a与对象b两者之间的关系,有些需要完全公开,有些需要隐藏,有些需要通过第三方传递,有些需要给自己的下级可见,有些需要让下级去完成具体操作这不是现实的实际模型吗?应该这么理解,面向对象来源于现实,它不是一种凭空空想出来的理论,这些对象之间的关系可以将其还原为父子、夫妻、领导下属、同事、朋友之间的关系。相比之下,页面过程往往像是一股脑全部推给用户使用,其中的数据与数据访问方法层次不清晰,在模拟现实上它与面向对象相比更易于入门理解,实质上难于准确直接地表述。
面向对象上另一方面是它的设计模式,在之前的面向过程中对这个设计模式并没有清晰地提出来,面向过程优秀的代码要求高内聚低耦合,从个人的理解上,这仅是对软件开发方法“技”上理论总结;设计模式是达到了“道”的层次,因为它从更大的方向、更抽象的层次来去表述具体的代码模块之间的关系,可以认为设计模式是完全从实际的应用来不断总结得来的经验,之间并没有这种术语,但相信前人肯定也使用到这种思想,它从实际应用于来,当然要应用于实际工作中,认真思考不断总结每个人都会有自己的“设计模式”,可以借鉴前人的思想来去提升自己,不可去为“设计模式”而设计模式。
具体到的实现模型中,真正理解它的机制与方法也就不难理解,记住b/s中离不开post或get,所有的AutoPostBack、SelectedIndexChanged……都是去调用Form传值,加上runat="server"的服务器控件打开它生成的源文件也是普通的HTML标签,微软的让软件开发更容易的思路是很好的,时代在前进,很多年前你使用C写出MIS证明你很牛,很多年之后你还在使用C去写“学生管理系统”、“图书馆管理系统”那只能说明你的脑子少一根筋,开发语言都有长处与不足的地方,因为它们适用的场合不同,类似不能拿匕首去跟炮弹比,也不能拿C与PHP比,程序员都有一种偏执的心理,但一点要记住,你面对的用户才有最终发言权,程序能不能满足需要,易用性、稳定性、成本才是应当首先放到重要位置来去谈的。
管理
最开始担任管理一职时开发团队加我在内只有四个人,那时只是抱着接受挑战的心理去做管理,加上我本人比较重感情,团队之间关系相处都不错,但严重的问题逐渐显露出来:工作的随意性、团队精神薄弱、工作方式蛮干,印象深刻的是有几个开始承诺项目不能完工,于是最后天天加班,一直做到早上6点,睡一会7点半接着上班,几个同事都是年龄差不多的小伙子,干劲十足。后来随着时间的推进,问题越来越摆在眼前:项目迟迟不能完工,又由于公司待遇方面让新员工感觉不值得,于是形成了老板抱怨员工也抱怨的状况,我在中间两点都要去“消火”,这期间是我们部门相对最累的时间但也是相对感觉最充实的时候,后来,之前的员工跟我说“再也找不到那种感觉了”,这是我能想像的。这期间主要是老总对我十分信任,工作上主要是管理方法上对我指点了不少。后来我逐步体会到,管理应该是“大家定规则去遵守”,而不应该是“人管人”。
人管人很容易陷入一个误区:领导去时时刻刻关注每个员工,这样最后往往后造成员工对领导的敷衍了事,管理松了员工会责任下下降,管理紧了造成员工与领导关系紧张,另一方面领导时间精力有限必然耗费大量的精力在日常的监督中而不能投入到全局的管理中。
于是“定制度-定分工-定进度”,明确日常所有的规章制度,这期间除了公司主要的工作规章制度外其他的日常工作纪律、日常管理等规章制度都是我本人制订,然后征求大家意见最后去贯彻执行。中间也遇到了不少问题,比如开始我们内部是允许使用QQ的,后来员工用QQ闲聊的时间增多,大大影响了工作效率,最后决心禁止,开始阻力较大(貌似程序员都喜欢挂上几个QQ去到群里搞个群主,虽然群里大多都是菜鸟),最后多次开会,逐个谈话,阐明道理,形势逐渐好转。
项目分工上针对技术水平明确分工,制订项目开发计划,由于开始技术都不是很成熟,不少时间我这边强势要求,使用野蛮方法,完不成加班我陪着加班,这段时间能感觉到员工对我稍有怨言但总体还是认可的。
这期间公司新招人员,人员的增多更使我意识到团队管理的重要性,这期间版本控制、编码规范、文档管理、Bug管理等诸多问题都得到一一解决,技术水平上主要是我个人利用空余时间学习新知识充电,然后展开各种培训,主要是photoshop、css、js、SQL等方面,培训一方面提升了员工的技术水平,一方面我本人在学习培训的过程中得到的最多,因为这个时候个人要求去思考的会更多,加上我本人对技术兴趣比较深厚,所以后期工作慢慢踏入良性循环。
待遇低、条件艰苦、工作时间长、工作压力大是团队中最大的难题,这方面公司在某些方面决策层有着严重的错误思想,造成技术人员对公司埋怨增多,在这方面我本人只能以劝架婆的身价去安慰身边的兄弟,因为我明白现在公司的问题与当前中国软件行业的通病一样,盲目追求利益最大化,不求质量,但求速度,整个社会风气造成软件行业良莠不齐发展,整个中国三四个人的开发团队组成的公司数不胜数,整个程序员阶层生存状况可想而知,疯狂加班、代码质量低下、维护成本大、稳定性差、用户体验差。当然我们本身不能去逃避这个现状,对于个人来讲任何假大空的口号都是没有意义的,程序员作为技术人员最重要的是心态,以良好的心态去面对各种问题,发现问题、解决问题,发现问题抱怨是解决不了问题的(“IT民工”是我个人认为IT人最没有正确的自我定位的一个称谓,试想一个人连自己都看不起自己的职业,他能做好自己的工作吗?),最主要是解决问题。
我在面试员工时反复提到的三点是;工作态度、发展潜力、工作能力,由前向后排序,心态最重要,大公司大家都想削尖脑袋往里挤,但名额有限,所以广大的程序员同志绝大多数都集中在二流三流四流的软件公司,这个时候更应该做好个人职业定位。以我个人的经验,新员工选择一家公司往往最看重工资待遇跟发展潜力,程序员是一种不可以混日子的职业,工作能力很重要,但不是最主要的,工作态度是最重要的,工作态度往往跟个人的思想认识还有职业所在的环境有关,我个人的体会是绝不能太过于情绪化,情绪化无论是对工作还是对个人的发展都是不利的,就是说哪怕是明天你要辞职,你今天都要把今天要做的事情认真用心做好。
对于工作责任心不够的员工是尤其值得关注的,他们往往自我意识过于强烈,追求以自我为中心,很多时候伴随着工作得不到认可、工作感觉不充实不开心,我会主动找他谈话,我认识:你管理的是一个实实在在的人,他不是一台任你摆布的机器,人会有情绪往往是有心结,找到原因,多加开导,用心去关心每个成员。对于实在不适合在本团队发展的员工要做好最坏打算。程序员这个职业与现在的大学生具有一致的特征,一个是从天之骄子沦为多余人,一个是从高智商人士成为今天中国通行的”IT民工“。另一方面是程序员往往年龄集中在20-25之间的男性中,情绪化、失落感、心理不成熟等一系列问题都会出现。但这个阶段的人往往也最易沟通,可塑性也较强,适当的引导、合理的方式会比野蛮的管理效果强上百倍。