很多人都说在公司学不到东西,说说你们的看法

longfu2012 2012-08-07
LZ,加油!!
jarry8359 2012-08-07
Dead_knight 写道
本人80后,也来凑个热闹吧……
根据个人经验,学习受环境的影响不大,主要看你对技术是否有浓厚的兴趣。
以下是本人的学习路线,可以供大家参考
第一阶段:java基础,java ee基础、或者swing基础
第二阶段:ssh,ibatis、quartz等框架应用,以及webservice、网络编程,rcp
第三阶段:设计模式,能够理解主流框架源码以及设计思路、web安全领域(jaas、sso、ssl、rbac、oauth、acegi等)、缓存领域(oscache、jbosscache、ehcache以及缓存采用什么技术同步:jgroup、jms)
第四阶段:集群架构、分布式、osgi、eai等架构领域
第五阶段:soa、虚拟化、云

在2012年3月份,我招聘了好几个90后,他们刚接触项目(所用框架:struts1、jdk1.4、jdbc)就嘲笑:竟然还用这么落伍的技术?自己在这里就学习这些?然后夸夸其谈struts2、spring、hibernate……
实际上,很多企业内部的遗留核心系统都是如此。
强调一下,公司提供的仅仅是一个平台,如果大家认为这个平台里项目所用的框架重要,可能你会沉浸在框架里不能自拔。实际上,即使熟练使用框架的开发人员在我眼里,仅仅处于第二阶段。

你这几个阶段我都涉及到了,同为80后,可惜每个阶段都不深入。惭愧!
nanjingjiangbiao 2012-08-07
大学毕业生吃大便也觉得自己能学到东西。
但是如果你工作6年了和我一样,还他妈以为在公司能学到东西就错了。
在公司只能搞女人。
337240552 2012-08-07
Dead_knight 写道
lihong11 写道
Dead_knight 写道
本人80后,也来凑个热闹吧……
根据个人经验,学习受环境的影响不大,主要看你对技术是否有浓厚的兴趣。
以下是本人的学习路线,可以供大家参考
第一阶段:java基础,java ee基础、或者swing基础
第二阶段:ssh,ibatis、quartz等框架应用,以及webservice、网络编程,rcp
第三阶段:设计模式,能够理解主流框架源码以及设计思路、web安全领域(jaas、sso、ssl、rbac、oauth、acegi等)、缓存领域(oscache、jbosscache、ehcache以及缓存采用什么技术同步:jgroup、jms)
第四阶段:集群架构、分布式、osgi、eai等架构领域
第五阶段:soa、虚拟化、云

在2012年3月份,我招聘了好几个90后,他们刚接触项目(所用框架:struts1、jdk1.4、jdbc)就嘲笑:竟然还用这么落伍的技术?自己在这里就学习这些?然后夸夸其谈struts2、spring、hibernate……
实际上,很多企业内部的遗留核心系统都是如此。
强调一下,公司提供的仅仅是一个平台,如果大家认为这个平台里项目所用的框架重要,可能你会沉浸在框架里不能自拔。实际上,即使熟练使用框架的开发人员在我眼里,仅仅处于第二阶段。

谢谢你的分享,根据你的学习路线,我觉得我还处在第二阶段,正在往第三阶段发展,你列出的后面几个阶段感觉是比较高层的技术了,楼上应该是有多年工作经验的吧

工作五年了。

毕业刚一年的新人很有感触,以前在学校也很不重视基础,好高骛远;觉得能写出能运行的代码就以为掌握了java基础了,最近恶补下基础。基础不行搞其他的基本是空中楼阁,希望刚毕业或在校的多注重下基础,然后在循序渐渐。
liuwuhen 2012-08-08
工作半年就能达到第三阶段,希望正确的看待自己。
Dead_knight 2012-08-08
技术是与项目经验相辅相成的,技术再牛逼,没有项目经验也是枉然,因为没有实践的技术,就是不成熟的技术,因为无法知道技术的稳定性以及各种问题。

我总结的第三阶段实际上是个分水岭。很多人在第三阶段挣扎无法逾越,有很多人也能轻易走过第三阶段。

实际上,第三阶段仅仅是抛掉框架的束缚,而是掌握框架的设计思想、原理。只要掌握多了,任何一种新框架在你眼前,你都能游刃有余的阅读源码并扩展,然后在项目中实际使用。还有一点,就是各种技术架构能够根据个人经验用在合适的项目中。
举例如下:
1.sso,根据内网、外网以及特殊限制,然后选用sso的技术方案。
2.oauth,根据协议原理,可以自己开发oauth服务端以及做到QOS保证。
3.cache,能够根据项目的实际情况(单server、集群、分布式等)选用合适的缓存框架,并且能选择合适的同步策略。
如果没有很多的大型项目经验,你如何去实施以上3个例子?
这就是为什么系统架构师需要很多大型项目经验来支撑其含金量。
sldyablljzbtk 2012-08-08
Dead_knight 写道
技术是与项目经验相辅相成的,技术再牛逼,没有项目经验也是枉然,因为没有实践的技术,就是不成熟的技术,因为无法知道技术的稳定性以及各种问题。

我总结的第三阶段实际上是个分水岭。很多人在第三阶段挣扎无法逾越,有很多人也能轻易走过第三阶段。

实际上,第三阶段仅仅是抛掉框架的束缚,而是掌握框架的设计思想、原理。只要掌握多了,任何一种新框架在你眼前,你都能游刃有余的阅读源码并扩展,然后在项目中实际使用。还有一点,就是各种技术架构能够根据个人经验用在合适的项目中。
举例如下:
1.sso,根据内网、外网以及特殊限制,然后选用sso的技术方案。
2.oauth,根据协议原理,可以自己开发oauth服务端以及做到QOS保证。
3.cache,能够根据项目的实际情况(单server、集群、分布式等)选用合适的缓存框架,并且能选择合适的同步策略。
如果没有很多的大型项目经验,你如何去实施以上3个例子?
这就是为什么系统架构师需要很多大型项目经验来支撑其含金量。

感谢前辈的悉心指导~~
yunzhu 2012-08-09
真实项目当中确实应该优先使用现成的稳定的东西,但是如果从一开始就一直持这种思想,而不愿意去造重复的轮子,那么自己就永远没法了解原理,也永远没有质的提高
feitianmao 2012-08-16
风云无浪 写道
我觉得你们老大就是蛋疼,要不就是你们时间太多了。java的精髓就是复用优秀组件和架构,快速开发。除非追求极高的性能,不过这也不是一般的牛能干的事,能写出来优秀组件的也都不是二蛋。
另外,不要想着别人带你,自己一定要规划自己的学习,别人只是画龙点睛的作用。一开始我也是想着进公司了有个环境带带自己,一进公司才发现,光是我带别人,我改造环境了。。。


java的精髓在基础,在于其数据结构和算法。所有的框架都只不过是工具而已,你学的速度永远也跟不上人家开发的速度,你只会用框架的话,只能当一辈子的“打字员”。就像我昨天看的一篇文章说有个人做了1年的java开发,不知道数据结构是什么。话说回来软件开发靠的是ideas,有市场,只要能实现,用什么技术你都能赚大钱。个人观点,还是觉得java基础重要,http协议,tomcat源码等。
最近也在看树形的组织结构,还希望和楼主多多交流啊。
风云无浪 2012-08-19
feitianmao 写道
风云无浪 写道
我觉得你们老大就是蛋疼,要不就是你们时间太多了。java的精髓就是复用优秀组件和架构,快速开发。除非追求极高的性能,不过这也不是一般的牛能干的事,能写出来优秀组件的也都不是二蛋。
另外,不要想着别人带你,自己一定要规划自己的学习,别人只是画龙点睛的作用。一开始我也是想着进公司了有个环境带带自己,一进公司才发现,光是我带别人,我改造环境了。。。


java的精髓在基础,在于其数据结构和算法。所有的框架都只不过是工具而已,你学的速度永远也跟不上人家开发的速度,你只会用框架的话,只能当一辈子的“打字员”。就像我昨天看的一篇文章说有个人做了1年的java开发,不知道数据结构是什么。话说回来软件开发靠的是ideas,有市场,只要能实现,用什么技术你都能赚大钱。个人观点,还是觉得java基础重要,http协议,tomcat源码等。
最近也在看树形的组织结构,还希望和楼主多多交流啊。

你说的是c++的精髓。用框架如果只是为了用当然没前途,重要的是了解框架的设计思想和设计模式。比如没有比spring用的更好的工厂模式了,spring已经超越了设计模式。java就是要你战在巨人的肩膀上去成功,你只有了解了巨人,才有可能超越巨人。
我不知道研究树是为了啥,想设计什么数据结构,jdk里的collection里没有你的需要的数据结构还是性能满足不了呢?
算法不是任何编程语言的精髓,任何语言都可以使用任何算法。
好的代码结构和整体架构要重要的多,现在web开发,可复用性和可维护性很重要。
因为咱们中国人数学好,所以非常重视算法,往往忽略了架构的重要性。
Global site tag (gtag.js) - Google Analytics