在这一年中,作为开发人员,我参与了人事系统、AES知识与经验分享系统、EPM广工实验实训管理系统和山大OA系统的开发工作。
工作期间,与项目团队成员一起积极参与到系统项目的开发工作中,尽最大的努力完成自己的工作任务,并能与团队成员保持良好的团队合作精神。同时也认识到自己存在许多不足,包括技术能力和业务分析能力上都需要提升。以下总结围绕不同项目展开:
一、AES项目:
4月份,进入明空带的AES经验与分享系统开发。
这一项目中,我开始独立地负责模块的开发工作;自己独立开发的过程是一个很重要的过程,如果说以前是像小孩学走路是别人扶着我走的话,现在就是放开大人的手,自己独立走了。虽然在这过程中会犯错会跌倒,但摔几次是需要的,摔的痛了,印象也就更深了。这其中包括对基本的增、删、查、改的代码反复编写,各种Bug的处理,业务的分析能力……这一项目中比较完整的走完了一个项目的开发工作。
我们按照分配的任务模块,自己画流程图帮助分析业务,然后从分析的结果得到要写入数据库的字段,再到原型的开发,后台的实现,到后来的不断调整原型,细节和Bug的处理,文档的编写,到参与到最后的会议评审。
这段时间,感觉自己的成长很快,跟着大师明空和团队成员学习到很多的东西,从自己开始独立分析业务,和大家讨论业务需要、分享解决问题的方法,甚至是激烈地辩论,在这过程中真理越辩越明朗,同时我也越来越感觉Teamwork的重要性。学习到的东西除了开发的技术,更重要的是学习到思想。当然,还有做人做事的态度。需要谦虚听取别人的意见,也要充分参与到项目的业务讨论中去。集体的智慧是伟大的,这我在各个项目开发中都深有体会。
同时我认识到自己仍是菜鸟一只,基础不够牢固,项目开发的代码编写速度赶不上进度,虽然能自己加班完成,但没有很多时间去加强学习其它的知识了,所以进步的不够快。遇到问题自己不能解决,就要马上立刻去,而不是拖着,问题会越拖越多,到后面可能影响的结果也越糟。我之前就有这个毛病,遇到技术问题或者一些Bug喜欢慢慢琢磨,其实很多东西是经验上的东西,在学校也许可以这样做,但在公司有deadline,有时候多请教下别人,再自己多思考下,成长的会更快,这也许就是所谓的站在巨人的肩膀上吧。
二、EPM项目:
在处理完学校的毕业事宜后,6月16号回公司参与进EPM实验实训管理系统――设备管理中的设备调拔模块的开发工作。虽然只有短短一个星期,但是和不同人合作,也就能学习到不同的东西,公司确实有很多大牛,至少在我这个菜鸟眼里是。
这算是我接触的第三个项目开发了,所以能较好的独立完成。
三、山大OA(OA与人事专题):
7月份到9月初,基本上在做山东大学的OA系统,仍然沿用福哥以前的开发平台,但必须学习新的UI框架,因为在学校做毕业设计的时候也学习过类似的ext框架,所以适应性还比较好。
项目开发中学习到的:因为业务的需要应用新的流程管理,开始接触学习BPM流程,进行了半天的联科流程开发平台培训。认识代码规范的重要性,不良好的项目团队开发规范会造成灾难。
虽然开发任务紧,要赶时间点,必须时常加班,能与团队成员一起克服困难,较好的完成开发任务,不同组之间合同也让我们可以相互取长补短。在小组会议中能积极参与业务讨论中,并能很主动地与产品经理讨论业务。
自己还需要在以下几个方面加强:敢于尝试研究新的技术难点:比如复杂的UI组件的研究。善于发现问题并至少提出解决问题的思路让大家有讨论点。
四、人事系统:
这一年,开发时间最多的还是在人事系统上,最开始与豪哥的考勤管理模块到比较独立开发的消息管理模块;天龙带着分析业务,积极大胆想实现方法,从流程实现到数据库所需要的字段,再到数据接口的实现。天龙把业务分析的主动权交到我手里,帮助我不断地调整纠正方向,适当填补我分析到的一些不足之处。这让我学习到怎样分析功能的实现并做到全面而没有遗漏。以下是人事系统中几个阶段:
1、尝试了对系统整体UI的把握,让我认识到公司产品有时候,不只是功能强大就完了,现在更多的时候,还要求好用;东西给人第一印象很重要,好的用户体验也决定一个产品的失败与否;从小到一个按钮、窗口统一的长宽比例、数据区的展现、样式统一性等都影响着产品的好坏。
2、项目场地问题、认识:项目过程中有处理不同项目地需求,发现很多都对完善产品有帮助;了解到开发与项目地的客户和实施人员保持友好的联系,能让我们及时发现问题解决问题;
3、组件扩展:冻结列等扩展的研究,也算是借着这个挑战让自己狠补下JS方面的东东;JS方面的知识了解和编程能力有很大的提高,较之前自己JS上的几乎空白;这其中学会处理该死的兼容性问题,扩展代码让我站在更高的一层看待代码,让我看到系统中有很多东西需要去扩展,避免重复代码,从而能加快开发速度。像一些测试提到n多次的空值验证问题,写个扩展就不用每个模块每一处都写验证,减少了很多麻烦。
4、与bug的战斗:看到JIRA上自己竟然这段期间改了很多很多的bug,最开始的我会完全陷入到改bug中,只是因为出现了bug而改bug;后来会开始真正关注业务上的东东,对不同模块业务到流程有了更多的了解,把整个系统串起来,而不只是一个个彼此支离破碎的模块;还会想从业务的角度想为什么这样不对,从而对产品直到完善的作用;再会想还有什么待改进的地方。
5、消息中心模块开发:升级、测试中发现许多的问题,从最关键实现的基础;因为是自己从头到尾参与开发的,会特别在意;基础不牢,地动山摇;也会与OA组的做的消息对比,向他们中的张占岗等取经,讨论需求和实现,取长补短;现在经验上比之前好很多,所以会看的远一点,会想到消息会和IM、手机的绑定,会想到还有很多业务可以关联到此模块,所以必须想的多一些,为未来的扩展接口把好关,而不是只是简单的把仅有的问题解决掉就OK。
6、团队中讨论发现的问题:包括由我们改不同版本中反复出现的重复bug,想到版本控制中的(代码同步、反同步)问题;有时困在不同项目场地提出的问题及时响应处理而让产品的升级开发不断延后;项目地问题响应与产品开发进度的矛盾,产品与个性化需求等。这些不是代码技术层次的问题,上升到产品经理的思维。这些都让我从不同角度看待我们的人事系统;
在越多地接触系统中的其它模块,越觉得人事系统中的代码像宝库一样,其中很多的模块里面有许多的东西可以去学习,看别人怎么写代码的,学习别人的编程思想。嗯,发现,确定自己在经验和想法上都成长了;嗯,这一年收获颇丰,但需要学习的却更多。
发现的一些问题:
1、美工资源:在把握系统整体UI和完善系统样式过程中,一度陷入到很多细小的样式问题,虽然慢慢解决掉,但还是术业有专攻,感觉花费了太多时间,如果有美工在关键时候专项(目)专人的话,那会好很多;
2、团队资源共享:许多的问题,包括一些共用的代码,其实team中的成员已经解决过,但因为,有时其它成员又花费很多时间再解决;不过这个问题在慢慢使用JIRA中,得到改善,相比单纯的svn,我可以很及时看到别人解决bug的思路甚至是代码。