原创文章,转载请指明出处: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的人"这一主题,旨在帮助Java开发者深入理解并熟练应用设计模式,以实现更高效、更具扩展性的软件解决方案。设计模式是经过长期实践验证的解决常见问题的模板,它们代表了软件设计中的...
一个简单的Servlet--产生存文本、classpath详解(谨献给那些找不到北的朋友)、J2EE配置指南、Java Socket编程、JDBCTM 指南、WebSphere快速入门等等,希望有你所需要的!
Java3D是Java平台上用于创建和显示三维图形的API,它是Java高级图形处理的重要组成部分。这个"java3D代码及课设包"是海南大学针对Java3D技术的一个实验项目,包含了相关的源代码、复习资料和指导文档,旨在帮助学生...
在IT行业中,我们经常面临长时间坐在电脑前工作的挑战,这对我们的身体健康构成了潜在威胁。"献给计算机工作者养生动作"这个资源正为此提供了有益的指导。它包含两份关于瑜伽动作要领的文档——《瑜伽动作要领.doc》...
综上所述,教练技术心理疏导是一个持续的过程,它鼓励学员将所学应用于日常生活和工作中,通过不断的实践、反思和交流,以实现个人的成长和提升。无论是心态的调整,还是技能的习得,教练技术的目标都是帮助学员成为...
交易之道、法、术,献给仍在挣扎中的期货兄弟们.doc
献给对条码感兴趣的朋友,生成PDF417的JAVA包,含有反编译源码
在描述中,作者分享了自己的经历,从一个大学时期对专业课程漫不经心的学生,到毕业后从事软件编程工作,意识到基础知识的重要性。作者经历了从对编程的无知到逐渐深入理解的过程,并见证了软件开发中的一些问题,如...
怎样学习C语言(献给迷茫的C爱好者)
在当代,音乐二度创作还涉及到多媒体技术的应用,如音乐与视觉艺术的结合,将《献给爱丽丝》的演奏与舞蹈、灯光、视频等元素融合,形成视听盛宴。此外,互动音乐作品也让听众能够参与到音乐的创作中,通过按键选择...
rose献给艾米丽的玫瑰花PPT课件.pptx
OIM是采用 Java平台开发的一套即时通讯聊天系统,献给对即时通讯有兴趣的朋友。服务端实现了TCP Socket和WebSocket。方便接入网页版、安卓、IOS、PC桌面版客户端。OIM已经实现桌面版客户端,可以跨平台Windows、mac...
这篇文章是关于个人成长和职业发展的思考,主要针对的是刚步入社会的年轻人。文章引用了“打工皇帝”唐骏的...这些观点对于处于职业生涯初期的人来说具有深刻的启示作用,帮助他们在人生的道路上找到正确的前进方向。
作者通过分享自己的两年工作经验,总结了 SEOer 的职业发展道路,并提供了一些建议和面试技巧。 birinci部分:草根站长两年的工作内容和职业变化 作者从学校毕业后,经过朋友的介绍,进入了一家公司,担任 SEO ...
OIM是采用 Java平台开发的一套即时通讯聊天系统,献给对即时通讯有兴趣的朋友。服务端实现了TCP Socket和WebSo