DIY一期心路历程

简介: 孤尽老师组织的历时一年多的DIY班刚刚结束了,但是孤尽老师传授的 Deeply Inspire Yourself 和 Do It Yourself 的口号将继续激励我们思考和前行。本文介绍自己参加 DIY 班的起源和主要收获,希望对大家有帮助。

1、缘起

DIY毕业项目刚刚结束。历时一年多的 DIY 一期正式结束。
经历了一个多月的准备,毕业项目中我们的小组“码出人生”最终胜出。

首先说下和 DIY 结缘的背景,个人比较喜欢代码规范,非常重视基础。

从 《阿里巴巴 Java开发手册》刚发布不久,就第一时间下载 PDF 版并打印下来认真看了两遍。孤尽老师《码出高效》在云栖大会发布当场就让高家祺学弟去找孤尽老师现场购买签名版,如获至宝。并非常兴奋地推荐给身边的同学。

Snipaste_2020-04-24_20-32-47.png
后面得知孤尽老师要办 DIY 班,在高家祺学弟的推荐下加入了 DIY 学习群,开始见到 DIY 的口号就被深深吸引,有些新奇。

其一,Deeply Inspire Yourself
深度激发自己
其二,Do It Yourself
实践出真知

参加 DIY 班,每一段时间都有一份作业,可以看到其他同学的答案,可以看到不同的学习方法,看到不同的侧重点。

虽然每一期都会有人淘汰,但是正是因为这种淘汰机制,才能够淘汰掉一些不够坚持的人,只有有危机感才能更认真地对待 DIY 的每一份作业。只有珍惜机会,有毅力的人才更容易走到最后。

2、DIY 班的过程

2.1 题目

每一个题目都很难直接搜索到答案,都需要自己去看源码,自己去搜很多篇文章,自己去书里查,自己去思考,这是DIY班题目比较亮点的地方,这样激发了自己去思考。

2.2 规则

DIY 班开始的规则比较一致,后面淘汰规则比较多样化。这些规则更容易淘汰一些不仔细的同学。这本书就是一种考验。规则的多样性也是 DIY班的另外一大亮点。

3、毕业项目

3.1 团队

下面说说对团队小伙伴的印象:

郝宇飞 - 队长,思维非常清晰,特别喜欢思考,非常优秀,值得学习。

高家祺 - 导师的本科学生,本科期间就带社团,工作后成长迅速,非常有想法,年轻,前途无量。

刘鹏飞 - 负责支付宝登录还有 ES,做事很负责。

李志福 - 接触不太多,但是感觉人不错。

杨益萍 - 人非常阳光,做事认真负责,非常真诚,值得大家学习。

虽然很多淘汰的同学也有很多很优秀的甚至可能比我们技术更好,但是留下的人的确都是更有毅力,能够坚持并且真诚靠谱的人。

3.2 我做了什么

毕业项目最大的问题是如何在较短时间内更好地和不熟悉的小伙伴一起完成一个项目。

在这个过程中时间紧任务重,为了更好地实现任务,我提议采用结对编程(和标准的结对编程有区别)的方式,团队内再次拆分成两个小组,小组内相互讨论,相互 CR,相互 back up。

根据公司软件开发的流程建议开会的时间点,并结合使用错误码的痛点想到了自动生成枚举类打成 jar 包的方案。

困难很多,虽说一个月,但是实际用到开发的时间是有限的,公司的事情非常多。

但是既然选择了远方,便就要风雨兼程。

最后阶段老师们提出了很多建议,大家加班加点一起修改 bug的场景记忆犹新。为了一个目标一起加班加点地干活的状态非常充实。

3.3 经历的主要磨难

磨难主要有两点,其一是快速掌握新技术,第二是心态。

快速掌握新技术

从开始确定使用neo4j 心态上就有些“不适”,因为听起来高大上,时间紧,很怕掌握不了。由于前端资源匮乏,家祺侧重前端和代码自动生成,freemarker 生成枚举就要我来写,以前没写过,时间很紧张,有点怕。合作过程中其他人用 mybatis-plus 部分查询需要用到 Wrapper 第一次见。最终克服心理的恐惧,快速熟悉 neo4j,几乎一天看文档和demo,第二天上手写代码。团队其他成员使用 mybatis-plus,Wrapper 没用过,看函数列表快速上手。 freemarker 以为只能生成 html,最后发现它还可以生成 java 源码。

心态

做毕业项目期间经常加班,周末还有一次要值班,平时还要看点书,写写博客等,时间太紧张。

最后一周的时候大致成型,但是小问题很多,面临着是否要再认真投入修改的抉择。

孤尽老师的提醒很及时“行百里者半九十”,越是最后的阶段更难。

最后尤其是高家祺热情很高,我们冲了一把把一些重要的问题优先优化,小问题暂时没有修复(如支付跳转问题)。

3.4 毕业项目的收获

最大的收获之一是孤尽老师对我们两个团队的点评:

一、信任是什么?(信任是主动的,单向的)
二、透过现象看本质。(需求背后的都是人性)
三、解决问题的能力。(定位问题更加重要)
四、效率是什么?(效率是单位时间你干了别人两倍的活)
五、完成比完美更重要。(代码是改过来的,架构是演进出来的)
六、新技术的恐惧,是IT从业者的命门。(回顾第一节课:学习如何学习的能力,快速学习的能力)
七、提升抗压能力。(抗压能力是事业的基础)
八、演讲能力,限时演讲。(通过关键词来带动演讲节奏)

另外也克服了自己害怕新技术的心理,收获了团队的友谊。

此外,正如孤尽老师再毕业项目中点评的那样,设计功能时要多考虑异常场景,这样才能做得更完善。

完成比完美更重要。这句话在毕业项目阶段孤尽老师也提到过。我们项目之初就讨论过这个问题,时间紧任务重,最终决定先实现核心功能。

最后,另外一个团队的同学作品的也有很多值得学习的地方,孤尽老师不让两个团队互通有无最后才有更多悬念,让整个项目更有期待。

4、成长

4.1 变化

很多东西虽然不是 DIY 直接要求的技能,但是 DIY 帮助了我养成认真踏实的态度,让我意识到很多问题看似简单,其实想研究透还是要认真下一番功夫。

4.1.1 字节码入门

从开始参加 DIY 班时,对字节码指令不太熟悉,到现在常见的字节码指令的功能,随手就可以反编译和反汇编,甚至可以看常见的反汇编的字节码,头脑中逆推出源码。

4.1.2 从学习到解析(学习如何学习)

从开始学习《阿里巴巴 Java开发规范》,到之前通过源码、反编译和反汇编结合《Java 语言规范》和《Java 虚拟机规范》等,从自己的学习方法论角度对《手册》进行解读,在慕课网出了一份 ”解锁大厂思维:剖析《阿里巴巴 Java 开发手册》“ 的技术专栏,现在已经有 4500名读者。

结论很重要,但是原因更重要,我们如果总是记住结论就无法灵活运用。因此我们要采用多种方法来理解《手册》为什么这么规定,通过学习《手册》达到脱离《手册》的目的,在学习过程中总结和实践好的学习方法,最终提高学习的能力和解决新的问题。

专栏以明确是什么(what),为什么(Why) 然后再是怎么做(How)的角度学习知识。

本质上是使用源码、反编译、反汇编、代码调试等并结合《Java语言规范》和《Java 虚拟机规范》等权威图书为主要参考,来学习《手册》中涉及的一些知识点。

在我现在看来这些是不错的 Java 学习方法。

专栏最后一节也写到了专栏的初衷,其一是对孤尽大佬的崇拜;其二是希望传播一下自己认为高效的学习方法。

虽然现在看来还有很多可以补充或完善的地方,但是通过专栏的编写,让自己又一次深入阅读和学习了《手册》,在教别人的同时,又加深了自己的理解。

我们看书、看专栏可以吸收别人的学习方法,这也是在提高学习如何学习的能力。

《手册》泰山版已经发布,一定会跟进大佬的步伐,早点下载学习。站在前人的肩膀上,少趟坑。

4.1.3 克服对新知识的恐惧

从开始时对新知识非常恐惧,到参加毕业项目时快速熟悉 neo4j、 freemarker 和 mbatis-plus 等,克服了心里障碍,探索了快速学习新知识的方法如拉取源码运行单元测试、看官方文档、找简单的 demo、查看核心类的函数列表等。

从开始孤独的学习,到现在有几个技术上不错的好朋友,一起探讨共同进步。

4.2 收获

这一年发生了很多变化,很多都是直接和间接因为参加 DIY 班带来的收获。

归纳和演绎。通过具体的知识归纳出共性的本质的规律,然后通过本质的规律取运用到解决问题上。这也是一个不错的学习方法。

机会留给有准备的人。不仅要有一定的知识储备还要有认真做事的态度。

克服对新技术恐惧的心态。新的技术的本质原理还是计算机专业基础中的一些理论和思想,大家都常用的技术一般不会太难。后面还是要继续巩固专业基础,专业才是安身立命的根本。

孤单丝不成线,孤木不成林,很多事情要依赖团队才能完成,如何在团队中作出最大的贡献体现自己的价值很重要。

知道不等于懂得。我知道一个知识和真正理解和掌握是完全两码事,但是会有很多人看过或者知道某个知识就认为自己掌握了,然后不屑一顾,错过了深入探究的好机会。

每一个疑问代表着至少一个知识盲区,代表着极佳的学习机会。当我们看到DIY班的问题自己没把握的时候,说明我们学的还不到位,这恰恰是学透某个问题的机会,可是很多人在面对问题一知半解的时候总会忽略问题,而不是趁机研究透问题。

先猜想后验证。在学习和研究 DIY 班涉及到的一些源码时,体会到先猜想后验证是高效学习的一个重要方式。如果一开始就直接看答案,就会觉得答案是理所当然的,一旦自己动脑思考解答,很多人就会手足无措。

不仅要知其然,而且要知其所以然。是什么,为什么比怎么做更重要。正如孤尽老师所说,技术人员总喜欢开始就关注 how,而是应该先关注 why,再关注 what 和 how。其实正是因为我们在学校里养成了记忆答案的学习方式,脱离校园后就没有意识到问题,没有主动思考原因。

行百里者半九十。越是到最后阶段越是容易放弃,很容易功亏一篑,坚持很重要。

授人以鱼,不如授人以渔。孤尽老师 DIY班就是在践行这个原则,同样我们自己学习和解决问题时也应该多思考通用的方法而不应该满足于解决某个具体问题。

心态转变。有对团队有益的想法,不再憋着,而是勇敢地说出来。

专业才是安身立命的根本。说到底各种 DIY班的问题是否能够回答的准确严谨,本质上还是要看专业基础是否扎实,其次是平时是否认真去看了源码。后面打算多巩固下专业基础,让自己的专业知识更加扎实,更牢固。

细微之处见真章。发现孤尽老师看代码看得非常仔细。印象比较深刻的是 Boolean 的 hashCode 这个问题,看似很简单,但是绝大多数人都没进去看过,都没思考过为什么这样。

5、吃水不忘挖井人

感谢孤尽老师免费组织 DIY 班,传授大家正确的学习方法和理念。

感谢一藏和润瑾老师给我们的项目的一些建议和点评。

感谢团队内所有的小伙伴的努力。

非常渴望可以有一个纪念性的东西可以代表这么长一段时间的付出,可以给自己带来更美好的回忆。
听说 DIY 班最后会发毕业证书、毕业奖章,优胜团队会有奖杯,非常激动。
IMG_20200424_192158.jpg

6、启程

每一次结束都是一个新的开始

就像高中毕业了,并不代表解放了,而代表不一样的学习模式;就像大学毕业了,并不代表自由了,而是要面临工作和生活的压力。

DIY 班一期结束了,但对于技术的进阶来说却是一个新的开始。

DIY 班将留下最美好的回忆。未来带着 DIY 班得到的一切启发,继续思考,继续前行。

PS: 后面会推荐更多的朋友参加孤尽老师后面的 DIY 班,跟着孤尽老师学习。

相关文章
|
1月前
|
前端开发 JavaScript UED
不可思议!前端小白如何靠这些技巧逆袭,成为团队中的闪耀之星?
前端开发对初学者来说充满挑战,但通过正确的方法和技巧,你可以从新手蜕变为高手。本文分享前端小白逆袭的秘诀,包括夯实HTML、CSS与JavaScript基础,掌握前端框架与库,提升性能优化技巧,以及持续学习与分享。示例代码展示了简单的HTML+CSS+JavaScript页面和Vue组件,帮助你逐步进阶。
22 4
|
7月前
|
前端开发 JavaScript 开发者
【杂谈】做独立开发者赚钱吗?
最近看一些论坛上,独立开发越来越火爆🔥。 例如 1. xxx网站SEO做的好,靠网站广告月入3000dollar 2. 开发了xxx软件,上架 Apple Store,睡后收入可以不用上班等~
250 0
|
监控 小程序 安全
热饭的测开成果盘点第十八期:微信小程序平台
本期介绍的是一款测试微信小程序的自动化平台,功能比较简单,算是我给我带着我小徒弟(txn) 练手的第一个学习用平台。
热饭的测开成果盘点第十八期:微信小程序平台
|
域名解析 网络协议 安全
清华雨课堂实现太难?手把手教你复刻一个“小红书”玩一玩!
清华雨课堂实现太难?手把手教你复刻一个“小红书”玩一玩!
338 0
清华雨课堂实现太难?手把手教你复刻一个“小红书”玩一玩!
|
监控 DataWorks 前端开发
第十六届 D2 的第一波话题新鲜出炉啦~干货满满,不容错过!
上上个周末,有 7 位前端大佬们放弃了宝贵的休息时间,以评委的身份从白天专注到黑夜,只为给本届 D2 挑选出最优质的话题。 评委们不仅给出了前端方面的专业见解,还都秉承着一个最基本却也最核心的原则——必须能给 D2 的听众带去收益,而这,也是 D2 十几年如一日都在坚持的事情。 经过两天的精心挑选,我们激动地向大家宣布:首批 12 个话题诞生啦!我们按照专场来看看都有哪些吧~
571 0
第十六届 D2 的第一波话题新鲜出炉啦~干货满满,不容错过!
|
Java 微服务
【2019-2020年第一期DIY班】毕业与总结
走了一年坚持参加的学习活动---DIY。其一,Deeply Inspire Yourself深度激发自己 其二,Do It Yourself实践出真知。 方式:特种兵的培训+遴选机制。 这个伴随Java程序爱好者们参与DIY讨论的规则,维持了一年,身为菜鸟的我很荣幸留到了最后,相信这是一个带给读者的很有正能量的活动,对身为开发者的我来说也有非常深刻的意义, 第二期DIY班马上就要来了,也给第二期预热一下,啦啦啦, 最后说句五一劳动节快乐
769 0
【2019-2020年第一期DIY班】毕业与总结
|
前端开发 Java 机器人
DIY班的心路历程
2020年04月19日,经历一年多的DIY班顺利毕业啦。清晰的记得DIY班开始于去年的春节,2019年2月5日,总计439天,经历了二十余次的淘汰,从最初近500人到最后的12人,残酷的筛选让我们蜕变。非常幸运我们的小组“码出人生”在最后的角逐中最终胜出,我也成为最后的优秀毕业生,非常感谢一路走来的成长。
1021 0
DIY班的心路历程
|
Java 程序员
DIY学习总结以及感悟
在第一期DIY班学习一年又两个月,这段经历在我个人的成长中起到了重要的作用,最近DIY班顺利结业,最后12名同学在最后顺利毕业。现做以下个人总结以及感悟。
DIY学习总结以及感悟
|
Java 区块链
DIY班第一期-心路历程
时光如逝,岁月如流,一转眼的时光,一年的DIY学习生涯就这样过去了,在此非常感谢孤尽老师组织了这么一个公益性的DIY学习班,在这一年里不只是收获到了知识,更是领悟到了“授人以鱼,不如授人以渔”,明确了“如何学习,如何快速学习”,在最后的团队协作开发项目中收获到了团结、信任、理解与包容。
下一篇
DataWorks