分享下多年积累的对JAVA程序员成长之路的总结
java吧
全部回复
仅看楼主
level 11
ahyyxx222 楼主

我也搞了几年
JAVA
了,由于一向懒惰,没有成为大牛,只是一普通程序猿,不爱玩社交网站,不爱玩微博,唯独喜欢百度贴吧,潜水很久了,手痒来给新人分享下从新手成长为老鸟的已见,也刷刷存在感,应该不
比曝照差吧。
首先初识语法的阶段,必须要学会怎么操作对象,操作
if

for
,操作
list set map
,然后是线程、
IO

jdbc
什么的,其余的,若是一时不理解,可以后边需要时再学。
这阶段完了,你可以写些能在控制台打印出来的小程序,锻炼下逻辑思维。也就是号称
JAVASE
毕业了,其实不过是入门而已,如果要往
WEB
方向发展,这些倒是基本
足够
了。
接下来要学
HTML JSP SERVLET
数据库
JAVASCRIPT TOMCAT
,目标,写出第一个动态网站,也许只是个登陆功能,只能展示下个人资料,但这是很重要的一步,你要弄清楚的是,一个用户的点击产生的请求,是从哪里发起,哪里接收,哪里处理,哪里返回,你得理解浏览器和服务器的关系和分工,
cookie

session

request

response
。这个是个
WEB
开发的学习初级阶段,这都是些
JAVA
诞生以来最原始的最官方的
WEB
开发技术,当然现在真正的项目很少直接采用这些技术了,为了不断提高技术的易用性、开发效率和可维护性、可扩展性,无数开源项目都是在这些原始技术的基础上封装、改进。所以这个阶段不要盲目乐观地跑去找工作或者对实习挑三拣四,你会被打击到的。
好,初始阶段完成,开始进入
WEB
开发的正题,首先是传说中的三大框架,
struts hibernate spring
成为熟练的增删改查程序员是必须的,在这个阶段你还要理解为什么要用这仨而不是那些
JSP SERVLET JDBC
,你要体会到写
MVC
、三层架构的好处。这个阶段不要轻易质疑三大框架的价值,也许刚开始你会觉得麻烦,觉得他们有时候是多此一举,一两年后回过头来你会觉得少了这些框架你已经很难干活了。这个阶段还要避免的心态是能熟练地增删改查了,就认为写程序不过如此,然后往简历上填个精通,这也是新手面试被批得体无完肤的原因之一。如果你学得好,这会应该能熟练地写个博客啊,小论坛啊之类的
WEB
项目了,也就是达到了就业的基本要求。
2012年11月29日 15点11分 1
level 11
ahyyxx222 楼主

2、
你会发现数据库性能实在不行,出于不甘现状,或者赶时髦,你该去了解
nosql
了,
memcached redis mongodb
,眼花缭乱,没关系,试着用用,能很好地缓解
mysql
之类关系数据库的压力。
3、
出于公司某些业务需要,你可能会钻研一个特定技术领域,比如全文搜索技术,
lucene\solr
,比如工作流
j
bp
m
,比如权限系统,单点登陆之类的,又或者某些特定业务领域的算法研究,这些是你的加分项。
4、
你开始发现你的代码很乱,久了以后自己都看不懂,重复的,难以重用的代码堆积如山,不想维护,
BUG
百出。于是你要开始重视设计模式,合理地改造下自己的代码习惯,不再被僵化的
SSH

MVC
三层架构束缚住。
5、
Google
和各种资料是你进步的动力,极少再遇到必须请教别人才能解决的问题,如果你这个阶段还老是问别人,你的技术生涯也就快到头了。
这个阶段,如果你的交际和自我推销能力不是太差,你的收入将是白领水平,至少接近了。
我觉得多数程序员在工作多年之后都能达到这个水平,有的人只需要两年,有的人却要用上五六年,在这个阶段落伍的人,有的是出于天赋和思维所限,有的是出于对技术缺乏热情,有的是出于工作内容的制约。等到年近中年,再也拼不过年轻人,被淘汰出局,只能在自嘲为屌丝和码农的无奈中黯然转行。
这是个很重要的分水龄,你能不能继续进步,能不能在
30
岁以后继续从事技术工作,能不能在公司里独当一面,我觉得就看你能不能超越这个阶段了。我前面提到的烂公司里的工作数年的项目经理,连这个层次都还没达到
...
接下来又是个全新的阶段。
1、
你要读读优秀开源项目的源码,你要搞懂一些当年不懂的基础知识,你开始理解
thinking in java
的精髓,你能写一些底层的代码,有时还会觉得自己封装的比某些开源工具更好用更简单。
2012年11月29日 15点11分 3
大神,你好,我们能交朋友么!!!
2013年11月05日 14点11分
拜见师傅。。[呵呵]
2013年11月08日 18点11分
养肥了再看 [开心]
2013年11月10日 13点11分
最近把编译原理给突破了..在写自己的编译器
2013年11月15日 20点11分
吧务
level 13
亲身经历么
2012年11月29日 15点11分 5
不完全,也包括了目睹别人的
2012年11月29日 15点11分
回复 ahyyxx222 :感谢,看完了,有些会注意的
2012年11月29日 15点11分
其实最简单的程序员之路是好好读书,好好跟你的老师朋友搞好关系,好好学英语,学校里能学到的东西,比想象的多的多,建议有能力的读完研究生再出来工作。苦逼的人工作了半年才理解,又得复习一年,现在才知道数学是尼玛真有用。
2012年11月29日 15点11分
回复 我_才23 : 数学恐怕是对找工作有用吧[大笑] 我承认数学非常有用,可是不找工作的话还真用不上,一年到头写不了一个算法,Java都封装好了。当然我这话有局限性,没处于需要算法的业务层上。估计Server Team或者数据处理Team 需要更多地算法。
2012年11月29日 15点11分
level 10
这应该是一个程序员该走的路。
只是大家花的时间长短不同。
2012年11月29日 15点11分 6
无比希望穿越回去重读大学成为扎克伯格,时间真是重要啊
2012年11月29日 15点11分
回复 ahyyxx222 :是啊。重回学校之路上。
2012年11月29日 15点11分
回复 我_才23 :为什么?大学到底怎么上??
2012年12月14日 15点12分
回复 ahyyxx222 :现在在大学无力~~~~~~求教学习计划和学习书籍要求分阶段[狂哭]
2012年12月16日 15点12分
level 6
虽然不太懂在说什么,但是感觉很碉堡的样子!
2012年11月29日 15点11分 7
不想做开发现在卖电脑呢!……怎么破
2013年01月08日 02点01分
回复 qutiantangxiza :好好卖。
2013年01月08日 03点01分
回复 qutiantangxiza :我也想去,带我好不,
2013年10月18日 08点10分
不明觉厉
2013年10月26日 01点10分
level 11
[顶] 好多字 先马在看
2012年11月29日 15点11分 8
挤挤mark
2013年11月04日 02点11分
大神,SOA项目,帮农信社开发ESB有前途没(乙方),我都准备辞职了。。。
2013年12月19日 13点12分
回复 寡人没病 :那得看项目质量和管理
2013年12月19日 14点12分
回复 ahyyxx222 :一期有oracle的专家团队过来讲习,预算是35天左右,公司大牛听,我们跟着听,看他们交流,我已经被吓怕了,光银行业务的皮毛我就学不过了。公司请了个曾经FNS的BA,要求我们学银行业务,但是我现在完全听不懂,也不想学金融业务。我不喜欢金融。我要辞职吗?
2013年12月19日 14点12分
level 7
表示全部看完,很受启迪!谢谢楼主。
2012年11月29日 15点11分 9

2014年05月18日 02点05分
+1
2014年07月04日 18点07分
给楼主好评+1
2014年10月03日 00点10分
我也说一句,如果有基础的话可以去中软高科看看,反正他们那现在可以零学费学习
2015年04月22日 07点04分
level 8
还好吧,,,不久学了lucene,,compass,,才到哪一阶段啊???
2012年11月29日 15点11分 10
直接把这两原理弄精通了立马升大牛
2012年11月29日 15点11分
回复 ahyyxx222 :一门技术还是在彻底学透的好,,,
2012年11月29日 15点11分
回复 chan910413 :理想是如此,但要掌握的东西太多,精力毕竟有限,想当头,全面还是更重要,有所取舍,精到恰到好处的程度
2012年11月29日 15点11分
回复 ahyyxx222 :也行,,精通一门主要技术,,其他的会用原理清楚也差不多了吧,,,,,
2012年11月30日 03点11分
level 10
工作经验很重要,不是每个人都有成为大牛的机会……如果不让你接触到框架级的开发,而仅仅是局限于实现某个功能,那也只能望牛兴叹……
架构经验是靠代码写出来的……项目经验是靠讨论出来的……管理经验是靠带人带出来的……
2012年11月29日 15点11分 11
所以有时候看到新人们为了一个实习机会差几百块钱去还是不去纠结不已时我也蛋疼不已啊
2012年11月29日 15点11分
这是牛人,项目经验确实有很多的讨论,
2013年01月06日 23点01分
好牛逼 [真棒]
2013年10月19日 03点10分
回复 ahyyxx222 :楼主这句话是告诫大家,不要为了钱也放弃去实习的机会吗?
2013年10月22日 08点10分
level 14

2012年11月29日 15点11分 12
人少的地方,标记~~~楼主几年工作经验?是什么方向?(倾向前台还是后台)。其实我建议新人却学ios开发很多钱钱o!才毕业就可以到5千在南方城市!2年在北京乱破10k
2014年04月13日 09点04分
回复 shushangjin :6年, ee。方向各有所长,ios毕竟面比较窄,我更推荐通用一点的方向
2014年04月13日 12点04分
回复 ahyyxx222 :价钱是市场决定的,JAVA市场大,人也多,现在ANDROID都比我们搞普通开发的有钱!!!不管做什么编程,大学基础课程很重要~~~你学过SCALA?
2014年04月13日 12点04分
回复 shushangjin :没学过scala,学过groovy。android和ios开发目前或者未来几年钱确实要比一般的java开发多,不过它的领域就摆在这里了,就是移动开发。不管做企业系统,互联网,大数据分析,物联网,java的方向更广。都说程序员30多岁以后会面临淘汰,选一个发展方向更广扩的也是有它的优势的。
2014年04月13日 14点04分
level 1
那应届生学完了hibernate可以去摸着工作了吗SPRING还没学
2012年11月29日 15点11分 14
一看就懂了
2013年11月07日 07点11分
回复 mylegend0 :很多公司,其实只招能稍微看懂代码的应届生的,入职后几个月,才会你熟悉代码,再然后考察你是否适合编程..适合的话,就让你写功能模块..这中间会牵扯几个很基本的东西,比如,你码过的代码有多少??代码敲击少的,看代码没几个文件,就会让自己找不到北的
2013年11月15日 20点11分
回复 乐天无极 :恩,说到底基础一定要打扎实。
2014年02月12日 07点02分
回复 乐天无极 :给钱就能看懂
2014年02月17日 06点02分
吧务
level 15
谢谢分享经验,感觉还蛮有奔头的。。。
2012年11月29日 15点11分 15
我觉得你基础蛮扎实的啊,比我扎实[真棒] 我不太喜欢研究一些细节的东西……
2012年11月29日 15点11分
回复 cnfree2000 :是么。。。我最近一直再看core java,以前看到一半,这次就是复习加看一些以前没看地的章节。。。希望这次能耐住性子把书看完。。。
2012年11月29日 15点11分
回复 cnfree2000 :我想问一下,数据结构/算法和设计模式你觉得哪个比较重要,值得优先学习呀?
2012年11月29日 15点11分
回复 libo_juve : 主要看你面试什么公司,公司越大,算法优先级越高。有工作经验的话,设计模式的基础上学习数据结构…… 无工作经验优先算法。我公司总部的那些人,一看开始看数据结构和算法了,就知道要跳槽了……公司总部旁边就是Oracle……
2012年11月29日 15点11分
level 11
好长啊,先做个标记吧[真棒]
2012年11月29日 15点11分 16
level 7
顶,表示一定会努力的。
2012年11月29日 15点11分 17
level 13
写的太好了,顶一个
2012年11月29日 15点11分 18
level 14
[顶]打这么多字辛苦了
2012年11月29日 15点11分 19
level 7
只是弱弱的问一句:这么多,要学多久呢?
2012年11月29日 15点11分 20
如果你是那万里无一的天才,一两年吧,也有很多人一辈子都学不完这些
2012年11月29日 16点11分
学完之后呢?学习的过程才是乐趣
2013年01月06日 15点01分
回复 d23109106 :哪里学得完,JAVA体系中的知识,任何人都学不完,就一直享受乐趣吧
2013年01月06日 18点01分
一年够了,,培训学校那么多啊,
2013年01月06日 23点01分
level 5
收藏了,谢谢!
2012年11月29日 16点11分 22
群雄逐鹿?
2013年10月21日 00点10分
回复 hn19891212 :是
2013年10月21日 02点10分
回复 l78508029 :三英战吕布,估计是30秒D的关羽
2013年10月21日 03点10分
回复 夏思冬寒 :确实是技能更改前的截图
2013年10月21日 04点10分
1 2 3 4 5 6 尾页