给公司炒了之后,很是迷惑

一个月前,过三关斩五将,进了广州一家过了CMM3的公司实习,进入为期两个星期的实习期,课题是通用权限管理,开发语言是java,框架不限,数据库Sybase。需求写得比较模糊,不到两页A4纸。
很快就把后台的代码写完了,由于比较推崇MVC和松耦合,当时写得比较多层,从页面到数据库访问大概流程是: Jsp->Servlet->Service->DAO->DAOImpl ,数据是用Bean封装,集合数据向上返回一个Iterator。Bean的对象和DAOImpl的对象分别由两个工厂类产生。
页面做的比较简单,数据有效性验证都在Servlet里完成,没有在Jsp页写Javascript。
数据库的设计需求已明确规定,在此不表。
和我一同去实习的两位实习生,他们的作品我也看过了。其中一位的做法是Jsp和JavaBean两层结构,JavaBean封装数据和进行数据库操作,页面是仿照该公司的一个正使用着的系统。另一位除了一个数据库连接类外全部都用Jsp页面实现,sql语句写在Jsp页面里,再对查询出来的ResultSet进行操作,页面是仿照Mysql的管理界面。
两个星期后,技术总监检查我的作品后很不满意,再过二天收就到辞退通知。他们两位留下了。当天,我找到了我的主管,希望他能给我一些建议。他建议我在技术上加强页面的设计能力(Html和Javascript),加强框架的实际应用能力。我问他对软件工程的看法,他说软件工程一直是我们努力的目标。
听了他的建议,确实说中了我的软肋,html我只能写简单的tr td等标签,平常都是用DreamWeaver我写的,javascript,我只会写alert confirm等函数,平常都是上网参考人家的代码改改就用。至于框架,也是停留在只了解思想,不能在实战使用的阶段。
辞退后两周里,闭关认真做了一个网上书城(具体可以看www.pengzhoushuo.com),各用了一、二、三层的架构,分别用了之前我们三个人当时的做法,两层架构确实比三层要快,可一层就有很多问题了,例如往页面返回可滚动的ResultSet后,不能关闭数据库连接,不然会导致ResultSet出错。
边做这个项目,边对自己进行检查,收获是html和javascript的比半个月前熟了些。可我却越来越迷惑了,我们学的是软件工程专业,我们的老师不停地对我们说要注重软件的可维护和可扩展性。我们合作做项目的时候都努力的按层次分工而不是按模块分工。可我在实习的时候同事告诉我,只要你愿意,你把项目全部写成
jsp文件都没有问题的,只要界面和功能做好了就行。表单提交时只需要在前端加javascript加上验证,就不需多此一举地在服务器端做验证了(这样人家把网页下到本地删掉javascrip再提交岂不是可以插入一些特殊的数据了么?)。项目分模块是有关联的模块一个人做,互相之间是独立的。
这就是中国软件的现状么?我一直努力地调整自己的看法,可我却起来越迷惑了。是我们学到的书本知识太超前了么?我关注的OO,设计模式、软件工程、架构都是骗人的么?为什么我们学到的知识要打折扣的使用。为什么我们学了多层结构后,还得在jsp页面上写sql语句?还是因为我把自己放错了位置,程序员就得像民工一样只能见砖瓦,不能看高楼?
原谅我吧,我还只是一个很迷惑的大四学生。

柳暗花明又一村
不必为此等夜鸡公司灰心
[该贴被ttt于2008-05-13 22:17修改过]

>只要你愿意,你把项目全部写成 jsp文件都没有问题的,只要界面和功能做好了就行。

这个公司不待也好,否则搞死你。

辞退你的主管设计意识都没有你高,他最多是一个产品经理,这样不正规的公司靠拼成本的待下去没有意思,没有失哪有得?

如果觉得被炒有失面子,很多程序员能够做到公司不敢炒他,所有编码只有他自己看得懂,非OO的,这样现象到处存在,比如将所有逻辑写道一个jsp,界面和功能都做好,最后公司就离不开这个程序员,最后可能还升官,这种不重视软件质量的思想就像幽灵一样伴随这个公司,直至这个公司在竞争中倒闭,当然因为中国不是一个完全市场经济,这样公司靠市场等各种关系还能生存。。。这些都是中国软件的悲哀。

朋友别灰心!我相信你!

朋友我也相信你,你比我刚出来的时候强多了,那时我JAVA都没听过HTML也不知道是什么东西(俺是学电子的)。最后也被我混进了一家公司,进去后别人上班8个小时我就上班8个小时加下班8个小时的学习。
看了你的书城至少你比大多数刚出来的应届生牛多了。你说的那个公司不去更好,工作一年后你会发现一个公司对你以后的发展有很大的影响的,在这里恭喜你没进那家垃圾公司。
下一个公司一定比你这个公司牛

>>>很多程序员能够做到公司不敢炒他,所有编码只有他自己看得懂,

哈哈,这个说得好好玩啊,看来我也要这样,写得尽量乱,以后谁也看不懂,让他们维护起来就头疼死。可惜我做的东西太简单了,再怎么乱,也是一看就看懂了,真看不懂,重新写一个也费不了多少时间~~


[该贴被hex9于2008-05-22 18:49修改过]

只能说这个主管没有注意到你的用心的地方
这种情况,我的建议是附一份文档阐述自己的设计思路和实现方法,除了特别感兴趣,不然一般主管是不会去研究别人的源码来分析结构和设计的
你说了自己HTML不是很好,那就要注意之前需求里是否有对界面的要求,就算你不用JS,CSS也是要掌握的,现在是个一专多能的时代

要是楼主采用三层结构也能被留下!
不过能留下在JSP里写SQL的人,也是在太……
不知到楼主要是采用纯AJAX方式的话,会有什么样的结果!

>>我关注的OO,设计模式、软件工程、架构都是骗人的么?
知识是不会骗人的,是人自己骗自己。。。

没能留下,只能说相互不适合而已,没什么的。。。

如 paradise7th 说的,主管没有用心,没有注意到你的用心的地方。

继续“修炼”总有用武之地。

朋友加油你做得已经很好了,请问源代码是否可以共享,flylampard@hotmail.com

太多的公司是这样了。
它们只需要快速完成需求。
并没有在意质量。更不管软件工程什么的了。
而且很多公司的产品,是靠某种关系弄到客户,财大气粗的客户。于是生存的很好。

如果想提升能力,就不要去这样的公司
如果想混日子,就慢慢的消耗自己有限的生命吧

如果是招人维护旧系统,你有再新的想法一时半会也用不上。

广州应该很多公司的啦,继续努力。找适合自己的工作。

我看过你的"别了java",再看到这,真是叹息。
感觉作为毕业没多久的,你是比较强的,只是你也太倒霉了点。
你可能没有放开胆量找个好的公司投简历。

如愿意,请发给我一份你的简历并注明联系方式。


lujun@lenovo-cw.com

呵呵,坚持真理,你回很成功的

使用jsp+javabean.....同行啊,以前我也就是这样做的, 功能简单上还行,复杂了真的很乱,有时候自己都弄糊涂,但别人说这样做速度快哦
我吐死
那么个小网站要那么快速度干啥啊