大榜,我的儿子,22岁,现从事Java开发近1年半时间。
2010年底开始自学Java,一年半的时间,先学习Android (没有实际开发经验),再学习Java Web开发。期间在一家母婴电商公司从事数据开发,第一份工作的工作是在xx会从事Java供应链金融开发,那时刚刚20岁。
在学Java的同时,他自己学习、练习游泳,熟练掌握了三种泳姿(自由泳、蛙泳、蝶泳)和水下前滚翻转身等技术。很多在泳池见过他的,都以为他是专业运动员。
他还一度离职准备去做一个游泳教练兼救生员。
他是如何在一年半时间掌握两种职业技能的?自学有什么诀窍和秘籍?
一、Java是如何学习的?
他是2010年初中毕业后来上海的,(我在上海从事IT职业培训教育),让他来上海的原因,是因为中考考得出乎我们所有人的意料,连一个最差的普通高中也未考上,只能去职高。来上海后他就是玩一玩,打打游戏,看网络视频,宅在家里,人特别没有自信,也不愿意跟我多沟通。
2011年9月,报读上海电视大学计算机专业(网络方向),就是因为成人类大专是不需要考试。读大专同时,我建议他开始学习Java开发。
1、看书
我帮他选的第一本编程的书是Android游戏开发,考虑他对游戏很感兴趣。就从做Android小游戏开始。这之前他学了程序最基本的逻辑,条件循环。三周以后,我发现他竟然把第一个游戏-太空大战 基本完成了。关键是这本书我买回来给之前,就把光盘随手一放,也没有给他。书中只有代码片段,能通过看书把一个项目完成,前提得能把结构、流程搞得比较清楚。从这点上看,他对编程开发具备了一定的自学能力和兴趣。
这时候他学Android,我们还没有Android手机,都是在模拟器环境下练习。后来我买了第一部Android手机,HTC G12,给他用时,他已经开始学习Java Web了。
就这样,这本书,他把所有的项目做完了,6个不同类型的Android游戏。我对他说,“Andorid开发的团队,一般都比较小,公司不会把一个项目交给像你这么小的刚毕业的,再学学Java Web开发吧”。
在电大,教的编程语言是C#。大专的学习,他好像找了成就感,是班上学得最好的几个同学之一,其他同学练习中遇到的问题他都能帮别人解决,考试除了英语,其他课程成绩都是80+。
2、视频
Java Web开发,我给他找的是一套视频,大概200集,包括js, 数据库,JPS/Servlet, SSH和项目,项目是DRP(企业资源分销计划)。差不多5个月的时完,跟着视频完成了DRP的全部功能。因为大专上课是一周三到四天的课程,其他时间,他都在家看视频、做项目,一天练习的时间长的4~5小时,短的也在2小时。
“恩,累啦,玩会游戏!” 晚上我也听到他这样说。
暑假前,我之前的学生说他们公司需要一个APP后台开发,2012年6月份,他面试后就去见习,实际上这个后台就他一个人开发、调试、上线。后来开学了,他开始框架的深入学习和做项目为主。
3、项目
在他学完了视频后,一开始是问我要项目,这次他说不需要视频,给一些网页的原型就可以,我给的是Shopping项目(网上商城),这次我把源码给他,用的技术实现是Struts1+Oracle, 他用Struts2,Spring,Hibernate, 数据库用MySQL。
之后,再做了两个项目,都是他自己想的,一个是myQZONE,全部模仿QQ空间。另一个是在线聊天室,他使用的是反向Ajax, HTTP长连接技术。
在我的微博上完整了记录了他学习Java的过程,他写的第一个程序,晚上一个人在那边coding,做的第一个项目,做毕业设计,去IBM面试,第一次实习,第一次在公司培训...
有时我笑他说,“你就是个渣渣啊”(学渣),他一脸不屑、得意地说,“我现在蜕变了!”
总结:
编程开发的自学,在很多人看都是一个非常艰苦的过程。真是这样。
1)学习中需要把握一定的节奏,每天的学习时间、代码量要有保证。
2)通过做项目来巩固所有知识点、技能点的学习。
Q : 有人问,他初中毕业这样学习编程开发,是不是只掌握了一些皮毛,没有可持续性啊。
A : ① 学习从来不是一个静态的过程,尤其是IT行业,知识、技能更新得较快,更需要持续学习。他大专没毕业之前,除了开发技能,还自学了数据结构、算法,甚至还搞过一段时间汇编。(有一次在面试时还称自己3年内是想做一个黑客)。学历上他也自考在读华师大本科。
② 工作后,无论是工作中的需求,还是带他的同事、BOSS都是行业内优秀的人,都让他成长更快。去年他跟我说,BOSS让他先看看ActiveMQ,然后在团队中分享,也是下一个项目中要用的。我看了一下京东上的图书都是进口原版的。他自己学了一个月之后在公司做了一次半个多小时的技术分享。
Q : 有人问,他是你教会的吗?
A :我尝试过让他去听过我讲课几天,发现他是一个不安分的学生,上课影响到其他同学了。而给他视频他能把握进度。我在微博上完整记录了他学习的完整过程。期间回答他学习上的问题大概3~4个,问题解答发表在博客上。
刚开始学习就瞄准就业,瞄准进入这个行业,这大概是他与其他人学习不一样的地方。
二、游泳是如何学会的?
2012年我在同济大学办了一张游泳的年卡,因为工作忙、出差(都是借口),没怎么去游,一周去一两次,最多三次。觉得年卡办了也挺可惜的,就跟他说,大榜,年卡给你吧。
头几次我带着他去游。看着他还不敢游到深水区,我好几趟游回来,他都只在浅水区慢慢游。我笑他胆子小。
后来,我去东北出差两个月后回来,发现他蛙泳很标准了,比我游得快,我跟他去游过几次,他都是一下水就在泳池里一趟趟地游,直到1小时结束,而我游几趟后,就休息一次。
有一段时间,我发现他天天看游泳的视频,一开始还以为是直播的比赛,后来我拿来他的手机看,都是游泳的教学视频,动作分析,也有些是比赛的画面。包括菲尔普斯,孙扬的比赛、教学视频。有时候他一边看一边比划,做一个划水的动作。
大概每半年到8个月,他都会换游泳镜和泳裤,他选的Speedo品牌,我仔细看过他坏掉的泳镜,都是水冲击后的磨损造成的。我说,
“厉害呀,我游泳换泳镜和泳裤,都是丢失后才换的。”
买过的训练工具有一种拉力器,有一段时间晚上他经常把拉力器一端挂到墙上,拉着训练臂力。
他坚持每天游泳,无论寒暑,还是起风下雪,除了生病感冒,最严重的几天不去以外。同济大学游泳馆春节期间的封闭维修的,我们还一起去其他游泳馆去游,包括上外游泳馆、杨浦温水池、源深体育中心、静安体育中心等。
接下来,他自由泳、蝶泳,水下转身等技术,也掌握得相当好。在同济游泳馆经常有体校游泳队来训练,他就在旁边的赛道上跟他们一起游。
就这样天天坚持游泳,一直到他大专毕业去实习,后来工作了一周去两次。
他的泳姿非常不错,速度也快。很多人看他游泳,都以为他是专业的。在泳池总分碰到问他关于动作的问题的。同济有一个留学生加他了QQ约他一起游。
总结:掌握一种技能,一是高频高强度训练很重要。二是要在其中找到兴趣和成就感。
他跟我讲过几次,遇到不少的游泳的朋友跟他请教,约他一起游。有一次,他讲,有一个年长的人看到他游泳,跟他聊天说,如果是他的父母的话,一定会送他去专业训练。(也可能这些因素导致他想做一个游泳教练和救生员)
再之后就是职业选择和面试的故事,当然他在职业选择时也有短暂的徘徊和弯路。
PS:
-
后续,他找工作的故事:我是如何引导他做职业选择的?
-
项目参考,他做的那些Java项目:Java自学最佳实践
-
评论很精彩,建议把评论都看完。评论中有资源,也有高手。
-
2016-08-09
没想到5个月之后,还有人记得这篇文章,到这里来打卡,来汇报自己的学习进度。