那年7月份到深圳,信心满满的觉得本身找工做会一路顺风,谁知这成了一部血泪史,带着一份servlet+jdbc作的毕业设计到深圳,简历上三三两两的写了“项目经验”:图书管理系统、养老院管理系统,当时还彻底不会SSH(struts2+spring+hibernate),而后自信满满的到求职网上投简历,投递了两天,发现并无任何用……前端
这家公司(下面称为公司)也是运气进来的,当时是拿着本身的电脑,简历,一份毕业设计《养老院管理系统》,非SSH框架技术,面试个人是公司的前端大师,也得亏运气好吧,当时作的界面和公司的后台系统是差很少类型。大概10天后,可能出于培养和解决当前用人问题把我招进来。mysql
那年-07-28,正式进入公司,由一位同事给我介绍公司的总体业务,把整个主要流程讲了一遍,而后就算入职了。jquery
9月份,公司接了一个大项目,来了四我的,那气势真是足,提出的需求真的很是多,很是苛刻,公司也是给其能够实现。我参与了进来,当时的项目经理也是很是好,看我刚毕业,也不会SSH,交给我一个很是简单的模块,还记得是几个复选框添加到界面,而后让操做的时候这复选框要有做用。当我看了需求文档,真心不知道如何下手,然而项目经理觉得我可能一两天搞定,结果搞了一个星期。公司框架导下来各类报错,不会框架方面调试!但也只能硬着头皮上,虽然那些基本的编程能力仍是有的,毕竟也是独立的写完毕业设计,可是SSH开发真的不会,到后来几乎都是旁边的大神帮忙搞定的,真的汗颜。不过也经过他帮忙,对整个流程稍微了解了,总算是交了差。通过几天的时间,也算是熟悉了。后来获取了项目经理的一点信任,交给一个完整模块,能够从页面到后台交互都能完整的操做一遍,欣然接受了,花了个把小时把这个功能的需求写出来,交给项目经理,审核经过,而后交给我去作。九月份还有半个月我就在这上面耗着了,后来也是大致将这个功能完成了,也算松了一口气。程序员
九月底安排去武汉出差,到武汉来帮忙打杂,作一些项目的修修补补工做。固然,我的也乐意这样的安排,反正都是学技术,还有补贴。首先把环境搭建好,而后将项目跑通,这里说一下,公司的项目,从svn上导下来以后,还须要不少步骤的修改,才能跑通,真的很头疼(如今这家公司,导下来直接跑通,方便不少),就开始了正式的SSH学习之旅。面试
在武汉这边,任务是作报表,写周报,将所用技术总结成文,写的每个步骤都很是详细,也包括所使用的工具的使用等,由于公司周报要求不是很规范,只要有内容就行,可是我敢确定,个人周报是当时开发人员里面写的最好最多最彻底的。由于周报,能把所用技术不断的巩固,知识点不断的复习,把SSH框架的总体流程彻底掌握,而且在CSDN发表了本身的简单的技术文章,本身也算是在技术路上启程了!spring
在武汉的这段时间,由于是作很简单的报表,趁着写周报的时间,把接触到的全部用到的技术:struts二、spring、hibernate、oracle、润乾报表、Dreamweaver、 Secure Shell client、mysql、tomcat等操做流程,接触到的业务需求,所有整理成周报,而后提交给公司专门收周报的工做人员,而正是这段时间,技术积累飞速提高。正是从这周报总结上得到了巨大的收益,但愿都能有总结的好习惯!不断总结,技术才能变成本身的!sql
从武汉出差回来以后,在那年度年终大会上,表明着公司新人上台发言了。还抽奖中了公司一等奖(后来我据说是公司技术老总看我工资偏低,而后在抽奖环节作了“手脚”,感动ing)数据库
后来进入新项目开发,其实就是二次开发,只是把数据库,系统后台的结构所有进行改变。无论如何,这也算是一次机遇,不管项目大小,让本身知道要作什么,要去学习什么,要去得到什么,因此就很是激动的进入项目组,开始本身的零项目经验的开发!编程
最初,项目经理安排了一个订单修改的功能模块。公司订单这块真的很是的复杂,我敢说,不少的公司可能都没有这家公司的业务复杂。修改一个订单,很是的头疼,这才发现原来业务这块真的不擅长,很是缺少经验。不知道要作什么,并且说得一些“概念化”的东西,听得只知其一;不知其二,听完以后,就默默的点头,而后就去总结从项目经理那里讨论来的业务需求,而后一步一步的开始开发了。tomcat
当时,咱们寻常思惟的订单,无非就是根据产品的一种销售状态或者销售记录来获取数据库中的订单状态,这个订单的修改呢,其状态用四个表示数量的数据库字段来计算得出,而后又有各类组合产品、单独产品、组合产品+单独产品的信息修改,操做,真心很是之复杂,这过程就再也不阐述。总之,经过这个功能学习到了:
▌ 一、经过业务融入到技术开发中,排开业务来开发的功能、项目,都是不现实的。初期不懂的业务、功能点必定要向同事、项目经理求助,而后理清本身的思路再进行开发,这样才能事倍功半!
▌ 二、技术层次,由于是个独立的新模块,这个功能涉及到了前端、后台的总体操做,不只将后台的总体流程,从配置到开发独立完成,再到前端界面操做各类js(虽然很浅,可是很是的实用),jquery操做,而后将所用技术所有进行总结,这些再度成为我我的实际增加的技术点和能力,所以再次感谢本身的总结习惯!
▌ 三、开发过程当中不要怕犯错。若是不犯错说明进步不大,亦或是在作重复的工做。只有犯错了,而后解决错误了,这样才能成长,技术才能获得提高。经过总结全部的东西都是本身的!
这个是项目中独立的一个开发模块,可是由于其业务的复杂,以及在前段后台的界面,逻辑操做,让本身获得了很大的提高(一个功能作了两个月),还好当初没有由于以为难而放弃。
参与项目以后,由于项目组就四个实际开发的(后续走了一个,还有一个成了接受需求、测试等工做的同事),基本上开发由本身和另一个同事在作,这个期间,仍是不太理解完整的业务逻辑,虽然已经作过简化了,可是从本身作完订单修改功能后,才开始慢慢的了解,这期间也了解到了至少有9部分(线上、线下)的关联来实现主要的业务逻辑,所以本身的后续项目也围绕着这5部分来进行业务、需求讨论,并根据这些业务/需求来进行开发。
当时负责了9部分中其中的4,5个模块,而后参与了其余的模块的需求分析,由于都是关联在一块儿的,所以或多或少都在其余模块去开发过。
首先去完成的是线下功能,得去了解业务逻辑,得知道这是干吗用的(再次强调熟悉业务),由于里面的逻辑太复杂了,在项目经理的谆谆教诲,抱着只知其一;不知其二的心态,而后去作了,由于是二次开发,可是逻辑也有相应的变更,所以在之前的几千行代码上进行修改,当时哪里看过这么长的代码,而后里面各类调用其余类中方法,简直是受罪。可是呢,随着时间流逝,本身也从最初的彻底看不进,到后来整个的那一块的模块读懂,而且修改了大部分的业务逻辑,如今想一想也是挺有成就感的,这块的逻辑听说是公司的大佬级程序员几个负责不断修复完成的,而后咱们就这样绝不留情的改动了。
改完以后,确定要先单元测试,整了几个所谓“程序员能经过的测试用例”,而后去测试,很成功,没有问题(这种状况下不少状况是坑)!程序员的测试用例,简直到后来把本身坑的很惨。
把写好的功能交给测试部,而后测试部以用户角度去测试的啊,而后各类组合进行测试,提出一堆bug,搞的头都大的不行,这绝对是个血的经验教训。
通过了两三个月的开发,总算也是项目进入尾声了,也终于把本身作的这个项目的总体流程,从需求--pm参与需求讨论、制定开发任务--开发者获得任务--开发--编码--单元测试--测试部测试,整个流程参与了下来,本身也是很是的受益不浅,开发经验飞同样的上升(记住,我以前就说了我是一个爱总结的人,所以个人收获很是大)。
几个方面,这里就很少说了,反正一句话,完整的参与了一个项目,而且全身心投入进来,那么你的收获将会是很是大的。
以上基本上为本身在公司所经历的了,做为一年工做经验开发人员,最后再总结一下:
一、业务为主,理解业务,就能让本身思惟清晰
二、初期不要嫌累和麻烦,作的越多,收获越多
三、不断总结,作的多不总结只能获得最经常使用的收获,可是作得多总结了,将全盘收获!
这里是程序员秘密汇集地,各位还在架构师的道路上挣扎的小伙伴们速来。“