当前位置: 首页 > 后端技术 > PHP

一个Java程序员的一年成长蜕变

时间:2023-03-29 17:13:55 PHP

当年7月去了深圳,满怀信心地以为求职会一帆风顺,没想到却成了一段血泪史,毕业了一个servlet+jdbc设计到深圳,我在简历上三三两两写下“项目经历”:图书馆管理系统,养老院管理系统。那时候完全不懂SSH(struts2+spring+hibernate),然后就自信满满的在求职网站投了简历投递了。用了两天,发现没用……这家公司(以下简称公司)也是侥幸进来的。当时拿着电脑,简历,毕业设计《养老院管理系统》,非SSH框架技术,面试了我。我是公司的前端高手,不得不说运气好。我当时做的界面和公司的后台系统差不多。大概10天后,我可能会被录用,进行培训,解决目前的就业问题。那一年——07-28,我正式进入公司。一个同事给我介绍了公司的整体业务,解释了整个主要流程,然后我才算是被录用了。九月份,公司接了个大项目,来了四个人。势头真的很大,提出的要求真的很多,要求很高,公司也给他们提供了可能。我参与了,当时的项目经理也很好。我刚毕业,我不会SSH。我给了我一个非常简单的模块。还记得在界面上加了几个复选框,然后操作的时候让这个起作用。复选框必须工作。看需求文档的时候真的不知道怎么下手,但是项目经理觉得我可能一两天就搞定,结果花了一周时间。公司的框架导致各种报错,没有办法调试框架!但我也只能硬着头皮上了。虽然那些基本的编程功底还是有的,毕竟毕业设计是自己独立写的,但是对于SSH的开发我是真的不会。后来几乎都是在旁边师傅的帮助下完成的,真的。羞愧。不过在他的帮助下,我对整个过程有了一些了解,终于找到了工作。过了几天,也算是熟悉了。后来得到了项目经理的一点信任,给了一个完整的模块,从页面到后台交互都可以完全操作。我欣然接受,并花了几个小时写出了这个功能的需求,交给了项目经理。批准了,然后交给我去做。9月份搞了半个月,然后基本完成了这个功能,松了一口气。九月底,我安排了去武汉出差,来武汉帮忙打零工,做一些工程维修工作。当然,我个人对这样的安排很满意。反正我是学技术的,还有补贴。先搭建环境,再把项目跑通。在这里告诉大家,公司的项目从svn导入后,还需要修改很多步骤才能跑通。真是头疼(现在这家公司,导入后直接运行方便多了),然后就开始了正式的SSH学习之旅。在武汉这边,任务是做报告,写周报,把用到的技术总结成一个文档。写的每一步都写的很详细,包括用到的工具的使用,因为公司的周报不是很规范,只要有内容就行,但我敢肯定,我的周报是当时开发者中最好、最全、最全的。因为有了周报,可以不断巩固所用的技术,不断复习知识点,全面掌握SSH框架的整体流程,在CSDN上发表自己的简单技术文章,也算是技术上的起步了路!在武汉的这段时间,因为在做一个很简单的报表,就趁着写周报的时间把接触到的技术都用上了:struts2、spring、hibernate、oracle、润千报表、Dreamweaver、SecureShellclient、Mysql、tomcat等运行流程,以及遇到的业务需求,都整理成周报,然后提交给公司专门做周报的人员。正是在这个时期,技术积累得到了飞速的提升。正是从这份周报的总结中,我收获了巨大的收获。希望大家能养成总结的好习惯!不断总结,技术可以成为你自己的!从武汉出差回来后,一年一度的年终大会上,他代表公司的新人上台发言。我还在一次抽奖中中了公司的一等奖(后来听说公司的技术老大看我工资低,然后在抽奖中做了“手脚”,被ing感动了)。数据库和系统后台的结构都改变了。不管怎样,这也是一个机会,不管项目大小,让自己知道自己要做什么,要学什么,要获得什么,所以很高兴能进入项目组,开始自己的开发零项目经验!最初,项目经理安排了订单修改的功能模块。公司的订单真的很复杂。我敢说很多公司可能没有这家公司的业务复杂。修改订单很头疼。这时我才明白,自己确实业务不精,经验不足。不知如何是好,说了一些“概念性”的话,听得有点明白了。听完默默点了点头,然后从项目经理那里总结出讨论的业务需求,然后开始一步一步的开发。.那时候,我们一般思维中的订单无非是根据商品的一个销售状态或者销售记录来获取数据库中的订单状态。这个订单的修改,它的状态是用代表数量的四个数据库字段来计算的,然后还有各种组合产品,单个产品,组合产品+单个产品的信息修改和操作,真的很复杂,而且这个过程就不细说了。总之,通过这个功能,让我了解到:▌1.将业务融入技术开发,脱离业务开发功能和项目是不现实的。对于一开始不懂的业务点和功能点,一定要请同事和项目经理帮忙,然后理清自己的思路再开发,这样才能事半功倍!▌2.技术层面,因为是一个独立的新模块,这个功能涉及到前后端的整体操作,不仅独立完成后端从配置到开发的全过程,还在前端界面上操作各种js(虽然很浅,但是很实用),jquery操作,然后总结一下所有用到的技术,这些又一次成为了我个人实际成长的技术点和能力,所以感谢再次为你的总结习惯!▌3.开发过程中不要害怕出错。如果你不犯错误,说明你没有太大的进步,或者你在做重复性的工作。只有犯错误然后解决它们,我们才能发展和改进我们的技术。通过总结所有的东西都是自己的!这是项目中的一个独立开发模块,但是由于其业务的复杂性,以及前后台的接口和逻辑操作,让我有了很大的提升(一个功能做了两个月),但幸运的是,并没有因为感到困难而放弃。参与项目后,因为项目组只有四个实际开发人员(一个后来离开,另一个成为接受需求、测试等的同事),基本上开发都是自己和另一个同事完成的。这期间,我还是不太明白完整的业务逻辑。虽然简化了,但是我是在做完订单修改功能后才开始理解的。这期间也了解到至少有9个部分(线上和线下)。实现主要的业务逻辑,所以我后续的项目也会围绕这5个部分来讨论业务和需求,并根据这些业务/需求进行开发。当时我负责9个部分中的4、5个模块,然后参与了其他模块的需求分析,因为都是相关的,所以或多或少都在其他模块开发过。首先要完成的是离线功能。你要明白业务逻辑,为什么要用(再次强调熟悉业务),因为里面的逻辑太复杂了。在项目经理的灌输下,抱着一知半解的心态,然后就做了,因为是二次开发,但是逻辑也随之发生了变化,所以在之前的几千行代码上修改了一下。我当时哪里看到这么长的代码,然后里面调用了其他类的各种方法,简直就是煎熬。但是随着时间的推移,一开始根本看不出来,后来才看懂了那一块的整个模块,修改了大部分的业务逻辑。现在想想,很有成就感。据说是公司资深程序员的逻辑负责不断的修复,然后我们毫不留情的改了。修改后,需要先进行单元测试,编译几个所谓的“程序员可以通过的测试用例”,然后测试,很成功,没有问题(这种情况下,很多案例都是坑)!程序员的测试用例,是后来自己的一个惨坑。把写好的功能传给测试部门,然后测试部门站在用户的角度去测试,然后测试各种组合,提一堆bug,搞个大头。这绝对是一次狗血的经历。经过两三个月的开发,项目终于告一段落了,最后说下我做的项目的整体流程,从需求-pm到参与需求讨论,到制定开发任务-开发人员拿到任务-开发--编码--单元测试--测试部测试,我全程参与,也受益匪浅。我的收获很大)。几个方面,这里就不多说了。总之一句话,如果你全身心投入到一个项目中,全身心投入,那么你的收获会非常大。以上就是我在公司经历的基本情况。作为一个有一年工作经验的开发者,最后总结一下:1.关注业务,了解业务,让自己思路清晰2.不要一开始就觉得累麻烦,去做吧做的越多,收获越多3、不断总结,做多了不做总结,只能得到最常用的收获,做多了总结,就会收获一切!这里是程序员的秘密聚集地,还在架构师道路上挣扎的小伙伴们快来吧。“