最近好多讨论培训的,自己在办前端培训,谈谈我的看法,求轻喷

2017-02-26 22:25:07 +08:00
 xieranmaya

之前在北京工作的时候,因为想赚点外快,就跑到一个培训学校去兼职,自己是做前端的,当然也就是去讲前端的课了,可能由于话题比较合适我,再加之我自己做过老师,那几天的课非常受班上同学喜欢。

于是乎我就萌生了自己开培训班的想法,因为越想越觉得自己适合干这个:又做过老师,又有大厂经验,也喜欢教学,在公司的时候也做过不少次技术分享。期间随便去聊了几家培训机构,基本上都是秒拿 offer 。

想清楚了之后我就跟家里人说了这个想法,一开始家里是不支持的,因为觉得我工作的好好的,工资拿的稳稳的,跳个槽还能再涨点,开培训班要是招的人太少,又承诺了人家一定会开班,怕我亏本。

但是我把我的想法跟家里说清楚后,家里最终还是支持我创业,然后我就开始在网上招生,各种群里回答问题,然后知乎上发贴等等,招人其实很困难,有一段时间在知乎发贴被删还被禁言一周,我差点都想放弃,期间因为一篇质量很高的博客给我引了不少人,总之招生过程不表,最终还是在杭州办起了我的培训班。人数就不透露了,总之只能说不亏本,因为我为了招生,还包了住宿,价格又比较低,而且学费我都是让学生试听三周后才开始收的,所幸没有人退学。

前两天第一期班结课,我才总算有点时间来写下这篇文章。

因为现在只要看到关于培训的,评论里就一堆「别坑人了」之类的回复,为了避免自己也被人说坑人,我说一下自己培训班的情况吧,至少我不以坑钱为目的:

我想看了上面这些,估计没有人会说我坑人了。

但又会有人要说了,不是所有人都适合做程序员,很多人想做程序员就是看中这行工资高,而且 5 个月的时间肯定还是不够的等等。

其实我发这个帖子主要就想讨论这两个问题。

先说是不是所有人都适合做程序员。

很显然,不是,这个应该没有任何异议。

但是,任何行业、任何职位,都不是仅由合适这行的人在干,事实上,一个人想要找到自己所擅长的事情,绝对不是件容易的事,有大批的人干着自己不喜欢不擅长的工作。即使是 BAT 等大厂的员工,也不见得是因为兴趣才做的程序员,很可能也是上大学的时候被调济到计算机专业,或者同样是跟现在想转行做程序的人一样看着这行挣钱多才报的这个专业。事实上,以我从高中开始学编程到现在的所见,这确实就是现状,计算机专业也有不少人并不喜欢计算机,但最终还是做了程序员的工作。

兴趣确实能让人在这行有更多的可能,这毋庸置疑。

但是没有兴趣或者天赋不够的人就不能做这行了吗?

回想一下高中时代,班上学习成绩最好的那几个人也一定不会恰好就是班上最聪明的几个人吧。所以我们总是说,不怕别人比你聪明,而怕比你聪明的人比你更努力

回归现实,不少人因为选了不符合历史进程的专业,毕业后工资少的可怜,在大城市差不多都快没办法生活了。而凭什么学计算机的人刚毕业就能拿以万为单位的调薪,而生物专业(举例而已不要对号入座)的同学大学期间努力程度并不比计算机专业的人低,毕业就只能拿 5k 封顶的工资?

那很简单,我就是想拿高工资,并且愿意为此付出努力,不管我有没有兴趣。就像再笨的人,只要高中三年足够努力,考上一个一本再不济二本也是没有问题的。

本来把人才引向收入更高的行业也是市场自动调用的作用之一。

而自学太慢,于是就选择培训(总不能选择把大学重新读一遍吧),没什么毛病啊。

有毛病的是那些智商捉急去给坑人的培训机构交智商税,会相信他们「速成」,「包就业」这些鬼话,甚至完全不考虑自身情况(比如学历,数学基础等)的人,然后那些机构的教学质量又差,完了还教学员用假简历去找工作。

所以归根结底,还是因为那些坑人培训机构把行业给搅乱了,让大家都不敢招培训出来的人:一方面,时间短,教学质量差,导致能力不合格;另一方面,简历还造假,这水不浑才出了鬼了。

再说另外一个问题,五个月能学到什么程度。

这是另一个比较大的喷点,很多人说几个月能学个啥,我们来粗略的计算一下一个计算机专业的学生大学四年能学到多少东西:

计算机专业专业课大概是下面这么些:

做为一个计算机专业毕业的人,硬件方面的东西现在几乎忘光了,也从来没在工作中用到过,我现在唯一能记得的底层硬件知识可能就是数字电路中的卡诺图跟 PN 结了吧。

具体到软件开发抑或是前端开发,能够对前面的三项有比较深入理解解,对计算机网络一些必要的知识有了解(在我看来,了解到 TCP/UDP/IP 层,知道它们的基本原理,能够用现成的 socket 库写一个聊天室就绰绰有余了),对数据库、操作系统有一些基础知识就足够了,至于编译原理,对于任何软件开发来说当然是加分项,但这门课即使对于计算机专业的人来说也算比较难的了,就像数论之于数学专业的学生差不多。

而上面说的这些必要的课程,在大学里面总共的学时肯定是不到五个月。把课程精简一下,重点挑出来,并且随学随练,从我第一期的教学情况来看,把必要的东西讲完时间是完全够用的,至于编译原理,我自己也不敢讲,但是带着写了一个迷你项目,算了让学生了解到了代码的解析、语法树的构建这些要点。

算下来,五个月的时间,能有 1000 个小时以上的学习时间,达到了一万小时理论的十分之一,平心而论,我自己大学期间真正花在学习专业知识上的时间也就在 2000 个小时的样子。

所以只要在这五个月内足够努力,培训完达到一个普通计算机本科毕业生的水平是没啥大问题的,即使达不到,工作之后把我补充的书目再啃啃也肯定有了。

又有人要说了,想学计算机先自学,这点我不否认,但这话多多少少也是站着说话不腰疼,说这话的人往往是已经入门很久的人,或者是在大学时花了很大精力找到了自学的门道,觉得自学重要,才说出这样的话,你觉得自学容易,但是对于新手来说其实困难重重,有个人带肯定会好很多很多,想想为啥大学总是会组织一些高低年级的交流会。

最后还有一点,就是人有人说不是所有人都适合学编程,这个问题确实存在,但是我觉得问题并没有想象中那么大:

如果一个人能理解函数、极限、概率统计、数学归纳法、解析 /立体几何、圆锥曲线、微积分这些概念(高考数学能及格的人理解这些概念应该没有任何问题),我不相信他理解不了二进制、网络、多线程、异步,理解不了能够活生生的在他眼前运行,并且能够单步跟踪调试的编程语言。最多也就是多花点时间。况且 5 年前高中数学就已经开始学编程了,全民学编程的时代也正在到来(浙江省高考以后可能要考二叉树,知乎上有讨论)。

既然再笨的人只要努力,数学就能考到 100 分以上,那么如果一个人愿意仅为了高薪而学编程也并不为过,只要他有相应的数学基础并愿意为此付出努力。退一万步讲,就算他学了之后真的觉得自己不合适,觉得这些东西很难理解,我的班也可以随时退学。

所以我最终的结论就是:如果有较好的数学基础,又想进入 IT 行业拿高薪,并且愿意为此付出努力,而且还能持续学习(这条没有在本文讨论),参加培训并没有什么不对的。不对的是那些坑人的机构和学习者求速成的心态。

这篇不敢先发到知乎去,原因你懂的,想来 V 站都是比较成熟的程序员,理性派占多数,我也想听听大家的看法,欢迎留言指正或讨论。

30667 次点击
所在节点    程序员
160 条回复
murmur
2017-02-26 22:40:27 +08:00
培训的没错,错在学的人,现在很多人都是干不下去了去培训 IT ,正巧前端火所以培训前端得多被喷的也多

你说那么多课程几天内学会就要干活,现实么,不现实,也现实,但是要有一点点其他语言的开发基础都可以

0 基础培训任何行业失败的都是多,但是 0 基础学也是比拼你的能力,我在实验室第一个项目本来设计按 VB 写,结果我暑假(应届)休息了 3 个星期,回来他们就偷偷换了 c#,怎么办?该交差的还得交,找课本,迅速翻一下看看这语言长啥样,一个小时就开始写,人都是逼出来的

话说计算机专业课那么多,最后考试还不是靠临考前几个晚上通关。。

另外我们老师在上课的时候说了一句话,说现在大学都是交学费了,所以基本不随便挂人,压缩到这么几个学时的东西,也不指望你们 4 年学到什么,有朝一日你需要一个东西,隐隐约约记得《课程名字》上教过,你能回想起来去翻书,这门课就没白学

最后还是那些观点,不会被培训班抢饭碗的永远是数学英语强相关的专业,当然数学有要一定天分
notreami
2017-02-26 22:50:56 +08:00
不满意培训的地方就是,什么都讲,什么都灌输,很容易造成能说不能做的现象。既然是引入编程行业,那么最重要的还是引导一个方向,或者找准目标吧?师傅领进门,修行靠个人。
q397064399
2017-02-26 22:53:26 +08:00
看上去不是广告贴,我就讨论下吧,

在中国快速发展的服务行业都是坑爹的,何况培训行业 这种单次博弈交易方式(我相信没有人会去上两次培训班)
驾校同理,坑完一批是一批,有韭菜不割那是傻逼

培训班最大的问题是教师太浮躁,教学能力低下,很多问题讲不清楚,我最早看传智一些 Java 的视频(主要是因为传智 java 后端这块介绍的比较完善,毕竟做了很多年 而且后端基本上没什么太大变化) 老师讲那个 遍历目录 为什么要使用队列采用 bfs 实现 而不是采用递归实现呢 讲了半天讲不清楚,原因何在? 第一 学生根本搞不懂 堆 栈 的区别,你讲了也是白讲 第二,学生根本不会关心 stackoverflow 为什么会产生 教学计划也没有安排这些程序的基本计算机原理等知识

然后最重要的一点是,培训班 90%的时间都是在讲 API ,这其实是误人子弟,编程最重要的是 算法(业务逻辑)+数据结构(容器),结果学了一大堆 API 还是写不好程序 ,培训班很多人出来 API 清楚得不能再清楚,但是好多人连个排队业务都写不好 因为培训的时候 根本不训练这个分析 以及解决问题的能力,

----------------
国内要办好培训班 两点:
1.不要太过于侧重应用,应该稍微多讲一些计算机程序原理性的东西
2.从过去粗放式地讲 API 背 API 到着重训练 学员解决实际问题 以及将抽象的业务问题 映射成具体代码的能力
Refac
2017-02-26 22:53:49 +08:00
那鱼和渔哪个更重要
wukongkong
2017-02-26 22:57:22 +08:00
在上极客学院的培训,感觉培训班没那么差。自己做,一个是没有压力,二个没有明确路径。培训班,认真上课还是不错的。但是别指望学会了教的就能干好工作。更多的时候,拿到题目,一样懵逼,必须学会查资料,理解资料。照葫芦画瓢,然后,再次去尝试理解。
上培训班,更要加强自己的分析理解能力,这个我现在的感觉。
murmur
2017-02-26 22:58:55 +08:00
@q397064399 绝大多数人还真都是 api 工程师,不要这么打击人好吧,写排队的有算法工程师轮不到培训班上
q397064399
2017-02-26 23:00:55 +08:00
编程的本质就是 讲抽象的业务需求问题 映射成计算机平台能够计算并解决的问题

这种活动 主要要求就是两点

1.对编程的环境的认识与学习 (语言 工具 框架 API )
2.将抽象的需求 映射成 伪代码的能力 也就是描述 数据如何组织 以及如何操作数据的能力

绝大部分培训班 着重于前者,而基本上不会着手后者
xieranmaya
2017-02-26 23:01:03 +08:00
@murmur 你说的很对,大部分东西还是要自己搞懂
@q397064399 我也确实会侧重于基础这块算法的内容,我记得当时讲了快三周,每天就是分析,然后现场编码,调试。关于 API ,我也是跟学生说,你知道有这个东西就行了, 需要的时候去查,当然文档还是要过一遍,要不然连有哪些东西都不知道
@Refac @notreami 师父领进门修行靠个人这句话我在第一天就给学生说了,而且在整个培训过程中也不断强调

感谢各位回复
cnusrso
2017-02-26 23:01:18 +08:00
摆渡人
q397064399
2017-02-26 23:02:26 +08:00
@murmur #6 写排队 应该不需要算法工程师吧,一个优先队列的容器配合 comparetor 就能搞定 你太贬低 API 工程师了吧
WildCat
2017-02-26 23:02:57 +08:00
react 大法好还是 vue ?
murmur
2017-02-26 23:04:55 +08:00
@q397064399 大并发、锁、高性能,这种东西一起上咋不需要算法工程师, VIP 用户还要插队呢
除非你的队列就几十个人
或者像国内的选课系统一样,到了并发极限直接所有人踢下线重新来,人人平等。。
q397064399
2017-02-26 23:05:41 +08:00
@xieranmaya #8 楼主的教学如果有 30%的时间 侧重于教育学生如何分析并解决广义的算法问题(业务逻辑也算是 算法) 上,出来的学生 应该可以吊打 80%的培训班的人
q397064399
2017-02-26 23:06:40 +08:00
@murmur #12 我说的就是银行客户的排队柜台机的业务,一个容器 最多撑死 也就 100 多个对象
q397064399
2017-02-26 23:08:34 +08:00
@murmur #12 API 这东西,随时可以查文档,实在不行 还可以厚脸皮问别人,但是分析业务需求 并想出伪代码的能力 却不是一下子就能培训出来的
FrankFang128
2017-02-26 23:12:27 +08:00
跟我聊聊吧,我在做线上的前端培训,跟你不冲突,说不定可以合作 微信 frank_fang
xieranmaya
2017-02-26 23:14:03 +08:00
@WildCat 我教的是 vue ,因为确实很好入门,尤其 2.0 ,把很多概念简化,也把容易混淆的概念做了拆分,同时功能也不比 react 弱,另外 vue 对初学者更友好,不用配环境就可以用

@q397064399 这个我也很难介定花了多久来说如何解决问题,但大部分问题我都会有引导,有几次记忆犹新,有一次是浏览器 Bug ,我当场 debug 然后发现不是开发者的问题,然后给 Chromium 项目提 issue 。另一回是遇到一个 unicode 不可见字符导致绝对路径被识别成相对路径,也是一步步带大家找出问题。另外一个方面就是我把两本书给讲完了:《 CSS 权威指南》跟《 Eloquent JavaScript 》,后面这本直接讲的英文版,所以才有 30%的课程是英文授课
xieranmaya
2017-02-26 23:16:15 +08:00
@wukongkong 其实分析解决问题的能力不只是程序员需要,做任何工作的人都有必要,只是在程序员这里显示尤为重要
pyufftj
2017-02-26 23:17:41 +08:00
@murmur 现在全民转 IT ,我认识好多人,工作不如意,本科是化学的、是能源的、是机械的、电气的,全部转到互联网了,可怕。。。我都不知道是为他们高兴好还是为他们担心
pyufftj
2017-02-26 23:18:31 +08:00
@FrankFang128 华科的师兄你好~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/343347

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX