java开发三年,总结一些经历与经验。

来源:互联网 发布:网络问诊平台 编辑:程序博客网 时间:2024/06/01 14:44

        不知不觉,毕业三年。

        很多人都说开发三年是程序员第一个门槛,学到了基本的开发技术,熟悉了一些常用的软件。接下来怎么选择,方向很多,是专心做技术,还是做管理,或者是测试、运维、前端,更或者说换一行,回家卖卖红薯。


        首先

        要总结下这三年的经历与学到的东西。

        14年毕业,进入公司后至今未换过工作,大概也算是很少见的了,公司是外包,工资低学不到技术,和我一批入职的100号人基本一个不剩了。我算是运气比较好的吧,被卖到北京,有出差补助,基本是活的了了。刚刚到北京的时候,真是啥都不会的感觉。大学混了四年,学习不好不坏,大概大部分人都一样,实际做程序和基本知识还是有一定的差距。


        第一个项目,做的是涉密的项目,做开发没有互联网,不知道多少人顶不住。自己不会,上网查又太麻烦,那就只能抄了,毕竟刚刚毕业都是些基础的增删改查,上传下载的技术,有例子就能学习,进过悲惨的两个月加班,终于是慢慢稳定了基本的开发工作。项目是接手的,不大不小,开发的时候有5、6个人,后期剩下我和经理还有个小伙伴。印象中,框架应该是SpringMVC+MyBatis,服务器是tomcat6,国家支持国产化的项目,用的是浪潮的服务器,麒麟的系统,达梦的数据库,用的过程中还是有好多的问题,国产还是得提高。刚刚上手的时候,我是第一个人,没人教,悲剧到找不到sql在哪写,真是黑暗啊。然后悲催的做了下数据的上传下载,完全没做过啊。像这样的问题,现在一百度就好了,但刚刚毕业没人带,自己在涉密环境傻兮兮的看,真是暗无天日,当时都准备回家种红薯了。但问题总会解决,经过努力还是熟悉了框架的使用。军队的项目一个表100多个字段,新增做的时候很是蛋疼。然后做过数据传输,和大连东软的做了下集成,新启动一个传输服务器,上下级的IP、mac、名称等属性,转换成一个文本文件,做数据流发送。这样又涉及到发送时以1M的包为大小,包前加头,包后加尾,收到后再处理合包。然后又涉及到了文件的校验,MD5的方法百度。那么接下来呢,数据加密,分为文件的加密和传输的加密。文件加密则是文件上传下载的过程中,对文件像传输一样分包,然后做位移,下载的时候一样做反位移,这样在服务器上落地的文件是无法直接打开的,文件是加密文件。传输加密则是在网络链路上,数据流是加密处理过的,这样,即使有人截包,依然无法得到传输的内容。唉,我想象中的开发的活也就这了,然后。。。自己测试,自己去现场,自己安装环境,自己和客户对接讨论,自己回来修改bug,再去发布新版本,制作安装手册,制作用户手册。貌似整个项目的活基本都做过了。做了的东西不少,学到的东西不少,过了两年现在就只剩下印象了。

        总结:这个项目学到了很多的东西,熟悉了一整个项目的开发、测试的流程。对相关的很多软件有了熟练的操作,包括数据库、服务器、系统、相关网络的搭建。不足的地方是,大部分开发都是在copy别人的代码,知其然不知其所以然,离开了项目自己就基本不会写代码了。


        第二个项目,是政府的项目,用的应该是SSH的,很正常的管理系统,包括正常的OA以及一系列的系统。在基础开发的技术难题不多,大都增删改查。难度在与UKey的集成,统一认证的集成,门户网站的建立,以及一些相关的插件集成。时间有一年左右,包括各种子项目的开发,以及后期常驻现场,用户测试、需求变更、系统维护、bug修改等。

        总结:第二个项目的开发,比第一个好了很多,会自己去实现功能,查询方法,使用api。不足的地方在于,对于一些技术实现,常遇问题没有很条理的整理记录,有些问题会多次查训,没有记住也没有记录。而且,对于框架的使用,仅仅是使用,对整个框架结构的把握及理解不是很透彻。


        第三个项目,是深圳市政府的项目,项目比较大,目标是全市机关单位的无纸化办公系统。可能由于项目经理经验的问题,或者项目前期的一些问题,项目做的不是很顺利,越做东西越多,人员流动很大。功能是一方面,公文、政务、督查,业务逻辑比较复杂,并且各单位需求不同,用统一的流程有些复杂。协调是一方面,整个项目参与方已经超过了10家,作为主导的中软,和各家开发协调很有难度。最重要的,我觉得是项目开始没有一个很好的规划设计,需求的不明确,没有软件设计,项目做起来没有安全感。这个项目在我看来是很有前途的一个项目,但是项目周期太短了,同时进行的东西太多了,导致连续多个月的加班。同时,开发人员的不稳定,能力问题,导致整个项目开发进程不理想。再加上平台是第三方,很多东西都得修改,平台的支持毕竟还是有限制的。平台封装比较高,在可视化界面可以直接操作数据库,写js等,并且语句都存储在数据库中,导致没有办法实现很好的代码版本控制,使得很多问题反复出现。项目现在还在进行中,基本功能的东西已经实现,但接口的东西太多了,套红、签章、正文编辑、文件导入导出、移动办公(pad)、邮件系统、短信通知系统、二维码打印、CA认证、即时通信、数据迁移等等。需要多方支持,觉得进度缓慢,实现困难。

        总结:第三个项目还没做完,给我的最大感觉就是乱,因为人员问题,我是在最忙乱的时候加入的,做了一个月的需求、两个月的测试、一个月的数据迁移,从这就可以看出组织者无法让人员固定在一个岗位,这样很影响工作的效率。身为一个开发人员,该系统框架无法给我安全感,做出来的东西被人改动很多都无法发现,因为svn无法控制数据库的版本。我在这个项目寻找一个上升的方向,在项目组各个小组体验后,对今后的项目管理可能会有很大的提升。项目虽然肯定有无法预料的问题,但应该条理清晰,做好任务分解,人员调配。基本的项目规范,制度都应该在项目开始时定好,需求更是重中之重。项目虽然不能说失败,但从项目中很多的坑,可以学习到很多的经验,在以后的开发工作中,可以避免很多的问题。


        其次

        总结下当前个人遇到的问题。

        个人属于比较纠结的,应该算是有选择恐惧症。现在想的问题很是纠结,看不到未来的方向。


        1、这个行业是否能干下去,是不是应该回家。

        软件这行能做几年,可以一辈子干下去么,对于今后的发展是否合适,自己是不是应该回家,是不是应该去创业等等的问题,纠结着我。


        2、开发是否适合自己一直干下去,这行是否有上升的空间。

        虽然是开发出身,但是知道自己有几斤几两。正常的开发肯定是没有问题的,一些简单的技术问题还是能解决的,但是对于技术的深度,技术的学习,没有很强烈的兴趣,没有追求技术的心,那么意味着在干几年依然还是开发,没有什么前途。那么是不是就的寻找自己的方向,第一个肯定就是项目管理了,经过多年的开发,在开发中有很多的问题让我很不爽,需求的反复变更,项目初始没有规范导致后期难以维护,身为有强迫症的我,简直无法忍受。虽然自己也不一定能做到,但是总想挑战下。第二就是设计了,作为开发,做了两年其实基本没见过啥是设计,基本都是直接拿着需求就开发了,框架的结构是项目定好的,功能的设计基本都是自己搞的,作为科班出身,一直认为设计很重要,并且对于自己的思维有一定的信心。第三就是需求了,与人交流,不仅仅看的是表面的功能,关键看的是他们要实现什么。第四软件测试,经过快两个月,觉得不是很适合我,多次重复的工作对于我来说是坚持不下来的。那么就应该朝着多交流、多总结的方向去努力。


        3、跳槽的问题。

        来这做外包已经快三年了,在这待得比自己公司长的多,关系网基本全在这,公司的各种领导也多次让我跳槽入职,但我一直纠结与在不在北京待、要不要回家、辞职太麻烦的事情,以及北京公司有很多麻烦的事情,外协都可以不用参加,工资方面的差距也大都体现在五险一金上。工作快三年没有跳槽,在周围人中绝对是奇葩,同学大概不少都是我两倍工资了,我还是不知道应该怎么办。而且做了三年的政府、军队管理,跳槽互联网的工作觉得难度很大,继续又觉得没什么前途,纠结中。


        最后

        今后的我,要多总结日常工作中的问题、经验,努力找到自己的定位,多学习努力。虽然不知道乱七八糟写了一堆啥,但是感触还是比较多的,难得,以后要多回忆了。

1 0
原创粉丝点击