我甚至不知道自己为什么要取一个这么浮夸的标题来哗众和取宠,明明年方二八,却非要说自己是30岁的文科女。这些细枝末节,嗯,我们就不要纠结了。关键问题是,下周一新的学期又要开始了,而我一周中有三天是早上8点钟开始上课,必须要好好反省反省总结总结,熬碗鸡汤,用“不忘的初心”激励自己熬过“坎坷的岁月”。
有人可能会说“坎坷”也太夸张了吧。举个栗子,我有一位开学时候非常水灵非常水灵的女同学,很可爱的小姑娘,等到学期过半的时候再见她,已经被自己选的坑课坑到灵魂出窍了,看着很让人心疼,但当时的我已经没有资格心疼别人了,因为据另外一个同学描述这也是我当时的状态。学的很痛苦,但我依然很快乐,跟生完孩子忘了痛差不多的韵味。我是一个偏执于思维之精进的人,说人话就是——学习使我快乐。当我走进IT的大门的时候,那感觉就像是在固化的思维墙上又开了一扇门或者一扇窗,让我看到了另外一个全新的世界,然后世界很大,我就想去看看,然后就在IT的世界里迷途不知返了。回过头去看,也许专业的IT知识我只是学到了些皮毛,但是IT对我思维的改造却是深入而彻底的。听来简单地叨一叨。
1.编程与做饭
做饭和编程有极大的相似性。几年前,本来是打算先读书再生娃,结果阴差阳错地就变成了先生娃再读书了。陪娃的那两三年学会了最重要的一件事——做饭。 除了input——processing——output这套流程相似之外,做饭的段位跟编程的段位也有类似之处。 做饭的第一段位——饭能做熟,能吃,但是厨房乱的一塌糊涂,花半天时间做一顿饭,需再花半天时间收拾,然后一天就这么过去了。做饭的第二段位——饭好吃,而且做晚饭厨房仍旧井然有序,工序熟了,就可以节省时间一边烧菜一边收拾垃圾,饭好了,厨房也收拾干净了。编程也是这样,生手写的代码虽然最后也能勉强跑起来,但现场那叫一个锅盆满地不忍直视,到了高手阶段,代码不但效率高而且干净整洁,让人赏心悦目。
2.模块化思维
OOP编程,Object Oriented Programming。代码要封装,功能要模块化。其实仔细想一想,人类高效率的思维也是这么回事。平时你学到的新东西,你学会了,就会对它有个结论性的总结,其实你就是在用这句结论将这整一块知识都封装了起来,以后调用的时候,你首先调用的是这句总结,如果需要深入地解释或者反思,你才会调用细节,而不是再从细节着手从头再学然后推出结论。封装和模块化,是提高效率的一种方式。
3.时间空间tradeoff
前几天有个同学问我觉得学完“算法”这门课有没有用。我很认真地思考了下这个问题,我觉得在算法中学到的一个非常有用的点就是——time/space tradeoff。 要么用时间换空间,要么用空间换时间,二者很难兼得。这个原则帮助我做了一个很明智的决定——搬家,从远郊的大房子搬到了近郊的小房子,牺牲了空间,但是每天节省了1-2个小时。算法是消耗更多的空间来节省时间,这点略有不同。
4.自我迭代的意识和能力
IT是个更新非常快的行业,如果说“站在风口上猪也能飞”的话,那站在洪流中“熊也得动一动”。有人说IT行业太累,需要不断地学习,其实想在哪个行业稳固地立足不需要学习呢?IT教会我们要把自己当成一个敏捷开发的项目一样,不断地迭代,不断地完善自己。
5.有效练习与10000小时定律
一个陌生的领域没有那么难,只要你肯付出努力肯练习。
6.什么是最佳的关系
说是系统与系统之间应该是Synergistic的关系,即能够互相协作,互相学习,互为补充,能够帮助对方成为更好的自己。这不是说人与人之间的关系吗,朋友,恋人,亲子,皆是如此。
7. 挖坑、掉坑与百折不挠地从坑里爬出来的能力
编程,太多坑了。而且很可能你掉进的坑是你自己挖好的。而且很可能,你掉进坑里的时候,搜遍整个网络,拜访各家“名医”,竟然没有人遇到过你的问题。不断试错,百折不挠,才能从坑里爬出来。坑久了,终成良医。
8. to be productive
想的再多,说得再好,没有产出等于0。 就是一个这么“势利”的行业。也敦促个人往更有效率的行事方式改变。
一不小心又是一长篇……说的这些对于一些人可能有些似曾相识,没错,这些除了IT课堂上学会的,也是曾经遇到过的那些优秀程序员们身上所彰显和体现的。感谢孩子赋予我的勇敢和坚强,让我能够突破自封的固步,去探索更多的可能性。新的一学期,加油!
——————————————————————————————————————-
毛线球儿是从事IT行业的旅澳华人创办的自驾露营亲子游小站,记录和分享在澳洲亲子自驾、亲子露营、亲子阅读、亲子共同成长的点滴故事。一本书,一段旅程,铸造一个有趣的灵魂。大自然是孩子最好的老师,买不起兰博基尼,便送你诗和远方,在书卷与大自然中游走汲养,像梵高一样在四季变化中参悟色彩的奥秘,像牛顿一样在大自然的启发下探索科学真知。如果您也是志同道合之人,欢迎交流。