DIY班的心路历程

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 2020年04月19日,经历一年多的DIY班顺利毕业啦。清晰的记得DIY班开始于去年的春节,2019年2月5日,总计439天,经历了二十余次的淘汰,从最初近500人到最后的12人,残酷的筛选让我们蜕变。非常幸运我们的小组“码出人生”在最后的角逐中最终胜出,我也成为最后的优秀毕业生,非常感谢一路走来的成长。

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

image.png

结缘孤尽老师与码出高效

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

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

最后全力以赴做事

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

相关文章
|
iOS开发 MacOS
苹果电脑 Mac OS X 系统上防止误按 command+Q 退出软件
在Mac系统操作中,Command + W 关闭一个窗口,Command + Q 退出整个程序,这用起来很方便快捷。然而,由于Q和W、A紧紧挨着已经有N次想关窗口的时候,或者想全选的时候,按成了Command Q,简直疯了有没有?…… 为了避免这种悲剧的发生,查找收集了几个方法: 1、针对Chrome 可以勾选退出前提示: 2、小工具 QBlocker QBlocker 是一款能够帮你暂时禁止使用 command + Q 的小工具。
12044 1
【IntelliJ IDEA】idea修改文件的file is read-only
【IntelliJ IDEA】idea修改文件的file is read-only
3655 0
|
网络协议 安全 网络性能优化
OSI 七层模型详解
本文介绍了 OSI 七层模型各层的功能与常见协议。物理层负责比特流传输,涉及信号编码与接口标准;数据链路层组织帧并实现差错控制;网络层处理路由与寻址;传输层提供端到端数据传输服务;会话层管理会话连接;表示层处理数据编码与加密;应用层直接为用户提供服务。文中还列举了各层的典型协议,如 IP、TCP、HTTP 等,详细解析其作用与应用场景。
4335 3
中国联通·阿里云万卡绿色算力项目在西宁点亮
中国联通·阿里云万卡绿色算力项目在西宁点亮
|
监控 数据可视化 项目管理
关键链项目管理是什么?它如何优化传统项目管理?
关键链项目管理(CCPM)由艾利·高德拉特提出,通过优化资源分配和减少多任务并行的浪费,显著提高项目执行效率与成功率。本文介绍CCPM的核心理念、与传统项目管理的区别及优势,并推荐几款支持CCPM的项目管理软件,如ProChain、板栗看板等,帮助企业更好地实施这一高效管理方法。
1379 0
|
关系型数据库 MySQL Shell
Mac安装Mysql(图文解说详细版)
Mac安装Mysql(图文解说详细版)
Mac安装Mysql(图文解说详细版)
WK
|
机器学习/深度学习 人工智能 算法
那C++适合开发哪些项目
C++ 是一种功能强大、应用广泛的编程语言,适合开发多种类型的项目。它在游戏开发、操作系统、嵌入式系统、科学计算、金融、图形图像处理、数据库管理、网络通信、人工智能、虚拟现实、航空航天等领域都有广泛应用。C++ 以其高性能、内存管理和跨平台兼容性等优势,成为众多开发者的选择。
WK
1168 1
|
消息中间件 SQL 分布式计算
重新定义性能测试: Apache Flink 重磅开源流计算基准测试框架
每一种引擎有其优势的地方,如何选择适合自己业务的流计算引擎成了一个由来已久的话题。除了比较各个引擎提供的不同的功能矩阵之外,性能是一个无法绕开的评估因素。基准测试(benchmark)就是用来评估系统性能的一个重要和常见的过程。
重新定义性能测试: Apache Flink 重磅开源流计算基准测试框架
|
数据采集 开发者 Python
Python之怎么爬取图片网站
Python之怎么爬取图片网站
|
JavaScript
MAC升级nodejs和npm到最新版
第一步,先查看本机node.js版本: node -v 第二步,清除node.js的cache: sudo npm cache clean -f 第三步,安装 n 工具,这个工具是专门用来管理node.
8168 0