我的十年编程路 序

时间:2021-04-18 00:36:34

算起来,从决定并从事编程开始,已十年有余了。

这十年是怎么算的呢?

我的本科是从2009年至2013年,现在回想起来,应该是从2012年下半年,也就是大四还未正式开始的时候决定从事Android开发。参加了培训班,就是很流行的那种可以先贷款参加培训。先是培训上课,然后工作“包分配”,其实就是辅助修改+投简历,工作后再慢慢还款的过程。

但实际上呢,我参加培训确实也走了贷款过程,但最终的工作仍然留在那家培训公司,做助教。所以也算是找到了一份工作,再后面就是还款的正常流程了。

我记得那是在12年的夏天,开始参加实训。到差不多年底的时候,就做起了助教。所以到今天为止,总的工作年限可以算是有十年了。

这也是“我的十年编程路”系列文章的缘起。回想自己过去的十年,虽小有所成,但也走过一些弯路。相信做为“过来人”,都不希望看到年轻人走自己的弯路,反正我是这样想的。所以写下一些文字,这些文字就是我这十年来的经历以及复盘。回看自己哪里做得不足,想想现在的自己有没有从过去的经历里走出来,学到点什么。再就是给所有读到这些文字的人一个启发,如果有可能,避开我失误的部分。也就是取我的精华,去我的糟粕。

如果哪里的文字有触动到你,那将是我十分荣幸的事。

接下来,我将以年份为单位总结每一年的工作。第一年,也就是2013年,就是下一篇文章要详细纪录的年份。但是,毕竟2012年我也做了一些事,助教的工作也做了一小段时间。恰好,这篇序言到此为止还略显单薄,索性现在就和各位看官说说那些发生在2012年的往事。

2012年,我在上大三。那一年的上半年尾声,总有一些培训机构来学校做宣讲。说白了就是忽悠学生去参加培训班,赚钱。一开始是打着Oracle旗号培训Java的,再后来有哪家我就记不清了,反正是直到来了一家培训Android开发的,我最终选定了这家。

如果不参加培训班,我会去做什么呢?我依稀记得那个时候我一心想做视频/图像设计,毕竟我拿过两次相关奖项;要么就是去做网络工程师,毕竟我买了全套的Cisco培训教材。但最终选择了Android开发,究其原因,一方面是宣讲的内容蛮吸引我的,另一方面就是22岁的我认为Android开发很有前景。现在看来,当初的选择还是挺正确的。

那个时候交通不如现在方便,地铁只有1号线,虽然家门口就有地铁站,但它却并不通往我的目的地,所以只能选择公交车。

早上8:30(好像是)开始上课,我最迟6:30从家里出发,步行大概10-15分钟的路,坐上公交车。大概过1个钟头,下车,再转另一辆公交车。由于另一条公交线路是城郊线路,不仅车次少,而且人多。所以单程2小时,时间还蛮紧张的。当然,下午课程结束,我还要花2个小时回家。算起来,每天有4个小时左右都要浪费在路上。那个时候,心里别提多羡慕那些工作地点离家近的人们了。

培训内容是半天 - 半天进行的,半天讲课,半天练习。内容上就先是Java基础,学到能做出个推箱子小游戏就算可以了。接下来就是Android开发,就是Android API的使用。最后呢,就是项目阶段,会选定一个App作为实战,体会团队协作编程,顺便学习SVN(对,不是Git)。

说到底还是年轻,虽然起得早,睡得晚,但每天精力都很充沛,深受那些培训老师的喜爱。再加上我自己的个性,编程能力真的突飞猛进,成为了培训班的“小大哥”。为什么是“小大哥”,因为真正的大哥是培训老师。除了常规上课和练习之外,中午的订饭工作有时也是我来做。管纪律的老师知道我离家远,考勤也不怎么追究,甚至教我说:“迟到了别说起晚了/看错表/表没电了之类的,可以说是堵车了,这样就不算迟到了。”

所以总的来说,在培训机构的小世界里,承蒙老师们的照顾,我过得很舒服,也学到了更多。

再到后来,我就成为了……助教。每天半天的学生答疑时间都是我来负责,那段时间过得比参加培训还要充实。培训老师跟我讲,培训出来基本都是赶鸭子上架,Java基础是很薄弱的,也就是停留在会调用API的阶段,再往深就不行了。而且也并不是所有常用API都会讲到,还得自己学习。

所以我利用当助教的时光啃下了《Java语言程序设计》基础篇和进阶篇两个大部头,也是我第一次感受到:当注意力投入足够的时候,是真的会错过身边的事物。有一天我在研究书中的知识,有个培训老师喊我,我是真的没听到,直到他走到我面前叫我,我才意识到他的存在。他当时很惊讶地跟我讲:“你是真的吗?”我也很无语,说“是”怕他不信,“不是”又显得我故意,不过最后还是坦率地讲了事实。

这种“投入”的状态,无论是当时的学习,还是后来的编码。直到前几年我才明白:这就是所谓的“心流”状态。在这种状态下,会感觉时间、空间仿佛都不存在了。专注于投入的事情,会感觉时间如飞一般。刚刚看时间,还是早上9点,怎么一下子就到了午饭时间?对,就是这种感觉。

内容上则既不是低水平的重复,也不是难到完全无法处理。而是游离在舒适圈稍稍远一点的位置,像登山一样,虽有难度,但可挑战。正是这种状态,是最能提升我的编程水平的状态。

另一方面,地铁线路修通了,我可以坐地铁上下班了。地铁和公交相比,时效和舒适度都上了一个台阶。我从原来的往返4小时通勤,缩短到了仅需要2小时。恰好赶上冬天,能晚起一个小时,早回家一个小时,真的挺舒服。而且面对那些初学者的问题,我终于也能够处理地游刃有余,对答如流。

但是,那种“心流”的状态渐渐的离我远去了,我觉得工作越来越没有什么挑战性,没有难度,尽是些重复性地劳动。不过,毕竟年轻,不懂得“天花板”的概念,在舒适圈里确实很舒适。

就这样,2012年便结束了。我记得冬天的时候,下了雪,公司门口和地铁站出站口的瓷砖很滑。我们戏称它为“夺命黑瓷砖”,一个不小心,就要摔一个跟头。到公司后,大家打招呼都是:“你摔了吗?”大家谈论工作的内容越来越少,闲聊神侃的时间越来越多。虽然招生仍在继续,但似乎资金出现了些问题,但具体我不知道。教学内容居然由不懂技术,也没实际教过的人来定。现在看来,公司显然需要进ICU急救一下。

面对个人舒适圈和公司的状况,我走完了2012年。如果说这一年有何得失,那就是“心流”的状态,以及对“舒适圈”的认知。

“心流”是高效工作/学习的最佳状态,突破舒适圈,在其周围“登山”,是突破自己的最佳方式。

现在的我,如何确定一件事值不值得做呢?就要看这件事本身是否处于舒适圈外,不然就是低水平的重复,做来无味。想要让自己投入做一件事,如果周围环境比较嘈杂,就戴个降噪耳机,却不放任何内容,或放白噪音。目的就是不受打扰,让自己处于“心流”状态。

如果你也像快速成长,高效应对工作和学习,不妨试试我的方法,希望这些技巧能真的帮到你。