贴一篇我在Java吧发的文章吧,纯原创,有不同见解可以商榷。
吧里有很多新人在提问是自学还是去培训,作为一个既自学也培训过的过来人,我和大家分享下我的观点。
关于自学和培训这个选择,我认为做出选择很简单。首先你提出了这个问题,那么我可以认为你是有意向主动学习的,而不是被逼的。这个时候,你就直接百度你想学的这门语言(不一定是 Java )的基础教程,现在各个培训机构为了抢生源已经放出了很多视频了,经典的也有,垃圾的也不少,网上搜搜,看看评价,自己选一套立刻开始学习。
为什么我要建议你先找基础视频自学呢?首先,你提出自学还是培训这个问题,就说明你对编程这个行业是不了解的,对于具体的技术更是知之甚少,那么对于一个新事物,你怎么确定是否对他有兴趣,很明显,那就是尝试。你找一套基础视频来看,跟着学,认真学完,里面的老师敲了什么代码,你就敲什么代码,多敲几遍。看你能不能坚持学完,并且学完之后有希望继续学习的欲望。
如果你还希望继续学习,如果你自学能力够强,自觉性够高,那么就可以继续自学,各种技术的书籍一大堆,电子书网上到处飞,随便下。如果你无法继续自学,那么就选择培训。到了能够自学完基础还想继续学的程度,那么培训机构已经教不了你什么了,能够带给你的只是一个比较系统的知识体系,帮你把脑子里零散的知识组织起来,然后带你去运用,仅此而已。
所以,说了这么多,就是简单的一个逻辑,先自学,如果学完基础还有兴趣就培训。
正题说完了,我来说下培训的事情,尼玛不要看到这句话就以为我要开始打广告了,我很严肃的要说正事。
其他的技术方向不了解,就 Java 而言,培训机构的基础班教的和你在网上找的基础视频的内容是一样的,差别就在于各个机构的师资,师资好呢可能会把基础给你讲深一点,师资一般呢,可能就是教你使用类库,调调API。然后就是就业班,就业班一般就是教授 Servlet 和 JSP,这是 JavaWeb 的基础,tomcat,这是最常用的 JavaWeb 服务器,struts,hibernate,spring 这是所谓的 Java 三大框架。对了,另外会涉猎一些 HTML、CSS、JS 这些前端技术。同样,师资好的呢,可能会教授一些工作流之类的实用技术和设计模式。
上面说的可能有些遗漏,但是八九不离十,基本就是这么一些课程。其实你要是多百度一下就会发现,这些课程无论是视频还是书籍资源都可以找到。能力强自学也不是不行。记住一句话,培训机构交给你的东西,最多支撑你在这个行业活 2 年,这还是乐观估计。
接着上面的观点继续说,为什么培训机构教给你的技术支撑不了你一辈子。很简单,作为程序员,每个人都明白这个行业的技术更新迭代速度有多么快,随着你工作时间越长,你所需要具备的技术敏感度、攻坚能力、技术广度和深度都要越来越高,否则你只能卷铺盖回家。
就拿我司的电商网站来讲,不敢说太细,简单来讲,设计到的技术,前端有 HTML、 CSS、 JavaScript、JQuery、NodeJs、EasyUI等等。后端技术有 Spring、Hibernate、Mybatis、SpringMVC、Redis、AMQ、Dubbo,其他还有很多辅助后端技术的各种类库框架。服务端技术有:nginx、varnish、mogileFS、zooKeeper等等一大堆。数据库是 MySQL,包括集群、读写分离等等东西。(这些也只是一个电商平台用到的一部分技术)
现在你是不是觉得这么多技术,一个人怎么可能学得完,那么我现在可以告诉你,在这个行业,有无数人同时会这么多东西,而且会的比这更多。这就是为什么我要告诉你,培训机构只能让你入行,并不能保证你一辈子吃喝不愁,程序员的高薪(或许是高薪吧)是拿不断的努力和拼命换来的,不是你交一两万混几个月就自动到你面前的。
最后,说一下培训出来的骚年们,你们的简历请动点脑子写,不要机构给你说怎么编你就怎么编,大家都不是SB,你说你瞎写个两三年工作经验,做的都是些什么电信增值系统这些牛逼大项目,谁信啊。你真以为这些项目就是三个框架随便搞搞就行的啦。天了噜,阿西吧。中文的牛逼之处在于文字游戏玩儿的各种绝妙,举例来说,培训机构说,毕业后具备三年工作经验的代码量。请你看清楚,代码量和实际经验是没有一毛钱关系的,你写100万行 System.out.println(“hello world !”); 你也依然是个菜逼。