一 、 自我介绍

我叫王涛,我是一位北漂十年的码农,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过来人聊聊自己的自学、培训和工作经历的更多相关文章

  1. Top 10 Mistakes Java Developers Make(转)

    文章列出了Java开发者最常犯的是个错误. 1.将数组转换为ArrayList 为了将数组转换为ArrayList,开发者经常会这样做: ? 1 List<String> list = A ...

  2. 2014最热门、最具争议的10个Java话题

    Java 的哪些内容已在2014年死去,Java 的哪些变更又遭到整个Java社区的竭力反对?请随我们一起来回顾在2014年这个多事之秋中Java都发生了哪些变化,以及小伙伴们都在JAXenter热烈 ...

  3. 一个10年Java程序员的年终总结,献给还在迷茫中的你

    我越来越担心我作为一个Java程序员的未来. 恍然间,发现自己在这个行业里已经摸爬滚打将近10年了,原以为自己就凭已有的项目经验和工作经历怎么着也应该算得上是一个业内比较资历的人士了,但是今年在换工作 ...

  4. 偏执却管用的10条Java编程技巧

    本文由 ImportNew - LynnShaw 翻译自 javacodegeeks.欢迎加入翻译小组.转载请见文末要求. 经过一段时间的编码(咦,我已经经历了将近20年的编程生涯,快乐的日子总是过得 ...

  5. 死磕Java之聊聊HashSet源码(基于JDK1.8)

    HashSet的UML图 HashSet的成员变量及其含义 public class HashSet<E> extends AbstractSet<E> implements ...

  6. Java基础学习总结(44)——10个Java 8 Lambda表达式经典示例

    Java 8 刚于几周前发布,日期是2014年3月18日,这次开创性的发布在Java社区引发了不少讨论,并让大家感到激动.特性之一便是随同发布的lambda表达式,它将允许我们将行为传到函数里.在Ja ...

  7. 第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 为什么需要 ...

  8. 死磕Java之聊聊HashMap源码(基于JDK1.8)

    死磕Java之聊聊HashMap源码(基于JDK1.8) http://cmsblogs.com/?p=4731 为什么面试要问hashmap 的原理

  9. 好程序员web前端分享前端学习路线自学如何找到工作

    好程序员web前端分享前端学习路线自学如何找到工作,自学能不能学会WEB前端并且找到WEB前端开发岗位的工作取决于自身条件,如果基础好,自律性强那么将会容易很多,还有就是自学最难克服的并不是知识点,而 ...

随机推荐

  1. calling c++ from golang with swig--windows dll (四)

    calling c++ from golang with swig--windows dll 四 前面讲述了windows环境下golang如何通过swig调用C++ dll.由于编译c++代码使用了 ...

  2. LindDotNetCore~基于模块化注入的介绍

    LindDotNetCore相关介绍 相关模块 全局都是依赖DI 消息队列 NoSql Caching 仓储 服务总线 Solr 调度 日志 Asspect拦截组件 UAA授权 各种组件环境的搭建 各 ...

  3. 对DataTable(或者DataSet)修改后,提交修改到数据库

    http://blog.csdn.net/nidexuanzhe/article/details/8228832 说明:通常我们在做数据库交互时,并不一定要使用特定的SQL语句来更新数据,.NET F ...

  4. C#语言和SQL Server 数据库处理

    ---恢复内容开始--- 第七章 用表组织数据 1:数据性分类: 1>实体完整性的约束:检验每行数据是否符合要求 检验每列数据是否符合要求 2>域完整性约束:给定列输入的有效性 3> ...

  5. 一个超级简单的demo带你走进redux的大坑

    先上代码 import React, { Component } from 'react'; import ReactDOM from 'react-dom'; import { createStor ...

  6. 物流包裹一站式查询(TrackingMore)

    快递查询接口 目前提供快递查询的接口平台有: Trackingmore 快递100 快递网 不同接口的区别: (1)Trackingmore支持380家快递公司,其中有55家为国内的快递,其余325家 ...

  7. jQuery Ajax 操作函数 (七)

    函数 描述 jQuery.ajax() 执行异步 HTTP (Ajax) 请求. .ajaxComplete() 当 Ajax 请求完成时注册要调用的处理程序.这是一个 Ajax 事件. .ajaxE ...

  8. javascript 之基本数据类型、引用数据类型区别--02

    栈(stack)和堆(heap) stack为自动分配的内存空间,它由系统自动释放:而heap则是动态分配的内存,大小不定也不会自动释放. 基本类型和引用类型 基本类型:存放在栈内存中的简单数据段,数 ...

  9. 对比Tornado和Twisted两种异步Python框架

    做Python的人,一定知道两个性能优秀的异步网络框架:tornado,和twisted. 那么,这两个著名的框架,又有什么异同呢?tornado和twisted,我都用在几个游戏项目中,做过后端,觉 ...

  10. Git-分布式版本控制系统(一)

    Git可以在Linux.Unix.Mac和Windows Git 的安装 mac [xcode, 菜单"Xcode"->"Preferences",在弹出 ...