全栈训练营心得

在全栈班度过的前世今生


笑来老师说过七年就是一辈子。 但我想说在全栈营里两个月就是一辈子。


##前世: 前世的我刚刚走出了大学的校园,恍然间才意识到学生时代就这样过去,校园生活一去不复返了。刚出社会的我,就像被放在沙漠之上,四眼望去都是路,但却不知道往哪里前行。同学们大多在毕业之前就找到了工作,但我的心里总有一份执念,不喜欢的工作不想去做。在当时的视角里,我只有两个选项,去做销售有可能挣得多。再者去考公务员完成父母的愿望(去做本专业的工作,那基本上就是混吃等死),这两个方向都让我细思恐极,因为深知环境对于人的力量,如果踏入那个圈子我也会被慢慢同化的。人活着是不能没有灵魂的,就如那句很有名的台词,人活着没有梦想跟咸鱼有什么区别。就在这个时候,看到了新生大学软件学院的招生信息。那个报名表单就如一根救命稻草一样。虽然第一期没有被录取,但幸运的是我坚持到了第二期的开课。其实我也不知道有第二期的课程,本来打算要南下找工作的我,感谢命运第二次向我伸出了手。但是面对高达6W的学费,还有课程时间这么短。我身边的大多数人都以为我疯了。多次父母的商量才同意出这笔钱让我学习。我深知机会来之不易,一辈子没有多少能有改变命运轨迹的机会。能够改变自己的生命轨迹来说的话6w块钱已经很值了。事实证明在全栈班学到的知识远比6W要珍贵的多。


##前世的准备: 对于学习这门课程来说我是非常没有自信。自己在心里巴拉巴拉算了一大堆,感觉没有一项技能是突出的。当时看见第一份作业是自己建立一个小的留言板。而且教程清楚的说明完成不了作业会被取消资格,当时我就懵了。还好当天的晚上就把教程放了出来,要不然我直接就想撞墙了。前后大概花了10多天的时间,完成了环境建制课到初级作业再到中级作业。中级作业练习了很多遍(rails107)。。。一点一点的感受编程的神奇之处。


##全栈营开到的宝箱:

###方法宝箱:

  1. user story和学习方法论。 现在回想开学的第一天,老师就给了我们一个大礼——user story。越学习到最后,越明白user story的强大。通过用户的角度才拆分功能,明确网站的主体功能(must have),如果没有这个方法,很难相信如何来开展一个项目。而老师在刚开始的时候并没有完全说明它的厉害之处。正如老师说过有些坑你要踩过你才会有成长。突然把好东西摆在你面前,你其实是不太清楚它的价值到底有多大。这印证了老师讲学习方法:学习是拼图,而不是登山。攒够足够的知识点才能对一门知识有全面的了解。知识点不够多之前,就需要你大量的练,形成肌肉记忆,神奇的是有些知识点你练着练着就懂了。

  2. 关于大脑学习的模式。 这个观点更是颠覆性的。它说明了一个事实,我们的大脑是不善于思考的,我们日常处理大量的事物,其实都是在调动脑海中的记忆。这就让我更深一层的理解为什么学习一项新的技能要大量的练习。不光大量的练习非常重要,学习的效率也特别的重要。对于大脑的效率来说。左右脑交替使用的时候效率是最高的。白天就是左脑(分析)的学习时间段,这部分时间就需要大量的练习写code,学习新的知识点。晚上就是右脑的学习时间段,这部分时间就需要用来整理白天学到的东西了(在这个时间段写code效率是很低的,有时候很简单的bug都会把你困住)。

  3. ORID的写作模式。 以前认为写作这个东西,写的好坏大多是由于天赋原因的。写的多少大多是有灵感来决定。其实完全不是我所想象的那样。每个人都可以学会写作,而且还能大量的产出。关键就是在于的脑子是否清晰,ORID就是来帮你缕清大脑,锻炼你的元认知能力。其实大多数的文章都是模式,起承转折。每天写log也是对一天的总结和沉淀,不会让你在学习的道路上跑偏。开始之前写ORID是十分痛苦的,一个标题写不到几句话就完结了。日常的很多事情到晚上去回想都会记不清细节。这又强行让我养成了每做一件事,每学到一个知识都会有一个简单的记录。只是这一个简单的习惯,带来的好处都是巨大的。

  4. 练习上瘾。 练习上瘾。 学习任何技能都需要达到忘我的状态。真正的爱上学习才是学的最快,最幸福的方式。对于我们从小就被告诫不能上瘾,一切以自律为最高要求的人,上瘾的能力都快要完全消失掉了。幸运的是上瘾也可以通过套路练习来获得。首先上瘾的感觉就是你对做一件事情感觉爽,停不下来。对于太困难的事太久没有解决,人往往选择的是放弃。所以说成就感是最容易让你上瘾的毒品。最好的获得成就感的方式就是教,教同时也是一次360度重新检验知识的机会。在教的过程中能对你学到的知识重现的梳理,这个过程你会感觉到真的懂了,在这个过程中还会有很多意外的好运,毕竟每一个人碰见的问题产生的疑问都不同,你会对学到的知识有更深一步的了解。

###心理宝箱:

  1. 摆脱学习上的傲慢。 在学习上,我们会不自觉的犯下很严重的错误——不跟着老师的方法走。想着自己有一套用了很久的学习方法然后去执行。用很多已知的东西来解释未知的事物。其实大多数技能是没有关联的,你这样做的结果只会让自己掉入很多很大的坑而已。学习重要的是要跟比你强数十倍的大牛,用他们的套路,跟住他们的方法,然后一丝不苟地去执行。就像xdite老师说的:没有学不会的学生,只有傲慢的学生。

  2. 记录错误与增强自信。 记录错误往往要比记录正确要有用的多得多。但是记录错误的过程还是十分痛苦的,你需要时时刻刻的证明自己是傻×。越是简单的错误,就越应该被记录。因为那些都是你在新手过程中最常出现的错误。而且想要成长就必须这么做。能够记录错误并改正又需要强大的自信心。因为人的本能会去遗忘让自己的痛苦的事情。如果这个错误对你的自信打击特别大,它会让你一蹶不振。其实出现错误程序对我们说的话,并不是说我们本身有问题,而是你写的代码出错误了。不要慌,不要害怕,相信通过练习,通过钻研你一定会做成的。

  3. 学会分享。 我们每周会练习4天的时间。星期五的时间来用沉淀、小组讨论和休息。说到分享,我从来不会想到自己有一天会这么乐于分享。从小我就有一个毛病,就是跟不太熟的人基本不说话,更别说是一个面对面的分享会了。第一周的分享会对于我来说简直就是挑战。怀着坎坷的心情分享后,达成的效果却意外的好,不仅总结自己的一周的收获和错误,还能学到同组人的很多经验。在团队项目的阶段开分享会更重要,它会确定大家是在同一个频道上来推进项目,大家可以在那一天重新梳理项目,讨论未完成的ticker确定这些功能还是否继续。

  4. 摆脱情绪的困扰。 之前遇到问题就会陷入一个很可怕的心理。就是把自己营造成悲情人物,让自己同情自己。一天又陷入了这种情绪(原因是自己搞不定一个功能)。正好老师在教室里面直播,也那么正好直播的观众问道了有关情绪的问题。xdite老师的回答依旧很屌。一棒子就把我从这种情绪之中打了出来。老师是这么说的:产生情绪的原因不外乎是发现自己是个傻逼,什么事情都做不好。这种情绪对自己的成长来说完全是负面的。发现自己是傻×、事情做不好的话。你就去努力啊,你就花时间去练习。傻×还有情绪那还怎么救。一语惊醒梦中人,当天晚上收拾好情绪,然后就做出来了。。。

  5. 自证预言。 自证预言威力就像核弹一样的大,可以说它时时刻刻都在影响你的一切。这点在我身上深有体会。老师在教学的中期举办了一个线上商城的大赛。奖品是北京亮的牛排晚餐。其实第一感觉是这个不关我什么事,很多东西我都搞不定,参赛了也不会胜出。但后来又抱着试试看的态度,去做了些东西。可想而知我的自证预言深深的影响这我,面对什么新功能我第一反应就是抵触的,搞不定,做不了。虽然自己也花了很多时间,但都是以消极的心态来做事,效率自然而然的低,结果当然就是不好。

  6. 选择热爱的工作。 这是老师的一个深夜的加餐。面对如何选择工作,老师给我们算了一个简单的数学题。大多数人面对自己不喜欢的工作是这样想的:做不喜欢的工作8个小时,回到家里练习2个小时自己喜欢的技能。这样你的练功时间就是2个小时。如果你要选择一个自己喜欢的工作呢(8+2=10)。你的练功时间足足翻了五倍!就是这样简单的思考,大多数人都没有想过。其实没有所谓的“天才”,大家都花费了大量的时间去练习,然后成为高手。对于内心不是真正喜欢的事情,人也是无法持续太久的,因为太痛苦了。学习原本应该是一件很幸福的事。那些曾经以为的优秀品质(比如坚持),其实都是为害人的伪概念。做任何事想要做的不错都不可能去靠坚持来完成。现实也往往是很多人从入门到放弃。正如尼采说的:每一个不曾起舞的日子都是对生命的辜负。选择自己热爱的工作,不要对不起自己的一生。

###项目宝箱:

  1. Growth Hack(部分)。 因为Growth Hack的东西实在太多,够写很多篇logdown了。这里就说让我最震撼的几点。第一,就是做项目要做自身很了解的主题或者本身就很稀缺的主题(PMF)。项目开展之前要写调查问卷。为什么要写调查问卷呢,它是为了明确你的服务重点、产品走向和用户真正的需求。项目开始的第一步,不要先去开发,你需要先投放LandingPage。如果LandingPage有市场响应,才说明这个项目能够继续下去。这里不得不惊叹,老师写LandingPage的套路是我见过最厉害的营销。简单的八个字“消除疑虑,增强信心”就道破了营销的本质。

  2. 团队合作,面对不同时期的自己。 关于五周的团体项目。开始我对这一块完全是懵的。可以说从来没有跟这么多人一起合作。但神奇的是,通过我们逐渐写出user story,通过做LandingPage(产品的最终方向,感觉要跑偏的时候就要看看),项目的方向一步一步就明确了。跟着老师的指导,四周竟然完整的做出来一个社交网站。这其中对于我的改变是以前从来没有想过的。这四周的成长更是飞速的,老师说团队合作就是要跟不同时期的你合作。团队合作会把你的缺点暴露无遗,而你也无法回避它们。你只有去改变才不会拖团队的后腿。回想起来自己猪队友和好队友的点。也更新了我对什么是好队友、什么是猪队友的认识。尤其是勤劳的猪队友这一点,遇到问题花很长的时间去解决,而不是选择求助或者现行搁置,而导致无法完成当天的任务。通常这类人都会熬夜加班做出来,但是第二天他的效率可想而知,恶性循环。关于自己猪队友的点,就是项目开始的时候,有一段时间是自己来登山的,后来才发现交流才会让效率变得更高。可能队友的一句话就可以把你的问题解决,还有询问老师还能获得很多意外的惊喜。做不出来不要紧的,要相信队友可以帮你解决问题。

  3. redmine的项目规划。 很久之前就知道规划对于任何事情的重要性。在团体项目更是很重要。规划能让项目避免崩溃,能以避免掉入变成猪队友的陷阱,现有规划的时间内不能完成的事物。我们都选择拆分后在搁置。规划也能帮我们理清开发的思路。没有规划之前,写post的controller是连着建3个的(admin下面的、account下面的和自身的),CRUD也是都写全。后来才慢慢意识到这对代码维护造成了很多的困扰,有些code写出来是根本用不到的。大大降低了功能的完成时间。也无法在大脑里面对功能的实际流程有太清晰的思路。提前做好拆票和规划,效果就会完全不一样了。养成规划的习惯会在学习的道路上让你避免很多的坑。


##获得新生: 全栈营是人生中践行的第一站。2个月的时间,我已经带着前世的记忆更新迭代到了下一个辈子。很庆幸在我还算年轻的时候,学到了这么多的知识,学到了最有效率的学习方法,也认识了一群相信学习可以改变生活的人。面对前世种种有些改变对于我来说是完全出乎意料。我知道选择环境的重要性,但是没有想到它带来的改变可以这么显而易见。镜像神经元不知不觉就会吸收身边优秀人的品质。从真正认识到自己的表现型人格,到能够把自己身上的表现型人格慢慢剔除掉。那种改变是不可言语的。相信所有技能都可以通过套路来习得,相信自己搞不定的事只是时间的问题。相信做产品的终极目标是用来解决人与人之间的问题的。有一段时间我是特别信奉基因对人类的影响的,相信基因决定一切。但现在的我相信成长可以改变一切。相信人是一定会证明自己说的话是正确的,就从这个角度来说,我们都需要·1给自己一个正向的预言。相信成长带来的复利效应是无法想象的。通过全栈营的学习也让我真正的爱上某一件事,想想以前对喜欢的事情都是浅尝辄止,没有真正对一件事情产生上瘾的感觉,还真是一件挺可悲的事情。不管是命运也好,还是机缘也罢。这种重获新生的感觉,都给我巨大的力量去面对未来的一切。


##结语: 全栈营的课程马上就要结束了。对于我这个慢热型的人来说,刚要跟大家混熟就要分别了,心里还是很舍不的。这次的学习经历算是一生之中就骄傲的一次。感谢那些一直帮助我的人。感谢老师能倾囊相授。想起来大学毕业的时候,老师对我说过的一句话。我也送给全栈班的大家:莫道前路无知己,天下谁人不识君。