原创文章,转载请指明出处:http://aub.iteye.com/blog/2085094
如果您在【技术道路上】没有困惑、迷茫过,请忽略此文(对你来说,我写的可能太弱了。。)
工作三年左右的时候(无论所在公司大小),公司内部的开发框架已经使用熟练,各种开源框架、开源工具也用了不少,很多技术上的问题不做不了解,做的时候一查就知道(感谢百度,谷歌,和愿意分享的大牛们)。刚毕业入职时,那些前辈差不多手把手的教你写代码、细心的帮你走查代码的事情,在此时已经不复存在了,也许这是你已经成为新人眼中的前辈了,但是自己的技术停滞不前了,广而不精,没有方向了,于是困惑了、迷茫了。。。
三年前,作为菜鸟,脑袋中知识少的可怜,工作中,大量的问题都是新的,源源不断地塞进自己的脑袋,很容易感觉自己在提升。
三年后,自己由菜鸟变成一个可以独挡一面的码农,工作中绝大部分东西都是自己做过的,可能是真的没有提升了,或者提成的很慢,慢到自己无法察觉。在这个竞争激烈的时代,自己开始没有了安全感,看着周围人的不断进步,于是更加困惑、更加迷茫。。。
能有这种感觉,你应该庆幸,因为你是在思考的,思考自己的人生,自己未来,而不是昏昏沉沉的混。
那这个阶段该怎么做呢?
我与大家分享我的切身经历,因从事的行业、工作的具体内容的不同,不可能适合所有人,但是寓意的道理是一样的,希望起到一丝共鸣
因为想继续从事java开发的工作,提高自己的硬技能,于是我问了自己几个问题。
1.既然会了很多各种各样的工具,对这些工具,是否有自己的总结,自己的看法,自己的改进?
于是,我整理自己的开发包,同时开始写博客,记录自己对一些工具的使用,在网上与大家分享自己所学,总结自己遇到的坑。慢慢的发现,在写博客的时候,对工具的使用更加深入理解,对某些感兴趣的点,时而看看源码,对比不同的实现,能学到很对大牛的编程技巧,设计思想。
2.单个工具的使用都整理了,那么是否整合出自己的一套开发框架?
(如果公司的开发框架够好,那么是怎么实现的,源码就放在你眼前,自己看吧,会有不少收获,也许你还能提出改进意见)
记得当年刚入行时,从事JavaWeb开发, 公司使用struts2 + hibernate + mysql,公司对其作了一层封装,当时遇到一些复杂功能,用hql原语真的很痛苦(当年的我确实很弱),需要找前辈别人搞定。
随着技术的发展,我自己偷偷摸摸的整合了velocity + springmvc + spring3 + mybatis(也许现在的你会说,这些我都会,太基础了),
整合的过程中,对框架本身及多框架间的配合使用,有了深层次的理解,而不是停留在使用层面(相信,你懂得!)。
良好的框架整合还要包裹工程代码结构,于是引入了maven,优化打包方式(轻松区分本地、测试、生产环境),
同时引入了eclipse的jetty插件,方便本地开发测试(之前用的是tomcat,不够方便)。
后来又引入了代码检查工具:Findbugs 和CheckStyle(他们很容易集成到eclipse和hudson中),可以做到团队代码风格基本一致。
当我用PPT在团队的分享会议上展示给大家我“偷偷的”学习成果时,小伙伴们都惊呆了(可能是我们公司没那么多大牛)。
3.既然开发框架都搞了,是否能有套生成器,生成基本代码(增删改查)?
于是使用基础的jdbcapi读取数据库表信息,使用velocity 模板引擎,重构了一套,
当我再次用PPT演示给大家时,小伙伴们都惊翻了(之前除了CTO,没人会搞这个,其实一点都不难,就看你是否琢磨)。
4.框架玩的差不多了,它真的够好吗?
于是借鉴很多大牛的经验,将架构中模板引擎部分velocity 去掉,前端使用纯html css js,用js与服务端通信,返回json。部署时,静态的东西都挂在ngix下,动态的东西放在tomcat中。页面开发人员(会css,js)和服务端开人员各司其职,再一次提高了开发效率。
5.当访问量上来的了,发现页面动态数据访问还是有些慢?
于是在不做负载均均衡的情况下, 学了jvm的内存机制和gc调优,最大的优化单机能力。
其实这个时期想提升自己并不难,已经有了一定的技术基础,好多东西就在你身边,只要你留意,“路转溪头 忽见”。
很多人不是从事JavaWeb开发的,不是从事互联网开发的,那么不妨也问问自己一些自己工作领域的问题,找到自己拿手的一点作为切入点,循序渐进,迟早会“豁然开朗”。
在国内做开发,大多数都是为了多赚些生活费,很少是为了爱好而从事这个 "加班没数","调休有限"的工作。
既然不能爱一行干一行,那就干一行爱一行吧,不然身在曹营心在汉,肯定是没心情研究这些的。
我相信:提升自己不一定带来薪水的提高,但是不提升自己薪水一定不会提高(排除拼爹、拼干爹等关系户),在你厚积薄发之时,你会庆幸自己当年不断地积累。
相关推荐
献给JAVA爱好者JAVA设计模式教材 献给JAVA爱好者JAVA设计模式教材 献给JAVA爱好者JAVA设计模式教材 献给JAVA爱好者JAVA设计模式教材 献给JAVA爱好者JAVA设计模式教材
需要掌握java的灵魂必须学习模式设计。解说和例子相结合更容易掌握
java Applet做动画时总是出现动画闪烁,用双缓冲技术可以解决,献给跟我一样的初学者。
一个简单的Servlet--产生存文本、classpath详解(谨献给那些找不到北的朋友)、J2EE配置指南、Java Socket编程、JDBCTM 指南、WebSphere快速入门等等,希望有你所需要的!
java3D 的 API,献给想学java3D的朋友。虽然是英文版,但是学过计算机的同学对于这样的英文应该不会什么都不懂吧。想要的下。
该文档献给面向java的开发人员,其中主要包含了corejava、Oracle、JDBC、html、css、javascript,jsp、ajax再到SSH框架,覆盖了当前java开发所需的主流技术!
Java Web之高级应用_高级软件培训人才张孝祥主讲——献给中国SD2C软件技术大会
交易之道、法、术,献给仍在挣扎中的期货兄弟们.doc
怎样学习C语言(献给迷茫的C爱好者) 很多人对学习C语言感到无从下手,经常问我同一个问题:究竟怎样学习C语言?我是一个教师,已经开发了很多年的程序,和很多刚刚起步的人一样,学习的第一个计算机语言就是C语言。...
这是一个很简单的弹球游戏,献给刚好java的人。
献给java初学者 有相关的章节和讲义 ppt格式
Java面试和学习Java的好书籍,献给学习和工作的各位朋友
献给ARM初学者献给ARM初学者献给ARM初学者 献给ARM初学者献给ARM初学者献给ARM初学者
飞扬小鸟的三个版本的源代码(超详细备注)和图片资源,外附编程的思想,要个3分不贵吧,献给爱玩的java初学者,高手勿笑
OIM是采用 Java平台开发的一套即时通讯聊天系统,献给对即时通讯有兴趣的朋友。服务端实现了TCP Socket和WebSocket。方便接入网页版、安卓、IOS、PC桌面版客户端。OIM已经实现桌面版客户端,可以跨平台Windows、mac...
本资源是一些养生相关的动作,主要是考虑到大家长期伏案工作,身体消耗较大。希望大家平时工作之余可以练习保养身体。
献给对条码感兴趣的朋友,生成PDF417的JAVA包,含有反编译源码
此资源纯属本人键盘敲击拍打而来,献给乐于分享热爱Java编程的人
LTM工作原理,给需要的朋友!LTM工作原理,给需要的朋友!LTM工作原理,给需要的朋友!LTM工作原理,给需要的朋友!LTM工作原理,给需要的朋友!LTM工作原理,给需要的朋友!LTM工作原理,给需要的朋友!LTM工作原理...