解题发言。希望也对你有点用....一年前我是个在校学生,混啊混混出了个文凭。
学的是理工科,学了C++,数据库,数据结构,计算机网络等基础课程,由于是通信专业,还被迫学习了其它乱七八糟的东西。自己还选学了java,感觉还蛮有兴趣,知道java强调OOP,看上去很像C++,只是每个文件都是类。cet-6勉强过了。
由于在校期间一堕到底(细节略..),毕业了只能进一小公司。现在在公司有10个月了,真正开始搞编程有7个月。
去年10月刚刚进入“web应用程序项目组”(暂时这么称呼)时,我发现程序好像都是用java写的,正好有点符合我的兴趣。第一天,一个老员工给我一个工程,说:你先给这个项目加个小功能吧。我听得一愣一愣的,然后第一次用刚安装好的JB打开工程看,看不出任何头绪,只是发现里面目录是一大堆,文件更是一大堆,那时候看代码,头是相当的疼。老员工(其实就和我同年)看到我呆若木鸡,跑过来花了5分钟跟我稍微讲了下设计的流程(现在想想,就是控制流,代码如何跳转,然后让我据此添加功能),我一下子哪能接受的了。后来把这个流程死记硬背,边查jdk.chm边开baidu,“筚路蓝缕,以启山林”。一切都是从查增改删(大概和CRUD差不多)做起,有一次项目组众人全部出差,只有我一个人留守,恰好某项目有个需求,是对几个档案的查增改删(查询录入修改删除),我于是模仿现有功能来写,硬着头皮,总算把功能弄出来了(现在回头看我那时写的,是有一些bug的:))。那时候感觉真好,虽然现在看来这是web应用程序中最简单的。
小公司没有任何关于技术的培训,不管以前懂不懂,学没学过,一切都需要自己在工作中去掌握,因为人很少,没有人也没时间来做培训。所以我这段时间既是工作的过程,也是学习的过程。就比如说,公司突然有个我没有接触过的项目,有新需求,是struts+hibernate的(之前我接触的项目是什么构架我还不知道...),老员工让我在其中几个功能添加字段等等,必须在2,3天内完成;这算是我第一次接触struts和hibernate,我只能硬着头皮去看struts和hibernate,由于是简单的修改,不需要太深入的看懂,而且照着项目已有的实现,算是把东西做出来了。
任何东西开头都是有难度的,开始阶段必须去模仿,模仿说白了就是ctrl+c和ctrl+v,把什么类名,文件名,字段名等等修改成你需要的就差不多了。当然模仿时不能闭着眼睛,要看懂为什么,不懂的要去查。
由于是在一个小公司,做一个项目顶多2个人(人手不多,且项目也简单),甚至一个人,关于这个项目的一切都要自己去做,比如需求,设计文档,开发,最后的归档。在开发阶段,涉及到项目的一切技术也都要自己掌握(当然绝大部分技术前人已经实现),如jsp,js,jdk,数据库(orale,mysql),简单的网页设计和图象处理;前人写好的公共方法包,可以根据需要去调用,自己也可以根据需要去修改公共方法。技能都是在一点一滴中逐渐被掌握的。
搞编程7个月了,最近发现板Q前辈的这个论坛后,发现自己只是刚刚入门....(to be continued)