本篇文章原载于我的博客:http://blog.xdite.net/posts/2016/09/16/newbie-with-no-experience-programming
分享一下最近两个月的教学生活与体悟。 =====
昨天是中秋节,也是我们全栈班的最后一天。全班大多数同学都更新了自己的心得,我自己也决定来更新自己的结业心得。
我过去几个月都没有更新博客,有一些人应该纳闷,我干嘛去了?
这两个月呢?我把台湾的班都停了。跑去北京搞 新生大学全栈营 去了。
全栈营的起因是这样:李笑来老师,某天在网路上发了一个感悟「一年可以成长为全栈工程师」。但莫名其妙的这句话,就在大陆被黑出了翔。
在我这个外人看起来很莫名其妙的原因,其实是因为在矽谷呢,说这句话根本没多少人会大惊小怪,甚至是把你黑出翔,但在中国莫名其妙的就变成了政治不正确。
随便找了一下 Quora,看到这种题目也没被战....大家还积极讨论? How can I be a full stack web developer in one year?
好吧。如果我们先不管这些。
若求「一组无经验新手,是否可以在八周之内搞出一个实战等级产品并上线」,这件事何以可行?
许多人也许觉得「现实世界不可能发生」。但就我以前带产品以及带徒弟的经验,我却认为「这应该是有可能的」。 (注意,这里是讲「应该有可能」)
我本身在业界多年,我是知道这几件事的事实存在:
所以,理论上、理论上,如果找到「学习上的瓶颈」「开发上的瓶颈」的相关答案的话。理论上、理论上,应该有一套方法,可以让这件事(「一组无经验新手,在八周之内学会编程,并搞出一个实战等级产品上线」)发生。
我自寸已经知道这其中大多数问题的答案。问题是:我真没试过,是不是能够把这些答案组起来,放到一个团队,按照这样流程跑,就能达到同样的效果?而且,即便这应该是可行的,可真没人相信我。
况且,这世界不存在这样的公司,也不存在这样的团队与机会。
如果我说要开个班说能办到这事呢,估计许多人都会认为这是大忽悠。
这个机会起源于:当时在 Twitter 上,当所有人都在骂李老师时,只有我无心的回一句,我认为绝对是可以的(因为这在西方世界很正常嘛)。
所以李老师就把我叫去北京了解看看,这到底要怎么搞?毕竟这事要是干成了。就是编程教学的一大突破。
而我当然是一口答应这个机会的。因为:
能有人帮我推最后一哩路,我当然是极其开心的。
最后我就接下这个挑战的任务,甚至还跟李老师大胆的说:
我不需要三个月,我只需要两个月。
(估计那时候脑子应该是烧坏的)
但是,我想先在这里先跟大家透露最后的结论:
其实不需要八周,只需要七周。 。 。 。 。 。 。 。 。 。 。
全栈营的课程表,这样说吧,真是写好玩的。这个营,在课表上列的知识都会教,只是绝对不是按照课表上的进度走。这个课表只是为了「政治正确」写的。
这个营真正的课表是这样的:
我压根就不走也不信全世界培训班都在做的那一千零一套(也就是上课花了大把时间教基础知识,毕业前两三周再做一个玩具 project)。这个班,我就打算走我研究认为有效的那一套,而且要做结业 project 就是全玩真的。
而且,我是开学第一天,才跟班上同学说,上课贴的课表都是假的。不算数,我走的是这一套。他们都懵了。 (毕竟学费不是小数目)
前三周的进度,我是非常有把握的。我在台湾就已经能够这样干,一点都不担心。
但后五周的设计,其实我是完全没把握的,哈哈 XD
我只是猜「应该可以吧......」,就这样干了,但不行也得搞看看。所以我就真的这样做了....
猜猜到第七周学生跟我抱怨什么?
「老师我们把项目已经做完了,下周要做什么?」
老师,我觉得班上毕业气氛太早了,不太好」
……这也太狂了。我压根没想过他们能够提前做完,还提前一个礼拜! !搞得我最后一周,只好临时去写一些投影片垫档讲课 -_-|||
人才火箭 http://talent-rocket.herokuapp.com
HackSchool https://hackschool.herokuapp.com
GrowthHackCN http://growthhackcn.herokuapp.com
约霸 http://online-ask.herokuapp.com (留学咨询项目)
在毕业那一周,同学还干了一件更疯狂的事:两天 hackathon 又搞一个真实产品出来(含 landing page 与 onboarding)。
浓缩书:http://nongsuoshu.herokuapp.com/ ( by 人才火箭队组员)
你说这帮同学,两个月前没人会写代码(20 人内只有 3 人有过去编程经验),谁相信?
我真不怪其他人不相信,因为是我也不相信!但他妈的他们做到了!
读到这里,读者们如果识货(有做过编程工作),应该知道这是什么样等级的训练。其实甚至我都害怕他们承受不了这样高强度的技巧与操练。结果....
让我觉得果然教编程还是要教新手,新手没玩过这些东西就不知道害怕....
(P.S. 给没有做过编程开发的读者一些背景知识,这是有靠谱 V.P. of Engineering 的 A 级团队内部才能够这样高效的做产品,可以理解成为我在给新手吃人参)
种种原因造成了很多人听到求职者是培训班学员,就退避三舍。
所以我非常想照自己的思路,设计一个:我自认非常有效的学习途径(起码这条路上学的都是业界实务),培养真的社会上所需要的「容易合作以及善自学的好程序员」。而不仅仅是「只能够 CRUD。。。。。」。
在台湾我做了快十期班,也成功带出很多程序员。其实我的教法已经非常有效率。
但是呢,我却发现一件事,这些班下来,我仅仅能教出能够独立「写功能」的程序员。
但是我教不出「能够做出有灵魂产品」的程序员。
所谓「有灵魂产品」的程序员:指的是他们做的产品一上线,就已经是打磨过的产品,而不是「只有功能,但却没人知道怎么使用的尸体」。也不是只会做功能,还要找运营、行销来回吵架产品一直搞不上线的程序员。
别说「能够做出有灵魂产品」的程序员了。因为很多时候,产品准时上线都相当困难。
在这个业界,捡到一个能够达到这样要求的程序员就是宝了。
所以,我一直在想,这样的人能不能够量产。我想要帮世界量产,这世界需要更多这样的「全栈程序员」。会项目管理,会做运营的程序员。 。 。 。
这个班就是这样的实验。
我很幸运的,实验如我想像的成功,而且比我想像的还要成功(提前一周做完)。
其实我一直在挣扎,我要不要把这些秘笈公开出来。考量的点有几个:
想了很久,最后决定还是把这个秘方写出来。我想至少至少,这套秘笈,可以让许多正在做产品的团队,加速内部产品开发的速度以及少走很多冤枉路。
五周的第一周第一天,我教 Landing Page 制作(以前在 GrowthHack 班有教)。
之所以为什么一开始教 Landing Page 而不是项目管理。是因为我以前在做产品时,发现一件事,很多程序员或创业者,做产品时往往都是一头热的就栽进去写 code,快上线了就...
所以:
学生必须先制作一个 Landing Page,成功吸引同学这是一个诱人的产品,然后同学进行投票,按照志愿分发到他想加入的组。
要做一个有价值的项目,是需要很多道加工的。
真实的世界,很多时候,用户虽然喜欢你能够解决的方案,但市场窗口是不等人的。必须得在市场窗口关闭之前,做出来并且上线。
所以:
产品团队为什么总是 delay 上线?鉴于这十年内我见过了形形色色的程序员,所以对于开发方向进行这样的闪坑指导:
鉴于 Step 2 与 Step 3,所以同学的进度是很神速的。大概做到第三周快结束,领先组的同学突然就要求我加入他们的例会讨论救他们....。 (我大概每周只参加他们的 Standup Meeting 一两次,确保方向不要歪得太夸张)
因为他们发现即使不管再怎么努力做功能,做出来的网站虽然精致,看起来还是像尸体。不知道要怎么往前推进。
所以我教了他们最后一招:Onboarding(以前 GrowthHack 班有教)。
User Onboarding「用户引导」,也就是要让新用户注册后,服务可以透过一系列的互动引导,具体的流程决定了用户是否会回养成使用产品的习惯并成为回头客。
利用一系列的 Onboarding 问题,抓老公、男朋友、别组同学、课程助理、微信朋友圈的路人,来当真实 User,对这个网站进行以使用者角度的批判。
然后,他们再花一周,把这些「Bug 全修掉」。
以这样的步调,同学有一组是四周就把产品上线了....。最后一周就没事干了。
人才火箭 http://talent-rocket.herokuapp.com
乃至于这组最后一周,还花了两天的时间跟又硬干了一个小专案当 Hackathon 打,在毕业典礼上展示。两天能做出的成果真是相当披敌当年我去打 Hackathon 的功力。 。 。 。 。 。
浓缩书:http://nongsuoshu.herokuapp.com/ ( by 人才火箭队组员)
分享这篇文章,其实真不是想炫耀这个班多牛逼,自己又多会教云云。说实话,我教学的技术并没有多厉害,我只是教同学:
我的初衷是:
我更感谢同学愿意花这么多时间赌在这个班上,认真的一起搞这个实验的 Project。
更让我见识了大陆同学的认真与狠劲,这个班要是办在台湾,我真不知道有没人愿意一起玩命的这样「认真投入学习」。
最后,为什么会分享这一篇文章所谈到的教学技术?用膝盖想都知道我耗费了洪荒之力,才证明出来这个实验结果。我再会教,也量产也量产不出个什么鬼。
与其关注教学技术是否可以独占,我更在乎这个世界的编程教学法,是否能够被大幅改变。有更多的程序员诞生出来,这世界会变得更加有趣。我更希望人家 clone 我的教学法,一起去改变这个世界。
P.S. 2016/09/15 中秋节,这是人生当中过得最开心的一个中秋节。
https://speakerdeck.com/xdite/quan-zhan-ban-bi-ye-zeng-yu
(周记每周更新)(基本上我们有 20 个博客,全发大家估计看不完...)