工作五年了一直在小的软件公司混,总感觉自己的专业知识没有太大的提升。当然了中间也换了一两家公司,面试的公司就很多家,总感觉正规的软件公司(无论大小)对于基础知识的考核都非常重视,而不管你说你之前服务过什么NB公司,做过什么样NB的项目,上来就先拿一份基础的题目来考核你看一下你的水平。一开始我是排斥的,总感觉考这些东西没有什么用,反正有的东西工作中不一定就用得到,只要自己能够做出东西来就可以了。问题来了怎么样子才算“做出东西”呢?这个问题总感觉很难从理论上来回答,就拿我这几年工作的事情来说吧,在这几年中主要是为模具制造行业做软件开发,也开发了一些东西比如各种报表、仓库采购系统、外协管理系统、成本管理系统、APS等等,有些功能客户用起来还可以,有的功能客户虽然用起来了但是总是出现各种BUG,当某些功能需要作出扩展的时候,总感觉有点力不从心,从某种角度上来说这几年我确实“做出东西”出来了,但是如果从软件质量的角度来衡量的话,我完成的质量其实是有待商榷的。
小公司人比较少,也没有所谓的测试部门,一切都得靠自己,甚至实施也是一个人完成,因此在人的精力有限的前提下在小公司想要开发好一个功能似乎有些难度。因此我这几年就一直在想在目前现有环境下(小公司),我到底希望成为一个什么样的人?是想要成为一个综合型人才(需求分析、软件开发、实施)还是在某一个知识领域做精呢?当然这个问题在不同的小公司情况选择是不一样的,比如我的上一家小公司就要求我必须是一个综合型人才,理由是人少事多,别问我老板为什么不招人之类的话,我只想回答因为我不是老板,理由就这么简单。在上一家公司我也的确把自己培养或者说不得不变成综合型的人,比如说目前我对小公司的软件产品迭代、实施,经过多年的积累(成功或者失败的经验总结)是有属于自己的一套方法论的,由于这篇文章目的不是说这方面,所以在这里就不展开讲,等有机会了会单独写一篇文章来分享一下我在小公司工作的经验。目前我服务的也是一家小公司,但是这个公司就稍微正规一些,最起码需求分析、实施这一块不需要我太操心,在这家公司我就想把软件开发这一块给做精做专,最起码对得起软件开发工程师这个名号。如何做精做专?我认为第一步就是先把基础给好好补补,于是就有了这个系列的文章了,关于JAVA教程的书很多,为什么要去读面试之类的书呢?首先我在这家公司截至到目前为止工作的还是比较开心的,老板比较开明,允许我在我比较擅长的模块发挥,因此目前是没有离职的打算,但是万一因为某种原因辞职了呢?从短期效应来说看这本书既可以补充基础知识,也可以更好的面对有可能出现的离职情况,于是便选择了这本书来拜读。
我会在读这本书的同时,会把我认为有疑问的知识点拿出来分享,一方面通过以博客文章复述知识点的方式让自己对某一个问题理解更深刻,另一方面通过博客分享的方式让更多的人看到,而且通过讨论也会促进我对某些问题的认知。以下就是这个系列的系列目录:
1、《JAVA 程序员面试宝典(第四版)》之JAVA程序设计基础概念
2、《JAVA 程序员面试宝典(第四版)》之传递与引用
3、《JAVA 程序员面试宝典(第四版)》之循环、条件、概率
4、《JAVA 程序员面试宝典(第四版)》之JAVA内存管理
5、《JAVA 程序员面试宝典(第四版)》之面向对象
6、《JAVA 程序员面试宝典(第四版)》之面向对象
7、《JAVA 程序员面试宝典(第四版)》之继承与接口