天天看点

DIY班的心路历程

2020年04月19日,经历一年多的DIY班顺利毕业啦。清晰的记得DIY班开始于去年的春节,2019年2月5日,总计439天,经历了二十余次的淘汰,从最初近500人到最后的12人,残酷的筛选让我们蜕变。非常幸运我们的小组“码出人生”在最后的角逐中最终胜出,我也成为最后的优秀毕业生,非常感谢一路走来的成长。DIY

DIY班的心路历程

结缘孤尽老师与码出高效

结缘孤尽老师与码出高效先从云栖大会说起,早在15年第一届正式更名的云栖大会,抱着看看热闹,提提眼界的心态就去了,一天的参观大大超出预期,许多机器人、3D打印的表演非常吸引我,在论坛里也似懂非懂的听了不少干货。随后的每年云栖大会,即使后来收费了,与工作日冲突,也会专门请假去转转。了解孤尽老师是因为阿里巴巴Java开发手册,忘记是在16年还是17年,手册发布,便搞到学习了一遍,那时的我还有太多盲区,但手册也算抛砖引玉,借此巩固了不少基础知识。随后便紧跟手册的版本,随着学习的深入,项目经验的丰富,许多规范也内化下来。18年的云栖大会,恰逢《码出高效》发布,听说《码出高效》是手册的解读,便调整了参会日期,在发布会上,有幸见到了仰慕已久的孤尽老师,专门买了两本孤尽老师亲笔签名的《码出高效》,另一本送给了好朋友刘汪洋。

DIY班的心路历程

《码出高效》大大超出我的预期,《码出高效》反复读了好多遍,对于处于瓶颈期的时候,抛砖引玉,开启了新的大门;后来找工作的时候,借机系统梳理了Java知识体系;日常工作中,常常翻看对照,理论与实践结合,顿觉更加深刻。

DIY班的心路历程

一杯茶,一本书,充实自己,收获信心,憧憬未来。

参与DIY班

DIY班主旨

其一,Deeply Inspire Yourself 深度激发自己

其二,Do It Yourself 实践出真知

深度激发自己,应对挑战与挖掘挑战的必备心态,也是年轻人需要有的不断提升自己的上进心,需要直面自己最弱的环节,同时硬着头皮补上来;实践出真知,非常朴实的道理,需要动手实践验证效果,而非纸上谈兵,更不是望而却步。主旨即是基调,既然选择了训练就要做好,认真对待,收获不浅。

DIY班更深层次的含义的每人可发挥自己的才智,既是参与者,也是创造者。

参与DIY班缘起于19年春节,朋友圈里看到孤尽老师要办这样的一个班,略有奇怪但更具个性,特种兵的训练也吸引我,好奇着会经历什么挑战。但我相信这会是一段不错的经历,一定会有意想不到的惊喜,一定会有成长。

最初参加DIY班,正好赶上裸辞重新找工作,虽然面临较严峻的经济压力,第一次真正意义社会谋生也很是忐忑,但是我可以选择规划,静下心来夯实实力,准备新的开端。借着宝贵的休整期,静下心系统梳理技术知识体系,这时DIY班的主旨激发我重新审视知识深度和实践动手,硬着头皮深挖掘更深层次的东西,克服了心理畏惧,反而发现其实并没有那么难,面试也无非是能力匹配的双向选择(结合自己作为面试官的感受),并没有那么恐怖。随后的求职很是顺利,最后选择了发挥舞台最大的公司。新公司面临全新的环境,技能需求也有许多新的增加,但是前面系统的知识体系梳理应对新的工作更加得心应手,克服新知识和实践的心里畏惧,面对全新的工作内容,也可从容应对,一步步展开,快速获得了公司的信任与认可。

DIY班的作业常常触及知识盲区,但是并没有因为不会而放弃,因为毕竟是为了学习。为了完成作业,我首先搜集很多篇文章及相关书籍,学习总结,激发自己理解,同时吸取前面同学的精华加以融合,有经验积累就总结经验,没有就做好理论总结,虽说作业不一定是最好的,但是却可以是我当前能力和时间情况下可交付的最佳版本,目前的工作也会涉及到要出技术方案设计,也会触及知识盲区,但是完成作业的方法也在工作中屡试不爽。

DIY班的作业其实并不是术的东西,因为一个个的小点来看好像是没有价值,但是与个人知识体系结合,就能拓展体系深度,挖掘多深度下更多需要学习的东西;克服学习的阻力,终身学习也是更好的选择;经验总结加深理解理论,总结经验方法,反哺与工作实践。因此我觉得DIY班最大的价值正在于此。

DIY班大部分同学的作业都是有较多思考的,整理也比较详尽,但是很多同学不会关注前面同学的回答,前面同学讲的很到位的地方也未参考。其实可以再加入一条规则:后续同学回答需要融合前面同学回答内容的精华,并加入自己搜集或思考理解的内容,这样接力可以提升回答质量,也可以在最后有一个差强人意的总结。

曾经也走过不少弯路,在Java方面,有过一两年原地踏步成长不大,有过重表面应用而忽视基础理论和核心实现原理。Java应用开发也很久,但是不敢碰也不懂底层原理,这是当初瓶颈期的原因,因此在合适的时间,打破心魔障碍,向更高远的方向发展,有意识与滋滋不断求知探索,这是我跨过瓶颈期的核心收获。

争取学习委员

争取学习委员,应该算是大学里的经验了,想要做好一件事,就作为骨干参与进去,在DIY班我的切入点即是学习委员。自告奋勇成为学习委员,正好就要负责第一期作业的整理,略有点慌,不过兵来将挡,首先把大家的回答汇总起来,习惯于使用思维导图整理,将大家的回答提炼成点,再转换成思维导图的树状节点,即可产生比较清晰的总结,最后再把内容汇总成文档供老师与其他同学参看。

初期几次时间比较充裕,整理的也比较详细;但是随着后面工作压力的增大,整个人的忙碌程度一下提升很多,有时完成作业还有些费劲,同时还要汇总大家的作业,找出未完成的同学。算是个遗憾,前几次的作业有汇总和总结,而后面的作业只能做到汇总了。后续随着工作压力进一步加大,周末常常也要进行工作,曾有想过放弃学习委员,其他班委的放弃确实动摇了军心,不过最后还是苦苦挣扎,支撑下来,于己也相当于是对自己对DIY班负责,至少说应该促进这个班可以正常进行下去。

记得是有一天能杰同学发起了做一个DIY班管理系统的活动,主要目的是提供一个平台可以汇总大家的作业,方便班委收集统计,我觉得非常有用便参与进去,主要负责前端和后台框架部分开发,说做即做,很快开发了个雏形,不过随着时间的推移,小伙伴们都忙了起来,时间也越来越不充足,进度越来越慢。另一方向原因是随着产品的出来开始思考它的意义,没能得到老师与其他班委的支撑很是灰心,有一天突然想了明白,解决作业提交汇总的平台或者方法多的很,但是之所以选择微信群接力方式却有两点好,首先可以简单快速形成闭环,第二点是大家都去微信提交,每天看微信又最多,微信上的内容最容易看,也容易有存在感,而一个产品大家为了提交作业去用,大概率大部分作业完全无人问津,少了存在感也更容易放弃。结合DIY班的规则,大大佩服孤尽老师的设计艺术,首先DIY班规则是简单的,短短几句话就可以概括清楚(定期发布任务并设置截至日期,所有人微信群提交作业,未提交或不认真回答或最后一个提交淘汰,班委负责统计整理级淘汰);其次DIY班是可落地的,不用依赖复杂的流程设计,成为闭环,持续运转。

码出人生小组

毕业最后的考核是需要随机组队,在一个月的时间里完成OneErrorCode平台的从零到一的搭建,需要在业余时间完成从设计到开发到测试到部署的全部流程,交付一个可运行的产品。毕业项目考验的正是在较短时间内快速组队并从零到一完成一个项目的能力。

首先的随机组队,我,刘汪洋,郝宇飞,刘鹏飞,李志福,杨益萍组在了一起,我们快速会议确定了组名与口号。

队名:码出人生(代表通过编码改变人生,来自刘汪洋的想法)

口号:指点架构,激扬代码(作为程序猿,指点架构,激扬代码想必是最高境界啦,来自高家祺的想法)

敏捷实践是团队的一大特色

自组织:团队里面要让大家都发挥所长,整体的情况是大家共同推进的,不依赖组长的去中心话(多中心)架构,最初根据各自特长即确定了组长、架构Master、代码Master、测试Master、部署Master、PMO六个角色,各自分工

服务者:无论组长、架构Master,每一个角色都是干杂活的服务员,服务其他小伙伴专心完成工作

以始为终:从项目的最初开始便在不停的讨论最终的交付内容,思考交付目标价值点,同时以目标不停修正方向,最终完成预期目标

效果可见:从项目开始第一天晚上,我们即完成将项目通过配置Docker一键部署服务器,在服务器查看效果,后续开发每有小功能完成便会快速部署测试

快速开发组件:通过开发快速开发组件,快速生成前后端代码,让开发更加顺畅

结对编程:项目开始高家祺与刘汪洋,郝宇飞刘鹏飞和李志福组成两个战斗小组,分别承担两部分功能开发,逐步缩小降低团队管理成本,两小组互相推动完成交付,同时小组内互相讨论,互相Review,互为back up

灵活机动:结合需求快速调整方向,项目开始前我们即已制定计划,当任务最终发布后发现计划不符合任务目标,迅速开会调整策略与部署

感谢同伴好友刘汪洋

在DIY班的后期,坚持的信心也有动摇,非常感谢同伴好友刘汪洋的鼓励和支持,每次作业会互相沟通些心得体会,互相提醒及时整理交作业。记得第二期作业便是讨论坚持,组队一起互相激励提醒,是坚持下去的最好办法。

最后全力以赴做事

全力以赴是一种态度,代表着认真关注,每个人精力是有限的,注定有很多选择,全力以赴即投入较多精力,全力以赴去打破一点,说不定就可以带来弯道超车的奇效。越是盲区无经验事情,越全力以赴认真对待,便可收获经验,弯道超车。