培训那些事儿
话说 9 月 17 日我们从 TWU 回来,吃了回国后的第一顿饭——火锅,第二天就直奔项目,本来是有人接待的,然而不幸的是——接待我们的人,请假了。于是接待我们的人成了神剑,一整天我们六个人就聊了 TWU(PS:其实是对我们进行 摸底),然后就没有然后了......终于在第二天的时候几位‘大佬’开了个关于培训我们会议之后,在第三天正式进入了培训。
内容
图.png话不多说,先来一张图。
将近一个月的培训,这张图上的内容我们都过了一遍。比较惭愧的是,上面的很多内容我都只学到了冰山的一角,但是收获还是挺多的。
过程
万事开头难,中间难,结尾难。
回顾整个培训过程应该是分了五个部分:Java、项目业务,以及敏捷。
Java
- 基础
- Java8
具体是先梳理 Java 基础知识,然后通过简单的集合运算作为练习,其中每个练习都是限时训练。
最开始总是习惯于使用 Java8 以前的语法来完成训练题,但是神剑给每个题目都设置了 Time-box,如果要在给定的时间内完成的话,只能查找 Java8 相关方法来实现。否则,就我个人而言要想在给定的时间完成是不大可能的。
其次,通过每日总结(eg:2017.09.19 总结、2017.09.21 总结)来梳理当天所学的整体内容,通过概念图来梳理某个知识点,加深对所学的理解,以及学习相关的边缘知识。
最后,我们写的每日总结神剑都很认真的阅读,给予反馈;而概念图则是大家一起过一遍,有问题的地方指出,然后自己下去再改正。
项目业务
- 搭建环境
- 了解项目架构
- 做以前的 Story
毕竟培训完了我们是要上项目的,学了项目中用到的相关技术,业务自然也不能错过,为了能更好的理解项目的业务,我们练习以前神剑做过的 Story。比较成功的是,最后关于业务的细节问题,我们把神剑也搞懵逼了,以致他再次请教了 BA。
在做以前 Story 时,最为关键的就是画 Tasking 疏导自己的想法,虽然在前期疏导的过程中比较费时,但后期大大提高了编码效率。
敏捷
业界人士听到 TW,第一反应就是敏捷,作为“招牌”自然是不可或缺的。
站会:每天早上 9:50,我们每个人都会说:我昨天做了什么,遇到什么问题;今天要做什么,可能会有什么问题(由于是在培训,我们每天做的都一样,所以关注点在于遇到什么问题,如何解决的,抑或有什么问题还没有解决,为此我们建了坑集)。
重构:一直记得特训营时听到的那句话“代码是给人看的,偶尔在机器上运行一下”,因此重构非常重要。每天早上都会先 Review 前一天写的代码,记录问题,自己下去重构,同时神剑推荐我们看《编写可读代码的艺术》,并写读书笔记。
在敏捷方面,前面图中的我们都有做,但是个人认为站会和重构比较重要,做的也比较频繁,特此详细说明。
结尾
最后的最后我们都变成了天使。
确实,最后的最后我们都变成了‘天使’。
说是一个月,其实除去国庆假期正式培训时间也不过两周。我们竟然学了这么多的东西,Unbelievable。
培训虽然进入了尾声,但是持续学习仍需继续,毕竟图上那么多东西、信息量那么大。
通过这次首先在技能方面有很大的收获,除了学到新的技术外,也基本养成了解决问题的固定模式,即:
- 知道是什么问题(定位问题)—— 自己去了解问题
- Copy 日志搜索 / 实践中尝试 / 寻求帮助 / Debug
- 记录问题
其次,其他方面也有所提升。例如:学会了较高强度的学习区里生存,增强了抗压能力,etc。
反思
吾日三省吾身,作业写完了吗?作业写完了吗?作业写完了吗?
回顾整个培训过程,最大的特点应该就是:信息量大、强度大。
每天都会 Review 前一天的作业,然后学习新东西、做新的练习,最后布置新的作业。
记得学完 RESTful API 之后,当时的作业是:在 TWU 的项目中选择 7 个 API 将它们改成 RESTful API 并通过所有的测试。除此之外其实当天还有另外一个作业,我们都默认先做另外一个作业,直到晚上 9 点多快 10 点的时候,作业还没有做完。有人在群里问 神剑 作业的事了,神剑没有直接告诉我们作业,而是引导自己去思考,最后说到我们没有风险评估意识(毕竟当时已经那么晚,神剑是 11 点准时睡觉的)。
于是乎,我们初步学会了提前做风险评估,报告自己的风险(提前说明自己会遇到什么问题)。
总而言之,虽然培训的信息量大、强度大,但我们终归是在学习区有所获,而非在舒适区里堕落。