10年java过来人聊聊自己的自学、培训和工作经历
一 、 自我介绍
我叫王涛,我是一位北漂十年的码农,2008年9月份开始自学java,三个月后,自学无果,于2008年11月份开始参加培训,培训完之后,我觉得自己还是啥也不会,只会抄抄代码,竟然连debug都不会,因为培训确实没有教,那时候很傻地只会用System.out打印的方式调试;2009年5月份开始真正从事java开发相关的工作,先后在金蝶软件北研中心、首信科技、雅座在线,乐视商城以及现在的互联网金融公司就职,最开始做得的数据仓库产品的开发,后来在首信做得是etl产品的开发,近几年主要从事互联网行业后端java方面的开发,比如电商后端服务的开发,还有目前在互联网金融从事的互联网微服务的研发。以上就是我从自学,到培训再到现在的简要经历的介绍。下面,我将分别并详细介绍我的自学经历,培训经历,面试经历以及工作经历。
二、悲催无脑的自学经历
记得我当初决定学java的时候,也是受限于金钱和时间,所以刚开始就选择了自学,但是问题来了,自学具体咋学啊?俗话说师傅领进门,修行在个人,自学上哪儿去找师傅啊?没有师傅,自己根本不清楚从哪儿开始学,怎么学?学到什么程度才可以去找工作?心里完全没概念。初步考察了当时市面上的一些java类的书籍,找不到一本专门为入门而写的书籍,同时很多人推荐的java编程思想,估计初学者还没读完,就已经放弃了,目前很多人也很有同感,毕竟那本书不是写给初学者读的。后来偶然在书店翻到了两本书,一本是自学java编程,一本叫什么java项目实战,如获至宝,但是用了一周多,就想扔,为啥呢,因为第一步搭建java开发环境都讲得极其绕口,摸索来摸索去的,才配出来,其他内容更不必说了,完全是本本主义,东抄西抄而来。大量学术化的篇幅去介绍基础理论知识,只能让刚开始学的朋友越来越感觉枯燥高深,然后就是想放弃;那本java项目实战呢,也是拼凑而来,看了视频完全搭建不了运行环境,更是运行不起来项目,记得很清楚里面的一句话,演示的朋友在视频的桌面上右键,说在这里配置sqlserver,我当时很无语啊,心想,要么把你当电脑寄给我吧,你连sqlserver数据库的版本也不说,怎么安装的也不说,直接就说在哪里配置,现在想起这些,仍然一肚子怨气,真的太不负责任了,这类垃圾书籍,最好还是少出版,才能少误人子弟。就这么瞎折腾了两个月,基本一无所获,白白浪费了时间,但是心里又不想半途而废;于是,就下定决心去参加培训,简单做了一圈筛选,选好了一家培训机构,傻傻地交了钱,当时觉得培训的课程确实不少,基本上囊括了目前市面上招聘的所有技术,交完钱,这下心里算是踏实了,报了极大地憧憬,学完后,就可以华丽转身,谋得一份期待的高薪的开发工作。但是接下来的日子缺异常苦逼。因为,培训的时间是固定的,培训的课程是固定的,内容也是固定的,但是每个人的接受能力确实有限的,即便你再用功,但是仍然不可能完全消化每一天的课程内容,这样的后果非常糟糕,表面上,确实老师教授了非常多的技术,但是结果确实,老师刚说完下课,就忘得干干净净,因为技术本来就是抽象的,在你不理解,更没有实践的情况下,遗忘是必然的。所以,到培训毕业的那一天,班里的同学内心其实都是非常空虚的,互相鼓励,上班了,再好好学吧,所得到的,就是一些所谓的真实企业项目的源码,和一些上课的视频。培训期内的项目实战,基本是老师当堂演示开发,而我们只能跟着抄代码,至于对与错,完全不看不错哪儿的问题,而且只会傻傻地通过system.out.println打印来查问题,至今对于老师没教我们如何debug还耿耿于怀,对于任何编程语言的开发,debug其实是非常核心的技能,因为开发的过程中,绝大多数是调试,很难想想不会调试,跟瞎子其实没什么区别。说到这儿,突然想起了,前年来北京参加培训的家乡的一位小弟,他来了之后,也是一头扎到培训机构,学了三个月了,某个周末,来找我玩,我就简单地考了一下他的培训效果,我手头有一个简单的web系统,启动后,我说我不告诉你密码,请你想办法进入系统。就这么一个需求,他抓耳挠腮,点来点去,楞是没想到debug,我就觉得这小弟,真的是白学了,和我当时一样,只会拿别人的代码抄,别说让我分析问题,就是让我原地把项目跑起来都费劲。这种状态,即便是进入公司,结果也是很不乐观的。倘若这位小弟,稍微懂点debug的话,他肯定会想到,我debug便是,我看看登陆的逻辑代码部分,从数据库里取出来的密码是什么,我就填什么,不就登陆进去了吗。真的一点都不奇怪,在我看来,培训机构就是向你猛灌知识,至于你自己真正掌握了多少,只有你知道。其实你也不知道,因为你还没参加过技术工作,你也不知道到底什么相对重要。但是别人反正给你讲过了,没学会,只能怪自己基础差,或者脑子笨。看到这里,大家是不是觉得很冤枉,是啊,现实就是这样,确实冤枉,你虽然交了钱,但是基本没有得到你期望的效果,当然冤枉。那怎么才能不冤枉呢?自学不行,培训好像也不行?
10年java过来人聊聊自己的自学、培训和工作经历的更多相关文章
- Top 10 Mistakes Java Developers Make(转)
文章列出了Java开发者最常犯的是个错误. 1.将数组转换为ArrayList 为了将数组转换为ArrayList,开发者经常会这样做: ? 1 List<String> list = A ...
- 2014最热门、最具争议的10个Java话题
Java 的哪些内容已在2014年死去,Java 的哪些变更又遭到整个Java社区的竭力反对?请随我们一起来回顾在2014年这个多事之秋中Java都发生了哪些变化,以及小伙伴们都在JAXenter热烈 ...
- 一个10年Java程序员的年终总结,献给还在迷茫中的你
我越来越担心我作为一个Java程序员的未来. 恍然间,发现自己在这个行业里已经摸爬滚打将近10年了,原以为自己就凭已有的项目经验和工作经历怎么着也应该算得上是一个业内比较资历的人士了,但是今年在换工作 ...
- 偏执却管用的10条Java编程技巧
本文由 ImportNew - LynnShaw 翻译自 javacodegeeks.欢迎加入翻译小组.转载请见文末要求. 经过一段时间的编码(咦,我已经经历了将近20年的编程生涯,快乐的日子总是过得 ...
- 死磕Java之聊聊HashSet源码(基于JDK1.8)
HashSet的UML图 HashSet的成员变量及其含义 public class HashSet<E> extends AbstractSet<E> implements ...
- Java基础学习总结(44)——10个Java 8 Lambda表达式经典示例
Java 8 刚于几周前发布,日期是2014年3月18日,这次开创性的发布在Java社区引发了不少讨论,并让大家感到激动.特性之一便是随同发布的lambda表达式,它将允许我们将行为传到函数里.在Ja ...
- 第10讲-Java集合框架
第10讲 Java集合框架 1.知识点 1.1.课程回顾 1.2.本章重点 1.2.1 List 1.2.2 Set 1.2.3 Map 2.具体内容 2.1.Java集合框架 2.1.1 为什么需要 ...
- 死磕Java之聊聊HashMap源码(基于JDK1.8)
死磕Java之聊聊HashMap源码(基于JDK1.8) http://cmsblogs.com/?p=4731 为什么面试要问hashmap 的原理
- 好程序员web前端分享前端学习路线自学如何找到工作
好程序员web前端分享前端学习路线自学如何找到工作,自学能不能学会WEB前端并且找到WEB前端开发岗位的工作取决于自身条件,如果基础好,自律性强那么将会容易很多,还有就是自学最难克服的并不是知识点,而 ...
随机推荐
- 随便说说 post-processing
九月份一篇博都没更新,这段时间一直在unity的坑里爬不起来,感觉真的很绝望啊,仿佛对生活都失去了信心. 渲染问题并没有解决,目前方案只是减轻视觉冲突,降低违和感.项目AR产品也做的越来越艰难,开始经 ...
- 自动删除文件脚本(Linux shell脚本)
每天在/home/face/capturepic/2017/目录下都会产生很多文件 /home/face/capturepic/2017/4/21 /home/face/capturepic/2017 ...
- RBAC__权限设计__结构化表的输出(不知道怎么描述标题,反正就是设计表) 难点重点 必须掌握🤖
RBAC 反正就是很厉害. 干就完事了,不BB 直接进入正题 本文写的就是如何设计表,以及设计表的思路. 用户和角色 : 多对多字段放在哪张表更好点? 用户找角色,角色找权限. 放在user表中,是正 ...
- Oracle中session和processes的设置
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...
- mysql commit 和 rollback
转自:http://blog.csdn.net/ying_593254979/article/details/12134629 SQL 语言类型 从功能上划分,SQL 语言可以分为DDL,DML和DC ...
- TurnipBit开发板“趣味赛”:平衡力大比拼
让孩子在快乐自由的游戏中培养编程思维 平衡力大挑战是我们经常经常玩的的一个小游戏,脑补画面的话比较常见的是单腿平衡力大比拼,摇晃幅度小者胜利.游戏好玩归好玩,但是想要公平判断胜负却不容易.下面就教大家 ...
- angular4.0如何引入外部插件2:declare方案
前面有个<angular4.0如何引入外部插件1:import方案>,但是有局限,因为方案1需要用到@types这个东西. 但是并不是每一个插件都有@types,所以现在写个方案2. 拿引 ...
- MySQL优化-》执行计划和常见索引
MySql的explain执行计划 explain是一个Mysql性能显示的工具,它显示了MySQL如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句.在开发当 ...
- linux centos下安装dokuwiki
首先先大致介绍一下wiki: DokuWiki是一个开源wiki引擎程序,运行于PHP环境下.Doku Wiki 程序小巧而功能强大.灵活,适合中小团队和个人网站知识库的管理. DokuWiki可以与 ...
- python之 模块与包
一. 模块 1.模块定义: 将代码量较大的程序分割成多个有组织的.彼此独立但又能互相交互的代码片段,这些自我包含的有组织的代码段就是模块. 2.模块分类: a.标准库(又称内置模块) b.开源模块(又 ...