开篇先读读下面这段文字,实在是金玉良言
我一直觉得我个人不是一个特别挑剔的人,但是也希望能够找到一些技术非常牛的人。很多有经验(工作几年)的同学会说自己非常不错,希望给一个机会。其实我对所有人一视同仁,基本上要求都很低。
经验多的希望有一些深度或者广度的积累。比如说某些领域非常专注/专业,或者说在整体上有非常全面的认识和了解。工作时间长了就需要有一定的积累,不然怎么能够突出自己的特点呢?做互联网的就需要对性能、并发、分布式等专业领域有一些了解或者研究,哪怕有一些心得也不错。做企业开发的就需要对行业、稳定性、工具、理论等有些独有的理解,哪怕很初级、幼稚也行。具体点怎么说,比如你每天都是用struts/spring/hibernate/ibatis等等,那么对这些原理是否了解?背后的思想是否了解?业界的认识和评测、比较是否了解?而不是仅仅知道怎么调用API,这远远不够。如果能够研究下源码,写一个类似的系统就更好了。说白了就是能够透过工具/技术本身发现一些规律或者说认识,剩下来的就是积累,也就是我们通常说的经验。还有一个方面就是对行业趋势的了解。技术不能够仅仅关注于技术本身,还需要对业绩的动态、趋势有些关注,这样才能不至于技术不断的更新而落后。这并不是说总是去追求新技术、新软件、新工具等,而是关注行业本身的发展。另外还有一个很重要的经验积累,那就是解决问题的能力。很多同学同时觉得自己做了很多事情,但是让他说一两点比较突出的事情,就说不出来了,总是归结于事情本身比较简单,没有更多的发现和挖掘。其实有时候面试的人只需要了解当初解决问题的过程就行,从中发现个人在里面做了什么、怎么做、收获了什么。这就是经验的积累。企业归根结底是需要员工作做贡献的,因此需要有经验的人来帮助解决问题,那么曾经解决问题的能力和思路就很重要了。
对于没有多少经验的同学,比如刚毕业或者实习生等,那么就需要基础很好,然后有一些个人的认识。这些经验少的同学一般面试者都不会为难他们,只需要把知道的、认识到的告诉面试者就行了,从而让面试者能够看到发展的潜力。很多人还是喜欢培养那些有发展潜力的同学,这些同学的进步都是非常迅速的。
我个人总结其实只有一点,那就是要有“亮点”。说白了就是有自己独特的认识和理解等才能在众多差不多的同学中脱颖而出。既然不能做全才,那么就做“专才”。
简单总结一下:善于总结挖掘、有自己的见解,积累经验,提高能力
10月份总结:(9月份的没写,也一起补上了吧- -)
9月初我进入一家新公司,做软件开发的工作。公司是英文工作环境的,各种开发文档,工具都是英文的(这个对我这个四级单词从没背完的人鸭梨巨大啊,最近也在努力学习英语,每天公交车上背单词)。
大概9月中旬的时候,我被分配到一个java项目中,TL在上海,杭州3个开发,测试在大连,项目组总共7~8人。项目的开发设计文档的确写的规范,很多的架构图、用例图、时序图等,写的很详细很清楚。TL是比较厉害的。
项目框架:struts2、spring、mybatis、webservice(cxf)
前台:jsp、freemarker、jquery
测试:单元测试(service层)
版本控制:svn、Trac
我在项目中的任务: productModule、productLine两个模块
现在这两个模块基本开发完成,下个月还得补下detail design、fix defects
下面是一些心得或者体会吧。
1、spring和mabatis的整合真的非常棒,大大的减少了程序员的工作量,他的优点主要体现在:1、你只需配置mapper.xml文件,不需要自己写DAO类,因为mybatis有个jar包整合到spring中,他会在spring启动时将mapper定义的信息注册到spring容器中,只需直接调用接口方法就可以了 2、mybatis是一个半自动话的orm组件,它需要开发者自己写sql语句,(这样比较透明),它把sql语句作为对象和数据库之间的一个入口。
2、jquery真心强大,项目前台页面js都是用jquery的插件,比如:jquery validation(还算不错吧)、jquery valiation engine(这个效果比较好,源码写的清晰),jbox、zTree(jquery树,很好很强大),jquery-sorter(表单排序),js问题挺多的,特别是插件有时候满足不了你的需求的时候,你就需要去看他的源代码,稍微做下改动,看他们的源码,获益匪浅,看到了很多以前不知道的东西,也翻阅了两本书啊(javascript_core,锋利的jquery,书挺不错的),理解下js function的调用、js 闭包、jquery插件机制和一些常用的方法
3、stuts2和ajax验证,用json来传递数据,json是个好东西哈,能把对象扁平化为一串字符串,String和json转化很方便的,gson.jar 或者 struts2的json包