我们从没想到,在 Exercism 上做练习竟然能成为许多人的一种疗愈方式!通过指导带来的人际互动和成就感,似乎都有着强大的影响。我们在最新一期与 Thelma 的对话中就来探讨这一点!
Jonathan:大家好,热烈欢迎收听 Exercism 社区播客。我叫 Jonathan,来自南非开普敦。现在是下午 5 点,我很荣幸请到了 Thelma,据我所知她目前住在威斯康星州。今天能采访她,多了解一点她的故事,了解技术和她的经历是怎么交汇的,我感到非常荣幸。那么 Thelma,希望你先做个自我介绍,讲讲你是怎么走到今天这一步的,也许待会儿我们再聊聊技术之类的事。欢迎你。
Thelma:好的,先生。恐怕这一切都是意外。我上了一所商学院,因为我不想解剖青蛙。在商学院,我主修经济学。我不是那种对什么事特别上心的人,但显然我表现得还不错,我的教授们……觉得我应该去申请研究生。于是我进了布朗大学,读经济学。几乎是一到那里,我就遇到了我丈夫,6 周后我们就结婚了。6 周,哇。我丈夫是物理学家,对经济学没什么敬意。所以……当时经济学界的偶像,米尔顿·弗里德曼,有人把他那一整套理论拿出来讲。我丈夫用一次讨论就把它推导了出来,又一次讨论就把它彻底推翻了。我没有续我的奖学金,我丈夫对此不太高兴。
Jonathan:是啊,我信。
Thelma:那之后,我就晃荡了一阵子,不知道自己该做什么,还去旁听了一些数学课,那些课真的太难了。
Jonathan:嗯。
Thelma:这时我们已经到了威斯康星。我丈夫在写一个很长的 Fortran 程序,用一沓打孔卡,弄得非常烦躁,因为……他刚把东西交上去,就得等一整夜。那时候要拿到结果就得这样,而结果至少有一半时候是因为他把逗号放错了位置。于是他要么拿到空白的输出,要么就是一堆垃圾。于是我开始从他肩膀后面看着,把漏掉的逗号补上,把拼错的地方改掉,改着改着我就决定去修一门 Fortran 的课。于是我上了一门 Fortran 课,课程结束后,我的教授打电话给我,说:我要离开这所大学,去开一家软件咨询公司。你愿意来给我干活吗?
Jonathan:哇哦。
Thelma:这就是我进入编程的经过,一开始就是从 Fortran 开始的。然后……他让我做的第一个程序是保龄球。记账用的,不是算分,而是给我老板的个人保龄球联赛记账。那份工作里我还做了不少程序。后来我女儿开始跟她的朋友们说,妈妈的工作是杀牛,因为我写的其中一个程序……是用来算该给奶牛喂什么的,我拿到的是磅数,要在谷物之类的东西之间做最低成本分配,还得满足营养需求。另外还有一个总量要求。要在满足所有这些要求的同时,成本还要最低。而做这件事的机器内存只有 48k。你可以想象,一个想做这件事的最低成本程序会是什么样子。有一天我接到一个农民的电话:你是在叫我给我的奶牛喂 10 磅盐吗?显然它满足了所有的营养要求,还在找最便宜的来源。10 磅盐。就这样。因为我能用的空间太小,我手头没有……很多上限。我设了几个,但盐不知怎么就漏掉了。后来我还写过一个硬件库存程序,还有水分什么的。关于那个我记得最清楚的,就是他们有一台 PDP 机器。好。我要从我的……住处坐公交车去玉米磨坊,带着一块那种大的 PDP 硬盘。
Jonathan:好家伙,那可真够沉的。
Thelma:最后他把软件部门关掉了,因为他开始做 Apple 经销商,那比软件赚钱多了。
Jonathan:肯定的。哇。那这就是你进入……也许这只是最初的阶段。所以软件这块结束、你被裁之后,接下来呢?别担心,别担心,没事。
Thelma:我接到很多骚扰电话。
Jonathan:那肯定一直很烦人。那软件咨询公司结束的时候,你是已经找好了下一份工作,还是就是那种“好吧,接下来怎么样”的状态?
Thelma:具体的时间线,我有点记不清了。我知道我去过医学院做志愿者。那是一位生理学教授,他递给我一个用 C 写的程序,想让我翻译成 FORTRAN。我就是这样学会 C 的。
Jonathan:好。那你能稍微跟我讲讲 Fortran 吗?我个人对它不太熟。我到现在也还不算技术型,但我很想多了解一点 Fortran。
Thelma:我也不算特别技术型。它是最早的……语言之一,之类的。它有一些,我说不好。你得问得更具体一点。
Jonathan:没关系,完全不用在意。我只是想大致了解一下它在现有的各种语言里大概处于什么位置。不过既然这不是我的技术……技术领域不是我的强项。完全没问题,我们可以回到讲故事上。我觉得那大概更合我的路子,可以这么说。那说回来,你开始在这所医学院做志愿者,过程中学会了 C。对,然后呢?
Thelma:对,然后我发现……有个人以前在 UWM 管 IT 系统,我丈夫就在 UWM 做物理,她当时在医学院管 IT。我和她聊了聊,就得到了一份给她做数据库相关工作的活儿。那大概是有史以来写得最糟糕的数据库,幸好我不记得它叫什么了。我在那里学了一点数据库的东西。但对我来说,在医学院最让人兴奋的事,这也确实是这个故事的一部分,是技术方面的,就是他们有一个特别棒的大更衣室,我骑完 9 英里自行车后可以在那里冲澡。
Jonathan:哇,那你每天都骑 9 英里过去、再骑 9 英里回来。
Thelma:谢谢。我从来没做过全职工作。我对事业不感兴趣。我就是自己找乐子。没关系。
Jonathan:嗯嗯。那我往回倒一点,回到上学的时候。你说你学的是经济学,几乎是误打误撞进了经济学。对。是不是有什么原因让你就……我是说,上学的时候你通常可以选,好,我要读英国文学或者艺术之类的。然后显然还有偏理科的那一边,而经济学也许可以说更靠近理科那一侧。是有什么原因让你往那边靠,还是只是当时觉得,哦,这个看起来挺有意思?
Thelma:对。我当时在商学院。我对商业不感兴趣,对市场营销也不感兴趣。经济学在那所学校里算是比较精英的东西。就是这个吸引了我。
Jonathan:好。那你说过你其实并不……事业对你来说并不重要。还有,如果我说错了请纠正我,我只是想大致总结一下、把事情串起来。听起来你几乎是误打误撞开始编程的,你说你从你丈夫的肩膀后面看着,把 C 翻译成 Fortran。嗯,有没有那么一个瞬间,天哪——
Thelma:我想是同一个电话吧。好,我在试着插上耳机。
Jonathan:抱歉。完全没事。有没有那么一刻,某样东西忽然对你来说通了,你心想,其实我挺擅长这个的,这不只是爱好或兴趣。有没有那么一个点,你心想,其实这是我想主动去成长、去深入的东西。你有没有过这样的想法?
Thelma:从我一开始从我丈夫肩膀后面看,我就上钩了。我立刻就上钩了。我真觉得这有点像填字游戏。
Jonathan:好,那是不是这个过程中解决问题的性质,在你琢磨那些问题的时候吸引了你的注意?
Thelma:其实我不算特别擅长。我真正喜欢的是,你写出,或者我写出一些完全站不住脚的东西,然后你把它丢进编译器,编译器就会指出你的一堆错误。对我来说它一直是互动的,就是我和 Fortran 这门编译型语言之间。我不知道你知不知道那是什么意思。是啊,这个我熟。好,还有那时候的错误信息……
Jonathan:嗯,我熟悉。
Thelma:编译器给出的那些相当糟糕,就像又一道谜题,要弄明白它们到底在说哪里错了。我觉得现在这方面好多了。
Jonathan:嗯,好,知道这个挺好。知道这个挺好。
Thelma:但就像有人在牵着我的手,我真的很喜欢那样。
Jonathan:好,所以你说你丈夫弄完那些打孔卡、还得等一整夜看有没有跑通,会急得抓头发。那只是因为事情太慢了吗……
Thelma:他对编程一点都不感兴趣。他只关心结果。他是物理学家,他要的是物理上的结果。
Jonathan:这才是搭档,真正的搭档。快进几年,你是怎么发现 Exercism 的?Exercism 有什么让你特别喜欢的地方?
Thelma:唉!我退休之后……我已经退休很久了。我做过一些志愿工作,挺有意思的。后来那些也没了,我就很难再找到志愿工作。于是我坐到电脑前。我找到的第一样东西是 Udacity。你知道 Udacity 吗?
Jonathan:呃,有点印象,但不太熟。好,它,它……好,它是一个在线的……课程平台,我很早就发现了。现在他们变得很商业化了。那时候课程是免费的,看 15 分钟,然后给你一个问题去做。我在上面学了一门 Python 课,非常喜欢。
Thelma:那之后……我拿出一个我以前给我丈夫写的模块,是……线性代数方面的,用 C++ 写的,我特别讨厌 C++。有一堆内存分配要操心。对。所以我老是搞着搞着就沉底了。对。我把它翻译成了 Python,感觉特别好,因为在 Python 里所有内存的事都替你做好了。对。
Jonathan:那肯定省了大量功夫和时间。
Thelma:可是,哦,我忘了刚才为什么要说这个。我本来想说什么来着。
Jonathan:哦,就是关于 Exercism 的。你是怎么开始用 Exercism 的?你当时在用 Udacity。
Thelma:学完 Python 之后,我四处找事情做,完全找不到。于是我到处逛,就发现了 Exercism。你们的平台对我来说再合适不过了。我是说……你可以很自由。你可以做学习练习,也可以决定我不需要那些学习练习。这里的导师指导更是特别棒。那太棒了。简直不能更好了。
Jonathan:谢谢。
Thelma:当然,现在我的导师指导格外棒。我说服我儿子加入了。我儿子现在正在教我 JavaScript。
Jonathan:太棒了,太棒了,真好。
Thelma:他在平台上待了一个星期就开始抱怨了,你们应该见过他。
Jonathan:是,对,正是如此,正是如此。那现在 Thelma,你在编码和编程方面的日常是什么样的?你就是喜欢解决问题的那一面吗?编程在你的生活里还占很大一块吗?这一切是怎么凑到一起的?
Thelma:占很大一块。我特别不擅长看电影这类事。我丈夫 7 年前去世了,所以我是寡妇,独自生活。我尽量多出门。今年自行车是骑不成了,气温已经降到我没法再骑了。不过我在 Johnson Controls 工作的时候,8 度我也骑过。
Jonathan:华氏度,我确认一下。对,因为 8 摄氏度还勉强可以,但 8 华氏度我觉得是另一个级别。那可真冷。所以我现在骑不了了。我预计我会比我希望的更常待在家里。
Thelma:编程让我不至于发疯,因为我做不了很多别人用来消遣的事。还有做导师,那对我来说是一种交流。我有一些朋友,越来越多地跟我说他们在看心理医生。访问 Beadaholique.com,满足你所有的串珠用品需求!现在这似乎是件很时髦的事,就是有个心理医生。所以我也开始跟人说,哦是啊,我前几天和心理医生做了一次特别棒的咨询,其实我指的是 Exercism 的一位导师。
Jonathan:他们非常好,非常疗愈,而且你还能顺便学到东西,这也很有用。对。太棒了,了不起。Thelma,我很好奇,Exercism 一直想尽可能详细地了解的一件事是,你会给那些想学编程的人什么建议?参与进来的人范围很广,每个人学习和理解事物的方式都很独特。但有没有什么具体的行为、习惯或做法,是你特别强烈建议正在学习的人去尝试、去坚持的?
Thelma:我觉得这挺可惜的。我进入一样东西的方式,其实跟别人的方式不太一样。比如最近有个帖子,一个人抱怨练习里配的教学太少了。而对我来说,教学那部分反而会让我很无聊。所以,你把一个练习放到我面前,那才是第一个我会想去了解模块之类东西的点……我会去问 Google,好,这个怎么做?嗯。直到我看到需要,否则我很难投入进去。我读不了手册。我告诉你,我读不了手册。
Jonathan:你今天早上很受欢迎啊。我是说,我一定是……我在打电话。
Thelma:我不知道这是什么。我一般不会有这种事。
Jonathan:哦,没事,完全没关系。好,那看起来对你来说,也许你给学习者的一个建议就是,去做一些在现实生活中真正有意义的事。就是这个意思。这是我理解的,你会大力押注的方向,关于怎样才能变得熟练,或者怎样学一门编程语言本身。
Thelma:对。我注意到我有一些朋友,在读完全部文档之前什么都不碰,先对它有感觉。他们大概比我强。
Jonathan:嗯,我是说,大概是不同的方式。就我个人而言,我知道非常缓慢、系统地来,走一个有结构的流程,对我有帮助,但同时又把它拆成小块来应用,非常有帮助,总比被淹没、想一口气把整件事都实现出来要好。我想你说的就是经验,在真实情境中积累经验才是关键。那么 Thelma,我有个问题要问你。这就是你可以和整个 Exercism 社区分享一个建议的时候。什么都可以。可以是去尝尝寿司,或者去学一门新的编程语言,或者骑骑车。你想说什么都行。但这周你想给整个 Exercism 社区什么建议?基本上你想说什么都可以,只要合情合理。
Thelma:嗯,现在,我正特别开心地被我儿子指导。他们跟家里人沟通都有困难,你知道,家里人怎么样啊……吼吼吼,让他们进入一段导师关系吧。
Jonathan:然后看看会发生什么。太好了,好好享受。我还很想提一下——
Thelma:我这个没有事业的人生里做过很多不同的事。我去过一家叫 Johnson Controls 的公司,接触到了仿真软件。
Thelma:好,哇。甚至还参与了当时百事可乐瓶底的设计,那时候它平衡性不好。我还为我一位搞数学的朋友做过一些编程,他在研究黎曼猜想,跟世界上几乎所有数学家一样。我给他做过一些 Python 的东西。我不知道,我做过很多有意思的事。我也想让这些被大家知道。
Jonathan:嗯,挺好的。我相信其实有很多可以深入聊的。我相信……你说你不知道该说什么,但我觉得里面有很多东西你随时可以拿出来讲。不过 Thelma,我只想说非常感谢你给我们……我知道时间不算多,没法深入聊很多细节和微妙之处,但我只想谢谢你分享你人生经历的一小段,尤其是它和编码、开发的关系。我们这个播客的希望是,它能激励世界各地的人,不同肤色、背景、种族的人,真正去拿起……把他们在播客里听到的东西应用起来。所以人生故事,听你讲一点,我相信会在某个地方激励某个人去动手、去尝试一下。所以我就想谢谢你。我相信我们会在论坛里见到你,也会在某个时候看到你去指导别人。我很高兴你在这里。
Thelma:不!我不指导任何人。不过我倒是很想以贡献者的身份参与,不是做导师。
Jonathan:好,那太好了。如果你想贡献,我们可以找个时间联系一下。但就谢谢你让我们了解了你生活里的一些片段,还有那些冒出来的事情。我真的很感激。那先别挂电话。Thelma,谢谢你。如果有人想联系你,我相信你多多少少会愿意。我不会把你的邮箱公布给全世界。但如果有人想联系 Thelma,给我发消息,我们就能从那里接着聊。非常感谢你抽时间。能和你聊一聊是我的荣幸,先别挂,我们保持联系。
Thelma:谢谢。
倾听、学习,并从我们的社区成员那里获得启发。