节奏与不断靠近-Week3课程笔记
写了一个多小时,却在要发布的最后一刻,发现记录莫名其妙的消失了,这真是一种叫做没有备份的痛! 重来...实在没劲了,这次写简练一点...
前言
从上周遇到的坑说起。上周周三临时抱佛脚的交作业的体验,不想再重来。回想起来,发现自己有两个主要问题:
- 1.周三晚才开始着手写代码,时间匆忙,弄到很晚,自己也觉得很累。其实是一周的时间节奏不对。
- 2.一开始想着去实现一个对自己目前能力来说有点复杂的功能,结果自己的思路不太清晰,还踩了一些自己也不太懂的坑,最后写的程序功能虽然实现了,其实自己有点没看明白。
节奏
早在Python星际旅途开始之时,舰队的首席布道福音师——大妈,就给了每个人一段关于节奏的提示。
- wd0 进行/开发/实现 任务
- wd1 整理私人教程, 四下串门, 交流经验
- wd2 测试/完善/回顾 任务
- wd3 小息, 总结前周
- wd4 公开课, QA
- wd5 新任务接手, 背景调查, 先期检验性开发
- wd6 理解/分解/尝试 任务->定好方案
不过,虽然Zoe看到了这段话N遍,但是想到自己平常经常有加班,遵照这个节奏好像也不是那么适合,所以还是随心所欲的按自己的节奏来。
直到上周任务纠结的交付后,这才痛定思痛,每周可不能这样过呀。
Zoe重新思考了一下每周的任务:
主线任务(每周编程项目)
- 1.背景包-学习背景知识和教程
- 2.行动包-尝试第一轮编程
- 3.拓展包-到处转悠,看有没有新的其他,尝试修改第二版
副线任务(每周笔记)
- 1.背景包-看视频教程
- 2.行动包-写笔记
考虑到周一周三可能会被加班,Zoe发现,起码周日就得写出自己的第一版程序了,可是实际当中她周末还停留在看上周四视频和写笔记的副线任务中,主线任务几乎没有动静,难怪会觉得时间很赶了。
Zoe重新翻到了自己在开学典礼上的记录的笔记:
- 错误0:花了太多时间学习在那些不是特别需要的东西上
现阶段有些书是不必要看 - 错误1:没有立即开始写代码
最开始就浸泡在问题域中,用自己的思想和方法改进自己的错误,才能获得自己的经验
喵,这周,Zoe决定改变方式,先完成主线任务再说。正好这周的任务不难,周六顺利完成了第一版程序。喵,这周不用抱佛脚了,万岁。顿时觉得这周轻松了,也可以静下来进行一些别的探索和思考了。大妈说: 是也乎,( ̄▽ ̄) 这也是俺为毛从 0w 就开始反复强调节奏的原因哪! 只有每个节点儿都在节奏上了, 才有信心进行不断的优化,反思,教程积累, 从而获得自个儿的经验以及目测力 ;-)
这一次是真的亲身体验到了不同节奏的利弊。
真的觉得,自身的体验是一个很重要的过程。不然,即使别人告诉了你很好的方法,你也不见得懂得它的好。好东西放在面前会视而不见,是因为没有体验。
面对未知,不断靠近
在Python之旅开始的时候,Zoe写下过一个疑问,解决问题有两种思路,一种是直接从最终结果来反推中间过程的方式,另一种是从最简单版本不断靠近到更高级版本的方式,看起来各有利弊,到底哪种方式更好呢。
当Python之旅进行了一个多月的时候,Zoe有了自己的答案。
当问题是比较简单的、自己比较熟悉的领域的时候,两种方法看起来是差不多的。
但是当问题的是自己未知的需要探索的领域,是一个很复杂的领域的时候,后一种方式的优势就更明显了。
这是因为,未知领域,有很多不可预料的因素。有很多环节,是现在的自己无法看到的,无法反推到的。有很多的坑,是自己不知不觉就会踩进去的。有太多东西,是在自己的意料之外,计划之外,掌控之外的。这可能让整个系统的逻辑混乱,无法正确的运行,连基本的功能都难以实现。
而后一种方式,前进的每一步相对起来比较简单,因为每次只需要踏出一小步就可以,难度不是那么大。所以即使是探索未知领域,但是因为只需要小小一步,所以容易取得突破。同时,每一步前进也有一个坚实的基础,因为之前的每个版本都实现了一些基本的功能。
启示
举一个困扰我已久的关于工作方面的例子。 上班上得很纠结,想离职,又不知道能到哪里去。
想一想自己的节奏:
上班的时候 -想快点度过这一天,快点下班。
下班的时候 -终于可以做点自己的事情了,想,我要做些什么呢?+我要放松压抑的心情
夜深人静的时候 -我不想过这样的生活。
喵,这个节奏是不是有点不太对头。虽然情绪很强烈,但是请问我的主线任务在哪里?看起来,是木有-_-||| 专注纠结三百天。
就好像,我要编程了,突然觉得我要先看一堆书,打好基础(其实是一堆还没有必要看的书)。N天过去了,请问你开始编程了么?嗯...我觉得我还没有准备好...
就好像,我想离职了,突然我觉得我有很多要思考(其实是一堆现在还没有必要的思考)。N天过去了,请问你为离职做了什么呢?嗯...我觉得我还没有准备好...
因为,我真的不知道要做什么,我不知道未来是什么样的,我也不知道要怎么从未来反推现在的要做的事情。
OK,那说到刚刚学到的新的领悟——面对未知,不断靠近。
虽然不知道要怎么走,但是,
可不可以尝试学一门现领域之外的课程,探索一下其他的方向?嗯,尝试了加入编程课程。
可不可以给自己一些新的信息源,了解一下领域之外的新的认知?嗯,在学编程的过程中,确实会接触到新的信息源,看到新的成长故事,看到新的交流方式和协作方式。
可不可以尝试着将学到的新东西,运用的自己的生活中来?嗯,每周写日记,就是在反思这么个事情来,也就是编程思维对生活的应用。
可不可以尝试着认识一些新的领域的朋友?嗯,这个也不难,这么多棒棒的老师和同学们。
可不可以尝试着做一些自己以前没做过的事情?嗯,gitbook写教程,感觉挺好。
……
当面对未知,直接冲上去,可能会不知所措,可能会撞墙,也可能会掉坑。
但是,从每一个小小的“可不可以”开始,踏出一小步,再一小步。
当目光聚集在自己能做到的事情上,而不是不能做到的事情上,就能够更坚实的迈出向前的一步。
这就是编程思维教给我的面对问题的思路。