JavaEE入境后在做什么——公共入口疑问的答案
我们发现不管哪个班的同学都会问这样一个问题:“我们没有实际的工作经验。根本就不知道公司里是怎样工作的,我觉得自己全然不具备两年工作经验的水平。”每当听到这种问题我就十分揪心,然后重复地解答。
咱们毕业1,2年的同学一直都肯定地说传智刚刚毕业的同学技术上一定有两年工作经验的水平。而在他们刚刚毕业的时候也以前有过相同的疑虑。这是什么原因造成的呢在总结了众多同学的工作开发经验之后,发现问题不在技术上,其中一个重要的原因是工作环境中使用的开发环境。于是,我对同学们在工作其中的开发环境做了下汇总,今天就採取问答的形式以2012年6月22日班王X同学的经历来真真正正地告诉大家实际工作中究竟是什么样子的:
Q:请问你所在的公司是一个什么样的公司呢?
A:我所在的公司是一个外包公司,我甚至忘记了我外包公司的名字。
我们被外包到中国工商银行,进行开发的是中国银行数据中心。北京分公司数据測试的一个部门使用的软件系统。项目名称叫做:中国工商银行測试管理系统。
Q:进入公司里究竟是用什么技术呢?
A:大部分肯定还是在传智学习的技术,仅仅是我们公司是是用的IBM的一套框架实现的全部业务模块,框架名称是CPT
Q:能具体解说一下什么是CPT框架么
A:CPT框架集成了很多常见的功能。比方他在一般的excel基础之上完毕了报表的导入导出,实现了报表的一键化操作。这在传智学习的时候。是自己手动完毕代码实现,而在CPT框架其中是直接关联表单完毕的。
全然不用自己实实在在地写java代码。
Q:仍然不是非常明确操作方式。
A:事实上也是非常easy的。全部的操作都是可视化操作。就像dreamweaver一样。想要完毕对应的功能所要做的就是在页面拖进去对应的操作组件,之后完毕对应的操作要求。比方想要完毕一个上传功能,那么仅仅要拖进来上传的组件,双击之后弹出浏览数据库表的界面,之后选取要操作上传的表和制定相关路径。这就完毕了相关操作。
可能我说的有些抽象。可是真正操作起来要比在传智用代码实现上传功能要简单得多。
Q:除了这些特殊的操作,那公司其中的工作量都花费在了哪里,也就是说,工作时间都在做什么?
A:对于我们公司,因为公司使用了CPT这套框架。全部基本上全部的内容就是写JSP页面与存储过程。基本上天天都在写存储过程。SQL语句。函数和JSP页面。纯JAVA的代码写得很少,仅仅涉及到一些简单的servlet。
Q:那存储过程是怎么和JSP交互的呢?
A:这种工作内容好像非常奇怪,可是全都是因为CPT框架的实现原理。这套CPT框架实际上就是一个JSP与存储过程交互的一个中间件。
其内部的实现机制我们并看不到。
以jar包的形式体如今项目代码结构当中。
我们所能看到的内容就是JSP与存储过程相映射的配置XML文件。我们仅仅要在JSP其中写框架规定好的内容就能够了。
所有都是依照已经设定好的业务逻辑来的。比方公司其中的BPM并非传智讲课使用的JBPM,而是公司依照BPM规范自己使用的一套工作流。并且这个工作流其中也有非常多内容是基于存储过程的。也就是说有工作流其中也有很多内容是存储过程在调用java类。
Q:工作的内容单一么,会不会认为没有意思?
A:写代码当然是一个辛苦的事情。
只是也有很多有意思的事。比方8项目开工时80多人,共用一个美工,可是随着时间的推移,项目组的人越来越少。唯一的一个美工也走了。以至于如今的美工的事情都是我们自己来做。
我这里指的美工是调CSS样式的。切图的人还是在的。
Q:那工作其中工作内容会不会非常吃力:
A:还好,我学习属于中等偏上的,所以表示压力有可是没有传说的那么大。
并且工商银行的项目,周边的人都是清华北大北邮北航的所谓高材生。
可是除了项目经理剩下的人水平都非常一般。常常须要我们帮他们调代码。男同事还算靠谱。尤其一些女程序猿,开发起来真是全然没有产出,什么都不懂。開始还非常吃惊,可是到后来就认为无所谓了。公司以学历分人。没办法。
Q:那吃力的地方在哪里呢?
A:数据库表设计是一个吃力点。
很多东西都是清华北大的研究生本科生设计出来的,可是里边很多字段都是有问题的,缺少字段是家常便饭。
我们得依据实际开发情况完毕这方面的内容,复杂SQL语句。关联5,6张表的业务逻辑,多级数据字典,国际化字典,编号表是工作量非常大的一部分,700多张表也是比較壮观的,我觉得这也是把软件project师比喻成民工的主要原因之中的一个。实际上。我觉得,让我去设计应该都比他们设计的要科学。只是还是那句话。刚刚開始工作,学历压死人。
Q:那加班会非常多么?
A:是这样。分两个阶段。在项目未上线没有開始使用之前,加班还是比較寻常的。而如今投入使用之后。仅仅涉及到维护。和新功能的加入。加班就已经比較少了。基本上没有加班了。
所以说工作重点就放在维护上了。
由于这个代码经手的人比較多。所以会涉及到许多的兼容性问题。
往往在开发一个模块时,看不懂别人写的代码。并非由于技术原因,而是写代码那个人写的太过复杂了,没有层次。
所以在这种代码之上进行扩展基本上是不可能的事情。除非推到重来。
而且,我们做的这个项目已经是在别的项目基础上推到重来的了。
许多其他相关信息,请点击!
版权声明:本文博客原创文章,博客,未经同意,不得转载。
相关文章
- 当执行Git命令时,Git做了什么
- 什么是数据分析?数据分析的6个关键步骤!
- 测试最重要的是什么?我觉得这个每一个人都没有固定的答案,我觉得测试就像是做人,最重要的是心力,有心力,因为有心力就可以生出智慧来,可以解决很多问题,可能这个回答比较务虚,如果务实的回答就是逻辑,逻辑最重要,
- System.getProperty("line.separator") 是什么意思?
- 前端面试题及答案:bfc是什么及清楚浮动的原理
- 什么是 JavaScript 世界的 UMD
- 服务器负载均衡是什么意思?
- 〖Python零基础入门篇㉞〗- 五分钟快速带你了解什么是面向对象编程
- JVM 调优的常用命令和参数是什么?
- 04 _ 理论一:当谈论面向对象的时候,我们到底在谈论什么?
- 【分布式】什么是分布式,分布式和集群的区别又是什么?答案在正文。
- 宽表是什么意思?